2010/11/22

ディレイについて Nyquistで自作

音が反射して遅れて返ってくることをディレイ(遅延)という。また別の言い方としてはエコーとも言われるが、サウンド・エフェクターとしてはディレイという呼び方が一般的。ディレイは自然現象としても存在する。「山彦」「こだま」などとも言われている現象がそれに近く、残響音があまり含まれず反響音だけがよく聴こえる状態。エフェクターとしては、単純に原音を遅らせて再生させることで、似たような効果を生んでいる。しかし自然現象のシミュレーションではなく、さまざまな効果を狙う多目的なツールになっているようだ。

音楽の世界では古典的なエフェクターのひとつであるディレイ。初期のころは磁気テープやアナログ回路で実現していたが、現在は主にデジタルディレイが使われている。ただ、アナログな音も捨てがたかったのか、多くのディレイで、テープやらアナログ回路のシミュレートがある。

ディレイは単に音を遅らせる装置である。基本的には音を遅らせる時間と、何回繰り返すかを設定する。そして、その音質をちょっと変えただけで様々な効果を生み出してしまう。シンプルながら奥が深そうだ。リバーブがリアリティを追求する写真のようなものだとしたら、ディレイは輪郭だけさらっと描くようなもので、潔さを感じてしまう。

下の図はディレイで作ったもの。青が原音(直接音)で、赤がディレイで作られた反響音。12回再生させつつ、徐々に音を小さくさせている。リバーブのような複雑な残響音は含まれてない。


フリーのディレイ(ソフト)を紹介
実はまだ2つしか試していない。まずお気に入りのクラシックシリーズを試してみたが、やりたいことが実現できなかったので、別のディレイを探した。見つけたのがTwinDelayというもので、シンプルだけどなかなか強力だと思う。でもAudacityだと若干問題があり、Nyquistでも作ってみた。

Kjaerhus Audio Classic Delay (デンマーク)
Kjaerhus Audioのオフィシャルはなくなってしまった。Classic Delayはディレイタイムが0.05secからなので極端に短いディレイはかけられない。オーソドックスな使い方をする分には困らないが、実験するには物足りない。

INPUT
L-0-Rの割合を決められる。
MONOボタン

TYPE
TAPE ややこもった音 LOにすると揺れる
ANALOG 音質は悪くLOにするとこもり具合は一番
DIDITAL 音質がよい LOにするとシャーという音が混じる

SYNC シーケンサーとの同期に使う。個人的には使わない。

TIME
一番重要なノブ。0.05~5secの設定が可能。

FEEDBACK
こだまする音の回数のようなもの。0にすれば1回だけのディレイとなる。

PING-PONGボタン
左右交互にディレイをするボタン

QUALITY
ディレイの音質を調整する。

LOW CUT
ここで決めた周波数よりも低い音をカットする。

HI CUT
ここで決めた周波数よりも高い音をカットする。

MIX
原音とディレイ音の音量のバランスを調整。

LEVEL
出力する音量を調整。



Cyberworm Twin Delay (ロシア) 
http://www.rhythm-lab.com/plugins/twin_delay
ロシアの人が作ったディレイ。本人テクノをやっているようなので、自分用に作ったのだろう。これはディレイタイムが4msから可能。また左右独立でディレイタイムを設定できる。個人的にはこの2つが重要。フィルター効果は、ローパスフィルターがあれば十分だが、パラメーターをいじったら、かなり派手に音が作れるようだ。やっぱりテクノ用かな? ディレイタイムは実時間とテンポ&拍子でも設定できる。多くのVSTディレイはシーケンサーとシンクロさせるタイプ。テンポさえメトロノームで正確に合わせれば時間より使い勝手はいいのだが、Audacityではテンポ設定が動かなかった・・・ TwinDelayはマニュアルで実時間指定できる。個人的にシーケンサーは使わずギターの生録なので、こういう仕様は助かる。しかしAudacityだと設定も呼び出しが出来ないようだ。プリセットも読み出せない。何かとAudacityとは相性が悪いかも。というかAudacityはVSTを認めていない感じがする。


Nyqusit Delay (自作)
上記VSTは不便に感じたのでNyquistで作ってみた。AudacityではVSTよりも高速に処理ができる。

Decayは2段階に分けてみた。ディレイ音の1回目のレベルと、それ以降のレベルの調整を別にすることで、減衰加減を好きなようにコントロールできる。たとえば2段目のDecayを0dBにすると、2回目以降は減衰せずに同じレベルで繰り返すことができる。

ディレイタイムは左右独立して調整可能。スライドバーでは0~999msecまで1msec単位で可変できるようにしているが、数字を直接打ち込むことで、もっと細かな設定ができる。短いディレイタイムとしては0.01msecでも設定ができる。これってサンプリング周波数44.1kHzでは1サンプル程度の長さになるので最短ディレイ。実際には、こんな設定は使わないけど小数点以下の数字を打ち込みたいときはある。1秒を超えるロングディレイもできる。どれぐらい行くのかよく分からないが60秒でも設定可能だった。もはやディレイではない。ちなみに、やたらロングディレイにすると処理速度が極端に落ちるので注意。

Echosは、何回ディレイを繰り返すか設定する項目。スライドバーで0~60回まで指定できる。数字打ち込みなら、もっと増やせるが現実的ではない。それに増やせば増やすほどノイズ成分も増えていくので注意。必要最小限の回数にすること。

ローパスフィルター&ハイパスフィルターをつけて空間表現にも対応できるようにした。クリアな原音と同じ音だと反響という感じではないので、多少高域を削って曇らせたほうがよい場合も多いと思う。

自作のよいところは、欲しい機能が出たら後から簡単に追加できるところ。Nyquistは簡素なGUIだが、数字も打ち込めるので使い勝手はいい。

スクリプトはこんな感じ。LISPを知っている人は笑ってください。LISPがよく分からないまま適当に作りました。EQの時と比べれば少しはプログラムぽい。メモ帳などで以下のスクリプトを書き込んで保存し、ファイル名を「namagi_delay.ny」に変更して、AudacityのPlug-Insフォルダに入れれば動作する。

;nyquist plug-in
;version 1
;type process
;name "NAMAGI Delay"
;action "Performing NAMAGI Delay"
;info ""

;control decayL "L First Decay" real "dB" -9.2 -24 0
;control delayL "L Delay time" real "msec" 32 0.000 999
;control countL "L Echos" int "times" 1 0 60

;control decayR "R First Decay" real "dB" -9.2 -24 0
;control delayR "R Delay time" real "msec" 24 0.000 999
;control countR "R Echos" int "times" 1 0 60

;control decay "Decay" real "dB" -3 -10 0
;control lpf "LPF" int "Hz" 16000 200 20000 
;control hpf "HPF" int "Hz" 0 0 1000 

(defun delaysL ( s countL decayL)
(if (= countL 0)(cue s)
(sim (cue s)
(loud decayL 
(at (* 0.001 delayL)
(hp 
(lp 
(delaysL s (- countL 1)(setq decayL decay))
(mult lpf))
(mult hpf))
);at
);loud
);sim
);if
);defun

(defun delaysR ( s countR attR)
(if (= countR 0)(cue s)
(sim (cue s)
(loud decayR 
(at (* 0.001 delayR) 
(hp 
(lp
(delaysR s (- countR 1)(setq decayR decay))
(mult lpf))
(mult hpf))
);at
);loud
);sim
);if
);defun

(vector
(stretch-abs 1 (delaysL (aref s 0) countL attL))
(stretch-abs 1 (delaysR (aref s 1) countR attR))
);vector

サンプル音源
すべて自作のNyqusit Delayを使ってます。

ディレイタイムについて
ディレイの要であるディレイタイム。実際にやってみた感想としては、物理現象から導いた理論的な使い方ではなく、感覚的な使い方をするものだと思えた。使いこなすには想像力とかが重要かも。実際にはありえなくてもイメージが表現できればそれでいいのだ。お手本となる目標が頭の中というのは、答えが見えないのだが・・・。下手くそながら、ギターで実験してみたので、暇な人は聴いてみて。

1~20msec
原音とディレイ音が一緒に聴こえてしまう。2回演奏しているようなダブリングというテクニックで音に厚みを持たせたり、定位をコントロールすることができる。

まずはエフェクトをかけていないドライな音。


Haas effect(ハース効果)、定位の実験。定位が中心からずれたように聴こえるだろうか? 右側のディレイを遅らせているので、左方向から聞こえてくる錯覚を受ける。音量バランスは同じでもこういうトリックができる。これを応用して空間の広がりも演出できる。


ダブリングの実験。単音の細い音が太くなっただろうか? ズレを感じないぐらいの遅れを使うことで音に厚みを出そうというもの。ちょっと微妙すぎるかも。ギターでなければ、もう少し分かりやすかったかもしれない。


20~50msec ショートディレイ 
この範囲もダブリング効果があるようだ。よく聴けばズレを感じられる程度のディレイ。上のダブリングに比べると12弦ギターぽい。LPFで少し高域を削っている。これをやらないとアタックがカチカチうるさくなる。個人的には50msec未満のディレイの使い方が一番興味ある。


広がりを持たせる効果。モノラル録音したものをステレオ化し、ディレイで左右のズレ(24,36msec)を利用して広がりを持たせている。リバーブでステレオ感を作り出すと音が濁りがちだが、ディレイでフィードバックなし(ディレイ1回のみ)だと音がすっきりする。使えそう。


50msec以上
原音とディレイ音をはっきりと分離する。Classic Delayは、このタイムから使えるようになっている。このタイムからディレイらしい使い方となる。リバーブと合わせて使えば派手な空間の演出もできると思われる。

長めの250msec。単音白玉でもディレイがあると、そんなに寂しくならずに持ちこたえる例。左右のディレイタイムを1msecだけずらしているが、それでも空間を感じることができる。


400msec~ ロングディレイ
単純なコードの白玉。ディレイで埋めている。600msec。


応用
使い方によっては演奏の一部として使える。自然界ではありえない人工的反射音。左右別々のディレイタイムでフィードバックなしで2回反射させている。輪唱みたいなもの・・・多重録音したような効果はある。


ディレイを試してみると、音響的な不足部分を補うという以上に積極的に使った方が面白いように思えた。現実では、ありえないぐらい極端な使い方のほうが楽しい。アコギというよりはエレキで本領発揮のエフェクトかも。個人的にリバーブがあれば、ディレイはいらないと思っていたが、リバーブの代わりにもなりそうなので、ショートディレイを中心とした渋めの使い方を今後試していこうと思う。

120204
その後Javaでサンプル単位で制御できるディレイを作ってみた。詳細はこちらのページ

sound programming 目次