Audio programming language
Encyclopedia
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 details, see the comparison of audio synthesis environments
.
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....
specifically optimized for sound
Sound
Sound is a mechanical wave that is an oscillation of pressure transmitted through a solid, liquid, or gas, composed of frequencies within the range of hearing and of a level sufficiently strong to be heard, or the sensation stimulated in organs of hearing by such vibrations.-Propagation of...
and music
Music
Music is an art form whose medium is sound and silence. Its common elements are pitch , rhythm , dynamics, and the sonic qualities of timbre and texture...
production or sound synthesis. Some of the languages below are optimized more for music composition, and some are optimized more for synthesis. For details, see the comparison of audio synthesis environments
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...
.
- abcAbc notationABC notation is a shorthand form of musical notation that has been in use since at least the 19th century, In basic form it uses the letters A through G to represent the given notes, with other elements used to place added value on these - sharp, flat, the length of the note, key, ornamentation...
, a language for notating music using the ASCII character set - Advanced Music Production Language and Environment (AMPLE), a Forth-like music programming language with concurrency
- ChucKChucKChucK is a concurrent, strongly timed audio programming language for real-time synthesis, composition, and performance, which runs on Mac OS X, Linux, Microsoft Windows, and iPhone/iPad. It is designed to favor readability and flexibility for the programmer over other considerations such...
, strongly-timed, concurrent, and on-the-fly audio programming language - Cmix, Real-time CmixReal-time CmixReal-Time Cmix is one of the MUSIC-N family of computer music programming languages. RTcmix is descended from the MIX program developed by Paul Lansky at Princeton University in 1978 to perform algorithmic composition using digital audio soundfiles on a VMS mainframe computer. After synthesis...
, a MUSIC-NMUSIC-NMUSIC-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 through direct synthesis...
synthesis language somewhat similar to Csound - CMusicCMusiccmusic is an audio compilation language which was created by F. Richard Moore. A full explanation of CMusic can be found in the book Elements of Computer Music, by F. Richard Moore , ISBN 0-13-252552-6....
- Common Lisp MusicCommon Lisp MusicCLM is a music synthesis and signal processing package in the Music V family created by Bill Schottstaedt. It runs in a number of various Lisp implementations or as a part of the Snd audio editor . There is also a realtime implementation, Snd-rt which is developed by Kjetil S...
(CLM), a music synthesis and signal processing package in the Music V family - CsoundCsoundCsound is a computer programming language for dealing with sound, also known as a sound compiler or an audio programming language, or more precisely, a C-based audio DSL. It is called Csound because it is written in C, as opposed to some of its predecessors...
, a MUSIC-NMUSIC-NMUSIC-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 through direct synthesis...
synthesis language released under the LGPLGNU Lesser General Public LicenseThe GNU Lesser General Public License or LGPL is a free software license published by the Free Software Foundation . It was designed as a compromise between the strong-copyleft GNU General Public License or GPL and permissive licenses such as the BSD licenses and the MIT License...
with many available unit generatorUnit generatorUnit generators are the basic formal units in many MUSIC-N-style computer music programming languages. They are sometimes called opcodes , though this expression is not accurate in that these are not machine-level instructions.Unit generators form the building blocks for designing synthesis and...
s - FAUSTFAUST (programming language)FAUST, that stands for Functional AUdio STream, is a programming language that provides a purely functional approach to signal processing while offering a high level of performance...
(Functional Audio Stream ), a functional compiled language for efficient real-time audio signal processing - Haskore
- Hierarchical Music Specification LanguageHierarchical Music Specification LanguageThe Hierarchical Music Specification Language is a music programming language written in the 1980s by Larry Polansky, Phil Burk, and David Rosenboom at Mills College...
(HMSL), optimized more for music than synthesis, developed in the 1980s in Forth - ImpromptuImpromptu (programming environment)Impromptu is a Mac OS X programming environment for live coding. Impromptu is built around the Scheme language, which is a member of the Lisp family of languages...
, a Scheme language environment for Mac OS XMac OS XMac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
capable of sound and video synthesis, algorithmic composition, and 2D and 3D graphics programming - jMax, JavaJava (programming language)Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
-based MAX clone - jMusicJMusicjMusic is an open source music programming library written in the Java programming language. Written by Andrew Sorensen and Andrew Brown, jMusic was released publicly in November 1998. It is under GNU GPL license....
- JSynJSynJSyn is a free API for developing interactive sound applications in Java. Developed by Phil Burk and others, it is distributed through Burk's company, SoftSynth...
- LiquidsoapLiquidsoapLiquidsoap is an audio programming language developed initially to produce audio and video source streams sent to an Icecast server. The difference with other available tools is that Liquidsoap interprets a dedicated script language, which makes it very versatile and adaptable to a lot of various...
http://savonet.sourceforge.net/ - Loco - designed to be for sound what LogoLogo (programming language)Logo is a multi-paradigm computer programming language used in education. It is an adaptation and dialect of the Lisp language; some have called it Lisp without the parentheses. It was originally conceived and written as functional programming language, and drove a mechanical turtle as an output...
is for graphics http://www.nici.kun.nl/mmm/papers/dh-88-b.html - Max/MSP
- Melodyne
- Music Macro LanguageMusic Macro LanguageMusic Macro Language is a music description language used in sequencing music on a number of computer and video game system platforms.MML is also sometimes known as Music Markup Language, by conflation with the XML musical notation markup language of that name...
(MML) - MUSIC-NMUSIC-NMUSIC-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 through direct synthesis...
, includes versions I, II, III, IV, IV-B, IV-BF, V, 11, and 360 - Nsound http://nsound.sourceforge.net, C++C++C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...
API for sound synthesis - NyquistNyquist (programming language)Nyquist is a programming language for sound synthesis and analysis based on the Lisp programming language. It is an extension of the XLISP dialect of Lisp....
- OpenMusicOpenMusicOpenMusic is an object-oriented visual programming environment for musical composition based on Common Lisp.It may also be used as an all-purpose visual interface to Lisp programming.-History:...
- PatchWorkPatchworkPatchwork or "pieced work" is a form of needlework that involves sewing together pieces of fabric into a larger design. The larger design is usually based on repeat patterns built up with different colored shapes. These shapes are carefully measured and cut, straight-sided, basic geometric shapes...
- Pure DataPure DataPure Data is a visual programming language developed by Miller Puckette in the 1990s for creating interactive computer music and multimedia works. While Puckette is the main author of the program, Pd is an open source project with a large developer base working on new extensions to it. It is...
- PWGL
- Q-Audio http://q-lang.sourceforge.net/
- Ring Tone Transfer LanguageRing Tone Transfer LanguageRing Tone Text Transfer Language was developed by Nokia to be used to transfer ringtones to cellphone by Nokia.The RTTTL format is a string divided into three sections: name, default value, and data....
- Soundscrape http://ambient.2y.net/soundscrape/
- Strasheela http://strasheela.sourceforge.net/
- Structured Audio Orchestra LanguageStructured Audio Orchestra LanguageStructured Audio Orchestra Language is an imperative, MUSIC-N programming language designed for describing virtual instruments, processing digital audio, and applying sound effects...
(SAOL), part of the MPEG-4 Structured AudioMPEG-4 Structured AudioMPEG-4 Structured Audio is an ISO/IEC standard for describing sound. It was published as subpart 5 of MPEG-4 Part 3 in 1999....
standard - SuperColliderSupercolliderA Supercollider is a high energy particle accelerator. The term may refer to:* Superconducting Super Collider, planned 80 km project in Texas, canceled in 1993...
- SynthEditSynthEditSynthEdit is a shareware Windows application which uses a modular VPL to create music synthesizers and effects units. These can then be compiled as VST plug-ins for use in audio applications....
http://www.synthedit.com/ - UsineUsineSensomusic Usine is a Multitouch digital audio workstation used to manipulate, record and edit audio and MIDI in live situations.Usine is developed in Delphi by the French double bass player Olivier Sens, running on Microsoft Windows....
http://www.sensomusic.com/