Skip to content
/ SuperDirt Public

SuperCollider implementation of the Dirt sampler for the Tidal programming language

License

Notifications You must be signed in to change notification settings

yaxu/SuperDirt

Repository files navigation

SuperDirt 0.1

SuperCollider implementation of the Dirt sampler for the Tidal programming language

Alex McLean and Julian Rohrhuber

This is still experimental.

Requirements

Installation from SuperCollider

Quarks.install("https://github.com/musikinformatik/SuperDirt.git");
Quarks.install("Vowel");

Setup

(
// configure the sound server: here you could add hardware specific options
// see http://doc.sccode.org/Classes/ServerOptions.html
s.options.numBuffers = 1024 * 16;
s.options.memSize = 8192 * 16;
// boot the server and start SuperDirt
s.waitForBoot {
	~dirt = SuperDirt(2, s); // two output channels
	~dirt.loadSoundFiles;	// load samples (path can be passed) mono is assumed.
	s.sync; // wait for samples
	~dirt.start([57120, 57121]);		// start listening on port 57120 and 57121
}
)
// now you should be able to send from tidal via port 57120 and 57212

Setup from Tidal

d1 <- stream "127.0.0.1" 57120 dirt {timestamp = BundleStamp}
d2 <- stream "127.0.0.1" 57121 dirt {timestamp = BundleStamp}

Now you can run a pattern, e.g.

d1 $ sound "[bd bd bd, sn cp sn cp]"
d2 $ sound "[sn*2 imp bd*3]" |+| speed "1"

##Options on startup

  • numChannels can be set to anything your soundcard supports
  • further server options, see ServerOptions helpfile

##Options on-the-fly

  • new channels can be created on the fly
  • you can pass the udp port on which superdirt is listening and the output channel offset (.start(ports, channels))
  • add or edit SynthDef files to add your own synthesis methods to be called from tidal
  • you can live rewrite the core synths (but take care not to break them ...)

About

SuperCollider implementation of the Dirt sampler for the Tidal programming language

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published