【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/*"); 

【TidalCycles】VSCodeでTidalを書くためのハイライト設定

VSCode for TidalCyclesだけでもVSCodeでTidal書けますが、ハイライトがないとやっぱり読みづらいので設定します。

機能拡張 Haskell Syntax Highlightingをインストール

marketplace.visualstudio.com

Haskellのハイライトを入れます

VSCodeの設定

setting.json

"files.associations": {
    "*.tidal": "haskell"
}

を追加

これでハイライトが適用されるになります。

【TidalCycles】VSCodeで自前のBootTidal.hsを読み込んで起動する

自前の関数などを毎回記述しないで読み込む方法はないものか調べてみたところ、エディタ起動時に読み込んでいるBootTidal.hsに記述しておけば、起動時に読み込んでくれそうなことが分かるものの、設定がいまいちよくわからない・・・なんとなくたどり着いたのでメモ。

BootTidal.hsを用意する

BootTidal.hsファイルを用意して自分のプロジェクトファイルのルートに置きます。BootTidal.hsの中身は

Tidal/BootTidal.hs at master · tidalcycles/Tidal · GitHub

こちらの中身をまるっとコピペして貼っておきます。

自前の関数を追加ですが

最終行の

:set prompt "tidal> "

より前に書いておけば大丈夫でした。

起動時に自前のBootTidal.hsを読み込む設定をする

TidalCycles for VSCodeの設定を開いて TidalCycles : Use Boot File In Current Directoryチェックボックスを有効にします。

f:id:very_tired:20190207012658p:plain

これでエディタ起動時に自前のBootTidal.hsが読み込まれるようになります。

VSCodeの例で書きましたが、atomもpackageの設定項目に同じものがあるので同じように対応出来ます。

【TidalCycles】TidalCyclesリンク集

自分用に現段階で使えそうな情報源をまとめる。本家のサイトが一番良いのですが、旧サイトから移行中からなのか、行き届いてないところが多々あるので注意。

2019/0207 update リンク追加

最新情報

Reference

旧情報

使えない部分も多々あるので注意。

【TidalCycles】Exception in World_OpenUDP: bind: Address already in use エラー対応方法

TidalというよりSuperColliderのメモです。

スパコラを再起動させたとき

Exception in World_OpenUDP: bind: Address already in use

というエラーが出て再起動できない時は

scsynth というプロセスを探してきて(Macならアクティビティモニタなどで)強制終了させる。

単にSuperCollider終了させただけではscsynthが終了しないらしい。scsynthごと終了/再起動できないものか...。

【TidalCycles】TidalCyclesでSuperColliderのSynthを鳴らせるようにする

サンプルコードの音色指定で"supersaw"などシンセの指定が出てきますが、コード実行してもならない...どうもインストールされてないらしい。ということで入れます。

環境は TidalCycles 1.0.7 + SuperCollider3.10 のMacです。

まずはシンセのプラグインをダウンロードしてきます。

github.com

ダウンロードしたファイルを解凍した出来たフォルダをスパコラに突っ込めばいいのですが、その場所は

スパコラ上で

Platform.userExtensionDir

を実行してコンソールに出力された場所になります。

Macだと /Users/(ユーザー名)/Library/Application Support/SuperCollider/Extensions になってるかと思われます。

スパコラを再起動したら読み込まれます。

この辺の環境のインストール漏れ。tidal-bootstrapで環境をまるごと入れてたら大丈夫なのかもしれませぬ...。

pages.tidalcycles.org

【TidalCycles】Tidal Cyclesのサンプルの場所と種類

Tidalにてbdやらsnやらで音が再生出来ますが、そのネタはどこにあるのか確認します。

Super Colliderからコマンド

Quarks.gui;

を実行するとウィンドウが表示される。

f:id:very_tired:20190201125231p:plain Dirt-Sampels を選択してウィンドウ下部のOpen Folder...を押すとFinderでフォルダが表示される

f:id:very_tired:20190201125604p:plain

このフォルダ名が再生サンプル名になっている(らしい) 複数ファイルあるもの昇順ソートのindexで指定出来る(ex 808:0 と指定すると 808/CB.WAVが再生される)。

自分の音ネタを突っ込めばそれを用いることも可能(要再起動)。

入ってるサンプルはこちら。

github.com