JSyn - Audio Synthesis API for Java
JSyn allows you to develop interactive computer music programs in Java. It can be used to generate sound effects, audio environments, or music. JSyn is based on the traditional model of unit generators which can be connected together to form complex sounds. For example, you could create a wind sound by connecting a white noise generator to a low pass filter that is modulated by a random contour generator.
JSyn is licensed under the free Apache License V2. Source code is available on GitHub
Getting Started
Desktop Applications
For writing desktop or laptop applications, we recommend using Eclipse or IntelliJ IDEA.
You can download JSyn as a JAR file from here or import it from a maven repository, for example: [clojars] [javalibs]
Read more about programming JSyn with Eclipse.
Android Apps
For writing Android apps, we recommend using Android Studio. You can download a very simple project for a JSyn app from here.
Learning JSyn
JSyn Reference Documentation (Java Docs)
The Git Hub repository contains lots of example code. We recommend starting with the following examples:
- PlayTone.java - play a sine wave oscillator for a few seconds
- HearSinePM.java - use knobs to control one oscillator modulating another, adds oscilloscope
- PlaySegmentedEnvelope.java - use a breakpoint envelope to control amplitude
- PlayNotes.java - use noteOn and noteOff with a UnitVoice
- UseMidiKeyboard.java - use a MIDI keyboard to play a voice created using JSyn