> Synthesis Tools
If anything is missing, misleading, or whatever, please correct it (this is a Wiki
Pure Data (pd)
Home page: http://pd.iem.at/
Getting into it:
1. You should subscribe to pd-list: http://iem.at/mailinglists/pd-list/
2. You should then start with reading Pd's html manual, which many beginners unfortunatly like to skip and then they ask all those
questions which are explained in the html manual already. This is a bit annoying of course.
Better read it first and afterwards ask
about the points you didn't fully understand.
The html docs are online here: http://www-crca.ucsd.edu/~msp/Pd_documentation/
3. After you read the html, go through the documentation patches once.
They are numbered for a reason: follow that order, and don't skip the
"2.control.examples" part just because you want to do audio stuff
immediatly. These examples are very important, too, to get the bigger
picture. All Pd patches can be edited, changed, copied etc.
Super Collider (SC)
Home page: http://www.audiosynth.com/
Getting into it:
There are some really good tutorials around (especially the one by David Cottle (free "postcard"-ware, which means you have to send the author an email to ask for the tutorial as he likes to know where his tutorial is used and for what purposes), but also the one by Mark Polishook (included in the help files)) to learn Super Collider and it has a kind of online-help system, as well as its own emaillist and forum.
With the SCUM-addons, you can also make your own GUI's for Super Collider in a nice and easy way.
Home page: http://www.csounds.com/
Home page: http://chuck.cs.princeton.edu/
Getting into it:
There are tutorials and documentation on the site. The best way is to try the examples included with the distribution. ChucK
is very young - things are getting better. version 1.2 (dracula) recently released!
Home page: http://zynaddsubfx.sourceforge.net/doc_3.html
Home page: http://ccrma.stanford.edu/software/clm/
Home page: http://cec.wustl.edu/~bjl1/nyquist-linux.html
Choosing between pd, SC, csound, ChucK, CLM and Nyquist
If you prefer typing over moving the mouse, then it is better to use a text-based synthesis program.
Super Collider is quite flexible, and not as horribly documented as a lot of people may tell.
(Atte André Jensen)
I like SC as it gives possibilities to dynamically change a lot of
things over time, and you can build really complex algorithms with it.
I am sure that in Pd a lot of the same things would be possible, but it
needs a quite different kind of programming strategy to do so.
Actually I think, those are the things that are a bit harder to do in
Pd than in a textual language as SC is. As Atte mentioned, for example
Pd doesn't do dynamic voice allocation. The design of Pd just works
differently in this regard: You have to code every voice you are going
to need. That's not hard, as there are language features to help with
doing that, but it's definitely not the automatic, batteries included
way of Csound or SC in this regard. Also if you intend to change the
structure of your synthesis engine while it's running, this probably
is better done in SC.
Pd however really shines when it comes to glueing stuff together. I
know of no other free multimedia software that supports such a wide range of
possibilities to connect to "the outside world".
For example: There's no need to use the Pd synthesis part at all, you
can just write your algorithms in Super Collider and use Pd as a GUI
for SC. The advantage is, that Pd also is a RAD-GUI-Designer tool,
whereas in SC you need to first write a textual description of your
SCUM GUI, if I understand this correctly.
is very young and a lot less complete than Pd, SC, and CSound.
It is a unique model of programming time by controlling behavior very precisely (and concurrently)
over time. It is aimed for extreme flexibility over
time and parallelism, but achieves lower thoroughput than Pd, SC, or
From the manual: Common Lisp Music is a music synthesis and signal processing package in the Music V family.
It provides much the same functionality as Stk, Csound, SuperCollider
, PD, CMix, cmusic, and Arctic -- a collection of functions that create and manipulate sounds, aimed primarily at composers (in CLM's case anyway). The instrument builder plugs together these functions (called generators here), along with general programming glue to make computer instruments. These are then called in a note list or through some user interface (provided by Snd, for example).
CLM exists in several forms: the original Common Lisp implementation (clm-3.tar.gz), a C version (sndlib.tar.gz), a Scheme version (sndlib.tar.gz with Guile), Ruby (sndlib again but using Ruby), and Forth (sndlib/gfm). The Scheme and Ruby versions are also built into the Snd editor (snd-7.tar.gz).
For realtime synthesis with Common Lisp Music, one can use the realtime extension for SND: http://www.notam02.no/arkiv/doc/snd-rt/
Nyquist for Linux is a Linux port of the Unix sound / music synthesis environment Nyquist written by Roger Dannenberg at Carnegie Mellon.
- () MarcVinyes wrote down the LAU notes from Frank Barknecht, mik, Atte André Jensen, Marije Baalman- 09 Mar 2005
- If you edit this page: add your name here; move this to the next line; and if you've used a comment marker (your initials in parenthesis), include it before your WikiName.