# SuperCollider — Audio Synthesis and Algorithmic Composition Platform > An open-source environment for real-time audio synthesis, algorithmic composition, and sound research, combining a powerful audio server with an expressive programming language. ## Install Save as a script file and run: # SuperCollider — Audio Synthesis and Algorithmic Composition Platform ## Quick Use ```bash # Install on macOS brew install supercollider # Install on Ubuntu sudo apt install supercollider # Boot the audio server and play a sine wave # In the IDE, evaluate: { SinOsc.ar(440, 0, 0.2) }.play ``` ## Introduction SuperCollider is a platform for audio synthesis and algorithmic composition, used by musicians, artists, and researchers. It consists of a real-time audio synthesis server (scsynth) and an interpreted programming language (sclang) with a built-in IDE for live coding and experimentation. ## What SuperCollider Does - Synthesizes audio in real time with hundreds of built-in unit generators (UGens) - Provides a Smalltalk-inspired language for defining instruments, patterns, and compositions - Supports OSC (Open Sound Control) for communication with other software and hardware - Enables live coding performances with hot-swappable synthesis graphs - Records output to audio files and integrates with DAWs via JACK or CoreAudio ## Architecture Overview SuperCollider is split into two processes. The server (scsynth or supernova) is a C++ audio engine that builds synthesis graphs from UGen nodes. The language client (sclang) sends OSC messages to the server to create, modify, and free synth nodes. This client-server split means any OSC-capable program can control the audio engine. ## Self-Hosting & Configuration - Available on macOS, Linux, and Windows via installers or package managers - Audio backend: JACK on Linux, CoreAudio on macOS, ASIO/WASAPI on Windows - User extensions go in `~/.local/share/SuperCollider/Extensions/` - Configure audio I/O with `Server.default.options.numOutputBusChannels` - Install community packages with the Quarks package manager built into the IDE ## Key Features - Real-time audio: sub-millisecond latency suitable for live performance - Pattern library: high-level abstractions for sequencing and generative music - Multi-channel: supports arbitrary speaker configurations and ambisonics - Extensible: write custom UGens in C++ for new synthesis algorithms - Cross-platform: consistent behavior on macOS, Linux, and Windows ## Comparison with Similar Tools - **Pure Data** — visual patching environment; less code-oriented - **Max/MSP** — commercial visual programming for audio; proprietary - **Csound** — score-driven audio language; older paradigm, less interactive - **Sonic Pi** — beginner-friendly live coding; uses SuperCollider as its audio backend - **FAUST** — functional DSP language that compiles to various targets ## FAQ **Q: Is SuperCollider good for beginners?** A: The learning curve is steeper than visual tools, but tutorials and the built-in help system make it accessible with some programming experience. **Q: Can SuperCollider be used for music production?** A: Yes. It can render audio files and integrates with DAWs via JACK or virtual audio devices, though it is not a DAW itself. **Q: What is the difference between scsynth and supernova?** A: supernova is a multi-threaded variant of scsynth that distributes synthesis across CPU cores for complex patches. **Q: Does SuperCollider support MIDI?** A: Yes. sclang has built-in MIDI classes for input and output, and MIDIdef for event-driven MIDI handling. ## Sources - https://github.com/supercollider/supercollider - https://supercollider.github.io/ --- Source: https://tokrepo.com/en/workflows/asset-7290a7e6 Author: Script Depot