Scratch was created using JMSL (Java Music Specification Language) and JSyn (Java Synthesizer)*. All sounds result from the real-time manipulation of Anne La Berge's flute samples. The synthesis circuit employed is called a waveshaper. A waveshaper loads a function table with data, and drives the table with an audio signal. The output is an audio signal representing the driver looking up values from the function table at audio rates. For Scratch, a randomly chosen sample is loaded into the waveshaper's table, and another randomly chosen sample is used as the driver. Various synthesis parameters and playback parameters are subject to constrained chance operations, reining in the behavior of this generally chaotic circuit. A screen shot of the GUI is shown below.
These are ten second excerpts from some of the one minute long tracks. There is probably nothing wrong with your media player.
*NEW* Live version performed by Anne La Berge on October 22, 2000 at Roulette, NYC. Engineered by Jim Staley. Used with permission.
Composed by Nick Didkovsky for Anne La Berge.
The commission was sponsored by the Nederlands Fluit Genootschap and funded by the Brannen-Cooper Fund.
Software by Nick Didkovsky, using JMSL and JSyn.