an extensive open-source Python framework
for data sonification research and auditory display

HOME   intro low-level medium-level high-level conversion  

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:

  1. SCsynth, a unit-generator-based sound synthesis server which accepts communications using the OSC protocal, and
  2. SClang, an interpretive object-oriented programming language which, by acting as a client, initiates and controls sound generation on SCsynth.
  3. 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.
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. 
HELP : components

user interfaces
Copyright © 2007-2009 David Worrall                                                                                          Last updated: 20090327