/supercollider

an environment and programming language for real time audio synthesis and algorithmic composition

Primary LanguageC++GNU General Public License v3.0GPL-3.0

SuperCollider Build Status Appveyor

SuperCollider is a platform for audio synthesis and algorithmic composition, used by musicians, artists, and researchers working with sound. It consists of:

  • scsynth, a real-time audio server with hundreds of unit generators ("UGens") for audio analysis, synthesis, and processing
  • supernova, an alternative server to scsynth with support for parallel DSP on multi-core processors
  • sclang, an interpreted programming language that controls the servers
  • scide, an editing environment for sclang with an integrated help system

sclang comes with its own package manager, called Quarks. scsynth and supernova both support third-party plugins via C and C++ APIs.

SuperCollider is written in C++11 using several third-party libraries, including Qt and Boost. It can be used on Windows, macOS, a variety of Linux and BSD distributions, Raspberry Pi, and BeagleBone Black.

Install

macOS and Windows builds for stable releases are provided at our downloads page. See the macOS README and Windows README for instructions on usage, and how to build SC yourself.

To get the latest stable version, Linux users will need to build SuperCollider themselves. See the Linux README for instructions.

See the Raspberry Pi and BeagleBone Black READMEs for instructions on building on those platforms.

Platform support

SuperCollider is tested with:

  • Windows 10 (32- and 64-bit) and MSVC 2017
  • macOS 10.13 with Xcode 9.4 and Xcode 10.1
  • Ubuntu 14.04 and gcc 4.9

SuperCollider is known to support these platforms:

  • Windows Vista, 7, 8, and 10
  • macOS 10.13-10.15
  • Ubuntu 14.04-18.04

We also provide a legacy macOS binary for macOS 10.10 and above using Qt 5.9.

SuperCollider has guaranteed support for:

  • Windows 10
  • MSVC 2017, 2019
  • macOS 10.14-10.15
  • Xcode 10, 11
  • Debian >= 9.0
  • Ubuntu 16.04, 18.04, 20.04
  • Fedora 31, 32
  • Arch Linux
  • gcc >= 4.9
  • Qt >= 5.11

For more information on platform support guarantees, see the project Wiki.

Learn

The official docs can be viewed in the SuperCollider IDE's built-in documentation browser. You can also view them online at doc.sccode.org.

We recommend the following resources for learning SC:

Discuss

You can sign up for mailing lists, and view the archives for sc-users and sc-dev.

We also have a forum and a Slack chat.

Please read our adopted code of conduct, which applies to all the above communities.

Contribute

Development of SuperCollider happens here on GitHub, and we are grateful to the community for contributing bugfixes and improvements. Read below to learn how you can take part in improving SuperCollider.

Code of Conduct

Please read our adopted code of conduct before contributing, so that you can understand what actions will and will not be tolerated.

Contributing Guide

Read our contributing guide to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes.

Good First Issues

To help you get your feet wet and get you familiar with our contribution process, we have a list of good first issues that contain bugs which have a relatively limited scope. This is a great place to get started. You can also ask on our developer's mailing list, on Slack, or on the forum.

Requests for Comment

SuperCollider uses a Requests for Comment (RFC) system to propose, design, and discuss 'big' changes. Submitting a new RFC or discussing an existing one is a great way to get involved, especially if you are looking for a way to contribute that doesn't involve writing code or using a terminal. You can learn more at the RFC repository.

License

SuperCollider is free software available under Version 3 the GNU General Public License. See COPYING for details.