JSyn - modular synthesis API for Java.
JMSL - Java Music Specification Language
PortAudio - cross platform audio I/O API for 'C'

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 Programmers Guide

JSyn Reference Documentation (Java Docs)

The Git Hub repository contains lots of example code. We recommend starting with the following examples:

  1. - play a sine wave oscillator for a few seconds
  2. - use knobs to control one oscillator modulating another, adds oscilloscope
  3. - use a breakpoint envelope to control amplitude
  4. - use noteOn and noteOff with a UnitVoice
  5. - use a MIDI keyboard to play a voice created using JSyn