プログラミング備忘録

プログラミングでやったことを書いていきます。Python,機械学習など

ライブコーディング環境を導入してみた(TidalCycles)

はじめに

ゼミでライブコーディングの話が出てたので,とりあえずやってみよう精神で導入して見ました.

環境

MacOS Sierra
Python 3.6
homebrew

tidal-bootstrapの導入

とりあえず公式サイトに行ってみる.
https://tidalcycles.org/getting_started.html#running

公式サイトのMac OS,Tidal-bootstrap - automated install on a macのところにある
"You can download tidal-bootstrap here." をクリック.
移動したら,Download .zipをクリックしてzipファイルをダウンロードする.
ここで,homebrewが必要らしいので,入っていない場合は導入してください.

zipファイルを解凍すると次のようになっていると思うので,tidal-bootstrap.commandを起動.
f:id:tkm-kyudo:20180706131517p:plain

ここで一つ目のエラー.どうやらpython2系で動いている(時代遅れ)スクリプトなので,

#!/usr/bin/env python

となっているところを

#!/usr/bin/env python2.7

に変更する.

もう一度tidal-bootstrap.commandを起動する.以下のように表示されれば無事完了.

[Process completed]

SuperDirtのインストール

先ほど解凍したzipファイルの中にある,install-superdirt-quark.scdをダブルクリックすると,
SuperColliderが起動して以下のように表示されます。

// Place your cursor on the line below and press Shift-Enter
include("SuperDirt")

二行目をクリックしてカーソルを移動させ,Shift + Enterを押すとSuperDirtがインストールされる.
結構時間がかかるので気長に待ちましょう.コンソールに

  • > SuperDirt

と表示されれば完了なので,SuperColliderを再起動する.

SuperDirtを起動する

SuperColliderで新規ファイルを開いて、以下のコマンドを入力し,Shift + Enterを押す。

SuperDirt.start

コンソールのところに以下の表示が出ていれば無事完了.

SuperDirt: listening to Tidal on port 57120

TidalCycles Atom pluginのインストール

Atomがインストールされているはずなので,Atomを起動する.
起動したら,上部のタグからPackages->Setting View->Install Packages/Themesをクリック.
tidalと検索するとtidalcyclesが出てくるのでインストールする.
f:id:tkm-kyudo:20180706134120p:plain

やってみる

pluginのインストールが終わったら,Atomで新しいファイルを開き,sample.tidalとして保存する.

d1 $sound "bd cp"

と入力し,command+Enterを押すと,うまく行っていれば音がなる.

しかし,音がならない.

エラー処理

エラーが起きたので,ログを見ると,ghciがないとあったので
brewにてghcをインストールする.

brew install ghc

再度トライ

ghcのインストールが無事終わったので,SuperDirtを起動し直す.
先ほどのsample.tidalファイルを開き,同様にcommand+Enterを押す.
しかし,うまくいかず,Could not find module.sound.tidalというエラーが発生.

再度エラー処理

色々調べて見るとどうも,tidalの導入がうまく行っていないみたいなので
manual installでやってみる.
ターミナルで以下のコマンドを入力.

cabal install tidal

これでtidalがインストールされたので,
同様に,SuperDirtを起動し直し,Atomでcommand+Enterを押すと……

無事音がなった!

やってみて

導入するにあたって,日本語の記事が少ない上に,自動化だと上手くいかなかった.
エラーを調べるも,数が少ないので手探り感がとても強かった.

時間はかかったが,無事導入できたので,ライブコーディングで遊んでみようと思う.
ライブコーディング導入に躓いている人の役に立てば幸いです.