Comparison of audio synthesis environments

Last updated

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.

Contents

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:

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.

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 (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).

General

NameCreatorPrimary Purpose(s)First release dateMost recent updateMost recent versionCostLicenseMain user interface typeDevelopment status
Bidule Plogue Realtime synthesis, live coding, algorithmic composition, acoustic research, all-purpose programming language20022017-060.9757Non-freeProprietaryGraphicalMature
ChucK Ge Wang and Perry CookRealtime synthesis, live coding, pedagogy, acoustic research, algorithmic composition 20042023-121.5.2.1Free GPL DocumentImmature
Csound Barry Vercoe Realtime performance, sound synthesis, algorithmic composition, acoustic research 19862022-10-22v6.18.0Free LGPL Document, graphicalMature
Impromptu Andrew Sorensen Live coding, algorithmic composition, hardware control, realtime synthesis, 2d/3d graphics programming20062010-10v2.5FreeProprietaryDocumentStable
Keykit Tim Thompson MIDI synthesis and algorithmic composition 19952021-03-15v7.7eFree GPL GraphicalMature
Kyma Carla Scaletti Realtime audio synthesis, hardware control, acoustic research, algorithmic composition, data sonification, live-performance multi-effects processing19862018-9-03v7.23Non-freeProprietaryGraphicalMature
Max/MSP Miller Puckette Realtime audio + video synthesis, hardware control, GUI design1980s (mid)2024-01-17v8.6.0Non-freeProprietaryGraphicalMature
Pure Data Miller Puckette Realtime synthesis, hardware control, acoustic research 1990s2023-07-04v0.54Free BSD-likeGraphicalMature
Reaktor Native Instruments Realtime synthesis, hardware control, GUI design19962023-04-196.5Non-freeProprietaryGraphicalMature
SuperCollider James McCartneyRealtime synthesis, live coding, algorithmic composition, acoustic research, all-purpose programming language1996-032023-02-19v3.13.0Free GPL DocumentMature
Sporth Paul BatchelorSound design, algorithmic composition, live coding, embedded systems20152016-05-Free MIT DocumentImmature
SynthEdit Jeff McClintockRealtime synthesis, live coding, effects coding, GUI design199920211.4Non-freeProprietary/BSDGraphicalMature
VCV Rack Andrew BeltRealtime audio synthesis2017-092022-02-262.1.0Free GPL GraphicalImmature

Programming language features

NameTextual/graphical Object-oriented Type system
Bidule GraphicalNo
ChucK TextualYesStatic
Csound Textual/Graphical (FLTK/Qt/HTML5)NoIn development
Impromptu Mostly textual-Dynamic & static
Kyma Mostly GraphicalYesDynamic
Max/MSP GraphicalNo
Pure Data GraphicalNo
Reaktor GraphicalNo
SuperCollider Textual/Graphical (Cocoa/Swing/Qt)YesDynamic
SynthEdit GraphicalYesStatic
MPEG-4/SA TextualNoNo

Data interface methods

Interfaces between the language environment and other software or hardware (not user interfaces).

NameShell scripting MIDI OSC HID VST Audio Units Other
InOutInOutInOutAs hostAs unit
Bidule YesYesYesYesYesYesYesYes
ChucK YesYesYesYesYesYesYesChunity allows to run ChucK in the Unity game engine
Csound YesYesYesYesYesYesNobinding from Haskell (hCsound), C, C++, Java, JavaScript, Lisp, Lua, Python
Impromptu YesYesYesYesYesNoBidirectional Scheme to Objective-C bridge
Kyma YesYesYesYesYes
Max/MSP YesYesYesYesYesYesYes
Pure Data YesYesYesYesYesYesYesYesSomeSome
  • bindings for GStreamer, Java, Lua, Python
  • the Camomile plug-in may host PD as plug-in within DAW
  • PD-extended presently has multiple options to host LADSPA plug-ins within PD environment
Reaktor YesYesYesYesYesNoYes
SuperCollider YesYesYesYesYesYesYesNoYesLADSPA Host, scsynth can be controlled by OSC messages (Haskell, Scala, Python, Ruby, Scheme etc.)
SynthEdit YesYesNoNoYesNoYes
VCV Rack YesYesYesYesYes

Technical

NameOperating 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++

See also

Related Research Articles

<span class="mw-page-title-main">Device driver</span> Computer program that operates or controls a device that is attached to a computer

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.

<span class="mw-page-title-main">Sound card</span> Expansion card that provides input and output of audio signals

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.

<span class="mw-page-title-main">Video editing software</span> Software used to edit digital video files

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.

<span class="mw-page-title-main">Advanced Linux Sound Architecture</span> Software framework

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.

<span class="mw-page-title-main">Sound Blaster</span> Family of sound cards by Creative Technology

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.

<span class="mw-page-title-main">Virtual Studio Technology</span> Audio plug-in software interface

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.

<span class="mw-page-title-main">Digital audio workstation</span> Electronic device or application software used for recording, editing and producing audio files

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).

<span class="mw-page-title-main">Nord Modular</span> Line of synthesizers

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.

<span class="mw-page-title-main">Sound Blaster Live!</span>

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.

<span class="mw-page-title-main">Sound Blaster Audigy</span> Computer sound card

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.

<span class="mw-page-title-main">Sound Blaster 16</span> Sound card by Creative Technology

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.

<span class="mw-page-title-main">Digital mixing console</span> Electronic device used to manipulate audio input signals using digital signal processing

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.

References

  1. "Symbolic Sound Kyma: Products ChoosingTheRightConfigurationForYourApplication". www.symbolicsound.com. Retrieved 2018-10-13.