Comparison of audio synthesis environments: Difference between revisions

Content deleted Content added
m Update Pure Data version
m Disambiguating links to Object-orientation (link changed to Object-oriented programming) using DisamAssist.
 
(39 intermediate revisions by 22 users not shown)
Line 1:
{{short description|None}}
 
{{multiple issues|
{{notability|date=January 2015}}
{{original research|date=January 2015}}
{{refimprovemore citations needed|date=January 2015}}
}}
Software '''audio synthesis environmentenvironments'''s typically consist of an [[audio programming language]] (which may be [[Visual programming language|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.
 
==Subjective comparisons==
Line 34 ⟶ 36:
! Name
! Creator
! Primary Purposepurpose(s)
! First release date
! Most recent update
Line 43 ⟶ 45:
! Development status
|-
|[[Bidule]]
|[[Plogue Art et Technologie, Inc.|Plogue]]
|Realtime synthesis, [[live coding]], [[algorithmic composition]], [[acoustics|acoustic research]], all-purpose programming language
Line 58 ⟶ 60:
| Realtime synthesis, [[live coding]], [[pedagogy]], [[acoustics|acoustic research]], [[algorithmic composition]]
| 2004
| 20182023-02-0912
| v11.45.02.01
| {{free}}
| [[GNU General Public License|GPL]]
Line 69 ⟶ 71:
| Realtime performance, sound synthesis, [[algorithmic composition]], [[acoustics|acoustic research]]
| 1986
| 20182022-0510-1822
| v6.1118.0
| {{free}}
| [[GNU Lesser General Public License|LGPL]]
Line 86 ⟶ 88:
| Document
| Stable
|-
| [[Keykit]]
| Tim Thompson
| [[MIDI]] synthesis and [[algorithmic composition]]
| 1995
| 2021-03-15
| v7.7e
| {{free}}
| [[GNU General Public License|GPL]]
| Graphical
| Mature
|-
| [[Kyma (sound design language)|Kyma]]
Line 102 ⟶ 115:
| Realtime audio + video synthesis, hardware control, GUI design
| 1980s (mid)
| 20172024-0501-3017
| v7v8.36.40
| {{nonfree}}
| Proprietary
Line 113 ⟶ 126:
| Realtime synthesis, hardware control, [[acoustics|acoustic research]]
| 1990s
| 20192023-0807-2704
| v0.5054
| {{free}}
| [[BSD licenses|BSD]]-like
Line 124 ⟶ 137:
| Realtime synthesis, hardware control, [[GUI]] design
| 1996
| 20172023-0804-1619
| 6.25
| {{nonfree}}
| Proprietary
Line 135 ⟶ 148:
| Realtime synthesis, [[live coding]], [[algorithmic composition]], [[acoustics|acoustic research]], all-purpose programming language
| 1996-03
| 20192023-0802-3119
| v3.1013.30
| {{free}}
| [[GNU General Public License|GPL]]
Line 153 ⟶ 166:
| Immature
|-
| [[SynthEdit]]
|[https://vcvrack.com/ VCV Rack]
|Jeff McClintock
|Realtime synthesis, live coding, effects coding, GUI design
|1999
|2021
|1.4
| {{nonfree}}
|Proprietary/BSD
|Graphical
|Mature
|-
|[[VCV Rack]]
|Andrew Belt
|Realtime audio synthesis
|2017-09
|20192022-0902-2926
|0.6.2| 1.1.50
| {{free}}
|[[GNU General Public License|GPL]]
|[[BSD licenses|BSD]]-like
|Graphical
|Immature
Line 166 ⟶ 190:
 
==Programming language features==
<!-- Note: Because various of these features are not neccessarilynecessarily "good" or "bad", it is not recommended to use the WKP templates that turn the table cells green for "Yes" and red for "No"! -->
 
{| class="wikitable sortable" style="text-align: center"
! Name
! Textual/graphical
! [[Object-oriented programming|Object-oriented]]
! [[Type system]]
|-
|[[Bidule]]
|Graphical
|No
Line 218 ⟶ 242:
| Yes
| Dynamic
|-
| [[SynthEdit]]
|Graphical
|Yes
|Static
|-
| [[MPEG-4 Structured Audio|MPEG-4/SA]]
Line 248 ⟶ 277:
! As unit
|-
|[[Bidule]]
|
|
Line 262 ⟶ 291:
|-
| [[ChucK]]
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
Line 272 ⟶ 301:
|
|
| Chunity allows to run ChucK in the Unity game engine
|-
| [[Csound]]
Line 284 ⟶ 313:
| {{no}}
|
|
| binding from [[Haskell]] (hCsound), [[C (programming language)|C]], [[C++]], Python,[[Java (programming language)|Java]], Lua[[JavaScript]], [[Lisp (programming language)|Lisp]], JavaScript[[Lua (programming language)|Lua]], [[Python (programming language)|Python]]
|-
| [[Impromptu (programming environment)|Impromptu]]
Line 298 ⟶ 327:
| {{yes}}
| {{no}}
| Bidirectional [[Scheme (programming language)|Scheme]] to [[Objective-C]] bridge
|-
| [[Kyma (sound design language)|Kyma]]
Line 335 ⟶ 364:
| {{yes}}
| {{yes}}
| {{ some }}
| {{ some }}
|
* bindings for [[GStreamer]], [[Java (programming language)|Java]], [[Lua (programming language)|Lua]], [[Python (programming language)|Python]]
* bindings for Python, Lua, Java, GStreamer.
* the Camomile plugin[[Plug-in (computing)|plug-in]] may host PD as pluginplug-in within DAW.
* PD-extended presently has multiple options to host LADSPA pluginsplug-ins within PD environment.
|-
| [[Reaktor]]
Line 351 ⟶ 380:
|
| {{yes}}
| {{no}}
| {{yes}}
|
|-
Line 367 ⟶ 396:
| {{yes}}
| LADSPA Host, scsynth can be controlled by OSC messages (Haskell, Scala, Python, Ruby, Scheme etc.)
|-
| [[SynthEdit]]
|
|
| {{yes}}
| {{yes}}
| {{no}}
| {{no}}
|
| {{yes}}
| {{no}}
| {{yes}}
|
|-
|[https://vcvrack.com/ VCV Rack]
Line 388 ⟶ 430:
! Operating system(s)
! Source code language(s)
! Programming (plugin[[Plug-in (computing)|plug-in]]) API language(s)
! Other technical features
|-
|[[Bidule]]
|[[Mac OS XmacOS]], [[Microsoft Windows|Windows]]
|[[C++]]
|[[C++]]
Line 398 ⟶ 440:
|-
| [[ChucK]]
| [[Mac OS XmacOS]], [[Linux]], [[Microsoft Windows|Windows]]
| [[C++]]
| [[C++]]
| Unified timing mechanism (no separation between audio-rate and control-rate), [[command-line]] access
|-
| [[Csound]]
| [[Mac OS XmacOS]], [[Linux]], [[Microsoft Windows|Windows]]
| [[C (programming language)|C]], [[C++]]
| [[C (programming language)|C]]; also [[Python (programming language)|PythonC++]], [[Java (programming language)|Java]], [[Lisp (programming language)|Lisp]], [[Lua (programming language)|Lua]], [[TclPython (programming language)|Python]], [[C++Tcl]]
| IDE (QuteCsound), multitrack interface (blue); several analysis/resynthesis facilities; can compute double-precision audio; [[Python (programming language)|Python]] and [[LuaJIT]] [[algorithmic composition]] library; multi-threaded processing
|-
| [[Impromptu (programming environment)|Impromptu]]
| [[Mac OS XmacOS]]
| [[Lisp (programming language)|Lisp]], [[Objective-C]], [[Scheme (programming language)|Scheme]]
| [[C (programming language)|C]], [[C++]], [[Objective-C]], [[Scheme (programming language)|Scheme]]
| Native access to most OS XmacOS APIs including [[Core Image]], [[Quartz (graphics layer)|Quartz]], [[QuickTime]] and [[OpenGL]]. Impromptu also includes its own statically typed (inferencing) systems language for heavy numeric processing - OpenGL, RT AudioDSP etc..
|-
| [[Kyma (sound design language)|Kyma]]
| [[Mac OS XmacOS]], [[Microsoft Windows|Windows]]
| [[Smalltalk]], [[C (programming language)|C]], [[Objective-C]]
|[[Smalltalk]]
Line 422 ⟶ 464:
|-
| [[Max/MSP]]
| [[Mac OS XmacOS]], [[Microsoft Windows|Windows]]
| [[C (programming language)|C]], [[Objective-C]]
| [[C (programming language)|C]], [[Java (programming language)|Java]], [[JavaScript]], also [[Python (programming language)|Python]] and [[Ruby (programming language)|Ruby]] via externals
Line 428 ⟶ 470:
|-
| [[Pure Data]]
| [[Mac OS XmacOS]], [[Linux]], [[Microsoft Windows|Windows]], [[iPod]], [[Android (operating system)|Android]]
| [[C (programming language)|C]], [[Tcl]] (for GUI)
| [[C (programming language)|C]], [[C++]], [[FAUST (programming language)|FAUST]], [[Haskell (programming language)|Haskell]], [[Java (programming language)|Java]], [[Lua (programming language)|Lua]], [[Python (programming language)|Python]], [[QPure (equational programming language)|Q]], [[Ruby (programming language)|Ruby]], [[Scheme (programming language)|Scheme]], others
|
|-
| [[Reaktor]]
| [[Mac OS XmacOS]], [[Microsoft Windows|Windows]]
|
|
Line 440 ⟶ 482:
|-
| [[SuperCollider]]
| [[Mac OS XmacOS]], [[Linux]], [[Microsoft Windows|Windows]], [[FreeBSD]]
| [[C (programming language)|C]], [[C++]], [[Objective-C]]
| [[C++]]
Line 446 ⟶ 488:
|-
| [[Sporth]]
| [[Linux]], [[Mac OS XmacOS]]
| [[C (programming language)|C]]
| [[C (programming language)|C]], [[Scheme (programming language)|Scheme]]
| Many frontends built using the API exist, including [[Chuck (API)|Chuck]], [[Pure Data|PD]], and [[LADSPA]]
|-
| [[SynthEdit]]
| [[Windows]], [[macOS]]
| [[C++]]
| [[C++]]
|
|-
|[https://vcvrack.com/ VCV Rack]
|[[Mac OS XmacOS]], [[Linux]], [[Microsoft Windows|Windows]]
|[[C++]]
|[[C++]]
|
|}
 
== References ==
{{reflist}}
 
==See also==
* [[List of music software]]
* [[List of audio programming languages]]
 
== References ==
{{Reflist}}
 
{{DEFAULTSORT:Audio synthesis environment comparison}}