- Comparison of audio synthesis environments
Software audio synthesis environments typically consist of an audio programming language (which may be graphical) and a user environment to design/run the language in. Although many of these environments are comparable in their abilities to produce high-quality audio, their differences and specialties are what draw users to a particular platform. This article compares noteworthy audio synthesis environments, and enumerates basic issues associated with their use.
Audio synthesis environments comprise a wide and varying range of software and hardware configurations. Even different versions of the same environment can differ dramatically. Because of this broad variability, certain aspects of different systems cannot be directly compared. Moreover, some levels of comparison are either very difficult to objectively quantify, or depend purely on personal preference.
Some of the commonly considered subjective attributes for comparison include:
- Usability (how difficult is it for beginners to generate some kind of meaningful output)
- Learnability (how steep the learning curve is for new, average, and advancing users)
- Sound "quality" (which environment produces the most subjectively appealing sound)
- Creative flow (in what ways does the environment affect the creative process - e.g. guiding the user in certain directions)
These attributes can vary strongly depending on the tasks used for evaluation.
Some other common comparisons include:
- Audio performance (issues such as throughput, latency, concurrency, etc.)
- System performance (issues such as buggyness or stability)
- Support and community (who uses the system and who provides help, advice, training and tutorials)
- System capabilities (what is possible and what is not possible [regardless of effort] with the system)
- Interoperability (how well does the system integrate with other systems from different vendors)
Building blocks of sound and sound "quality"
Audio software often has a slightly different "sound" when compared against others. This is because there are different ways to implement the basic building blocks (such as sinewaves, pink noise, or FFT) which result in slightly different aural characteristics. Although people can of course prefer one system's "sound" over another, perhaps the best output can be determined by using sophisticated audio analyzers in combination with the listener's ears. The idea of this would be to arrive at what most would agree is as "pure" a sound as possible.
The interface to an audio system often has a significant influence on the creative flow of the user, not because of what is possible (the stable/mature systems listed here are fully featured enough to be able to achieve an enormous range of sonic/compositional objectives), but because of what is made easy and what is made difficult. This is again very difficult to boil down to a brief comparative statement. One issue may be which interface metaphors are used (e.g. boxes-and-wires, documents, flow graphs, hardware mixing desks).
Name Creator Primary Purpose(s) First release date Most recent update Cost License Main user interface type Development status ChucK Ge Wang and Perry Cook Realtime synthesis, live coding, pedagogy, acoustic research, algorithmic composition 2004 v126.96.36.199, Oct 2009 Free GPL Document Immature (32bit-only) Csound Barry Vercoe Realtime performance, sound synthesis, algorithmic composition, acoustic research 1986 v5.12, September 2010 Free LGPL Document, graphical for realtime Mature Impromptu Andrew Sorensen Live coding, algorithmic composition, hardware control, realtime synthesis, 2d/3d graphics programming 2006 v2.5, October 2010 Free Proprietary Document Stable Max/MSP Miller Puckette Realtime audio + video synthesis, hardware control mid-1980s v5.1.7, December 2010 $699.00 Proprietary Graphical Mature nsound Nick Hilton Realtime synthesis, offline audio rendering, algorithmic composition, acoustic research 2003 0.7.3, December 7, 2009 Free GPL Document Mature Pure Data Miller Puckette Realtime synthesis, hardware control, acoustic research 1990s v0.43, March 29, 2011 Free BSD-like Graphical Stable Reaktor Native Instruments Realtime synthesis, hardware control, GUI design 1996 5.6.1, Sept. 2011 $399 Proprietary Graphical Mature SuperCollider James McCartney Realtime synthesis, live coding, algorithmic composition, acoustic research, all-purpose programming language March 1996 v3.4, July 2010 Free GPL Document Mature sfront John Lazzaro MPEG-4/SA implementation, Realtime synthesis, algorithmic composition, structured Web audio. 1997 0.96, 1/12/10 Free BSD-like Document Stable Usine Olivier Sens Audio manipulation, live coding, algorithmic composition 2006 v5.20, June 2010 Free/120€ Proprietary Graphical Mature
Programming language features
Name Textual/graphical Object-oriented Type system ChucK Textual Yes Static Csound Textual/Graphical (FLTK) No Impromptu Mostly textual - Dynamic & static Max/MSP Graphical No nsound Textual Yes Dynamic Pure Data Graphical No Reaktor Graphical No SuperCollider Textual/Graphical (Cocoa/Swing/Qt) Yes Dynamic MPEG-4/SA Textual No No Usine Graphical Yes (scripts) Dynamic
Data interface methods
Interfaces between the language environment and other software or hardware (not user interfaces).
Name Shell scripting MIDI OSC HID VST Audio Units Other In Out In Out In Out As host As unit ChucK Yes Yes Yes Yes Yes Csound Yes Yes Yes Yes Yes Yes Yes binding from Haskell (hCsound) Impromptu Yes Yes Yes Yes Yes No Bidirectional Scheme to Objective-C bridge Max/MSP Yes Yes Yes Yes Yes Yes nsound Yes Yes No No No No No No No No C++ API, Python API Pure Data Yes Yes Yes Yes Yes Yes Yes Yes No No bindings for Python, Lua, Java, GStreamer Reaktor Yes Yes Yes Yes Yes No Yes SuperCollider Yes Yes Yes Yes Yes Yes Yes No Yes LADSPA Host, scsynth can be controlled by OSC messages (Python, Scala, Ruby etc.) sfront Yes Yes No No No MPEG-4/SA language implementation. Usine Yes Yes Yes Yes Yes Yes Yes Yes Multi-touch
Wikimedia Foundation. 2010.
Look at other dictionaries:
Audio programming language — An audio programming language is a programming language specifically optimized for sound and music production or sound synthesis. Some of the languages below are optimized more for music composition, and some are optimized more for synthesis. For … Wikipedia
SuperCollider — infobox software developer = James McCartney and others operating system = Linux, Mac OS X, Windows [ [http://sourceforge.net/project/showfiles.php?group id=54622 SourceForge.net: Files ] ] genre = Audio programming language license = GNU General … Wikipedia
Computer music — is a term that was originally used within academia to describe a field of study relating to the applications of computing technology in music composition; particularly that stemming from the Western art music tradition. It includes the theory and … Wikipedia
ChucK — For other uses, see Chuck (disambiguation). ChucK Paradigm(s) Multi paradigm Appeared in 2003 Designed by … Wikipedia
MUSIC-N — refers to a family of computer music programs and programming languages descended from or influenced by MUSIC, a program written by Max Mathews in 1957 at Bell Labs. MUSIC was the first computer program for generating digital audio waveforms… … Wikipedia
Reaktor — Developer(s) Native Instruments Stable release 5.6 Operating system … Wikipedia
Pure Data — (or Pd) is a graphical programming language developed by Miller Puckette in the 1990s for the creation of interactive computer music and multimedia works. Though Puckette is the primary author of the software, Pd is an open source project and has … Wikipedia
Max (software) — Max Developer(s) Cycling 74 Stable release 6.0.0 / October 26, 2011; 15 days ago (2011 10 26) … Wikipedia
Csound — Stable release 5.13 / March 7, 2011; 7 months ago (2011 03 07) Development status Active Written in C Operating system … Wikipedia
Computer — For other uses, see Computer (disambiguation). Computer technology redirects here. For the company, see Computer Technology Limited. Computer … Wikipedia