チュートリアル 14:サンプリング
ループプレイバック

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

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


groove~ の使用のための標準的な設定

上の例で、メッセージ loop 1はループをオンにします。 start time(開始点) の 0(ミリ秒)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~ の現在のバッファでの位置をセットすることができます。

参照

buffer~ オーディオサンプルのストア
groove~ サンプルのプレイバックを様々な速度でループします
sig~ 数値による定数シグナル