I started a blog series chronicling my audio programming journey, so I thought it would be handy to make a resources page as I go. I plan to keep it updated with stuff I find along the way. If you have any suggestions please feel free to leave them in the comments section and I will add them at a later date. Meanwhile… Fill yer boots:
Audio Programming Languages
A language for notating music using the ASCII character set
ChucK is an audio programming language for real-time sound synthesis and music creation. It is open-source and freely available on MacOS X, Windows, and Linux
A live-coding environment for composers, sound artists, VJ’s and graphic artists with an interest in live or interactive programming. It borrows a core foundation from the Impromptu environment.
Functional Audio Stream, a functional compiled language for efficient real-time audio signal processing
Hierarchical Music Specification Language (HMSL)
Optimized more for music than synthesis, developed in the 1980s in Forth
A live-coding environment for composers, sound artists, VJ’s and graphic artists with an interest in live or interactive programming.
Designed to provide composers and software developers with a library of compositional and audio processing tools. It provides a solid framework for computer-assisted composition in Java™, and is also used for generative music, instrument building, interactive performance, and music analysis.
[The Projucer] With support for PC, Mac and Linux, build powerful and complex applications. JUCE also supports the development of plug-ins: VST, AU and AAX.
Allows you to develop interactive computer music programs in Java. It can be used to generate sound effects, audio environments, or music.
Java API for music composition, interactive performance, and intelligent instrument design.
A hardware and software environment for creative sound design, live performance, and scientific exploration.
Max is a visual programming language for the specialized needs of artists, educators, and researchers working with audio, visual media, and physical computing. It’s commercial so you’ll have to pay for it. Also available as Max for Live for Ableton. Decent community and forums.
Music Macro Language (MML)
I am aware of MML but as yet not too familiar with it. I believe it surfaced in Microsoft BASIC back in the early 1980s. I only have a list here from a wiki which documents MML languages.
An algorithmic programming composition tool based in python, allowing integration of machine learning for advanced musicology and algorithmic composition. Looks to be used for databasing music too.
A collection of computer music software, includes versions I, II, III, IV, IV-B, IV-BF, V, 11, and 360. Other family members of this software are:
- Real-time Cmix
A real-time software “language” for doing digital sound synthesis and signal-processing. It is written in C/C++, and is distributed open-source, free of charge.
- Common Lisp Music (CLM)
A music synthesis and signal processing package in the Music V family
A MUSIC-N synthesis language released under the Lesser General Public License (LGPL) with many available unit generators. Csound is a sound and music computing system which was originally developed by Barry Vercoe in 1985 at MIT.
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. Written by the co-founder of Audacity. WIKI HERE
OpenMusic (OM) is a visual programming language based on Lisp
Open Sound Control (OSC) is a protocol for communication among computers, sound synthesizers, and other multimedia devices.
Pure Data (Pd)
Open source visual programming language for multimedia. It’s a major branch of the family of patcher programming languages known as Max.
Native Instruments synth that allows you to get under the hood and build your own synths, effects, and sound design tools. It has two structural levels fro building – Core and Primary.
Live Coding Music Synth
MUSIC-N programming language designed for describing virtual instruments, processing digital audio, and applying sound effects. It was published as subpart 5 of MPEG-4 Part 3
Platform for audio synthesis and algorithmic composition, used by musicians, artists, and researchers working with sound. It is free and open source software available for Windows, macOS, and Linux.
You can build real Synths and Effects with hundreds of interacting components. Several commercial companies use SynthEdit as their primary development environment.