Skip to content
An n-channel diffusion system for running concerts of electroacoustic music
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


SuperDiffuse is an n-channel diffusion system, written in SuperCollider.

It was developed as part of research at The University of Sheffield Sound Studios, and to facilitate Sound Junction: a weekend festival of electroacoustic music at The University of Sheffield.

Based on the idea of concerts, SuperDiffuse allows pieces to be added, removed, and swapped. As concerts can often contain a variety of playback formats (Stereo, 5.1, 7.1, 8, 16, 24, 32...), SuperDiffuse allows pieces to be associated with their own routing, using a patchbay-style system.

Starting it is a matter of describing how big your system is:

// 8 playback channels, 8 output channels, 8 control faders


SuperDiffuse uses SuperCollider, so you must have it installed first:


SuperDiffuse is written as a Quark, so if you have Git installed (Windows users will need to manually install Git), run the following in SuperCollider:


Then restart SuperCollider (or just recompile the class library with Ctrl/Cmd + Shift + L).


  • Download a release from Github:

  • Unzip into a folder called SuperDiffuse (doesn't matter where, we'll move it soon)

  • In SuperCollider, go to: File > Open user support directory

  • If it doesn't already exist, make a folder called Extensions

  • Move the SuperDiffuse folder into the Extensions folder

Then restart SuperCollider (or just recompile the class library with Ctrl/Cmd + Shift + L)


Pre-flight checks

Make sure your SuperCollider is setup to use the number of output channels you need, so something like this in your startup file:

// connect to your soundcard
//  all connected devices are listed on booting
//  the server if you need to know what goes here
s.options.device_("ASIO : ASIO Fireface");

// set the number of output channels on the card:

// boot the server


SuperDiffuse needs to know how big your system is, but that's it.

  • The maximum number of channels for playback into the system
  • Number of channels to output
  • Number of control faders (MIDI or OSC)

So, if the biggest piece you're playing back is 8 channels, then your number of input channels is 8:

// numIns, numOuts, numControls

This will fail if you don't have the number of output channels you're requesting.

From there, it's all in the GUI - see the tutorial series in the documentation for more information (accessible from the SuperCollider Help system, Browse > Quarks > SuperDiffuse)

You can’t perform that action at this time.