This guide puts together information about programming languages commonly used for sonic coding endeavours. The descriptions were adapted from Wikipedia, Floss Manuals and/or each language’s official website.
We have a chat (ask aBe for an invite) and we’re also on Twitter and Facebook.
SuperCollider is a 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, Mac OS X, and Linux.
Learn (scroll down to SuperCollider) | Download
ChucK is a concurrent, strongly timed audio programming language for real-time synthesis, composition, and performance, which runs on Linux, Windows, macOS and iOS. It is designed to favor readability and flexibility for the programmer over other considerations such as raw performance.
Csound is an audio programming language written in C. It has traditionally been used in a non-interactive score driven context, but nowadays it’s mostly used in a real-time context. Csound can run on a host of different platforms including all major operating systems as well as Android and iOS. Csound is free and open source.
JUCE is an open-source cross-platform C++ application framework, used for the development of desktop and mobile applications. It is used in particular for its GUI and plugins libraries. Most audio-related tasks are covered by the framework, i.e. it allows you to build VST, AU, RTAS and AAX format plugins with ease. Open source projects may use JUCE for free, commercial projects require a fee.
Interested in live coding? Any of the above will work, but you might also want to have a look at TidalCycles or Overtone
Many sound artists and other non-programmers find text-based programming a difficult and non-intuitive method of creating things. Visual programming languages let you create programs by manipulating elements graphically rather than by specifying them textually. This is also known as dataflow programming. Many of these languages are based on the idea of “boxes and arrows”, where boxes or other screen objects are treated as entities, connected by arrows, lines or arcs which represent relations.
The two below are the ones most used for audio. They have a common origin and share many capabilities.
Pure Data is an open source project with a large developer base working on new extensions. It runs on Linux, macOS and Windows. You can easily use your patches on Android and iOS. It also runs on Raspberry Pi, Bela, etc.
Max/MSP is developed and maintained by Cycling ‘74 and has a large user base of programmers unaffiliated with the company who enhance the software with commercial and non-commercial extensions to the program. It has a sleek user interface and runs on Windows and macOS. It can be acquired in 3 different ways: permanent license, monthly or annual subscription.
If you’ve downloaded one of the options above and are having problems setting it up, we might be able to help you, provided that there’s someone around with expertise in that language/environment. Let us know in the first 20 minutes of a session.