Comparison of audio synthesis environments


Software audio synthesis environments typically consist of an audio programming language 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.

Subjective comparisons

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:
These attributes can vary strongly depending on the tasks used for evaluation.
Some other common comparisons include:
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 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.

User interface

The interface to an audio system often has a significant influence on the creative flow of the user, not because of what is possible, 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.

General

Programming language features

NameTextual/graphicalObject-orientedType system
BiduleGraphicalNo
ChucKTextualYesStatic
CsoundTextual/Graphical NoIn development
ImpromptuMostly textual-Dynamic & static
KymaMostly GraphicalYesDynamic
Max/MSPGraphicalNo
Pure DataGraphicalNo
ReaktorGraphicalNo
SuperColliderTextual/Graphical YesDynamic
SynthEditGraphicalYesStatic
MPEG-4/SATextualNoNo

Data interface methods

Interfaces between the language environment and other software or hardware.

Technical