エレクトロ アコースティック系の音楽をやる時のリアルタイ厶での音響処理にはpuredataを使ってる。プログラムに手間がかかるけど、慣れちゃえばイメージしたものを簡単なプログラムの複合体として大体思い通りに実現できるから、気に入ってる。で、そのpuredataを何台かのpcやシングルボードpcに入れて処理を分散させて使用。
なぜ処理を分散させるに至ったか?というと、一台のPCで処理すると、万が一バグかなんかの問題でDSPが停止したりすると全体の音が止まっちゃうってのと、サンプラーみたいなプログラムは音源を新たに読み込む度に一瞬音が途切れる。そしてなにより、負荷が限度を超えると操作の度にノイズがでる。そういうトラブルやリスクを極力減らす為っス。
ただ、Lanの速度とかの関係によってだと思うけど、レテンシーはそれなりにあるので、そういうのが関係ないモノにのみの使用。
今のところ、メインのpcではコントラバスの音をリアルタイム処理&Midiコントローラーの入力の為に使用。そこからコントロール用にLan経由でMIDI信号をシングルボードpc(Orange piとRaspberry pi)達に送って操作する感じ。
シングルボードpc上ではそれぞれ異なるサンプラーを使用。シングルボード上のサンプラーは音の遅延があっても音楽的には問題ないので、出力回路の簡略化のためにorange pi の音声をraspberry piにLan経由で送ってまとめて出力。ちなみにメインpcの音声は、そのままどこにも送らずに出力。
ちなみにシングルボードpcのモニターと操作用にはvncで接続。sshという手もあるのかも知れないけれど、puredata自体のプログラミングもvnc経由で出来ちゃうのでこの方が全体的にラクかな、と。CPUの負荷を見てもpcの挙動に影響はなさそうだしね。今のところ問題も無いし。
負荷という面で言えばpuredataのVanila以外のフレーバー、例えばpurrdataだと便利だし、インターフェイスも洗練されてるから好きだけど、結構pcに負荷がかかるみたいだから、多少不便でもシングルボードpc達はVanilaを使ってる。
いずれは本尊の方もVanilaに戻すんだろうなぁ…って思う。pd-extendedみたいに開発を打ち切られたら困るしね。
以下備忘録。
オイラは専門家ではないので情報が雑なのはご勘弁を。
ただ、これからpuredataを始める人とかのお手伝いがをちょっとだけでもできたら嬉しいです。
raspberry pi関連