tersesystems / Jvmsounds
Licence: other
Play memory allocation rate and GC events as sine wave and percussion, respectively.
Stars: ✭ 28
Programming Languages
java
68154 projects - #9 most used programming language
Projects that are alternatives of or similar to Jvmsounds
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
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
Uc3moy
UC3Music-e version of the CMoy pocket headphone amplifier (originally designed by Chu Moy )
Stars: ✭ 13 (-53.57%)
Mutual labels: audio
Jssynth
Make music in your browser with this synthesizer and sequencer
Stars: ✭ 25 (-10.71%)
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].