「信号処理@コンピュータミュージック」ということでちょっと大上段に構えてしまいましたが、音楽制作の中でどのように信号処理技術が使われているのか?また、日頃使っているエフェクタはどのような仕組でできているのか?
というようなことを少しでも感じ取ってもらえればと思います。実際、音楽制作の中では、いろいろな信号処理技術が使われているのですが、
今回はいわゆるデジタルエフェクターで主に使われている信号処理に絞って話していきます。特に今回は、数式ではなくて実際に音を出しなが
らその仕組を耳で理解することを目指してます。
ここでは、デジタルエフェクタの仕組を簡単に説明します。
まず、Fig1.の簡単なブロックダイアグラム(構成図)にあるのが、ほとんどのデジタルエフェクタがおおよそこのような構成になります。エフェクタに入力された音は、A/D(アナログデジタ変換)デジタル化されます。その後DSP(Digital
Signal Processor)に入力される。実際のエフェクト処理のほとんどはDSPで行われ、その結果はD/A(デジタルアナログ変換)されます。ここでのCPUの役割は、DSPの制御とスイッチ、ディスプレイ、MIDIといったインターフェイスの制御です。実際にデジタルエフェクタは様々なエフェクトが可能になっていますが、そのためのプログラム(DSPの場合はマイクロプログラム又はマイクロコードと呼ばれている)は、CPU側のROMに保存されていて、状況に応じてDSPに転送されることになります。また、さまざまなエフェクトの設定もCPU側のRAMに格納されることになります。一方音声信号を遅らせる(DELAYをかける)ためにもやはり、信号をRAMに記憶する必要がありますが、これはDSPに接続されているRAMに記憶され、呼び出されます。
「フィルターとディレイ」この2つがエフェクタの基本です。様々なエフェクタが市場に出回っていますがその80%はこの2つのエフ
ェクトかその組み合わせや発典型で可能です。例えば、フィルターといって通常思い浮かべるのは、イコライザーやローパスフィルターなどですが、ワウワウや、 ボコーダー等もフィルターを応用したもので。またディレイとフィルターは音楽制作の現場では、異なるエフェクトとして扱われるがその構成はほとんど変わら
ず、delay timeのオーダーの違いが最も大きい。(Fig2.,Fig3.)つまり、一般にdelayと呼ばれるものでもそのdelay timeを非常に短くすればフィルターのような
効果を示すということです。例えば後程出てくるフランジャー等もそういった効果を利用しているもののひとつです。しかしそのdelay timeのオーダーは十分の数ミリ秒程度であり、IIRフィルターに利用されている、1sample(サンプリング周波数が44.1kHzのときおよそ22μsec(0.022msec))まで
のオーダーにいかない。一般のdigital filterの教科書には、Fig2.のようなIIRフィルターの例がほとんどですが、音楽に使う場合は出てきた音が好みなものであればいいので、この付近のdelaytimeを耳で探っていくのも、おもしろいと思います。
前述のフィルターとディレイを集大成したのがリバーブと言えます。ディレイとリバーブの違いを簡単に言い表すと、やまびこと風呂場の響きの違いと言えるでしょうか。リバーブを実現する方法は、細粒合成をつかったもの畳込みを利用したもの等いろいろあります(ただし、エフェクターとして市販されているものにはあまり利用されていません)。ここでは最もポピュラーなシュレーダーの理論を用いたリバーブを中心に説明します。リバーブの構成は様々ですが、市販のリバーブの多くはFig.4のようにcomb
filterとall pass filterを組み合わせたものとなっています。以下に、Fig4.の用語を簡単に説明します。
*PRE DELAY:リバーブの効果がかかるまでの遅れ時間。
*EARLY REFLECTION(初期反射音):室内や壁による初期の反射音。多くの場合、壁面に直接あたって返ってきた反射音。初期反射音によってリバーブ音から感じられる空間の広さが大きく左右される。
*FUSED REVERB(後部残響音):壁等の反射面に何度もあったって聞こえる反射音。初期反射音にくらべて、単位時間あたりの反射音の密度が非常に高い(1000本/秒程度)。
*COMB FILTER(くし形フィルタ):原音と遅延させた音をMIXすることによってできた音の周波数特性がくしの形になることからきている。リバーブにおいては、設定の異なるCOMB
FILTERっを複数並列に利用し複雑な反射音を形成するのに利用する。
*ALL PASS FILTER(全域通過フィルタ):Feedback Delayの一種とも見えるが、定常音に対しての周波数特性が平坦なため、反射音の密度を高くするために用いられる。
市販のリバーブは、上記のパーツを様々に組み合わせて作られています。ここでは、リバーブのパラメータが上記のパーツとどのように関連しているかを見ていくことでリバーブの仕組の説明にかえたいと思います。
*DECAY TIME,REVERB TIME:COMB FILTERのFEED BACK GAINによってコントロールしている。
*High Damp,High Cut:COMB FILTERのLPF(Low Pass Filter)による。空気や壁によるリバーブ音の高域周波数の吸収をしミュレートしている。
*Density:ALL PASS FILTERの数やゲインによる場合が多い。
*Room Size:主にCOMB FILTERや、EARLY REFLECTIONのDELAY TIMEをコントロールする場合が多い。
*Reverb type:様々な部分を同時にコントロールしている。
モジュレーションというのは、変調という意味です。エフェクターでは、今まで説明してきたディレイ、フィルターなどのパラメータを低周波数の正弦波や三角波で変調(変更)することで実現しています。例えば、Fig.3のFeedback
Delayのディレイタイムを変調することでフランジャーが実現されています(Fig.5 )。また、コーラスは、Feedback Delayを並列にしてそれぞれのディレイタイムや変調の周波数を変更して足しあわせることで実現しています(Fig.6)。フランジャーの場合は、delay
time を変調しているのであるが、実際は音色が変化しているように聞こえますが、これは先に話したようにディレイタイムがフィルターとして働く領域(おおよそ数ミリ秒以下)で使われているからです。一方コーラスは、数ミリ秒から20ミリ秒以下の範囲で使用される。実際には、delay
timeを変化させるとピッチが変化するので、feed backを0にして強く変調をかけるとビブラートとしても使用できます。コーラスは、これを複数並列に異なる周期や強さで行っています。これはオーケストラのストリングスセクションを思い浮かべるとよい。ひとひとりの弦楽器奏者がそれぞれ微妙に異なるビブラートをかけていることを考えると、似たような効果を生み出せることとがわかると思います。
次にフィルターについてのモジュレーションですが、これの最もポピュラーなものはワウワウと呼ばれるものでしょう。これは、急峻なバンドパスフィルターの中心周波数を揺らすものです。また、モジュレーションを音声の振幅(音の強さ)の制御に用いるとオートパンやトレモロ(ここでいうトレモロは振幅変調のこと)が可能です。ここまでに、あげた例は低周波発振機(LFO:Low
Frequency Oscillator)でモジュレーションをかけたものでした。しかし、モジュレーションは、必ずLFOでなくてもいいわけです。LFOの周波数を可聴周波数(20Hz以上)にするだけで、トレモロやビブラートの効果から音色の変化になったりします。これを、積極的に利用したのがFMシンセになるわけです。その他にも、外部からの信号についてのモジュレーションもあるのですが、これは次の章で紹介することにします。
これまで、既存のエフェクターの基本的な仕組について見てきましたので、次にMIDI機器と組み合わせることでの応用を考えていきます。デジタルエフェクターのほとんどは、MIDIの入力を持っていて、これらはエフェクトのセッテイングをメモリーしてあるもののなかから選ぶこと(Program
Change)が利用の中心でしたが、最近はエフェクトのパラメータをコントロールできる機種が増えてきた。こういったエフェクターであれば、エフェクトのパラメータをMIDIを通じてコントロールすることで様々な応用が可能です。例えば、ワウワウの効果が出せないエフェクターであれば、急峻なバンドパスフィルターの中心周波数をMIDIでコントロールすることで近い効果が出せます。しかし、通常のエフェクターではモジュレーションをかけないパラメータにMIDIを介してモジュレーションをかけたりコントロールすることでおもしろいエフェクトが可能になります。例えば、シンセサイザーとつなぐ場合に、鍵盤を弾く強さ(Key
Velocity)でリバーブタイムをコントロールすると、弱く弾いた音には長い残響がつき遠くから鳴っているように聞こえ、強く弾いた音には短い残響がつき、音が引っ込まないということになります。MIDIを介してパラメータを制御するのであれば、鍵盤の情報だけでなく、ピッチベンダーやブレスコントローラーを使ったりシーケンサーで制御したり、専用のセンサーをMIDIに変換して利用したりも可能です。多くのエフェクターは入力される音にかかわらず、同じ効果(工学的にいうと、同じ伝達関数)ですが、入力された音の特徴によってエフェクトのパラメータを変更するという手法は、さまざまな応用が可能です。先ほど説明したリバーブの場合、MIDIのデータによっていましたが、実際に入力される音を分析してエフェクターのパラメータをコントロールすることは、音作りの幅を拡げます。既存のエフェクトの中でも、ボーカルやドラムスの録音で一般的に使われる、コンプレッサーやリミッターは、入力信号の振幅によってゲインを調整しています。またボコーダーは、一方の入力信号のスペクトル情報を使い、もう一方の入力信号のスペクトルを制御しています。振幅やピッチ、スペクトルの情報を使ってエフェクターをコントロールする手法は実際には、エフェクターと他の機器を組み合わせることになるでしょう。
今まで、説明をわかりやすくするためにMAXとMSPというソフトを利用してきました。このソフトはシンセサイザーやエフェクターを自分で作ることができるということを実感させてくれます。MSPは従来Macintosh用のMAXが音声信号を直接扱うのが難しかったのを可能にしました。これは、パソコンのCPUの高速化による所が大きく、これと同様なことは、数年前はISPWという数百万もする専用のRISCボードが必要でした。さらに、同様のソフトでSGIのIRIXや、WindowsNT,Windows95,Linux上でするPureDataも、時期をほぼ同じくして登場しました(実は、MSPはPureDataを基にして作られていますし、PureDataの開発者はMAXの開発者でもあります。)。ただし、パソコンベースでリアルタイムの音響信号処理を行うのは、(現在のMSP,PureDataのみの問題かもしれませんが)まだいろいろと問題点もあるように思います。パソコンでリアルタイムのエフェクトやシンセサイズを行うというのの問題点の一つは、CPUはOSの管理と信号処理を同時に行わなければいけないということです。特に、リアルタイムの音響信号処理の場合はサンプリング周波数が44.1KHzだとすると22μsec毎に信号処理の演算をする必要があるわけです。このために上記のソフトでは、バッファリングをしてOSと信号処理を共存させています。しかしバッファリングをすることによって、信号が入力されてから出力されるまでの遅延時間が、専用のAD/DAボードとドライバーを使用した場合でも20msec〜30msecと長くなっています。さらにMacintosh内臓のA/D,D/Aの場合には200msec以上にもなります。この遅れ時間は、ライブに利用するには、かなりの足かせになりそうですが、従来の使う立場から作る立場になれる可能性は非常に大きいと思います。そして、このチュートリアルがエフェクター作る場面で、または組み合わせて使う場面での助けになればと思います。