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 * ChucK, strongly timed, concurrent, and on-the-fly audio programming language * Real-time Cmix, a MUSIC-N synthesis language somewhat similar to Csound * 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 which borrows a core foundation from the Impromptu environment * FAUST, Functional Audio Stream, a functional compiled language for efficient real-time audio signal processingGLICOL a graph-oriented live coding language written in Rust * Hierarchical Music Specification Language (HMSL), optimized more for music than synthesis, developed in the 1980s in Forth * Impromptu, a Scheme language environmen ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Programming Language
A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming language is usually split into the two components of syntax (form) and semantics (meaning), which are usually defined by a formal language. Some languages are defined by a specification document (for example, the C programming language is specified by an ISO Standard) while other languages (such as Perl) have a dominant implementation that is treated as a reference. Some languages have both, with the basic language defined by a standard and extensions taken from the dominant implementation being common. Programming language theory is the subfield of computer science that studies the design, implementation, analysis, characterization, and classification of programming languages. Definitions There are many considerations when defini ... [...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 AI Lab 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 official IEEE standard1178-1990 (Reaff 2008) IEEE Standard for the S ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Orca (music Programming Language)
The orca or killer whale (''Orcinus orca'') is a toothed whale belonging to the oceanic dolphin family, of which it is the largest member. It is the only extant species in the genus ''Orcinus'' and is recognizable by its black-and-white patterned body. A cosmopolitan species, orcas can be found in all of the world's oceans in a variety of marine environments, from Arctic and Antarctic regions to tropical seas. Orcas have a diverse diet, although individual populations often specialize in particular types of prey. Some feed exclusively on fish, while others hunt marine mammals such as seals and other species of dolphin. They have been known to attack baleen whale calves, and even adult whales. Orcas are apex predators, as they have no natural predators. They are highly social; some populations are composed of very stable matrilineal family groups (pods) which are the most stable of any animal species. Their sophisticated hunting techniques and vocal behaviours, which are oft ... [...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 known as chip music or 8-bit music, is a style of synthesized 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 which intentionally sounds similar to older PSG-created music (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" since any existing song can be arranged in a chiptune style defined more by choice of instrument and timbre 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 or three simple waveforms and often a single pseudo- ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
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 games, which used many computer sounds. An example of an early popular Arcade game with music is The ''Circus'' from Exidy Corporation in 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 method to ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
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 work o ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
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 relea ... [...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 DSP by graphically connecting modules on the screen 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: i) a Sound atom ii) a unary transform T(s) where s is a Sound iii) 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 LowpassFilter 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 a Macintosh 512K was writ ... [...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 distributed through Burk's company, Mobileer Inc. 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.). A plugin is available for web browsers to run JSyn-enabled applets distributed over the World Wide Web. 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 n ... [...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 that is based on a musical score metaphor, and consists of a hierarchy of notes, phrases, parts and score. jMusic also has a sound synthesis architecture and "instruments" can be created from a chain of "audio objects" (similar to unit generators in other languages). A jMusic score can be rendered with jMusic instruments to an audio file. Code Sample Note n = new Note(C4 ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |