Ross Bencina
home page
email
Page last updated October 2000
On the 5th of October 2000 I presented a talk about musical computer programming at Electrofringe 2000. This page provides links discussed during the talk.
Irrespective of your level of expertise the
music-dsp mailing list is one of the best places on the internet to
ask questions and get information about musical programming.
The home page provides details
of how to subscribe to the music-dsp mailing list, has reviews
of various music-dsp related books etc.
http://shoko.calarts.edu/~glmrboy/musicdsp/music-dsp.html
The music-dsp source code archive has free source code for
many common audio processing algorithms (filters, effects etc.)
donated by members of the music-dsp mailing list:
http://www.smartelectronix.com/musicdsp/
Harmony Central - Effects Explained provides good explanations of some common
audio effects:
http://www.harmony-central.com/Effects/
The Linux Audio Development (LAD) Mailing List is the place to
go for GNU/Linux audio hackers:
http://www.linuxdj.com/audio/lad/
CSound is a free "sound compiler", you write a program in the
CSound language and CSound converts in into a sound file, or in
real-time on some platforms. CSound is free and is available for
all major operating systems and others too.
http://mitpress.mit.edu/e-books/csound/frontpage.html
SAOL is a sound programming language which is part of the
MPEG-4 specification. SAOL is a language definition, not an actual
implementation. There are links to a number of (free)
implementations of SAOL and other documents at the SAOL home page:
http://sound.media.mit.edu/mpeg4/
SuperCollider is a real-time software synthesis programming
environment for Power Macintosh computers. SuperCollider is not
free, but a save-disabled demo version is available. SuperCollider
is considered by many to be the state-of-the-art in software
synthesis languages:
http://www.audiosynth.com/
Quasimodo is a free real-time software synthesis programming
language for GNU/Linux:
http://www.quasimodo.org/
JSyn is a sound synthesis library for Java. It allows users to
create and control real-time audio patches by combining pre-defined
unit generators.
http://www.softsynth.com/
CMIX is a collection of routines for soundfile processing and
a binding for the CMIX scripting language MINC. You use CMIX by writing
a soundfile processing routine in C and then controlling them from a MINC script.
Built in routines for soundfile mixing are included. CMIX works on most
UNIX platforms including GNU/Linux.
http://www.music.princeton.edu/winham/cmix.html
MacCMix provides similar functionality on the Macintosh but is controlled
by AppleScript. See:
http://www.audiomulch.com/~rossb/
If you want to quickly get a real-time audio program running under
Windows (Macintosh and other to follow) then consider the
PortAudio portable audio library:
http://www.audiomulch.com/portaudio/
The VST2 plugin format may be used to write audio synthesis
and effects plugins for many
professional and shareware music programs:
http://www.steinberg.net/
Sndlib makes it easy to
read and write common soundfile formats:
http://www-ccrma.stanford.edu/CCRMA/Software/sndlib/
If you need information on soundfile formats (or any other file format
for that matter) wotsit.org is an excellent place to go:
http://www.wotsit.org/