チュートリアル 27:
ディレイライン

シグナルのディレイ(遅延)によってもたらされる効果

オーディオ処理の中で、最も基本的であるにもかかわらず用途の広い技術の1つに、シグナルをディレイ(遅延)させ、これをオリジナルのシグナルとミキシングすることがあります。ディレイタイム(ディレイされる時間)は、2、3ミリ秒から数秒までに及ぶことができますが、これはディレイシグナルのストア(保存)に利用できるRAMの量によってのみ制限されます。

ディレイタイムがほぼ2、3ミリ秒のとき、オリジナルとディレイされたシグナルは干渉しあって、離散的なエコーとは違った微妙なフィルタ効果を作ります。ディレイタイムがおよそ100ミリ秒のとき、ディレイされたコピーがオリジナルのすぐ後を追い掛けていく "slap back" エコー効果を聞くことができます。長いディレイタイムの場合、2つのシグナルは分離したイベントとして聞こえます。それは、あたかもディレイされた音が遠くの山に反射しているかのようです。

このチュートリアルパッチでは、ステレオシグナルの各々のチャンネルを独立してディレイさせ、ディレイタイム、およびダイレクトシグナルとディレイシグナルのバランスを調節することができます。

ディレイラインを作る:tapin~tapout~

MSPオブジェクトtapin~ は、継続的に更新されるバッファで、常に直前に受信したシグナルをストアしています。tapin~ がストアするシグナルの量は、タイプイン・アーギュメント(書き込まれたアーギュメント)によって決定されます。例えば、1000というタイプイン・アーギュメントを持つ tapin~ オブジェクトは、インレットで受信したシグナルのうち直前の1秒をストアします。


直前の500ミリ秒および1000ミリ秒を利用する1秒間のディレイバッファ

tapin~ のアウトレットが接続される唯一のオブジェクトは、tapout~ オブジェクトです。この接続は、tapout~ オブジェクトを tapin~ によってストアされるバッファにリンクします。tapout~ オブジェクトは、ディレイシグナルを、直前の特定のポイントから「引き出し」ます。上の例では、tapout~ tapin~ から500ミリ秒前に発生したシグナルを得て、左のアウトレットから出力します。また、同時に1000ミリ秒ディレイされたシグナルを得て、右のアウトレットから出力します。tapout~ が、tapin~ にストアされた長さを超えてディレイさせることができないのは明らかです。

オリジナルとディレイシグナルをミキシングするパッチ

チュートリアルパッチは、コンピューターに入力されるサウンドを2つの場所へ送り出します。1つは直接コンピューターのアウトプット、もう1つはディレイ用の tapin~ - tapout~ オブジェクトです。このパッチでは、各々の場所の各々のステレオのチャンネルからどれくらいの音量のシグナルを聞くかをコントロールでき、オリジナルとディレイシグナルをどのような割合でミックスすることも可能です。

・オーディオをオンにして、コンピューターの音声入力ジャックにサウンドを送って下さい。"Output Level" と表示されたナンバーボックスを、ちょうど良いリスニングレベルにセットして下さい。"Left Delay Time" ナンバーボックスを500に、"Right Delay Time" を1000にセットして下さい。

この時点では、各々のチャンネルに対する "Direct Level" (ダイレクトシグナルのレベル)が1に、 "Delay Level" (ディレイシグナルのレベル)が 0 に設定されているため、ディレイシグナルは全く聞こえません。シグナルはディレイされていますが、単に、その振幅が 0 でスケールされているために聞こえないだけです。


ダイレクトシグナルは最大、ディレイシグナルは0になっています

パッチャーウィンドウの左辺の hslider は、"Dry"(すべてダイレクトの)出力シグナルと"Wet"(すべて処理された)出力シグナルの間のバランスフェーダーとしての役目を果たしています。

・ダイレクトシグナルとディレイシグナルの振幅が両方とも0.5になるように、hsliderを中間点にドラッグして下さい。両方のチャンネルでオリジナルのシグナルが聞こえますが、左のチャンネルには0.5秒のディレイシグナル、右のチャンネルには1秒のディレイシグナルがミキシングされています。


ダイレクトシグナルとディレイシグナルは等しいバランスです

・いろいろな異なったディレイタイムの組合せや、wet-dryレベルを試してみることができます。非常に短いディレイタイムで、微妙なコムフィルタの効果を試してみて下さい。2つのディレイタイムを用いて、リズムを作ってみて下さい。(例えば、ディレイタイム375ミリ秒と500ミリ秒)

このパッチは、シグナルの不連続に対する防止対策はされていないので、サウンドを演奏している間にパラメーターを変えると、サウンドの中でクリック音を生じる可能性があります。line~ または number~ オブジェクトでパラメーター値の間を補間することによって、この問題を回避したパッチの改良版を作ることができるでしょう。

チュートリアルの先の章では、ディレイフィードバックの作り方、フランジングやピッチエフェクトのための、連続して可変なディレイタイムの使い方、そしてディレイ、フィルタ、その他のプロセッシング技術を使ってサウンドを変化させる他の方法について見ることができます。

まとめ

tapin~ オブジェクトは、絶えず更新されているバッファで、常に直前に受信したシグナルをストア(保存)しています。tapout~ オブジェクトに接続されたどのオブジェクトも、tapin~ の中にストアされているシグナルを使用することができ、過去(tapin~ の記憶の範囲内に限って)のどの時点のシグナルにでもアクセスできます。tapin~ tapout~ でディレイされるシグナルは、離散的なエコー、早い反射、コムフィルタ効果を作るために、ディレイされていないシグナルをミキシングすることができます。

参照

tapin~ ディレイラインへの入力
tapout~ ディレイラインからの出力