kids encyclopedia robot
Quick facts for kids
SuperCollider
SuperCollider logo.svg
First appeared 1996; 29 years ago (1996)
Stable release
3.14.0 / 26 July 2025; 2 months ago (2025-07-26)
Implementation language C++
OS FreeBSD, Linux, macOS, Windows
License GPL-3.0-or-later

SuperCollider is a special programming language used to create music and sounds with code. It was first released in 1996 by James McCartney. It's designed for making sounds in real-time, which means you can hear the changes as you write the code.

Today, SuperCollider is used by artists, musicians, and scientists to explore sound. You can use it for many things, like making music created by computer rules, building interactive art, or even performing music by coding live on stage.

Best of all, SuperCollider is free and open-source software. This means anyone can download, use, and even help improve it for free.

How SuperCollider Works

SuperCollider is split into two main parts that work together. Think of it like a band with a musician and an instrument.

  • The client (sclang) is the musician. This is the part where you write the code, which is like writing sheet music.
  • The server (scsynth) is the instrument. It takes the code you wrote and turns it into actual sound.

These two parts talk to each other using a system called Open Sound Control (OSC). This lets them work together perfectly to create amazing audio.

The Sound-Making Engine (scsynth)

The server part of SuperCollider, called scsynth, is a powerful engine for creating sound. It's designed to be fast and efficient. Here are some of its key features:

  • It can be controlled by code from SuperCollider or other programs.
  • It allows programmers to add new sound-making tools called unit generators.
  • It can handle many channels of audio at once, which is great for complex music or surround sound.
  • It uses a system of "buses" that lets you change how sounds are mixed and routed, even while the music is playing.

There is also another version of the server called Supernova, which is designed to use modern computers with multiple processors to handle even more complex sounds.

The Coding Language (sclang)

The language part of SuperCollider, sclang, is where you write your instructions. It's a flexible and powerful language that mixes ideas from other languages like Smalltalk and C.

It's designed to be good for real-time tasks, meaning it can handle complex sound processing without delays. You can create functions, which are like reusable blocks of code, to build up your musical ideas. This makes it easier to experiment and invent new sounds and musical structures.

Creating Your Own Music Apps

IxiQuarks
A screenshot of SuperCollider showing custom-made tools for controlling sound.

With SuperCollider, you're not just limited to writing text-based code. You can also build your own graphical user interfaces (GUIs). This means you can create windows with buttons, sliders, and knobs to control your sounds in a more visual way.

This feature allows you to design custom music software and unique instruments that work exactly how you want them to.

Using SuperCollider on Different Systems

Because the sound server and the coding language are separate, you can control SuperCollider in many different ways. While most people use SuperCollider's own coding environment, other programs like Pure Data can also send instructions to the server.

There are even projects that let you control the SuperCollider server using other popular programming languages like Haskell, Scala, and Clojure.

What Computers Can Run SuperCollider?

SuperCollider screenshot2
SuperCollider running on Mac OS X, with several custom-made windows and controls.

SuperCollider is very flexible and works on most major operating systems, including:

It has even been shown to work on mobile devices that use Android and iOS.

Where to Write SuperCollider Code

Puredyne-supercollider-eee
SuperCollider being used inside the Vim text editor on a Linux computer.

SuperCollider comes with its own built-in program for writing and running code, called an IDE. This program works on Linux, Mac, and Windows and is the most common way to use SuperCollider.

However, if you have a favorite code editor, you might be able to use it for SuperCollider too. Editors that support SuperCollider include:

  • Emacs
  • Vim
  • Atom
  • gedit
  • Kate

Code Examples

Here are a few simple examples of what SuperCollider code looks like.

// This code plays a mix of a steady 800 Hz sine wave and some gentle pink noise.
{ SinOsc.ar(800, 0, 0.1) + PinkNoise.ar(0.01) }.play;

// This code is more interactive. It changes the sound based on your mouse position.
// Moving the mouse left and right changes the pitch of the sine wave and the volume of the noise.
(
{
        var x = SinOsc.ar(MouseX.kr(1, 100));
        SinOsc.ar(300 * x + 800, 0, 0.1)
        +
        PinkNoise.ar(0.1 * x + 0.1)
}.play;
)
// You can also use SuperCollider for general programming tasks.
// This code takes a list of numbers and multiplies each one by its position in the list.
[1, 2, 5, 10, -3].collect { |elem, idx| elem * idx };
// This is a function that calculates a factorial.
f = { |x| if(x == 0) { 1 } { f.(x-1) * x } };

Live Coding Performances

Because SuperCollider is so flexible and works in real-time, it's a popular choice for live coding. This is a type of performance where a musician or artist writes and changes code live on stage, creating music and visuals for an audience.

Performers can build complex sound systems and then swap out parts or change how they work on the fly. This makes for exciting and unpredictable performances where the music is created right before your eyes.

See also

Kids robot.svg In Spanish: SuperCollider para niños

  • List of music software
  • Comparison of audio synthesis environments
kids search engine
SuperCollider Facts for Kids. Kiddle Encyclopedia.