Accessing superdirt samplebanks inside supercollider

Which is the quickest and most convinient way to access a sample loaded on SuperDirt in SuperCollider and save it in a buffer to do all kind of crazy stuff with it?

In SC run d = ~dirt.buffers;. Then d is a dictionary. E.g. to access 3rd bd sample just type d[\bd][2]. Also u need to start Tidal for it to work.

1 Like

thanks very much this is defently quick and handy :slight_smile:
I was wondering, why does tidal needs to be running to acess the samples?

Hey @Francesco_Corvi obviously TidalCycles does not need to be running to access the samples. Just a quote from the SuperDirt README:

[... 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.]

Yes this makes totally sense, probably @qaciwq meant something else

How would you convert a buffer obtained in such a way to mono? Generally I would use .numChannel but here it seems a bit more tricky.

my bad. meant SuperDirt...

1 Like

I just have different synths for mono or stereo. Like bufplay1 and bufplay2. Curious if anyone has some way to make every buf in collection mono or stereo.

Here is an example of what I was trying to do:

({	var rate = 10, buf, env;
	buf = d[\bd][0];
	buf = buf.bufnum;
	env = EnvGen.ar(Env([0, 1, 0.2, 0],[1, 2, 8]));
	TGrains.ar(2,Impulse.kr(10), buf, 1, env, env);
}.play)

It doesn't give any error but doesn't play because TGrains only works with buffers of a single channel. I am missing this super simple step.