memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

TidalCyclesやってみた

以下のツイートを見かけて。田所さんだ。。。かっこいいなぁ。。。

調べるとtidalって書いてある。何それ?

単にぐぐるとTIDALっていうストリーミングサービスがトップにきて。。。これじゃないよなぁ。。。と。

さらにぐぐってみてやっと以下のページにたどり着きました。

TidalCycles userbase

とりあえず、インストールしてみようと。

公式ページの手順通りにやったんだけど、なぜかうまくいかない。tidal-bootstrap.commandというスクリプトが全然動かない(printでカッコが必要だとかなんとか初歩的なエラーが)

DNNの勉強のためにPythonを3にしていたので、これをもともとMacに入っている2系に戻したら動作しました。

しかし、いろいろと動かない。

とにかく、手で入れてみようと。

tidal-bootstrap.commandでは、以下の3つをインストールする模様。

Atomは既にインストール済みだったので、Haskellbrew install ghcでインストールしました。次がSuperCollider.app。これがなかなか落とせない。。。なぜか途中でエラーになります。

なぜか公式のDLページでもエラーになります。わかりません。

GithubのReleaseページからダウンロードしてやっと落とせました。

それから、以下を実行して。

cabal install tidal

さらに、SuperColliderを起動して以下のコマンドを入力して、最後尾までカーソルを移動して⌘を押しながらエンターを押します。なぜか公式ページにはシフトを押しながらと書いていますが嘘です。これでサンプル音をダウンロードするようです。ダウンロードが終了したら、Langulage-Recompile Class Libraryを実行します。これでインストールが完了です。

include("SuperDirt")

あとは、使うために、SuperColliderを起動して、以下を入力して⌘ーエンターを押しSuperColliderからAtomに切り替えて、楽曲?を入力します。例えば、d1 $ sound "bd" などです。

SuperDirt.start

音が鳴れば成功です。

ここまでの手順はこちらの公式ページに書いています。でもね。。。独特なんですよね。もともと、SuperCollider自体が言語を持っていて音列を鳴らす仕組みがあるところを、AtomHaskellなどの外部環境を繋げているので無理があります。だから、慣れ?が必要と思います。わかってしまえば。。。すぐに動かせるようになるのですが。とにかく独特です。

ちなみに、先日遊んだ、Sonic Piも裏でSuperColliderを使っているんだそうです。Sonic PiはRubyで操作する。。。でもHaskellの方が数倍楽にかけるよ、ということらしいです。

僕は触ったことがありませんが、Elixirと組み合わせている人もいるようです。

スマホでできたらな。。。電車とかで移動中に遊べるんだけど。