2004年03月28日

ライブにおけるトラベルシューティング(26号 29.4.02)

buffer~について その2
             〜buffer~に収納されたサウンドを再生する

しばらく間があいてしまいましたが、覚えているでしょうか、buffer~は波形を
収納する入れ物でした。そこで、今回はその波形を音声として再生するオブジェ
クトを紹介していきたいと思います。
前回、バッファーの内容を読み出すオブジェクトに、
play~,groove~,index~,peek~
があると書きましたが、そのうち、実際、音声として再生してくれるオブジェク
トはplay~とgroove~の2つです。そこで、この2つのオブジェクトについて
各々、説明していきたいと思います。

●play~


[play~ バッファー名 チャンネル数]

という書式にてバッファーの内容を再生する準備ができる。なぜ、準備だけかと
いえば、このオブジェクトはそれ自体に再生する能力がないのだ。それではどう
やって再生するかというと、第一インレットにシグナルを送ることによって、再
生するのである。典型的な使用方法はline~を第一インレットにつなぐ方法で、
line~というオブジェクトは数値の変化を時間的に行うもので、具体的には、

[再生開始点,再生終了点 再生時間]

というメッセージをline~に送れば音声が再生される。
たとえば、[0,5000 5000]とすると、0msecから5000msecを5000msecか
けて再生するとこになるから、通常の速度で5秒間再生されることになる。
また、[0,5000 2500]、[0,5000 10000]とすると、前者は2倍速で、後者は
半速で再生される。
それでは[5000,0 5000]となったらどうなるだろうか、そう、ご察しの通り、
反転再生される。
[0,5000,0 10000]としたら、どうなるだろうか?
この場合は通常に再生された後、折り返して反転再生されることになる。
ループ再生だが、play~自体には備わっていない。ためしにループ再生ができる
パッチをつくってみたが、そのようなことをしなくても、次に紹介するgroove~
はループ機能が備わっているので、ここまで、めんどくさいパッチをつくること
はないでしょう。

ftp://astrolabel.net/pub/MAX/looplay~.sit

●groove~


なんといってもループが備わっているのが一つの特徴ですが、再生のスピードを
自在に変えることができるのもその大きな特徴の一つです。

◇ループ
第一インレットに[loop 1]というメッセージをおくり、第2インレットに開始
点、第3インレットに終了点を与える。(ともにミリ秒単位)そして、第1イン
レットに[startloop]というメッセージをおくる、あるいはシグナルを送ると設
定範囲をループ再生する。

◇可変再生
第1インレットにシグナルをおくることによって再生速度が変えることができ
る。これは再生中にリアルタイムに変化させることができるので、かなり柔軟な
再生ができると思う。
具体的にはsig~に1を与えれば、通常再生、-1で反転再生、2なら2倍速再
生、0.5なら反速再生となる。
そこで、考えてみると、phasor~やcycle~といったシグナルを生成するオブ
ジェクトも、1と-1のシグナルを周期的に生成するのだから、これを再生速度の
変化にも応用できるのではないかということ。といってると、トMエのCarl
Stoneのインタビューにsah~を使ったgroove~の活用という、そのままの話ど
ころか、パッチまで載っているではないですか。もう、太っ腹だよCarlさん。
ということで、単純化したパッチをつくってみました。使ってみると、なるほ
ど、あの音か、と。ということで、そのパッチは今回は紹介するだけで、次回、
groove~の活用に踏み込んでいくことにしたいと思います。
Carlさんネタパッチ→
ftp://astrolabel.net/pub/MAX/carlsahplayer.sit
トMエ参照ページ:P580〜581、585〜586、898

Posted by com4jai at 2004年03月28日 22:05
Comments
Post a comment









Remember personal info?