![]() | This article has multiple issues. Please help improve it or discuss these issues on the talk page . (Learn how and when to remove these template messages)
|
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:
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 (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 | Most recent version | Cost | License | Main user interface type | Development status |
---|---|---|---|---|---|---|---|---|---|
Bidule | Plogue | Realtime synthesis, live coding, algorithmic composition, acoustic research, all-purpose programming language | 2002 | 2017-06 | 0.9757 | Non-free | Proprietary | Graphical | Mature |
ChucK | Ge Wang and Perry Cook | Realtime synthesis, live coding, pedagogy, acoustic research, algorithmic composition | 2004 | 2023-12 | 1.5.2.1 | Free | GPL | Document | Immature |
Csound | Barry Vercoe | Realtime performance, sound synthesis, algorithmic composition, acoustic research | 1986 | 2022-10-22 | v6.18.0 | Free | LGPL | Document, graphical | Mature |
Impromptu | Andrew Sorensen | Live coding, algorithmic composition, hardware control, realtime synthesis, 2d/3d graphics programming | 2006 | 2010-10 | v2.5 | Free | Proprietary | Document | Stable |
Keykit | Tim Thompson | MIDI synthesis and algorithmic composition | 1995 | 2021-03-15 | v7.7e | Free | GPL | Graphical | Mature |
Kyma | Carla Scaletti | Realtime audio synthesis, hardware control, acoustic research, algorithmic composition, data sonification, live-performance multi-effects processing | 1986 | 2018-9-03 | v7.23 | Non-free | Proprietary | Graphical | Mature |
Max/MSP | Miller Puckette | Realtime audio + video synthesis, hardware control, GUI design | 1980s (mid) | 2024-01-17 | v8.6.0 | Non-free | Proprietary | Graphical | Mature |
Pure Data | Miller Puckette | Realtime synthesis, hardware control, acoustic research | 1990s | 2023-07-04 | v0.54 | Free | BSD-like | Graphical | Mature |
Reaktor | Native Instruments | Realtime synthesis, hardware control, GUI design | 1996 | 2023-04-19 | 6.5 | Non-free | Proprietary | Graphical | Mature |
SuperCollider | James McCartney | Realtime synthesis, live coding, algorithmic composition, acoustic research, all-purpose programming language | 1996-03 | 2023-02-19 | v3.13.0 | Free | GPL | Document | Mature |
Sporth | Paul Batchelor | Sound design, algorithmic composition, live coding, embedded systems | 2015 | 2016-05 | - | Free | MIT | Document | Immature |
SynthEdit | Jeff McClintock | Realtime synthesis, live coding, effects coding, GUI design | 1999 | 2021 | 1.4 | Non-free | Proprietary/BSD | Graphical | Mature |
VCV Rack | Andrew Belt | Realtime audio synthesis | 2017-09 | 2022-02-26 | 2.1.0 | Free | GPL | Graphical | Immature |
Name | Textual/graphical | Object-oriented | Type system |
---|---|---|---|
Bidule | Graphical | No | |
ChucK | Textual | Yes | Static |
Csound | Textual/Graphical (FLTK/Qt/HTML5) | No | In development |
Impromptu | Mostly textual | - | Dynamic & static |
Kyma | Mostly Graphical | Yes | Dynamic |
Max/MSP | Graphical | No | |
Pure Data | Graphical | No | |
Reaktor | Graphical | No | |
SuperCollider | Textual/Graphical (Cocoa/Swing/Qt) | Yes | Dynamic |
SynthEdit | Graphical | Yes | Static |
MPEG-4/SA | Textual | No | No |
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 | ||||
Bidule | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |||
ChucK | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Chunity allows to run ChucK in the Unity game engine | |||
Csound | Yes | Yes | Yes | Yes | Yes | Yes | No | binding from Haskell (hCsound), C, C++, Java, JavaScript, Lisp, Lua, Python | |||
Impromptu | Yes | Yes | Yes | Yes | Yes | No | Bidirectional Scheme to Objective-C bridge | ||||
Kyma | Yes | Yes | Yes | Yes | Yes | ||||||
Max/MSP | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||||
Pure Data | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Some | Some | |
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 (Haskell, Scala, Python, Ruby, Scheme etc.) | |
SynthEdit | Yes | Yes | No | No | Yes | No | Yes | ||||
VCV Rack | Yes | Yes | Yes | Yes | Yes | ||||||
Name | Operating system(s) | Source code language(s) | Programming (plug-in) API language(s) | Other technical features |
---|---|---|---|---|
Bidule | macOS, Windows | C++ | C++ | ASIO/ CoreAudio (Mac)/ ReWire support. Possible to write custom modules via API if NDA accepted. |
ChucK | macOS, Linux, Windows | C++ | C++ | Unified timing mechanism (no separation between audio-rate and control-rate), command-line access |
Csound | macOS, Linux, Windows | C, C++ | C; also C++, Java, Lisp, Lua, Python, Tcl | IDE (QuteCsound), multitrack interface (blue); several analysis/resynthesis facilities; can compute double-precision audio; Python and LuaJIT algorithmic composition library; multi-threaded processing |
Impromptu | macOS | Lisp, Objective-C, Scheme | C, C++, Objective-C, Scheme | Native access to most macOS APIs including Core Image, Quartz, QuickTime and OpenGL. Impromptu also includes its own statically typed (inferencing) systems language for heavy numeric processing - OpenGL, RT AudioDSP etc. |
Kyma | macOS, Windows | Smalltalk, C, Objective-C | Smalltalk | The Kyma hardware processes user algorithms at sample-rate, as opposed to a vector of samples [1] Kyma has a Frequency resolution of .0026 Hz, and large multi-dimensional arrays can be transferred through spectral algorithms at the speed of a single Frame. |
Max/MSP | macOS, Windows | C, Objective-C | C, Java, JavaScript, also Python and Ruby via externals | |
Pure Data | macOS, Linux, Windows, iPod, Android | C | C, C++, FAUST, Haskell, Java, Lua, Python, Q, Ruby, Scheme, others | |
Reaktor | macOS, Windows | |||
SuperCollider | macOS, Linux, Windows, FreeBSD | C, C++, Objective-C | C++ | Client-server architecture; client and server can be used independently, command-line access |
Sporth | Linux, macOS | C | C, Scheme | Many frontends built using the API exist, including Chuck, PD, and LADSPA |
SynthEdit | Windows, macOS | C++ | C++ | |
VCV Rack | macOS, Linux, Windows | C++ | C++ |
In computing, a device driver is a computer program that operates or controls a particular type of device that is attached to a computer or automaton. A driver provides a software interface to hardware devices, enabling operating systems and other computer programs to access hardware functions without needing to know precise details about the hardware being used.
A sound card is an internal expansion card that provides input and output of audio signals to and from a computer under the control of computer programs. The term sound card is also applied to external audio interfaces used for professional audio applications.
Video editing software, or a video editor is software used for performing the post-production video editing of digital video sequences on a non-linear editing system (NLE). It has replaced traditional flatbed celluloid film editing tools and analog video tape editing machines.
In software quality assurance, performance testing is in general a testing practice performed to determine how a system performs in terms of responsiveness and stability under a particular workload. It can also serve to investigate, measure, validate or verify other quality attributes of the system, such as scalability, reliability and resource usage.
In computer engineering, a hardware description language (HDL) is a specialized computer language used to describe the structure and behavior of electronic circuits, most commonly to design ASICs and program FPGAs.
Csound is a domain-specific computer programming language for audio programming. It is called Csound because it is written in C, as opposed to some of its predecessors.
Advanced Linux Sound Architecture (ALSA) is a software framework and part of the Linux kernel that provides an application programming interface (API) for sound card device drivers.
Sound Blaster is a family of sound cards and audio peripherals designed by Singaporean technology company Creative Technology. The first Sound Blaster card was introduced in 1989.
SuperCollider is an environment and programming language originally released in 1996 by James McCartney for real-time audio synthesis and algorithmic composition.
Virtual Studio Technology (VST) is an audio plug-in software interface that integrates software synthesizers and effects units into digital audio workstations. VST and similar technologies use digital signal processing to simulate traditional recording studio hardware in software. Thousands of plugins exist, both commercial and freeware, and many audio applications support VST under license from its creator, Steinberg.
In software engineering, the terms frontend and backend refer to the separation of concerns between the presentation layer (frontend), and the data access layer (backend) of a piece of software, or the physical infrastructure or hardware. In the client–server model, the client is usually considered the frontend and the server is usually considered the backend, even when some presentation work is actually done on the server itself.
A digital audio workstation is an electronic device or application software used for recording, editing and producing audio files. DAWs come in a wide variety of configurations from a single software program on a laptop, to an integrated stand-alone unit, all the way to a highly complex configuration of numerous components controlled by a central computer. Regardless of configuration, modern DAWs have a central interface that allows the user to alter and mix multiple recordings and tracks into a final produced piece.
The Environmental Audio Extensions are a number of digital signal processing presets for audio, present in Creative Technology Sound Blaster sound cards starting with the Sound Blaster Live and the Creative NOMAD/Creative ZEN product lines. Due to the release of Windows Vista in 2007, which deprecated the DirectSound3D API that EAX was based on, Creative discouraged EAX implementation in favour of its OpenAL-based EFX equivalent – though at that point relatively few games used the API.
An executive information system (EIS), also known as an executive support system (ESS), is a type of management support system that facilitates and supports senior executive information and decision-making needs. It provides easy access to internal and external information relevant to organizational goals. It is commonly considered a specialized form of decision support system (DSS).
The Nord Modular series is a line of synthesizers produced by Clavia, a Swedish digital synthesizer manufacturer. The Nord Modular series, in common with their sister range the Nord Lead series, are analogue modelling synthesizers, producing sounds that approximate those produced by conventional analogue synths by using DSP chips to digitally model analogue circuitry.
Sound Blaster Live! is a PCI add-on sound card from Creative Technology Limited for PCs. Moving from ISA to PCI allowed the card to dispense with onboard memory, storing digital samples in the computer's main memory and then accessing them in real time over the bus. This allowed for a much wider selection of, and longer playing, samples. It also included higher quality sound output at all levels, quadrophonic output, and a new MIDI synthesizer with 64 sampled voices. The Live! was introduced in August 1998 and variations on the design remained Creative's primary sound card line into the early 2000's.
Sound Blaster Audigy is a product line of sound cards from Creative Technology. The flagship model of the Audigy family used the EMU10K2 audio DSP, an improved version of the SB-Live's EMU10K1, while the value/SE editions were built with a less-expensive audio controller.
The Sound Blaster 16 is a series of sound cards by Creative Technology, first released in June 1992 for PCs with an ISA or PCI slot. It was the successor to the Sound Blaster Pro series of sound cards and introduced CD-quality digital audio to the Sound Blaster line. For optional wavetable synthesis, the Sound Blaster 16 also added an expansion-header for add-on MIDI-daughterboards, called a Wave Blaster connector, and a game port for optional connection with external MIDI sound modules.
Sound Blaster Advanced Wave Effects 64 ISA sound card from Creative Technology. It is an add-on board for PCs. The card was launched in November 1996.
In professional audio, a digital mixing console (DMC) is a type of mixing console used to combine, route, and change the dynamics, equalization and other properties of multiple audio input signals, using digital signal processing rather than analog circuitry. The digital audio samples, which is the internal representation of the analog inputs, are summed to what is known as a master channel to produce a combined output. A professional digital mixing console is a dedicated desk or control surface produced exclusively for the task and is typically more robust in terms of user control, processing power and quality of audio effects. However, a computer can also perform the same function since it can mimic its interface, input and output.