Device05 スクラブ再生を実現するプレーヤー by Shintaro Imai
▲パッチ外観(プレゼンテーション・モード)
▲パッチ内部(パッチング・モード)
音の顕微鏡
かつて電子音楽の世界において、録音された音の高さを保ったまま時間を変化させて再生すること=タイム・ストレッチングは、1つの技術的な“夢”でした。通常のアナログ・テープやレコードでは、録音時より速く再生すれば音高は高くなり、遅ければ低くなってしまいます。今回紹介するパッチは、オーディオ・データの再生において音高と時間を個別に操作でき、さらには再生方向の正逆も自由な、リアルタイムの“スクラブ再生”を実現します。
パッチを開くと、Max6がデフォルトで持つ笙(しょう)のオーディオ・ファイルが読み込まれています。中央の波形の部分を左右にドラッグしてみてください。音の再生位置を“こする”ように移動できます。これが“スクラブ再生”です。さらに右側の鍵盤インターフェースを使って、十二平均律に基づく相対間隔で音高を上下に移行することができます。そしてパッチ左側の矩形領域にオーディオ・ファイルをドラッグ&ドロップすれば、任意の音色の使用が可能です。
再生位置をゆっくりゆっくり移動させると、通常は認識できない一瞬の内部に、微細で多様な音の変化を聴き取れるでしょう。あたかも顕微鏡で微生物の動きを観察しているかのようです。もしかしたらこの方法で、身の周りのありふれた物音からも、これまで聴いたことのない、驚くべき音響を発見できるかもしれません。それは通常とは全く異なる、コンピューターによる音色合成のアプローチではないでしょうか。
タイム・ストレッチングを実現するためのアルゴリズムには諸種ありますが、ここではグラニュラー合成を応用しています。簡単に言うと、50msというごく短い時間の単位でループ再生を行っているのです。パッチ内の波形の左側にあるボックスから一番上の縦線ツールを選択して波形をドラッグすれば、その範囲内で再生位置がランダムに変更され、50msの音の粒が高速で生成されます。まるでモザイクのような、グラニュラー合成による典型的な音響ですね。
パッチの構造
さてパッチを編集(パッチング)モードにしてみましょう。すべての音響処理は[p MSP]サブパッチの内部で行っています。オーディオ・データのどの位置を再生してもクリック・ノイズが発生しないように、[cycle~]から読み出すコサイン関数を掛け合わせてフェード・イン/アウトの処理をします。さらに、スムーズな持続音を作るために、2つの[play~]を半周期ずらして再生。音が出ている最中に再生位置が変わるとノイズが生じるため、データの送られるタイミングを[sah~]で管理します。このパッチは、例えば次のように拡張できます。
◎複数のオーディオ・データを同時再生
◎音高を外部キーボードで操作
◎乱数や確率でアルゴリズミックに再生位置を自動変化させる
◎オーディオ・ファイルを読み込むのではなく、その場でサンプリングした音を使う
などMax6ならではの柔軟性を踏まえて、いろいろなアイディアを実践してみてください。
ところで、Max6の新しい拡張機能である“Gen”は、特殊なオブジェクトを用いることでMSPやJitterの処理をより効率良く高速に行うための環境です。オーディオを扱うための[gen~]を使えば、通常のMSPでは不可能な1オーディオ・サンプル単位の処理やループを用いたプログラムの作成が行えます。さらに最新版のMax6.1では、GenのパッチをC++のコードで書き出すこともできるようになりました。Genをお持ちの方は、パッチ内にある[gen~]で実装した同等のプログラムを[p MSP]サブパッチと置き換えて使用できます。[gen~]の内部を精査すると、MSPと似ているようでいて微妙に異なりますね。オーディオ・データを扱うオブジェクトにも名前に[~]が付かない、msではなくサンプルの単位を使う、などに注意が必要です。“Genに興味はあるけどよく分からない”という方の参考となれば幸いです。
ファイルのダウンロードをする(S-R_patch_Imai_20130515.zip)
Shintaro Imai
【Profile】作曲家|サウンド・アーティスト。音や物の微細な運動を剪定(せんてい)し矯正して創作を行なう。国立音楽大学およびIRCAMで学んだ後、ドイツのZKMやベルリン工科大学を拠点に活動。国立音楽大学専任講師。 www.shintaroimai.com
CYCLING '74 MaxはMI7 STOREでオーダー可能