[PlanetCCRMA] Snd, pd, or CSound?

andersvi@extern.uio.no andersvi@extern.uio.no
Sun Feb 5 05:14:02 2006

>>> "B" == Brian Good <cb4cusa@hotmail.com> writes:
B> Hi all,
B> After just fooling around with Timidity and Zyn and Muse and ReZound
B> and Hydrogen and Rosegarden
B> and Audacity for a year, I'm wishing to invest the time in learning
B> Snd or pd or CSound.
B> Can anybody expound on their relative merits?

Fwiw heres another comparison of the 3.

Snd makes an extensible, interactive environment for dsp and
composition, where the windows popping up to start with initially
resembles a sound-editor.  Dont let it fool you!  Along with the
graphical knobs and menus Snd presents a well documented,
full-fledged Lisp-interface (or Ruby) to the user, making snd do
whatever you want from it.  Besides loads of dsp-functionality
(analysis, synthesis, editing), it has CLM built in giving you
whatever Music-N might bring, and control/script/extend your
environment using lisp interactively.  You can run Snd as an
inferior subjob inside emacs and control everything from a
snd-mode or some such.  It interfaces full duplex with other
lisp-based composition-environments like CM.

PD is mainly a graphical toolkit.  For pedagogical use,
relatively simple utilities and limited realtime-processing it's
well built.  However, graphical approaches lowering the barriers
to start off with quickly becomes extremely tedious when your
needs get more complex (and for some reason they tend to do
that).  Editing and adjusting beyond elementary level is a
headache in a graphical environment.  You get no help from
editors while working, only your right forearm.  Although you can
assemble patches with external scripts or messages inside pd, its
somewhat like swimming up a river.  Theres no real interface to a
script- or programming language.

Csound is somewhat like pd, but with better support for non-RT
work.  Based on text-files, its easier to edit if using a good
editor, although there's limited scriptability built in to the
system.  When you need some specialised solution, you have 2
options, if youre feeling lucky browse the web, orelse dive down
to C, and rebuild an adjusted version of the whole app.