【TidalCycles】SuperDirt起動時にカスタムサンプルを読み込む

カスタムサンプルの読み込み方法はSuperDirtのSampleフォルダに突っ込めば良いのかと思っていたら、任意のフォルダを指定して起動時に読み込む方法がTutorialに書いておりました。

Custom Samples - TidalCycles userbase

SuperColliderのstartup fileに以下を記述

SuperDirt.start;
(
s.waitForBoot {
    ~dirt = SuperDirt(2, s); // two output channels
    ~dirt.loadSoundFiles("/Users/myUserName/Dirt/samples/*"); // specify sample folder to load
    s.sync; // wait for supercollider to finish booting up
    ~dirt.start(57120, [0, 0]); // start superdirt, listening on port 57120, create two busses each sending audio to channel 0
};
);

~dirt.loadSoundFiles の引数にはカスタムサンプルの置き場所のパスを指定する。

カスタムフォルダの構造は

Users/
|-- myUserName/
    |-- Dirt/
        |-- samples/
            |-- myBass/
            |   |-- bass1.wav
            |   |-- bass2.wav
            |   |-- bass3.wav
            |-- hits/
            |   |-- hit1.wav
            |   |-- hit2.wav
            |   |-- hit3.wav
            |-- field/
            |   |-- bridge.wav
            |   |-- mountains1.wav
            |   |-- mountains2.wav
            |   |-- plains.wav
            |   |-- river.wav

こちらのsamples以下の構造に乗っ取り

        |-- custumSample/
            |-- myBass/
            |   |-- bass1.wav
            |   |-- bass2.wav
            |   |-- bass3.wav
            |-- hits/
            |   |-- hit1.wav
            |   |-- hit2.wav
            |   |-- hit3.wav
            |-- field/
            |   |-- bridge.wav
            |   |-- mountains1.wav
            |   |-- mountains2.wav
            |   |-- plains.wav
            |   |-- river.wav

というように直下にサブフォルダを作りその中にサンプルを入れる形にすれば認識されます。

カスタムフォルダは複数指定出来ますので種類別に分けることも可能です。

 ~dirt.loadSoundFiles("/Users/myUserName/Dirt/samples/*"); 
    ~dirt.loadSoundFiles("/Users/myUserName/sounds/*"); 
    ~dirt.loadSoundFiles("/Users/myUserName/recordings/chaska-sessions/*");
    ~dirt.loadSoundFiles("/Users/myUserName/recordings/super-duper-experiments/*");