Programs for sound synthesis
A compressed tarfile of sound generation functions.
Uses the libao-1.1.0 driver for output on Linux, and
the portaudio lib on OS X
Tested on Mac OS 10.6.6 and Ubuntu 10.10 and 9.10
The synthesis algorithms used by Wigout and TrikTraks
(or "How does a computer make sound?")
- Programs for soundfile manipulation. Command-line
programs that can read, modify, and write 16-bit PCM AIFF and WAVE files.
PDF file of documentation for these
Apply amplitude modulation/tremolo/ring modulation to a
Amplify or attenuate a soundfile, or just report its
Concatenate a sequence of soundfiles, with or without gaps
Check (and correct) consistency of soundfile headers and
A variety of manipulations of stereo to mono and mono
to stereo soundfiles (splits stereo into 2 monos, joins 2 monos into
one stereo, etc.)
Copy a soundfile into another, changing formats, headers, etc.
A variety of filters, including 2-tap Butterworth
Flip the channels of a stereo soundfile (L -> R and R -> L)
Show information about a soundfile, including detailed
information about AIFF and WAVE headers.
Apply a Kaiser filter to a soundfile.
Mix together an arbitrary number of mono soundfiles into
one stereo soundfile. Each input soundfile is placed in the stereo
field from left to right.
Create "white" noise, using either a uniform or gaussian random
Create an arbitrary sequence of pitches, using note
names, frequencies, or period lengths in samples.
Play a 16-bit PCM soundfile. (Uses PortAudio 18.1.)
Phase vocoder. Allows you to change pitch independently
of duration. Pitch change is given in cents, duration in seconds.
(Based on F. Richard Moore's phase vocoder.)
Ramp the beginning and/or ending of a soundfile.
Create and display a classic pitch matrix.
Mix N number of stereo soundfiles together.
Create a glissando sine tone with user specifiable starting and
ending pitches, amplitude level, and duration.
Create a tone (sine/saw/triangle/square) of variable
amplitude, frequency, duration, and channel count.
- sftonerow Create a sequences
of enveloped sine tones from a sequence of pitch names or frequencies.
Sum N frequencies from the command line, specifying duration, waveform
sndfft Apply an fft to a soundfile, save the resulting data as a
text file. FFT algorithm written by Dale Carstensen.
Calculate the Root Mean Square (RMS) level of a soundfile.