読者です 読者をやめる 読者になる 読者になる

tapin~/tapout~とdelay~の違い

Max/MSPでディレイ回路を作るときに、tapin~/tapout~のペアを使うときとdelay~を使うときがありますが、その二つはどう違うんでしょうか? 遅延時間をミリ秒で与えるかサンプル数で与えるかだけのような気がしてしまいますが・・・?

そこでリファレンスマニュアルで調べると、

  1. Delay times with delay~ are specified in terms of samples rather than milliseconds, so they will change duration if the sampling rate changes.
    • delay~の遅延時間はミリ秒ではなくサンプル数で指定するため、サンプリング周波数が変更された場合は動作が変わってきます。
  2. The delay~ object can reliably delay a signal a number of samples that is less than a vector size.
    • delay~オブジェクトは(DSP Statusで指定されている)ベクトルサイズよりも小さい遅延サンプル数であっても、きちんと遅延処理を行うことができます。
  3. Unlike tapin~ and tapout~, you cannot feed the output of delay~ back to its input. If you wish to use feedback with short delays, consider using the comb~ object.
    • tapin~/tapout~と違い、delay~からの出力を同じdelay~の入力とすることはできません。フィードバック付きのショートディレイが使いたい場合はcomb~も選択肢の一つです。

なのだそうです。

ということは、tapin~/tapout~はベクトルサイズより短い遅延時間を指定するとうまく行かない場合があるのかな? Signal Vector Sizeはデフォルトで64サンプルになっていました。サンプリング周波数が44100Hzや48000Hzのときに約1ミリ秒より短い遅延は扱えないということかもしれません。僕が使いたいのは最高でも1ミリ秒くらいのものなので、delay~で行くことにします。できれば1サンプル以下の遅延がやりたいので、そこは考えてみます。