Programs for sound synthesis
Library
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
An Introduction:
The synthesis algorithms used by Wigout and TrikTraks
(or "How does a computer make sound?")
(PDF file)
- Programs for soundfile manipulation. Command-line
programs that can read, modify, and write 16-bit PCM AIFF and WAVE files.
Binaries:
Documentation:
PDF file of documentation for these
utilities.
- sfam
Apply amplitude modulation/tremolo/ring modulation to a
soundfile.
- sfamplify
Amplify or attenuate a soundfile, or just report its
levels.
- sfcat
Concatenate a sequence of soundfiles, with or without gaps
or overlaps.
- sfcheck
Check (and correct) consistency of soundfile headers and
file size.
- sfconvert
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.)
- sfcopy
Copy a soundfile into another, changing formats, headers, etc.
- sffilters
A variety of filters, including 2-tap Butterworth
filters.
- sfflip
Flip the channels of a stereo soundfile (L -> R and R -> L)
- sfinfo
Show information about a soundfile, including detailed
information about AIFF and WAVE headers.
- sfkaiser
Apply a Kaiser filter to a soundfile.
- sfmix
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.
- sfnoise
Create "white" noise, using either a uniform or gaussian random
number generator.
- sfpitches
Create an arbitrary sequence of pitches, using note
names, frequencies, or period lengths in samples.
- sfplay
Play a 16-bit PCM soundfile. (Uses PortAudio 18.1.)
- sfpv
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.)
- sframp
Ramp the beginning and/or ending of a soundfile.
- sfrose
Create and display a classic pitch matrix.
- sfstereomix
Mix N number of stereo soundfiles together.
- sfsweep
Create a glissando sine tone with user specifiable starting and
ending pitches, amplitude level, and duration.
- sftesttone
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.
- sfwaves
Sum N frequencies from the command line, specifying duration, waveform
type, etc.
-
sndfft Apply an fft to a soundfile, save the resulting data as a
text file. FFT algorithm written by Dale Carstensen.
- sndrms
Calculate the Root Mean Square (RMS) level of a soundfile.