SuperCollider implementation of the Dirt sampler, originally designed for the TidalCycles environment. SuperDirt is a general purpose framework for playing samples and synths, controllable over the Open Sound Control protocol, and locally from the SuperCollider language. SuperDirt is also used by Sardine, a live coding environment for Python 3.10+.
(C) 2015-2023 Julian Rohrhuber, Alex McLean and contributors
SuperDirt is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this library. If not, see http://www.gnu.org/licenses/.
include("SuperDirt");
Note: this also automatically installs the DirtSamples quark, which contains a large collection of sound files. It downloads them as a zip file. Sometimes, git fails to unpack these samples and they don't get listed. In this case, you have to unpack them "manually".
SuperDirt.start
You can pass port
, outBusses
, senderAddr
as arguments.
For an example startup file, see the file superdirt_startup.scd
. you can load(<path>)
this from the SuperCollider startup file.
If you want SuperDirt to start automatically, you can load it from the startup file. To do this, open the sc startup file (File>Open startup file
) and add: load("... path to your tidal startup file ...")
. This path you can get by dropping the file onto the text editor.
numChannels
can be set to anything your soundcard supportsServerOptions
helpfile: http://doc.sccode.org/Classes/ServerOptions.html~dirt.loadSoundFiles("path/to/my/samples/*")
You can drag and drop folders into the editor and add a wildcard (*) after˘ it.~dirt.start(port, channels)
~dirt.makeBusses([0, 0, 0])
).If you run into unspecific troubles and want to quickly reset everything, you can run the following: SuperDirt.resetEverything
You can minimize downtime if you have a startup file that automatically starts SuperDirt (see Automatic startup, above).
It is in principle possible to use SuperCollider 3.6, but startup will be much slower by comparison. It is not recommended if you expect it to run smoothly.
For reference, we leave here the instructions if you want to try anyway:
The install works differently: don't do include("SuperDirt")
, but instead download the three quarks to the SuperCollider Extensions
folder:
Note that for automatically loading the sound files, the folder Dirt-Samples
should have this name (not Dirt-Samples-master e.g.) and should be next to the SuperDirt folder.