[MaxTips_12] ディレイの応用で音作り2 – RjDj Scene Yamakasaの中身

こんにちは、首藤です。
随分と間が空いてしまいましたが、前回に引き続きYamakasaの中身パート2となります。

前回は入力音に音程感をつける部分まででしたので、
今回は、ディレイを用いた、入力音のスクラッチ再生・グラニュラー化の部分をざっくり解説していこうと思います。

ディレイのしくみ

テープエコー

[SWF] http://tokyomax.jp/wp-content/uploads/2010/05/maxtips12_analog.swf,550,300[/SWF]

テープエコーでは、録音した音を時間差で再生することで入力音を遅延させています。
物理的な制約を考慮しなければ、テープの円周が最大ディレイタイム、
録音ヘッドと再生ヘッドの距離がディレイタイムということになります。

デジタルディレイ

[SWF] http://tokyomax.jp/wp-content/uploads/2010/05/maxtips12_digital.swf,550,250[/SWF]

デジタルディレイの場合でも考え方はテープエコーと同じです。
あらかじめ確保しておいたメモリ上にサンプルを保持しておいて、時間差で読み出すことで入力音を遅延させています。
この場合、メモリの長さが最大ディレイタイム、書き込みインデックスと読み出しインデックスの差がディレイタイムということになります。

録音された音を自由に読み出す

ディレイの仕組みを図で見ると、常に一定時間前のデータが保持されていることがわかるかと思います。
大きめのメモリを確保しておくと、ディレイタイムをグリグリいじることで、過去の音を自由に再生することができます。

再生速度 1

[SWF] http://tokyomax.jp/wp-content/uploads/2010/05/maxtips12_play_1.swf,550,90[/SWF]
ディレイタイムを一定にしておくと、入力音が一定時間後に再生される通常のディレイになります。

再生速度 0 (停止)

[SWF] http://tokyomax.jp/wp-content/uploads/2010/05/maxtips12_play_0.swf,550,90[/SWF]
時間経過に合わせてディレイタイムを大きくすると、入力音を一時停止することができます。

再生速度 -1 (逆再生)

[SWF] http://tokyomax.jp/wp-content/uploads/2010/05/maxtips12_play_m1.swf,550,90[/SWF]
ディレイタイムを大きくする割合を更に増やすと、逆再生になります。

再生速度 2 (倍速再生)

[SWF] http://tokyomax.jp/wp-content/uploads/2010/05/maxtips12_play_2.swf,550,90[/SWF]
逆に、ディレイタイムを小さくしていくと、再生速度は増していきます。

Maxでの実装例

Maxで上記のような仕組みを実装するには、ディレイタイムをシグナルでコントロールします。
過去の音を長い時間分録り貯めておくためには、バッファサイズを大きくする必要があります。

スクラッチしてみる

さらにサイン波などを合成すると、リアルタイムスクラッチのようなこともできそうです。

入力音のグラニュラー化

サンプルアンドホールドなどと組み合わせることで、入力音を細切れに再生することができます。
[SWF] http://tokyomax.jp/wp-content/uploads/2010/05/maxtips12_grain.swf,550,90[/SWF]

サンプルアンドホールドの代わりにノコギリ波などを用いれば、ピッチを独立して制御するなどの応用も出来るかと思います。

他にも、フィルター、リバーブ、コーラス・フランジャーなど、ディレイと同じ原理を使ったエフェクトを詰め込もうと思っていたのですが、スペック的な制約で実装には至りませんでした。

以上、わかりにくい部分もあるかもしれませんが、
興味のある方は、Yamakasaサンプルパッチを触ってみてもらえればと思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>