JASS Version 1.25
Build date: Mon Jan 25 15:55:27 PST 2010
Download SDK without data files
JASS (Java Audio Synthesis System) is a unit generator based audio synthesis programming environment written in pure Java. Java 1.5 is required. The environment is based on a foundation structure consisting of a small number of Java interfaces and abstract classes, which implement the functionality needed to create filter-graphs, or "patches". Unit generators are created by extending the abstract classes and implementing a single method. Patches are created by linking together unit generators in arbitrary complex graph structures. Patches can be rendered in real-time with special unit generators that communicate with the audio hardware, which have been implemented using the JavaSound API and through JNI for some platforms.
As an alternative to JavaSound, low latency synthesis has been implemented through native methods. As of Java 1.5 most javasound implementations will suffice. This is currently implemented for LINUX (ALSA and OSS), Macintosh (OS/X), and Windows (DirectX, ASIO blocking API, ASIO callback API). All native implementations except ASIO callback use RtAudio, a realtime audio i/o C++ class written by Gary P. Scavone.
JASS with full source code is freely available for non commercial use. If you find a bug, let me know what it is. Please include the release you were using from the info.txt file included with your release.
The JASS system has been used to design algorithms to automatically generate soundtracks for dynamics simulations with contacts. The resulting system, FoleyAutomatic, is described in a SIGGRAPH 2001 paper: Click here to download paper. The results are demonstrated with a video clip of real-time dynamical simulations using JASS to create the sound-effects.
A few demos below use mike input which may or may not work in your browser, depending on your security configuration which may or may not allow applets to listen to your mike input.
Filter white noise through a small reson bank
Software reverb. Mike input is optional.
Filter white noise through a BIG reson bank
Simple delay loop string sound
Shortest program: a sawtooth generator
A real-time echo effect using mike input
Creaking sounds with a simple stick-slip
Some kindof proto-granular synthesis
Fool around with tone and noise masking