This language allows you to play music by entering a space-separated list
of times, pitches, waveforms, and gains.
The language supports inline Javascript evaluation.
How to use:
Time - specify the duration of the note first.
Pitch - specify the pitch of the note as a frequency,
followed by an @ sign after the time.
Gain (optional) - specify the gain of the note as a
floating point number from 0.0 to 1.0 (unless you want clipping),
followed by an < sign after the frequency.
Waveform Type (optional) - specify the type of waveform
the oscillator should play the note with. Possible values are "sine",
"square", "sawtooth", "triangle". The default is "sine".
NOTE: If you include both the optional Gain and
Waveform in the same note, the Waveform type must follow a : character
after the Gain. Otherwise, if you include a Waveform but no gain, the
Waveform must follow a : character after the pitch. See examples for
more details.
Examples (incrementally adding my new features). Feel free to copy and
paste:
Default:
1+1@329 2@293 2@261 10@293
Adding optional gain of 0.2 and 0.3 to first and third notes:
1+1@329<0.2 2@293 2@261<0.3 10@293
Adding optional "triangle" waveform to the fourth note:
1+1@329<0.2 2@293 2@261<0.3 10@293:triangle
Adding optional "sawtooth" waveform to the first note: