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

WARNING - This tutorial describes the old original JSyn API. Please refer to the current docs for more up-to-date information.

JSyn Tutorial

Using an Envelope to Control Amplitude

Let's use an envelope to control the amplitude of a sine wave. To do this, we must connect the "output" port of the envelope to the "amplitude" port of the sine wave oscillator.

    myEnvPlayer.output.connect( sineOsc.amplitude );

This applet has two buttons. The "Queue" button queues the envelope to the envelopePort. The "Clear" button clears that port.

To Do:

Here is the source code for this program.