チュートリアル14

サンプリング:ループプレイバック

groove‾によるサンプルのプレイバック

groove‾オブジェクトは、buffer‾のサウンドをプレイバックするための、最も用途の広いオブジェクトです。groove‾では、対象となるbuffer‾、開始点、プレイバック速度(前へでも、後ろへでも)、サンプルの中でくり返すループのための開始点と終了点を指定することができます。buffer‾を読むための他のオブジェクトと同様、groove‾はパッチコードなしで、名前を共有することによって遠隔的にbuffer‾にアクセスします。

groove‾の使用のための標準設定

上の例で、メッセージ「loop 1」はループをオンにします。「start time」の0msはbuffer‾の最初を示し、「playback speed」の1は前方へ通常の速さでプレイバックすることを意味します。そして、「loop start time」と「loop end time 」は(ループがオンの場合)groove‾がbuffer‾の860msの点に達すると、572msの点に戻ってそこからプレイバックを続けることを意味します。開始点はfloat(またはint)として、プレイバック速度はシグナルとして受信されなければならない点に注意して下さい。このことは、時間上で変化するシグナルを左のインレットで受けることでプレイバック速度が可変になるということを意味します。

新しい開始点が受信されると、groove‾は直ちにbuffer‾のその位置へ行き、現在の速度でそこからプレイバックを続けます。groove‾は、メッセージ「loop 1」または「startloop」を受信するとループの先頭へ行き、現在の速度でプレイバックし始めます。(ループ点はgroove‾が逆プレイバックしている時には無視されることに注意して下さい。このため、プレイバック速度がマイナスの時には働きません。)groove‾は、buffer‾の終了点(または逆プレイバックしている場合には開始点)に達した時、または速度0を受信した時、停止します。

チュートリアルパッチでは、3つの異なるbuffer‾オブジェクトがAIFFファイルからロードされているので、1つのgroove‾オブジェクトでいろいろなサンプルの間を即座にスイッチすることができます。後ろにbuffer‾の名前が続くsetメッセージは、groove‾を直ちにその新しいbuffer‾に差し向けます。(もしgroove‾がいつも同じbuffer‾を任せられていて、buffer‾の内容を変更するためにreadメッセージを使用するとしたら、各々の新しいファイルのオープン、ロードのためにある程度の時間が必要になるでしょう。)

setメッセージによって、groove‾を異なるbuffer‾に差し向ける

* presetオブジェクトをクリックして、様々な方法でサンプルをプレイバックしてみて下さい。

最初のプリセットは、ちょうど「Off」のボタンのように作用します。次の3つのプリセットはループ無しの標準速度で3つのbuffer‾をプレイバックします。残りのプリセットは、ループ有りまたはループなしで、バッファされたファイルの様々な抜粋に様々なプレイバック速度を利用していて、いろいろなサウンドの可能性を示しています。

*ユーザインターフェイス・オブジェクトを直接変更して、独自のセッティングで実験したいと思うかもしれませんね。

ユーザインターフェイス・オブジェクトの変更によって、プレイバックのすべての状況をコントロールできます

なめらかな、そうと気付かれないようなループをgroove‾によって成し遂げるために、loopinterpメッセージを使用することができます。これは、ループが開始点に滑らかに移行するように、ループの最後と次のループの始めとの間でのクロスフェードを可能にします。(このメッセージに関するより詳しい解説はgroove‾のリファレンスを参照して下さい。)buffer‾が独自のループ点(他のオーディオ編集プログラムで設置された点)を持つAIFFファイルを含む場合、groove‾のループ点をセットするためにそのループ点を使用する方法があります。info‾オブジェクトはbuffer‾に含まれているAIFFファイルのループ点を出力することができるので、groove‾に直接そのループ開始点と終了点を送ることができます。

AIFFファイルのループ点を得るためのinfo‾の使用

まとめ

groove‾オブジェクトは、buffer‾からサウンドをプレイバックするための、最も用途の広い方法です。対象となるbuffer‾、開始点、プレイバック速度(通常プレイバックか逆プレイバックか)、サンプルの範囲内で反復するループの開始点と終了点を指定することができます。buffer‾が、予め設定されたループ点を持つAIFFファイルを含む場合、info‾オブジェクトを使用してそのループ・タイムを取得し、それをgroove‾に送信することができます。groove‾のプレイバック速度は左のインレットに届いているシグナルの値によって決定されます。左のインレットにfloatによる時間値を送信することで、groove‾のカレントのバッファでの位置をセットすることができます。

<-前の章 次の章->