Audio Programming Languages
   HOME





Audio Programming Languages
This is a list of notable programming languages optimized for sound production, algorithmic composition, and sound synthesis. * ABC notation, a language for notating music using the ASCII character set Bol Processor a model of formal grammars enriched with polymetric expressions for the representation of time structures * ChucK, strongly timed, concurrent, and on-the-fly audio programming language * Real-time Cmix, a MUSIC-N synthesis language somewhat similar to Csound Cmajor a high-performance JIT-compiled C-style language for DSP * Common Lisp Music (CLM), a music synthesis and signal processing package in the Music V family * Csound, a MUSIC-N synthesis language released under the LGPL with many available unit generators * Extempore, a live-coding environment that borrows a core foundation from the Impromptu environment * FAUST, Functional Audio Stream, a functional compiled language for efficient real-time audio signal processing GLICOL a graph-oriented live coding l ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Programming Language
A programming language is a system of notation for writing computer programs. Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually defined by a formal language. Languages usually provide features such as a type system, Variable (computer science), variables, and mechanisms for Exception handling (programming), error handling. An Programming language implementation, implementation of a programming language is required in order to Execution (computing), execute programs, namely an Interpreter (computing), interpreter or a compiler. An interpreter directly executes the source code, while a compiler produces an executable program. Computer architecture has strongly influenced the design of programming languages, with the most common type (imperative languages—which implement operations in a specified order) developed to perform well on the popular von Neumann architecture. ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Scheme (programming Language)
Scheme is a dialect of the Lisp family of programming languages. Scheme was created during the 1970s at the MIT Computer Science and Artificial Intelligence Laboratory (MIT CSAIL) and released by its developers, Guy L. Steele and Gerald Jay Sussman, via a series of memos now known as the Lambda Papers. It was the first dialect of Lisp to choose lexical scope and the first to require implementations to perform tail-call optimization, giving stronger support for functional programming and associated techniques such as recursive algorithms. It was also one of the first programming languages to support first-class continuations. It had a significant influence on the effort that led to the development of Common Lisp.Common LISP: The Language, 2nd Ed., Guy L. Steele Jr. Digital Press; 1981. . "Common Lisp is a new dialect of Lisp, a successor to MacLisp, influenced strongly by ZetaLisp and to some extent by Scheme and InterLisp." The Scheme language is standardized in the offic ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


OpenMusic
OpenMusic (OM) 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. At a more specialized level, a set of provided classes and libraries make it a very convenient environment for music composition. History OpenMusic is the last in a series of computer-assisted composition software designed at IRCAM. Versions of OpenMusic are currently available for Mac OS X (PowerPC and Intel), Windows and Linux. The source code has been released under the GNU Lesser General Public License (LGPL). Programming in OpenMusic Programs in OpenMusic are created by connecting together (a process known as 'patching') either pre-defined or user-defined modules, in a similar manner to graphical signal-processing environments such as Max/MSP or Pd. Unlike such environments, however, the result of an OpenMusic computation will typically be displayed in conventional music notation, wh ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Nyquist (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, and is named after Harry Nyquist. With Nyquist, the programmer designs musical instruments by combining functions, and can call upon these instruments and generate a sound just by typing a simple expression. The programmer can combine simple expressions into complex ones to create a whole composition, and can also generate various other kinds of musical and non-musical sounds. The Nyquist interpreter can read and write sound files, MIDI files, and Adagio text-based music score files. On many platforms, it can also produce direct audio output in real time. The Nyquist programming language can also be used to write plug-in effects for the Audacity digital audio editor. One notable difference between Nyquist and more traditional MUSIC-N languages is that Nyquist does not segregate synthesis functions (see unit generator) from ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Chiptune
Chiptune, also called 8-bit music (although not all chiptune is 8-bit music), is a style of electronic music made using the programmable sound generator (PSG) sound chips or synthesizers in vintage arcade machines, computers and video game consoles. The term is commonly used to refer to tracker format music using extremely basic and small samples that an old computer or console could produce (this is the original meaning of the term), as well as music that combines PSG sounds with modern musical styles. It has been described as "an interpretation of many genres". Any existing song can be arranged in a chiptune style. It can be defined by choice of instrument, by timbre more than specific style elements. Technology A waveform generator is a fundamental module in a sound synthesis system. A waveform generator usually produces a basic geometrical waveform with a fixed or variable timbre and variable pitch. Common waveform generator configurations usually included two o ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Music Macro Language
Music Macro Language (MML) is a music description language used in sequencing music on computer and video game systems. Background Early automatic music generation functions were used in arcade video games, which used many computer sounds. Early examples of arcade video game music chiptunes include ''Gun Fight'' (1975) and ''Circus'' (1977). The boom in Japanese video games was heralded in 1978 by the appearance in Japanese game centers (Amusement arcades) of ''Space Invaders'' by Taito.Compiled by worked in the Pacific Industrial Co., Ltd. All compiled alone. The music was all proprietary (closed source). The 1978 release of the Programmable interval timer by Intel was significant. The Intel 8253 Mode 3 Square Wave generator was used for music, in the Kit computer MZ-40K () by SHARP Corporation, made in Japan at May 1978. Another Micro computer BASIC MASTER MB-6880(ja) used a 5Bit D/A converter music automated reference signal. Also important was the development of a me ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Max/MSP
Max, also known as Max/MSP/Jitter, is a visual programming language for music and multimedia developed and maintained by San Francisco-based software company Cycling '74. Over its more than thirty-year history, it has been used by composers, performers, software designers, researchers, and artists to create recordings, performances, and installations. The Max program is modular, with most routines existing as shared libraries. An application programming interface (API) allows third-party development of new routines (named ''external objects''). Thus, Max has a large user base of programmers unaffiliated with Cycling '74 who enhance the software with commercial and non-commercial extensions to the program. Because of this extensible design, which simultaneously represents both the program's structure and its graphical user interface (GUI), Max has been described as the lingua franca for developing interactive music performance software. History 1980s Miller Puckette began ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

LilyPond
LilyPond is a computer program and file format for music engraving. One of LilyPond's major goals is to produce scores that are engraved with traditional layout rules, reflecting the era when scores were engraved by hand. LilyPond is cross-platform, and is available for several common operating systems; released under the terms of the GNU General Public License, LilyPond is free software and part of the GNU Project. History The LilyPond project was started in 1996 by Han-Wen Nienhuys and Jan Nieuwenhuizen, after they decided to abandon work on MPP ( MusiXTeX PreProcessor), a project they began collaborating on in 1995. Its name was inspired both by the Rosegarden project and an acquaintance of Nienhuys and Nieuwenhuizen named Suzanne, a name that means lily in Hebrew (). Version 1.0 LilyPond 1.0 was released on July 31, 1998, highlighting the development of a custom music font, Feta, and the complete separation of LilyPond from MusiXTeX. Version 2.0 LilyPond 2.0 was rele ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Kyma (sound Design Language)
Kyma is a visual programming language for sound design used by musicians, researchers, and sound designers. In Kyma, a user programs a multiprocessor digital signal processor (DSP) by graphically connecting modules on the display of a Macintosh or Windows computer. Background Kyma has characteristics of both object-oriented and functional programming languages. The basic unit in Kyma is the ''Sound'' object, not the ''note'' of traditional music notation. A Sound is defined as: # A Sound atom # A unary transform T(s) where s is a Sound # An n-ary transform T(s1, s2,.., sn), where s1,s2,..sn are Sounds A Sound atom is a source of audio (like a microphone input or a noise generator), a unary transform modifies its argument (for example, a low-pass filter might take a running average of its input), and an n-ary transform combines two or more Sounds (a Mixer, for example, is defined as the sum of its inputs). History The first version of Kyma, which computed digital audio samples on ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Keykit
KeyKit is a graphical environment and programming language for MIDI synthesis and algorithmic composition. It was originally developed by Tim Thompson and released by AT&T. Overview Keykit (originally named "Keynote") was developed by Thompson in his spare time while he worked for AT&T. However, it was not related to his actual job there. Keynote was originally released through the AT&T Toolchest, and in 1995 was released as KeyKit with a license making it freely available for non-commercial use. Keykit is noteworthy for its versatility and expressiveness. Complex algorithmic arrangements can be produced with as much detail and sophistication as required, and the software works on multiple platforms and operating systems. It is not dependent on peripherals or sound cards from a specific vendor. These are unique advantages over similar "music workstation" products with the same or similar functionality for algorithmic composition and computer generated music. Language feat ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


JSyn
JSyn ("Java Synthesis") is a free API for developing interactive sound applications in Java. Developed by Phil Burk and others, it is available on GitHub. JSyn has a flexible, unit generator-based synthesis and DSP architecture that allows developers to create synthesizers, audio playback routines, and effects processing algorithms within a Java framework that allows for easy integration with other Java routines (e.g. graphics, user interface, etc.). Although fundamentally a synthesis language (imitative of if not directly inspired by Csound and other MUSIC-N languages), JSyn has a number of powerful extensions and ancillary libraries, including JMSL (a Java update to the HMSL music specification language) and JScore (a staff notation editor and library), which adds a significantly higher level of musical informatics to the package than would normally be supplied with a set of synthesis routines. Wire, a graphical editor for JSyn routines, also allows developers to create DS ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




JMusic
jMusic is an open source music programming library written in the Java programming language. Written by Johannes Vazha Tavdgiridze and Andrew Brown, jMusic was released publicly in November 1998. It is under GNU GPL license.http://sourceforge.net/projects/jmusic/ jMusic - Composition in Java - Download jMusic - Composition software for free at SourceForge.net It is designed to assist composers and music software developers by providing support for music data structures, modifications, and input/output to various file formats. It can display notes as sheet music (see music notation). jMusic has a data structure In computer science, a data structure is a data organization and storage format that is usually chosen for Efficiency, efficient Data access, access to data. More precisely, a data structure is a collection of data values, the relationships amo ... that is based on a musical score metaphor, and consists of a hierarchy of notes, phrases, parts and score. jMusic also has ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]