LT's Scratching Synthesizer

Score file:

The actual score file that generates the short demonstration of the wavetable synthesizer is here.
The audio file generated from this score file is here.

Features implemented:

Attack and Decay:

Scratching never starts at a particular sample.  The slower you move a record, the lower the amplitude, so there's always an attack at the beginning of the sound and a decay at the end. 

Baby Scratch:

The scratching hand moves the record slowly with no use of the cross-fader.

Scribble Scratch:

The scratching hand moves the record quickly so as to make a higher-pitched sound.

Chirp Scratch:

The fader is used with a baby scratch so the sound sound we hear has a quick attack and decay as it moves in one direction.

Transform Scratch:

The record is moved while the fader is rapidly tapped open and closed to make a periodic sound.

Orbit Scratch:

Any scratch were we alternate between moving the record forward and backward is an orbit scratch.

Motor Simulation:

Some scratching method assume the motor is off and the hand provides all of the motion.  Others assume the motor is on and the hand is resisting the motion.  The two create very different effects.

 

Score file format:


The format for the scratching synthesizer is as follows:

<instrument instrument="ScratchInstrument">
...
<note measure="2" beat="1" cycle="4" type="chirp"       motor="on" start="26.0" pitch="1.0"/>
<note measure="2" beat="3" cycle="8" type="scribble"   motor="on" start="28.0" pitch="1.0"/>
<note measure="2" beat="4" cycle="6" type="transform" motor="off" start="31.0" pitch="1.0"/>
<note measure="2" beat="7" cycle="2" type="baby"        motor="on" start="1.0" pitch="1.0"/>
...
...
</instrument>

All information for a scratch instrument is contained in the instrument node with the instrument attribute equal to 'ScratchInstrument'. The instrument node contains one or more note nodes as children. The wave nodes represent a .wav audio file that is loaded to be played by the wavetable synthesizer instrument. The nodes represent an individual scratch that is played by the scratch synthesizer isntrument.

Scratch instrument attributes: