Sound: High-Level Rendering
There are a number
of
possibile high-level sound rendering tools. We divide these tools into
two classes: speech-like and abstract sound. For the former category,
we outline espea.
For abstract-sound, the two most active are Csound
and Supercollider.
We initially
outline SuperCollider
and anticipate adding csound in the
future.
Abstract Sound: SuperCollider:
an environment and programming language for real time audio synthesis
and algorithmic composition. It contains two parts:
- SCsynth, a
unit-generator-based sound synthesis
server which accepts communications using the OSC protocal, and
- SClang, an
interpretive object-oriented programming
language which, by acting as a client, initiates and controls sound
generation on SCsynth.
With Supercollider, SCsynth can be an "external" server; in a separate
thread, perhaps on another computer on the network, and/or on an
"internal" RAM server which communicates more directly with SClang.
Name |
|
PySCLang |
Description |
|
PySCLang
is a Benjamin Golinvaux's
python module that makes SuperCollider 3 language (SCLang) scriptable
from Python. See Dependencies, below. |
Principal
Reference |
|
SuperCollider
Hub |
Documentation |
|
SuperCollider
Hub |
Version |
|
get
the latest |
License |
|
GPL |
Download |
|
It
is necessary to have SC3
installed. For OSX, the easiest is Wesleyan
build.
A SVN repository is available via the Sourceforge website. |
Dependencies |
|
Supercollider
3. SuperCollider is an
environment and programming language for real time audio synthesis and
algorithmic composition. It provides an interpreted object-oriented
language which functions as a network client to a state of the art,
realtime sound synthesis |
Examples |
|
The
Supercollider documentation contains many
examples. |
Warnings |
|
PYSClang
was originally written as a
Python alternative to SClang for windows machines where the combination
of PSCLang and scsynth is known as Psycollider.
A small
modification to PySClang which doesn't try to initialise the MS windows
graphics routines is needed to make it suitable for OSX machines. |
Initial
Comments |
|
PySCLang
instantiates the user's own
copy of SC3 language, including the internal Server. There is a limited
subset of SCLang commands available through PySCLang, however they are
useful for someone who knows SCLang and needs fast access to the
high-level sound rendering that SC3 affords. |
Updates |
|
20090312:
There seems to be no publicly available
build for intel OSX yet. Our plan is to release one. |
Name |
|
scsynth |
Description |
|
Uses
Supercollider client-side
'external' sound server engine (scsynth) via OSC to provide
music-oriented functions like sequencers and patterns. |
Principal
Reference |
|
patrickkidd
wiki(20090312:link dead) |
Documentation |
|
Currently
scant. Best is the
sourcecode. Each module file has some brief script examples. See
warnings below. |
Version |
|
Seems
to be unversioned. |
License |
|
LGPL |
Download |
|
PKsources(20090312:link
dead) |
Dependencies |
|
scosc,
supercollider's scsynth |
Examples |
|
Currently
best is the the sourcefiles. See
warnings below. |
Warnings |
|
The
published examples a mixture of
different versions of the code and cannot be run automatically.
Communication with the author did not indicate any enthusiasm to edit.
Though it has been made to work, a rewrite/rearrangement of the code
seems the best approach. |
Initial
Comments |
|
The
supercollider server (scsynth)
responds to timestamped events that
load files, play sounds, etc. scsynth sends messages as a stream in
real-time. A Sequencer object translates patterns into timestamped
messages, which are sent to the server via a Player object, which
manages notes while they are playing.
20090312update: |
Updates |
|
20090312:
The sources linked to above are no
longer active. We will endeavour to locate them and/or release our own
tool for same functionality. |
|