ライブコーディングをする、ユーロラック上で(物理)
※本記事は概要編です。
・ハードウェア構築編
リアルタイムにプログラミングをして音楽を演奏する、ライブコーディングの魅力に取り憑かれているHiroki Matsuiです。
TidalCyclesというライブコーディング環境(ソフトウェア)を使い、時にMacbook一台で、時にMacbookとそれでコントロールするモジュラーシンセで、時にRaspberry Pi上に構築した環境で、曲を作ったりライブをしたりしてきました。
私が普段TidalCyclesで一生懸命書いている文字は基本的に「こういうシーケンスやアルゴリズムでサンプルとかシンセとかMIDIとかいい感じで再生してれたのむ〜」という命令で、これでPC上に保存されているサウンドファイルを再生したり、ソフトシンセでリアルタイムに音響合成することで音を出しています。
Note PC一台で完結したパフォーマンスをできることがライブコーディングの魅力の一つですが、モジュラーシンセ(ユーロラック)などのハードウェアと組み合わせることでサウンドに奥行きを持たせたり、逆にハードウェアをライブコーディングの強力なパターンコンポジションでドライブしたりとこちらもまた実に面白い研究分野です。ユーロラックにモジュラーがない空間を埋めたくて可能性の探査は人類に課せられた責務であるからにしてやむを得ずモジュラーシンセを爆買いする日々の中、たまたまこちらの記事を見つけてしまいました
これがあればできるのでは?
TidalCycles on Raspberry Pi on Eurorackが・・・
Raspberry Piは大変可愛らしい手のひらサイズのシングルボードコンピューターで電子工作のイメージがつよいやつですが、最近のモデルは普通にネットサーフィンしたり、文章やスライドを作成をしたり、マインクラフトが遊べたりとほぼデスクトップPCのように機能します。
つまりライブコーディングもできるということ(飛躍)
記事にあるdeftaudio: EuroRPiは、Raspberry Pi (以下Raspi) とタッチスクリーンをユーロラック上にマウントできるようにし、かつ同時に販売しているユーティリティ基盤をRaspiに差し込むと、Raspiにユーロラックから電源を供給したり、RaspiからMIDIやオーディオをパネル前面の端子を介して出し入れしたりできるようになります。
そして気が付けばEuroRPiの注文完了ページにいました。よくあることですな。そして届いたキットをいじること幾日か・・・
動いた!
このビジュアル、最高じゃあないですか・・・・・・・・
半田付けや3Dプリントが要求される組み立て周りや、Raspi上でのユーロラック利用を前提としたTidalCycles環境構築はけっこう苦戦してしまいましたが、その苦労が吹っ飛ぶかっちょよさです
(構築メモは後日別記事として投稿予定です)
そしてこいつは画面がタッチスクリーンになっており、このユーロラックケースとキーボードがあればどこでもライブコーディング x モジュラーセットでのライブができるようになりました。
オファーいただければどこでもいきますよわたしは!
TidalCycles on Raspberry Piと
Eurorackの連携
ここからはさらに突っ込んだオタク話を・・・
どんな感じでRaspberryPi上のTidalCyclesとモジュラーシンセたちを連携しているのか語らせてください
1 TidalCyclesで再生したサンプルを、Eurorackでいい感じに扱う
EuroRPi前面にUSB端子を回しており、片方はキーボードに、もう片方はオーディオインターフェイスモジュールのExpert Sleepers:ES-8にRaspiを接続しています。
d1 $ s "kick hihat snare hihat" -- ドラム
d2 $ s "bass bass*2" -- ベース
d3 $ s "baa" -- ひつじの鳴き声
d4 $ s "baa" # delay 0.99 # delaytime 0.15 -- めっちゃディレイひつじ
TidalCyclesではこんな感じで少ない文字数で次々とトラックを作っていけるのですが、このトラック(オーディオ・バス)に相当するd1, d2, d3…を、それぞれES-8のOutput 1, 2, 3…から個別に出すことができます。
これの何が嬉しいかというと、雑踏ノイズや声ネタにはグラニュラーリバーブをかけつつ、キックだけ歪ませながら別のモジュラーのコントロール信号としても使う・・・というようにトラックを別々のルーティングに回せるので、モジュラーとライブコーディングの連携の奥行きを一気に広げることができます。
またES-8のOutputは、Sound Stageでまとめるのも面白いです。これは実に面白いミキサーで、21個のAudio Inputがあり、左に挿せば左から、右に挿せば右から音が出るというやつです。上下はフィルターつまみを回した時の効き方に影響してきます。これをブチブチ差し替えるのが結構楽しくて、よく楽曲の展開でバスドラムなどをスッとミュートしたりアンミュートしたりすることを「キックを抜き差しする」と言いますが、このモジュールでは
"真実(マジ)の抜き差し"が楽しめます
2 TidalCyclesで組んだMIDIをCV/Gateに変換し、
モジュラーシンセを鳴らす
TidalCyclesで再生したオーディオサンプルはそんな感じで扱いつつ、やはり醍醐味はシンセのコントロールです。TidalCyclesはモジュラーシンセのコントロールに使われるCV/Gate信号を直接生成する機能はありませんが、MIDIを出すことができます。そこでこのシステムではMIDIをCV/Gate信号に変換するモジュール、Hexinverter:Mutant Brainを使っています。
d1 $ s "midi*3" # midichan 0 # midinote "60 64 67" -- ドミソのMIDI信号が炸裂
TidalCyclesではこんな感じでMIDIノートやControl Changeを扱えるのですが、Mutant BrainでCV/Gateに変換することで、TidalCycles上でのオーディオトラックのハンドリングとギャップのない、ダイレクトなモジュラーシンセのコントロールができます。
そしてMutant Brainのいいところは、CV4つとGate12個という潤沢なアウトプットがありつつ、全ての入力MIDI信号と出力電圧をMutant Brain Surgeryアプリで細かく設定できるカスタマイズ性があるところです。クリエイティブコーディング環境とすこぶる相性がいいですね。アプリではファームウェアを書き出しそれをMutant Brain本体に書き込む…という流れなので、セットごとに設定をPCに貯めておけるのもグッド。
こんな感じでモジュラーのパワーに頼りつつも、TidalCycles、RaspberryPi環境にはかなりたくさん仕事をさせています。組み立ながらどれくらいの負荷に耐えられるか心配してましたが・・・・
結論:かなり強い
Raspberry Pi 4 8GB RAMというRaspi 4シリーズ最強のメモリ量のモデルにしましたが、
MIDIトラック4つ
オーディオトラック6つ
タッチディスプレイ + HDMI同時出力
この環境で数時間演奏していて、危険を感じるシーンはありませんでした。
もうちょっと処理突っ込んでも余裕ありそうでいいです!
EuroRPiの電源基盤もしっかりしており、ケースからの給電中にRaspiのパワー不足警告を受けることは一度もありませんでした。
ちょっとビクビクしながらもライブにも持っていき、30分やり切りました!
おわりに
Eurorackの上のRaspberryPiの上のTidalCyclesをプレイしている人は見たことがないので、ニッチな記事を書いてしまったと思います!にもかかわらずここまで読んでくださった方、興味を持ってれた方がいましたらありがたい限りです・・・
私は使い慣れたTidalCyclesを使っていますが、別のライブコーディング環境やPure DataやORCAなどで構築するのも面白そうです。夢があります。動いてるとこ見てみたいです・・・
構築メモ編も頑張って書きます!