今週はハードウェアトラブルで公私ともにいろいろやりたかった作業が吹っ飛んでしまった。そんなわけで、今週特記すべきネタは今日見てきたMAX/MSP関係のイベントにかかる、音響系プログラミングの話くらいかと思う。
音響系プログラミングの経験は全くない。触ったこととしても、FM音源のパラメータをいじったことがあるという程度だ(OPNはそれなりにいじったけど)。知っているパラメータをいじるとどういう音が出来るかというのは何となくわかるけど、発信器をどのように合成するかという仕組みはよくわかっていない。このレベルで、とりあえずpure dataを試してみることにした。一番参考になったと思ったのが、pddocというサイトだ。サンプルと丁寧な説明というpdに全くないものが提供されていて、これを読むだけでだいぶ基礎がわかった気がする。今日勉強して把握した特徴としては
- オブジェクトがコネクションを通じてメッセージを送受信する
- 数値や文字列のデータ変更やbangが出力先でのアクションを引き起こす
- オブジェクトには複数の入力があって、左側への入力だけがアクションを引き起こす
- UIによる指示と、タイマやディレイなどタイムライン経由での指示が中心
という感じだろうか。
pdは、今日観戦してきたトークイベントのために予習していったのだけど、実際の話に出てきたのはむしろMAX/MSPやSuperColliderで、すっかりハズレとなってしまった...かと思いきや、MAX/MSPは(知識としては知っていたけど確かに)pure dataにそっくりで、MAXを使ったデモも、何も引っかかることなく楽しむことが出来た。SuperColliderはVPLではなくサウンドモジュール制御のための言語で、今日のデモでは、コサイン波を少しいじっただけの音声モジュールの周波数をパラメータにして、それをOpenSoundControl経由でMAXのudpsendやiPhoneのTouchOSCでいじるために登場した。SuperColliderはpure dataの音響・合成と、Javascriptの関数オブジェクト程度のことが分かれば、基本はわかるのではないかと思う。
イベント自体はMAX/MSPの権威がトークしたり、OpenFrameworksでおもしろいデモを見せたりしていて、それはそれで話が書けるのだけどそこは割愛。
で、pdはVPLとしてはかなりチャチなので、それこそtsukimiのようにSilverlight環境で実現することもできるのではないかという気がしているし、ライブラリを実装するのもエディタを構築するのもそれほど困難ではないように思っているのだけど、これは「その先」に作りたいものが無いとおもしろくないような気がしている。pure data相当のものを、たとえばiPhone上で実現するというのであれば、RjDjがすでにあるので、今さら必要はない。見栄えのいいものは、自分で作れるかもしれないけど。むしろロジックを組みやすくしたり、GUI以外の方法(コンソールやらハードウェアやらAPIやら)でbangなどの指示が出せる方が楽しいような気がしている。まあそれはOSCで出来なくもないけど...
Leave a comment