SuperDirt

SuperCollider implementation of the Dirt sampler for the Tidal programming language

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.

Buffer
Project
Source file
Extension
Superclass:
DirtEnvGen
Project
Source file
Extension
Superclass:
UGen
DirtEvent
Project
Source file
Extension
Superclass:
DirtEventTypes
Project
Source file
Extension
Superclass:
DirtFreqScale
Project
Source file
Extension
Superclass:
UGen
DirtGateCutGroup
Project
Source file
Extension
Superclass:
DirtModule
Project
Source file
Extension
Superclass:
DirtOrbit
Project
Source file
Extension
Superclass:
DirtPan
Project
Source file
Extension
Superclass:
DirtPartTimeError
Project
Source file
Extension
Superclass:
Error
DirtPause
Project
Source file
Extension
Superclass:
DirtPhase
Project
Source file
Extension
Superclass:
UGen
DirtRateScale
Project
Source file
Extension
Superclass:
UGen
DirtRemoteSoundfileInfo
Extension
Superclass:
DirtSoundLibrary
Extension
Superclass:
DirtSplayAz
Project
Source file
Extension
Superclass:
UGen
Flotsam
Project
Source file
Extension
Superclass:
GlobalDirtEffect
Extension
Superclass:
SuperDirt
Project
Source file
Extension
Superclass:
v1.7.4
Date
2023-10-15
Git hash
c7f32998572984705d340e7c1b9ed9ad998a39b6
v1.7.3
Date
2022-01-04
Git hash
7e245e87f8f08a3d55e33a360bc97912f32fe69b
v.1.7.3
Date
2021-12-24
Git hash
59d5f80fbc926110bbd1b93e08b12c17a051a9c5
v1.7.2
Date
2021-01-27
Git hash
7abb62e89649daa1232b9cbd6427241868abd30e
v1.7.1
Date
2021-01-26
Git hash
c2ad95e1c77ca5e4b2fb5d913c8e0acfc9c78261
v1.7
Date
2021-01-24
Git hash
4f4adc9b07c255108d146695038c5e83dce9292d
v1.1.3
Date
2020-04-07
Git hash
439960c38a47c73aa0a83f5c5077f8ec1ae52cb2
v1.1.2
Date
2019-12-26
Git hash
9f139ae162595334b437fb73ca33f90ccf784fb2
v1.1.1
Date
2019-09-11
Git hash
b60e9b9fdf9c752e07d7581313f9ad99f6e3e98b
1.1.1
Date
2019-09-11
Git hash
b60e9b9fdf9c752e07d7581313f9ad99f6e3e98b
v1.1
Date
2019-07-28
Git hash
69514a476e4372bfab6bf432180c3bc4dc5da837
v1.0
Date
2018-12-08
Git hash
85e10518539cc559542d3051eb87323e7b968fe9
1.0-alpha
Date
2017-12-28
Git hash
753f4a174761d24f5bdd665bd8805e80f3575e06
0.9.1
Date
2017-04-06
Git hash
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']

Possible dependcies

Dirt-Samples

Vowel

Possible dependants