# Week 1 lesson 2 - Loading sample packs

**URL:** <https://uzu.lurk.org/t/week-1-lesson-2-loading-sample-packs/341>\
**Category:** Week 1 - mini-notation\
**Created:** [10 April 2020 16:34 UTC](https://uzu.lurk.org/t/week-1-lesson-2-loading-sample-packs/341 "2020-04-10T16:34:54Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![yaxu](https://uzu.lurk.org/user_avatar/uzu.lurk.org/yaxu/32/2_2.png) [@yaxu](https://uzu.lurk.org/u/yaxu)\
**Post date:** [10 April 2020 16:34 UTC](https://uzu.lurk.org/t/week-1-lesson-2-loading-sample-packs/341/1 "2020-04-10T16:34:54Z")

</div>

Ok so in some parts of the world, it's already 11th April, so the course has officially started! We'd better get on with the next lesson - how to add extra sounds. It's important to do that now, as I've made a pack of extra sound samples for us to use during the course.

Here's the tidal club sample pack for you to download: [https://slab.org/tmp/samples-extra.zip](https://slab.org/tmp/samples-extra.zip)

First, save and extract the samples somewhere:

- Make a folder somewhere for the course. Maybe call it "tidalclub" on your desktop, or documents folder, or wherever you like to keep your things.
- Download the above samples-extra.zip file, and extract the contents into that folder. (How you do this depends on the operating system you're using)

Once you've got the samples saved, here's a video that steps through the process of loading them in supercollider:

[![](https://img.youtube.com/vi/nzKjNlgOkTk/maxresdefault.jpg "[TidalClub] Loading sample packs in SuperDirt") ](https://www.youtube.com/watch?v=nzKjNlgOkTk)

Or here's the steps in brief:

- Open SuperCollider, and open the example startup file via: menu -\> file -\> open user support directory -\> downloaded-quarks -\> SuperDirt -\> superdirt\_startup.scd
- Copy the contents to your clipboard
- Open your supercollider startup file via: menu -\> file -\> edit startup file
- Paste the contents into there. (_Don't_ have `SuperDirt.startup` in there as well)
- You'll see a line with `~dirt.loadSoundFiles;`, which loads the default samples.
- Keep that line, creating a new line underneath that looks like this:

```haskell
~dirt.loadSoundFiles("/home/alex/Documents/tidalclub/samples-extra/*");

```

- You'll need to change the above so that it contains the path to the samples-extra folder on your system.
- Don't forget to have `/*` at the end of the path, and a semicolon `;` at the end of the line.
- Save the file (File -\> Save)

With all that done, you should be able to restart supercollider (you can do that via: menu -\> Language -\> Recompile class library, or just by closing and reopening supercollider), and have superdirt automatically start up inside SuperDirt, with all the new samples.

I hope that's clear, but please do let me know if you get stuck!

Here's the contents of samples-extra:

- break - breakbeats
- bsguitar - bloodsport sample pack - [Blood Sport Sample Pack | Blood Sport (feat. Yaxu & Heavy Lifting) | pickled discs](https://pickleddiscs.bandcamp.com/album/blood-sport-sample-pack)
- bskick - see above
- bsperc - ditto
- bssnare - more from bloodsport
- bsbass - you get the idea
- bshihat
- bsnoise
- bsvocals
- clap - a range of clap samples
- cpu - cpu records electro sample pack 1 - [Electro Samples Vol. 1 | Central Processing Unit](https://shop.cpurecords.net/album/electro-samples-vol-1)
- cpu2 - volume 2 - [Central Processing Unit | Electro Samples Vol. 2](https://cpurecords.net/electro-samples-vol-2/)
- dbass - some bass sounds made by damu - [Stream Damu music | Listen to songs, albums, playlists for free on SoundCloud](https://soundcloud.com/damu)
- foley - a large number of 'foley' samples
- kick - kick sounds
- rash - some octaves from my jv1080 synth
- claus - claustrofophobia impulse responses from here [Impulse responses](https://fokkie.home.xs4all.nl/IR.htm)
- dsynth - more samples from damu
- hi - 'hi' handdrum samples
- lo - 'lo' handdrum samples
- snare - snare drums

**Next lesson:**

> [@Week 1 lesson 3 - sequencing with the mini-notation](https://club.tidalcycles.org/t/week-1-lesson-3-sequencing-with-the-mini-notation/367):
>
> Ok welcome to mini-notation week! Here's the first video and worksheet, exploring sequencing of sounds in Tidal's mini-notation. Please feel free to let me know what you think about this, and ask all the questions, by hitting reply! [[[TidalClub] Mini notation - part one] ](https://www.youtube.com/watch?v=nBpCJcduMso)[0:00](https://www.youtube.com/watch?v=nBpCJcduMso&t=0s) - intro [1:14](https://www.youtube.com/watch?v=nBpCJcduMso&t=74s) - recap - basic interaction, making and stopping sound [3:03](https://www.youtube.com/watch?v=nBpCJcduMso&t=183s) - mini-notation sequencing [3:15](https://www.youtube.com/watch?v=nBpCJcduMso&t=195s) - the steps more you add, the faster it goes to fit them into a cycle [5:03](https://www.youtube.com/watch?v=nBpCJcduMso&t=303s) - 'sound' and 's' mean the …

---

<div class="post-metadata">

**Author:** ![Leon](https://uzu.lurk.org/user_avatar/uzu.lurk.org/leon/32/136_2.png) [@Leon](https://uzu.lurk.org/u/Leon)\
**Post date:** [10 April 2020 19:08 UTC](https://uzu.lurk.org/t/week-1-lesson-2-loading-sample-packs/341/2 "2020-04-10T19:08:29Z")

</div>

Worked for me. Maybe you could add, in the steps description, that you have to save the edited startup file before restarting supercollider / hitting recompile. Probably pretty obvious, but still 🙂  
I was wondering, why this procedure, instead of simply dropping the folders in the Dirt-Samples folder ? Just so that it is easier to remove the samples afterwards, for example, and keeping things tidy ? Or is there some other advantage to it ? (at least it's anyway an occasion to get familiar with the extended startup procedure...)

---

<div class="post-metadata">

**Author:** ![yaxu](https://uzu.lurk.org/user_avatar/uzu.lurk.org/yaxu/32/2_2.png) [@yaxu](https://uzu.lurk.org/u/yaxu)\
**Post date:** [10 April 2020 19:22 UTC](https://uzu.lurk.org/t/week-1-lesson-2-loading-sample-packs/341/3 "2020-04-10T19:22:52Z")

</div>

Ah yes, I’ve added that step thanks!

Dropping the contents of samples-extra in Dirt-Samples would indeed work too, but I thought it would be good to show how to add a separate folder. Once you add things to Dirt-Samples, supercollider won’t be able to update it any more if new samples get added. I think it’s also generally neater to keep your samples separate, once you get your head around it.

---

<div class="post-metadata">

**Author:** ![Paul](https://uzu.lurk.org/letter_avatar_proxy/v4/letter/p/bbe5ce/32.png) [@Paul](https://uzu.lurk.org/u/Paul)\
**Post date:** [10 April 2020 19:54 UTC](https://uzu.lurk.org/t/week-1-lesson-2-loading-sample-packs/341/4 "2020-04-10T19:54:12Z")

</div>

Hey Alex,

I’m using a macOS Sierra when I put

`~dirt.loadSoundFiles("/Users/ME/Desktop/Tidal/samples-extra/*");`

into startup.scd

and recompile class Library I’m getting the following in supercollider

```
***Welcome to SuperCollider 3.10.2.*** For help press Cmd-D.
Booting server 'localhost' on address 127.0.0.1:57110.
Found 0 LADSPA plugins
Number of Devices: 4
   0 : "Built-in Microph"
   1 : "Built-in Output"
   2 : "Soundflower (2ch)"
   3 : "Soundflower (64ch)"

"Built-in Microph" Input Device
   Streams: 1
      0 channels 2

"Built-in Output" Output Device
   Streams: 1
      0 channels 2

SC_AudioDriver: sample rate = 44100.000000, driver's block size = 512
Exception in World_OpenUDP: bind: Address already in use
Server 'localhost' exited with exit code 1.

```

Before adding the samples it had been working fine,

Any suggestions would be great!

---

<div class="post-metadata">

**Author:** ![yaxu](https://uzu.lurk.org/user_avatar/uzu.lurk.org/yaxu/32/2_2.png) [@yaxu](https://uzu.lurk.org/u/yaxu)\
**Post date:** [10 April 2020 19:56 UTC](https://uzu.lurk.org/t/week-1-lesson-2-loading-sample-packs/341/5 "2020-04-10T19:56:26Z")

</div>

> [@Paul](#):
>
> Exception in World\_OpenUDP: bind: Address already in use

This means that there's a phantom copy of supercollider running wild.. You can force quit it via Servers -\> Kill all servers. Then Language -\> Recompile class library to restart things.

---

<div class="post-metadata">

**Author:** ![Paul](https://uzu.lurk.org/letter_avatar_proxy/v4/letter/p/bbe5ce/32.png) [@Paul](https://uzu.lurk.org/u/Paul)\
**Post date:** [10 April 2020 20:06 UTC](https://uzu.lurk.org/t/week-1-lesson-2-loading-sample-packs/341/6 "2020-04-10T20:06:03Z")

</div>

Thanks!

OK, did as you suggested and it seems to have worked…but…getting a few different  
`WARNING: SynthDef spectral-delay16 too big for sending. Retrying via synthdef file` messages

and then

```
loading 20 sample banks:
break (33) bsbass (9) bsguitar (19) bshihat (3) bskick (9) bsnoise (22) bsperc (7) bssnare (8) bsvocals (13) clap (8) claus (16) cpu (23) cpu2 (29) dsynth (3) foley (287) hi (8) kick (21) lo (8) rash (73) snare (90) 
... file reading complete. Required 225 MB of memory.

    SuperDirt: listening to Tidal on port 57120
    late 1.113486468
    Buffer UGen: no buffer data

```

When I run

`d1 $ sound "cpu:2"`

in atom, I’m not getting sound - no error message either though.

---

<div class="post-metadata">

**Author:** ![yaxu](https://uzu.lurk.org/user_avatar/uzu.lurk.org/yaxu/32/2_2.png) [@yaxu](https://uzu.lurk.org/u/yaxu)\
**Post date:** [10 April 2020 20:40 UTC](https://uzu.lurk.org/t/week-1-lesson-2-loading-sample-packs/341/7 "2020-04-10T20:40:22Z")

</div>

Hm, that happens to me sometimes when tidal is sending a pattern while superdirt is restarting… Try a `hush` in tidal before restarting superdirt.

---

<div class="post-metadata">

**Author:** ![yaxu](https://uzu.lurk.org/user_avatar/uzu.lurk.org/yaxu/32/2_2.png) [@yaxu](https://uzu.lurk.org/u/yaxu)\
**Post date:** [10 April 2020 20:41 UTC](https://uzu.lurk.org/t/week-1-lesson-2-loading-sample-packs/341/8 "2020-04-10T20:41:09Z")

</div>

By the way this warning is not a problem and can be ignored:

> [@](#):
>
> `WARNING: SynthDef spectral-delay16 too big for sending. Retrying via synthdef file`

---

<div class="post-metadata">

**Author:** ![Paul](https://uzu.lurk.org/letter_avatar_proxy/v4/letter/p/bbe5ce/32.png) [@Paul](https://uzu.lurk.org/u/Paul)\
**Post date:** [10 April 2020 20:54 UTC](https://uzu.lurk.org/t/week-1-lesson-2-loading-sample-packs/341/9 "2020-04-10T20:54:39Z")

</div>

Sorry about this Alex!

Tried a hush, no luck

opened up a new .tidal file in atom

tried

`d1 $ sound "cpu:2"`

got

` Buffer UGen: no buffer data`

then

`d1 $ sound "bd"`

but got

```
no synth or sample named 'bd' could be found.
module 'sound': instrument not found: nil
```

---

<div class="post-metadata">

**Author:** ![yaxu](https://uzu.lurk.org/user_avatar/uzu.lurk.org/yaxu/32/2_2.png) [@yaxu](https://uzu.lurk.org/u/yaxu)\
**Post date:** [10 April 2020 20:57 UTC](https://uzu.lurk.org/t/week-1-lesson-2-loading-sample-packs/341/10 "2020-04-10T20:57:39Z")

</div>

Hm, did you restart supercollider / superdirt?

If ‘bd’ isn’t loaded, that indicated that you removed/replaced the `~dirt.loadSoundFiles;` line, that loads the ‘default’ samples. If you put that back in your startup file (above the new one for samples-extra) and restart supercollider, that should return.

---

<div class="post-metadata">

**Author:** ![Paul](https://uzu.lurk.org/letter_avatar_proxy/v4/letter/p/bbe5ce/32.png) [@Paul](https://uzu.lurk.org/u/Paul)\
**Post date:** [10 April 2020 21:02 UTC](https://uzu.lurk.org/t/week-1-lesson-2-loading-sample-packs/341/11 "2020-04-10T21:02:26Z")

</div>

Doh - think I replaced the default samples with the new ones instead of adding:

```
s.waitForBoot {
	~dirt = SuperDirt(16, s); // two output channels, increase if you want to pan across more channels
	~dirt.loadSoundFiles("/Users/Me/Desktop/Tidal/samples-extra/*"); // load samples (path containing a wildcard can be passed in)
	// for example: ~dirt.loadSoundFiles("/Users/myUserName/Dirt/samples/*");
	// s.sync; // optionally: wait for samples to be read
	~dirt.start(57120, [0, 0]); // start listening on port 57120, create two busses each sending audio to channel 0

```

**Edit** just saw this \* You’ll see a line with `~dirt.loadSoundFiles;` , which loads the default samples.

- Keep that line, creating a new line underneath that looks like this:  
🤦‍♂️

Ended up repasting superdirt\_startup.scd into startup.scd.

Working fine now 🙂

---

<div class="post-metadata">

**Author:** ![Dan](https://uzu.lurk.org/user_avatar/uzu.lurk.org/dan/32/367_2.png) [@Dan](https://uzu.lurk.org/u/Dan)\
**Post date:** [10 April 2020 21:11 UTC](https://uzu.lurk.org/t/week-1-lesson-2-loading-sample-packs/341/12 "2020-04-10T21:11:18Z")

</div>

> [@Leon](#):
>
> I was wondering, why this procedure, instead of simply dropping the folders in the Dirt-Samples folder ? Just so that it is easier to remove the samples afterwards, for example, and keeping things tidy ? Or is there some other advantage to it ? (at least it’s anyway an occasion to get familiar with the extended startup procedure…)

It can be useful if you want to keep your personal sound library separated from the default tidal installation e.g. on a USB stick, separate partition etc. (that's something I do a lot since I frequently format my drive, reinstall the OS and whatnot)

Or maybe you want to make a GitHub repo for your tidal work: basically just create a folder (e.g. `my-tidal-folder`) where you'll keep all your samples, code snippets, notes, songs etc. and put it on a GitHub repo. This way you don't risk loosing anything and your material is always available and up to date, even on multiple machines; all you have to do is download the folder and set up the path as shown in the video. Here's [mine](https://github.com/dfilaretti/tidalcycles-data) as an example. I've also added the `BootTidal.hs` and `startup.csd` so I don't lose them 🙂

---

<div class="post-metadata">

**Author:** ![flaminggarlic](https://uzu.lurk.org/user_avatar/uzu.lurk.org/flaminggarlic/32/115_2.png) [@flaminggarlic](https://uzu.lurk.org/u/flaminggarlic)\
**Post date:** [11 April 2020 00:38 UTC](https://uzu.lurk.org/t/week-1-lesson-2-loading-sample-packs/341/13 "2020-04-11T00:38:49Z")

</div>

CPU Electro samples! I’ve been loving their releases, looking forward to exploring these samples further. One note from my install process: in Windows it was necessary for me to include the drive letter in that path.

---

<div class="post-metadata">

**Author:** ![yaxu](https://uzu.lurk.org/user_avatar/uzu.lurk.org/yaxu/32/2_2.png) [@yaxu](https://uzu.lurk.org/u/yaxu)\
**Post date:** [11 April 2020 08:29 UTC](https://uzu.lurk.org/t/week-1-lesson-2-loading-sample-packs/341/14 "2020-04-11T08:29:34Z")

</div>

Yes, kindly contributed by cpu records boss Chris Smith!

---

<div class="post-metadata">

**Author:** ![indiantinker](https://uzu.lurk.org/user_avatar/uzu.lurk.org/indiantinker/32/172_2.png) [@indiantinker](https://uzu.lurk.org/u/indiantinker)\
**Post date:** [11 April 2020 11:11 UTC](https://uzu.lurk.org/t/week-1-lesson-2-loading-sample-packs/341/15 "2020-04-11T11:11:00Z")

</div>

Hey! It worked for me on the Mac (Catalina) as well. The only hiccup was that somehow the file was read-only through superCollider but I could edit it through the terminal.

I have a doubt regarding the bigger loops in the break folder. When I play them in tidal they get all mushy and cramped. How can I play them at their normal speed?

TIA.

---

<div class="post-metadata">

**Author:** ![yaxu](https://uzu.lurk.org/user_avatar/uzu.lurk.org/yaxu/32/2_2.png) [@yaxu](https://uzu.lurk.org/u/yaxu)\
**Post date:** [11 April 2020 11:16 UTC](https://uzu.lurk.org/t/week-1-lesson-2-loading-sample-packs/341/16 "2020-04-11T11:16:35Z")

</div>

Hi @indiantinker, working with long samples is a fairly large topic that we will get to later in the course.

The problem you’re hearing is that in tidal, you’re triggering the sound every cycle, but the `break` sounds last longer than a cycle. There are a few ways around this, here’s one:

```auto
d1 $ loopAt 2 $ chop 32 $ sound "break"

```

Adjust the `loopAt` number to spread the break over that number of cycles. You can also adjust the tempo with e.g. `setcps 0.6`, trying different numbers to hear the effect.

As I say there are a lot of different approaches to this, there is fun to come!

---

<div class="post-metadata">

**Author:** ![galo](https://uzu.lurk.org/letter_avatar_proxy/v4/letter/g/9e8a1a/32.png) [@galo](https://uzu.lurk.org/u/galo)\
**Post date:** [11 April 2020 12:58 UTC](https://uzu.lurk.org/t/week-1-lesson-2-loading-sample-packs/341/17 "2020-04-11T12:58:21Z")

</div>

Thanks! Also in Windows I had to change the backslash \ to forward slash / if copying the path from the File Explorer or Command Line.

---

<div class="post-metadata">

**Author:** ![Thom1D2](https://uzu.lurk.org/letter_avatar_proxy/v4/letter/t/e56c9b/32.png) [@Thom1D2](https://uzu.lurk.org/u/Thom1D2)\
**Post date:** [11 April 2020 13:47 UTC](https://uzu.lurk.org/t/week-1-lesson-2-loading-sample-packs/341/18 "2020-04-11T13:47:45Z")

</div>

The superdirt\_startup.scd file is different toy yours Alex

 ![Screenshot 2020-04-11 at 14.44.57](https://club.tidalcycles.org/uploads/default/original/1X/b0237fbaed95f234feb0abb9f252c3ade8f5fbf4.png)

Is there an issue with my downloaded version? or should I simply edit the file to include the "s.reboot{ ... }" witht he necesary indents?

Thanks

Tom

---

<div class="post-metadata">

**Author:** ![yaxu](https://uzu.lurk.org/user_avatar/uzu.lurk.org/yaxu/32/2_2.png) [@yaxu](https://uzu.lurk.org/u/yaxu)\
**Post date:** [11 April 2020 14:07 UTC](https://uzu.lurk.org/t/week-1-lesson-2-loading-sample-packs/341/19 "2020-04-11T14:07:18Z")

</div>

Ah, I have the latest development version which I see Julian Rohrhuber (the creator of SuperDirt) has changed a bit recently. I don’t think you’ll see any difference with your version, I don’t understand it fully but think this change is just a small tweak. However if you want the latest version you can copy and paste it from here: [https://github.com/musikinformatik/SuperDirt/blob/develop/superdirt\_startup.scd](https://github.com/musikinformatik/SuperDirt/blob/develop/superdirt_startup.scd)

---

<div class="post-metadata">

**Author:** ![Thom1D2](https://uzu.lurk.org/letter_avatar_proxy/v4/letter/t/e56c9b/32.png) [@Thom1D2](https://uzu.lurk.org/u/Thom1D2)\
**Post date:** [11 April 2020 14:29 UTC](https://uzu.lurk.org/t/week-1-lesson-2-loading-sample-packs/341/20 "2020-04-11T14:29:14Z")

</div>

Ah I see!

I have changed it but it doesn't make much of a difference.

I have also noticed that when I recompile the class language it does not instantly import the samples from the folder, I have to run the script to load in the samples. This appears to be different to how yours load in the video, am I missing something here as well?

Cheers  
for reference this is what I am running

 ![Screenshot 2020-04-11 at 15.35.17](https://club.tidalcycles.org/uploads/default/original/1X/ff6073c9b4054bd23a2c3d708fd881e386dbed4c.png)

[Next page](https://uzu.lurk.org/t/week-1-lesson-2-loading-sample-packs/341.md?page=2)
