Awesome
ARCHIVED
This repo has been archived since I cannot maintain it anymore and noone has stepped up to take over. The info is still good but out of date (especially in the quarks department). Feel free to fork if you want to take over this project.
Awesome SuperCollider
A curated list of SuperCollider stuff
Contents
<!-- START doctoc generated TOC please keep comment here to allow auto update --> <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->- Learning resources
- Plugins
- Quarks and extensions
- Single board computers
- Clients
- Editors
- Community
- Build scripts and templates
- Development
Learning resources
Written tutorials
- A gentle introduction to SuperCollider – Introduction to SC by Stanford's CCRMA
- How to write server plugins using C++ - How to create UGens
- howto_co34pt_liveCode - Livecoding tutorial
- Nick Collins' SuperCollider tutorial - Course material for a 12 week course on SuperCollider
- udk00-Audiovisual_Programming - Fredrik Olofsson's course materials for UdK Berlin
- Pseudoclasses with events - Faking object-oriented programming in SuperCollider with Events
- SuperCollider_Tutorials - SC tutorials
- learn - Official SuperCollider tutorial
- A-Practical-Guide - A fantastic pattern tutorial (which can also be found in your help files)
- Minibee Tutorial - How to work with the Minibee sensors (for dance performances, etc.) in SuperCollider
- Mads Kjeldgaard's Tech and research - A blog containing a range of tips, tricks and tutorials
- Implementing a SuperCollider UGen in Rust
- SolarPowered SuperCollider on a Raspberry Pi Zero - Great little guide for using SC on a solar powered Pi Zero.
- Tutorials on making drones and sample-based synths in SuperCollider - Two tutorials that each start from the basics and build towards making a drone or a efficient sampler engine.
Videos
- SuperCollider Tutorials - Tutorials by Eli Fieldsteel covering a range of subjects
- Project Free Jazz - A Four part tutorial about algorithmic composition with SuperCollider
- Audio signal processing in SuperCollider - A series of lectures by Zlatko Baracskai focusing on audio signal processing.
- Live Coding Tutorials - Tutorials specifically about live coding
- Masterclass "The Ambisonic Toolkit" - A general introduction to ambisonics and the ATK
- Ultimate Arduino-To-Supercollider Tutorials- Control Signals for Digital Audio - How to use the Arduino micro computers with SC
- Unity 5 and SuperCollider(Custom Sound Engine) - How to setup the Unity game engine to work with SuperCollider
- SuperCollider and Time - James McCartney (author of SuperCollider) giving a talk at IRCAM
- SoundEngraver - video demos showcasing a variety of things in SC
- Musical Sound Design in Supercollider video series - Videos on sound design techniques in SC, including pulsar synthesis examples.
- MAT Seminar | James McCartney | November 8, 2021 - James McCartney speaking about SuperCollider and beyond.
- Podcast 350: James McCartney - Really informative talk with James McCartney about SuperCollider among other things.
Books
- Introduction to SuperCollider - Written by Andrea Valle, includes pdf. Published 2016.
- The SuperCollider Book – The essential reference. Edited by Scott Wilson, David Cottle and Nick Collins. Foreword by James McCartney. Published 2011.
- Example code for The MIT SuperCollider Book
- Thor Magnussons Scoring Sound - Cookbook containing synthesis recipes among other things
- Mapping and Visualization with SuperCollider - Create interactive and repsonsive audio-visual applications with SuperCollider
- OXford Handbook of Algorithmic Music - Not strictly speaking SuperCollider, but a great resource nevertheless.
Research papers
- Rethinking the Computer Music Language: SuperCollider - James McCartney, SuperCollider's father, presenting his work on SuperCollider (2002).
- Continued Evolution of the SuperCollider Real Time Synthesis Environment - An even older article concerning SuperCollider (1998)
- It's morphin' time - Sound morphing by Jennifer Hsu
- Influx – Loose Control, Gain Influence - Super interesting article about Alberto de Campo's Influx system and gesture control/mapping in general
- NNdef: Livecoding Digital Musical Instruments in SuperCollider using Functional Reactive Programming
Other documents
- SuperCollider Tweets - SuperCollider patches in 140 characters.
- SuperCollider Tweets Explained - Comments on some of these tweet-sized patches.
Plugins
- vstplugin – IEM's VST Plugin integration for SuperCollider (and Pure Data)
- f0plugins - chip tune UGens
- flucoma - FluCoMa, an awesome framework for signal decomposition, machine learning and analysis.
- steroids-ugens - Standard UGens on steroids
- super-bufrd - UGens for accessing long buffers with subsample accuracy
- xplaybuf - A buffer player that can loop and fade, while not suffering from the "float precision issue"
- bytebeat - A bytebeat interpreter
- mkplugins - Mads Kjeldgaard's personal plugins
- sc3-plugins - The classic sc3-plugins community repository
- mi-ugens - 1:1 ports of Mutable Instruments algorithms
- guttersynth-sc - Tom Mudd's Gutter Synth for SuperCollider
- faustgen - embedded faust compiler for SuperCollider
Quarks and extensions
Metacontrol, mapping and gestures
- Influx - System for complex mapping of gestures
Live coding
- SuperDirt - The sound engine of the TidalCycles pattern language
- JITLibExtensions - Some extensions to the common JITLib classes
- xoxo - Embedded language for SuperCollider
- INSTRUMENT - This tool is aimed at the creation of musical compositions from scratch, 'on the fly'. INSTRUMENT focuses on musical language: rhythm, harmony, melody, audio processing
Live Performance
- CuePlayer - A tool for composing and performing real-time and mixed electronic works using SuperCollider.
Controllers
- Modality Toolkit - Powerful and modal controller library
- NanoKontrol2 - Interface for using Korg NanoKontrol2
- NanoKontrol - Simple use of the Korg NanoKontrol2
- CC14 - 14 bit midi for SuperCollider
Network
- Utopia - Network Music Apps in SuperCollider
- BenoitLib - Collaborative and synchronized performances
- OpenObject - Share object contents over the network via osc.
Physics
- TraerPhysics - A simple particle system physics engine
Buffer management
- PolyBuf - Easily load and access a bunch of audio files into collections of buffers in SuperCollider
- Convenience - Load entire sample banks or folder structures (folders within folders) of audio files into easily accessible collections of buffers. And more.
Patterns
- Repetition.sc - A set of tools to build a Stream of Events using symbols and a sort of language in the language
- SuperClean - An event prototype environment that allows for sequencing of sample playback, various synths, effects, and a flexible routing system
Maths
- Ease - Easing and tweening classes for scserver and sclang. Ported from the Cinder C++ framework - original equations by Robert Penner
Immersive audio
Ambisonics
- The Ambisonic Toolkit - Toolkit for working with spatial sound in the ambisonic domain
- StereoDecoders - Persistent and easy to use stereo decoders for the ATK.
- BinauralDecoders - Persistent and easy to use binaural decoders for the ambisonic toolkit.
- TeensyHeadTracker.quark - a convenient interface that makes it easy to use the TeensyHeadTracker, a DIY head tracker for 3D audio production.
FX
- Bandsplitter.quark - A great set of filters that will split your audio into multiple components
- Vowel - Convenience Class for Vowel Creation
- PitchShiftPA - Phase Aligned pitch shifting
- TimeStretch - Nice collection of new takes on the "PaulStretch" timestretcher
- DWGReverb - A virtual room generator: It has a FDN reverb for the late response but also early reflections generator based on room dimensions
Synthesis
- CaosPercLib - A Collection of Percussion Classes for SuperCollider
- CaosBox - A not-so-common LiveCoding/AlgoRave music GUI sequencer/processor for the CaosPercLib
- Particular - Particle synthesis on a per particle basis (to be used with patterns)
GUI
- ServerView.quark - Wonderful interface to control the server, see activity and record sound.
- wsGUI - User interfaces displayed in a web browser, locally and over the network
- Automation - Record and playback live GUI activity in supercollider audio synth
Misc
- miSCellaneous_lib - various SuperCollider extensions and tutorials: patterns, fx sequencing, granulation, wave folding, sieves, combined lang and server gui control, live coding, single sample feedback, generalized functional iteration synthesis
SynthDefs
- Synthdefs - Synthdef Pool
- SynthDefPool — a public library of handy SynthDefs
- SCLOrkSynths — Collection of SuperCollider SynthDefs (synth definitions) for use with Patterns
Daw integrations
- ReaCollider - Generate Reaper projects.
Emulations / Clones
- DX7-SuperCollider - accurate Yamaha DX-7 clone. Programmed in Supercollider
- Benjolis - Instrument inspired by Rob Hordijk's chaotic Benjolin synth
- B700s - A clone of the Buchla 700
Granular
- granular-synth - A simple granular synth GUI, with a handy time/frequency graph
- granular from Discrete Structures course - loads a folder of files into buffers and granulates everything.
Other
- LNX Studio - a Digital Audio Work Station. Repository
- TXmodular - TXmodular is a production environment fully written in SC
Single board computers
Norns
- Monome norns, SuperCollider and Lua - Nice tutorial on getting started with SuperCollider/LUA on the Norns platform
Raspberry Pi
- Solar powered SuperCollider - Running SC on a Solar powered Raspberry Pi Zero
- Notes for setting up a Raspberry Pi 4 for audio work - A comprehensive guide for tuning Raspbian and using (latest version of) SuperCollider
- Networked audio using Raspberry Pi 4, zita-njbridge and SuperCollider - Do networked audio on the Pi using SuperCollider
- Prynth - Prynth are programmable sound synthesizers powered by Raspberry Pi
- supercolliderStandaloneRPI2 - Standalone for Raspberry Pi 2 or 3 with Raspbian Stretch including the full IDE
- supercolliderStandaloneRPI1 - Standalone for Raspberry Pi 1 or Zero with Raspbian Stretch including the full IDE
- Building SuperCollider for piCore Linux - Great guide for installing stuff on PiCoreLinux
Others
- Bela - Bela is an embedded computing platform for creating responsive interactive applications
- Salt - Bela powered programmable Eurorack module
- OpenBCI-SuperCollider - SuperCollider classes for communicating with Open Brain Computer Interface
- IBVA-BlueVAS-SuperCollider - A SuperCollider class for communicating with the IBVA EEG brain wave measurement headset
- VCV Rack Prototype Module - A digital Eurorack module scriptable using SuperCollider
Clients
Language clients
- SuperColliderJS - JavaScript client
- hsc3 - Haskell client
- Lua2SC - Lua client
- ScalaCollider - Scala client
- supriya - Python client
- sc3 - Python port of some of sclang's features
- cl-collider - CommonLisp client
- sc_client - Rust client
- sorceress - Creative coding in Rust / SuperCollider
Livecode interfaces
- TidalCycles - Haskell based live coding environment for patterns
- FoxDot – Python based live coding environment running on top of SuperCollider
- Overtone - Collaborative live coding using Clojure
- Sonic Pi - Ruby based live coding environment, using SuperCollider as an audio engine
- xi - A domain-specific language for live coding musical patterns in Ruby
- Ixi Lang - Thor Magnusson's live coding environment based on musical agents
Editors
- atom-supercollider - SuperCollider integration for Atom
- scel - Emacs interface
- vscode_supercollider - SuperCollider syntax for Visual Studio Code
- Hadron - Simple editor with help browser and post window
- sckernel - Jupyter Notebook kernel
- supercollider-sublime - SuperCollider plugin for Sublime Text 3
(Neo)Vim
- scvim - Vim plugin
- scnvim - NeoVim plugin
- telescope-scdoc.nvim - Telescope help file plugin.
- supercollider-h4x-nvim - Assorted SuperCollider hacks for SuperCollider in NeoVim.
- fzf-sc - Fuzzy find all kinds of SuperCollider things.
- scratchpad-sc - Popup scratchpad for short snippets.
- supercollider-piano - Use your keyboard keys to trigger synths like a piano roll in a DAW.
Other tools
- supercollider-tree-sitter - A tree-sitter grammar for SuperCollider (supported out of the box in treesitter-nvim for example).
Community
- scsynth.org - Official SuperCollider forum
- sccode.org - A website containing SuperCollider code. Many years worth of good ideas in here.
- Slack - The SuperCollider Slack
- Discord - The SuperCollider Discord Server
- Lurk – Livecode chat
- Facebook - The SuperCollider facebook group
- Telegram - Telegram SuperGroup
- Telegram ES - Telegram SuperGroup in Spanish
- Stackoverflow - SuperCollider discussions on StackOverflow
- Mailing list archive - Former official mailing list.
Build scripts and templates
- Build script for Linux - Easily build SuperCollider with plugins from source on Linux (Ubuntu/Debian)
Development
Quarks
- Cookiecutter template for SuperCollider quarks - A SuperCollider package (quark) generator using the Cookiecutter cli program. The fastest way to get setup for a quark
Writing plugins
- Example plugins - Simple and understandable examples of cpp plugins for SC
- Server Plugins API - Description of some of the boilerplate you get for writing UGens / plugins
- Cookiecutter template for SuperCollider plugin - cookiecutter project for SuperCollider server plugins
- Implementing a SuperCollider plugin in Rust
- UGen quality standards
Others
- superfomus - bindings to Fomus Music Notation (FOrmat MUSic)
- SuperColliderAU - SuperColliderAU is an AudioUnit wrapper that allows using SuperCollider servers inside AudioUnits hosts on macOS. The embedded server may be controlled over OSC as usual
Contribute
All contributions welcome!
Read the contribution guidelines first.
License
To the extent possible under law, Mads Kjeldgaard has waived all copyright and related or neighboring rights to this work.
Table of Contents generated using doctoc