SuperDirt
SuperDirt
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/.
Requirements
- SuperCollider >= v3.7 (3.6 possible, but see below): https://github.com/supercollider/supercollider
- The Vowel Quark: https://github.com/supercollider-quarks/Vowel
- optional, but recommended (many effect UGens need it): sc3-plugins: https://github.com/supercollider/sc3-plugins/
- For proper usage you need https://github.com/tidalcycles/Tidal
Installation from SuperCollider
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".
Simple Setup
SuperDirt.start
You can pass port
, outBusses
, senderAddr
as arguments.
Setup with options
For an example startup file, see the file superdirt_startup.scd
. you can load(<path>)
this from the SuperCollider startup file.
Automatic startup
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.
Options on startup
numChannels
can be set to anything your soundcard supports- for server options, see
ServerOptions
helpfile: http://doc.sccode.org/Classes/ServerOptions.html
Options on-the-fly
- add sound files.
~dirt.loadSoundFiles("path/to/my/samples/*")
You can drag and drop folders into the editor and add a wildcard (*) after˘ it. - you can pass the udp port on which superdirt is listenting and the output channel offsets:
~dirt.start(port, channels)
- new orbits can be created on the fly (e.g.
~dirt.makeBusses([0, 0, 0])
). - add or edit SynthDef files to add your own synthesis methods to be called from tidal: https://github.com/musikinformatik/SuperDirt/blob/master/synths/default-synths.scd
- you can live rewrite the core synths (but take care not to break them ...): https://github.com/musikinformatik/SuperDirt/blob/master/synths/core-synths.scd
Trouble Shooting
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).
Using SuperDirt with SuperCollider 3.6
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:
- https://github.com/musikinformatik/SuperDirt
- https://github.com/tidalcycles/Dirt-Samples
- https://github.com/supercollider-quarks/Vowel
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.
c7f32998572984705d340e7c1b9ed9ad998a39b6
7e245e87f8f08a3d55e33a360bc97912f32fe69b
59d5f80fbc926110bbd1b93e08b12c17a051a9c5
7abb62e89649daa1232b9cbd6427241868abd30e
c2ad95e1c77ca5e4b2fb5d913c8e0acfc9c78261
4f4adc9b07c255108d146695038c5e83dce9292d
439960c38a47c73aa0a83f5c5077f8ec1ae52cb2
9f139ae162595334b437fb73ca33f90ccf784fb2
b60e9b9fdf9c752e07d7581313f9ad99f6e3e98b
b60e9b9fdf9c752e07d7581313f9ad99f6e3e98b
69514a476e4372bfab6bf432180c3bc4dc5da837
85e10518539cc559542d3051eb87323e7b968fe9
753f4a174761d24f5bdd665bd8805e80f3575e06
2afd37ac745c380dd607a5bc68d0d46fb36491bd
Installation
Repository
URL
https://github.com/musikinformatik/SuperDirt
Since
2015-08-18
Last update
2024-10-30
Current version
v1.7.4
Quark info
name
SuperDirt
since
2015
author
Alex McLean and Julian Rohrhuber
summary
SuperCollider implementation of the Dirt sampler for the Tidal programming language
version
1.7.3
dependencies
['Vowel', 'Dirt-Samples']