All Projects → tersesystems → Jvmsounds

tersesystems / Jvmsounds

Licence: other
Play memory allocation rate and GC events as sine wave and percussion, respectively.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Jvmsounds

Openaudible
Open Source Audible Manager
Stars: ✭ 932 (+3228.57%)
Mutual labels:  audio
Mems mic breakout Admp401
SparkFun MEMS Microphone Breakout - INMP401 (ADMP401)
Stars: ✭ 10 (-64.29%)
Mutual labels:  audio
Tdarr
Tdarr - Distributed transcode automation using FFmpeg/HandBrake + Audio/Video library analytics + video health checking (Windows, macOS, Linux & Docker)
Stars: ✭ 911 (+3153.57%)
Mutual labels:  audio
Stackext
Header-only C++ library for working with an extended stack
Stars: ✭ 27 (-3.57%)
Mutual labels:  memory-allocation
Gc
Simple, zero-dependency garbage collection for C
Stars: ✭ 851 (+2939.29%)
Mutual labels:  garbage-collection
Awesome Musicdsp
A curated list of my favourite music DSP and audio programming resources
Stars: ✭ 871 (+3010.71%)
Mutual labels:  audio
Flavy
Simple API for convert audio/video files, get thumbnails from video, information of files
Stars: ✭ 25 (-10.71%)
Mutual labels:  audio
Preamp Two
An digitally controlled hi fi preamplifier 🔈🎵
Stars: ✭ 21 (-25%)
Mutual labels:  audio
Vst3sdk
VST 3 Plug-In SDK
Stars: ✭ 853 (+2946.43%)
Mutual labels:  audio
Memory
STL compatible C++ memory allocator library using a new RawAllocator concept that is similar to an Allocator but easier to use and write.
Stars: ✭ 875 (+3025%)
Mutual labels:  memory-allocation
Cs.2click
🔊 A Better Audio Router for a Modular System.
Stars: ✭ 7 (-75%)
Mutual labels:  audio
Webrtc
Pure Go implementation of the WebRTC API
Stars: ✭ 8,399 (+29896.43%)
Mutual labels:  audio
Uc3moy
UC3Music-e version of the CMoy pocket headphone amplifier (originally designed by Chu Moy )
Stars: ✭ 13 (-53.57%)
Mutual labels:  audio
Chipkizi
a recording app for up and coming artists
Stars: ✭ 26 (-7.14%)
Mutual labels:  audio
Soloud Rs
Rust bindings for the soloud audio engine library
Stars: ✭ 21 (-25%)
Mutual labels:  audio
Jssynth
Make music in your browser with this synthesizer and sequencer
Stars: ✭ 25 (-10.71%)
Mutual labels:  audio
Play
Play audio files from terminal.
Stars: ✭ 12 (-57.14%)
Mutual labels:  audio
Arch Koel
Docker build script for Arch Linux base with Koel
Stars: ✭ 21 (-25%)
Mutual labels:  audio
Harlowe Audio
An audio library for use with the Twine 2 story format Harlowe (v2.x or higher).
Stars: ✭ 21 (-25%)
Mutual labels:  audio
Iplug2
C++ Audio Plug-in Framework for desktop, mobile and web [PRE-RELEASE]
Stars: ✭ 875 (+3025%)
Mutual labels:  audio

JVM Sounds

This is a very simple JVM library that plays JVM events as audio sounds.

  • Memory allocation rate as a sine tone
  • Minor GC is a wood percussion
  • Major GC is a noise hit
  • Hiccups (underlying JVM timejumps) are played as sample hiccups.

Please see Logging vs Memory and the tweet.

Examples

There are MP3 recordings available that show how the JVM sounds using an example program:

There's also an example of a JVM running under Virtualbox while under a Gatling load test, which makes it prone to hiccups:

Resolver

The libraries are in Bintray under tersesystems/maven. Installation instructions are similar to terse-logback installation:

repositories {
    maven {
        url  "https://dl.bintray.com/tersesystems/maven" 
    }
}

or SBT:

resolvers += Resolver.bintrayRepo("tersesystems", "maven")

Library

The library has dependencies on jSyn and on jvm-alloc-rate-meter and jvm-hiccup-meter. It is plain Java, no Scala library required.

libraryDependencies += "com.tersesystems.jvmsounds" % "jvmsounds" % "0.0.1"

Java Agent

You can run this as a java agent. I like using sbt-javaagent.

javaAgents += "com.tersesystems.jvmsounds" % "jvmsounds" % "0.0.1"

Options

  • -n napTimeMs
  • -at allocThresholdMs - default is 300 MB/second, below that it is silent
  • -av allocVolume 0.0 - 1.0 - volume of the allocation tone, default 0.1
  • -mv minorGCVolume 0.0 - 1.0 - volume of the minor GC event, default 0.6
  • -Mv mixedGCVolume 0.0 - 1.0 - volume of the mixed GC event, default 0.6
  • -ht hiccupThresholdMs - default is 50 ms, below that no hiccup
  • -hv hiccupVolume 0.0 - 1.0 - volume of the hiccup, default 1.0
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].