# Instrument Templates

This chapter lists in alphabetical order the DSP instrument templates available to the Audio folio. The table below provides a quick summary of each template, followed by the page number where the instrument template and its instrument are described.

- `add.dsp` Add 2 signals together.
- `adpcmhalfmono.dsp` Play a compressed4 bit Intel/DVI format sample at half rate.
- `adpcmmono.dsp` Play a compressed4-bit Intel/DVI format sample.
- `adpcmvarmono.dsp` Play a variable-rate compressed 4-bit Intel/DVI format sample.
- `benchmark.dsp` Output is current Tick count.
- `dcsqxdhalfmono.dsp` Play a square/xact/delta/monocompressed 22,050 hertz sample.
- `dcsqxdhalfstereo.dsp` Play a square/xact/delta/stereocompressed 22,050hertz sample.
- `dcsqxdmono.dsp` Play a square/xact/delta/monocompressed sample.
- `dcsqxdstereo.dsp` Play a square/xact/delta/stereocompressed sample.
- `dcsqxdvarmono.dsp` Play a variable-rate square/xact/delta/mono compressed sample.
- `decodeadpcm.dsp` Decompress a 4-bit Intel/DVI format sample.
- `deemphcd.dsp` DSP Instrument for CD de-emphasis
- `delay1tap.dsp` Simple 1 tap delay.
- `delaymono.dsp` Write input to an output FIFO.
- `delaystereo.dsp` Write stereo input to an output FIFO.
- `directin.dsp` Get audio input.
- `directout.dsp` Mix stereo pair with DAC output.
- `envelope.dsp` Interpolate a segment of an envelope.
- `envfollower.dsp` Track the contour of a signal.
- `filterednoise.dsp` Generate filtered noise.
- `fixedmono8.dsp` Play a monophonic 8-bit sample at 44,100 hertz.
- `fixedmonosample.dsp` Play a monophonic 16-bit sample at 44,100 hertz.
- `fixedstereo16swap.dsp` Play a stereo sample with byte swap.
- `fixedstereo8.dsp` Play a stereophonic 8-bit sample at 44,100 hertz.
- `fixedstereosample.dsp` Play a stereophonic sample at 44,100 hertz.
- `halfmono8.dsp` Play a monophonic 8- bit sample at 22,050 hertz.
- `halfmonosample.dsp` Play a monophonic sample at 22,050 hertz.
- `halfstereo8.dsp` Play a stereo 8-bit sample at 22,050 hertz.
- `halfstereosample.dsp` Play a stereophonic sample at 22050 Hertz.
- `head.dsp` Writes to DACs and generates audio clock.
- `impulse.dsp` Impulse waveform generator.
- `maximum.dsp` Pick the maximum of two input signals.
- `minimum.dsp` Pick the minimum of two input signals.
- `mixer12x2.dsp` Twelve-channel stereo mixer.
- `mixer2x2.dsp` Two-channel stereo mixer.
- `mixer4x2.dsp` Four-channel stereo mixer.
- `mixer8x2.dsp` Eight channel stereo mixer with master gain.
- `mixer8x2amp.dsp` Eight-channel stereo mixer.
- `multiply.dsp` Ring modulator.
- `noise.dsp` White noise generator.
- `oscupdownfp.dsp` External subroutine used by sampler.dsp instrument.
- `pulse.dsp` Pulse waveform generator.
- `pulse_lfo.dsp` Pulse waveform generator for Low Frequency Oscillator.
- `pulser.dsp` Triangle wave modulating frequency of a pulse wave.
- `randomhold.dsp` Generate random values and hold them.
- `rednoise.dsp` Red noise generator.
- `sampler.dsp` Rate-variable sample player.
- `samplerenv.dsp` Variable-rate sample player with amplitude envelope.
- `samplermod.dsp` Variable-rate sample player with pitch modulation.
- `sawenv.dsp` Sawtooth generator with amplitude envelope.
- `sawenvsvfenv.dsp` Sawtooth generator with amplitude and filter envelope.
- `sawfilterednoise.dsp` Filtered noise with sawtooth modulation.
- `sawfilteredsaw.dsp` Filtered sawtooth with sawtooth modulation.
- `sawtooth.dsp` Sawtooth generator.
- `square.dsp` Square waveform generator.
- `square_lfo.dsp` Square waveform generator for Low Frequency Oscillator.
- `submixer2x2.dsp` Two channel stereo submixer.
- `submixer4x2.dsp` Four-channel stereo submixer.
- `submixer8x2.dsp` Eight-channel stereo submixer.
- `subtract.dsp` Returns the difference between 2 signals.
- `svfilter.dsp` State-variable filter.
- `tail.dsp` Read DSP clock and report DSP time spent.
- `tapoutput.dsp` Tap accumulated DSP output.
- `timesplus.dsp` Mix control signals.
- `triangle.dsp` Triangle wave generator.
- `triangle_lfo.dsp` Triangle waveform generator for Low Frequency Oscillator.
- `varmono16.dsp` Rate-variable sample player.
- `varmono8.dsp` Rate-variable 8-bit sample player.

Unless otherwise specified, inputs and outputs are signed values in the range -$8000...$7FFF.