ウインド・ノイズの低減  イコライゼーション#2                         (C)Y.Utsunomia 2008-2010 「イコライゼーション」の項を参照  マイクロホンを用いて録音する際に、その場所が屋外であったり、空調設備などが ある環境の場合、その場所の空気の移動(有効な音波ではない)がマイクロホンの振動 板を動かし、「ボコボコ」あるいは「ゴロゴロ」という雑音(不要な成分)となること がある。また、歌の録音やスピーチでも、息が振動板を動かすことがあるが、こちらは 「吹き」と呼ぶ。楽器収音の場合も、同様の障害が生じる場合がある。  いずれもそのスペクトルは低音域に偏り、発音メカニズムも疎密波や圧力差ではなく 空気そのものの移動による「風」によるものだ。  マイクロホンの機構(指向性)により、風の影響は異なる。 一般的に、有指向性>無指向性の傾向があるが、無指向性の振動板は振動板の内外の 圧力差によって振動板が動くため、マイクロホン全体が動く「振動」や圧力差を伴わな い空気の動きに対しては振動板はあまり動かず、結果として風雑音を拾いにくいという 特性が現れる。逆に双指向性や単一指向性の場合は、媒体の移動そのものに敏感である ため、ウインドノイズが生じやすい。逆に風速計や飛行機の先端に設置されている ピトー管では、疎密波には影響を受けず、流速のみに感度があるものもある。  根本的にこの影響を逃れるには、疎密波と流体の移動を識別できるフィルターを 振動板以前に設けることで、この装置を「ウィンドスクリーン」と呼ぶ。 このテキストでは、ウィンドスクリーンについての詳細には触れないが、各種のマイク ロホンやマイク内蔵レコーダーに附属のものは、往々にして高性能とは言えないものが 多い。また風防としての機能が優れていても、音の高域や輪郭に影響を及ぼすものも 少なくない。放送業務や映画撮影などの分野でもかつては運用者の自作のものが多かっ たが、近年は各種の製品が販売されているようだ。筆者としては自作を推奨したいが その方法やノウハウは別文に譲る。  近年のフラッシュメモリー録音機には、このウィンドノイズの低減を目的とした HPF(High-Pass-Filter=Low-Cut-Filter)が用意されているものが多い。 このフィルターを用いるのも一つの選択肢なのだが、有効音に低音が含まれている場合 このフィルターを用いることは、その「必要な音」をも削ってしまう可能性があり、 安易な使用は甚大な情報損失にもつながりかねない。  またこれらの録音装置に装備されているHPFの位置も問題で、近年の多くの装置では D/Aコンバータの後(デジタル領域)に設置されていることが普通で、効果としては 今ひとつといえる。効果的なのは振動板の前であり、そこから後になるほど効果は 薄れる。製品によってはマイクロホンアンプに設置してあることもあるが、説明書に 明記されていることはほとんど無い。  デジタル領域ではなぜ効果が芳しくないのか、説明の必要があるだろう。 ウィンドノイズは一般的に疎密波起因の信号よりもはるかに振幅(レベル)が大きく、 録音レベルを最適にセットできなくなることだ。(つまり風が吹いているときには メーターが大きく振れているのに、風が止み、音だけの時にはほとんどメーターが振れ ない)しかも、デジタル域でHPFしている場合、すでにA/Dコンバータあるいはそれ以前 でクリップ(風により)していても、表示されるメーターの振れは「安全レベル」であっ たりする不都合がある。  先決の問題としては、自分が使用している装置のどの部分にHPFが装備されているの か、正確に把握することだが、この作文で頻出しているHシリーズはいずれもデジタル 域にある。  この問題を解消するには、風起因の信号も必要な音もともに録音し、持ち帰り後に 正確に分離することが最良(最良は、良いウィンドスクリーンを用いることだが、それ が出来ない場合)だが、その方法は以下に示す方法が有効であることが多い。 A)audacityには学習型のフィルターがあるので、それを用いる。 B)風と必要音、それぞれの信号をスペクトル表示を用いて、最適なイコライゼー ションを決定し、分離する。 A)は「ノイズの除去」の項を参照し、風ノイズを学習させ(フィルターをセット)、 その後その結果を適用する。しかし「効き具合」を調整することがやや面倒で、しかも 風そのものは刻々と変化していくものであるため、一括で処理することは、やや危険で あると言える。 B) audacityには各種のスペクトル表示の機構がある。 「解析」プルダウンメニューの「スペクトル表示」、各トラックのプルダウンメニュー の「スペクトログラムの表示」と「対数スケールスペクトログラム表示」だが、刻々と 変化するノイズを視覚化するには、いずれも多少使いにくい。後者の対数スケール スペクトログラム表示は、トラックの幅を大きくしていくとある程度見やすくはなるが、 正確な周波数成分の分布や、何よりaudacityの動きが重くなるため、ある程度の長さ (数十分程度)のソースを解析しようと思うと、audacity以上に操作者の気持ちが 重くなってしまう。  このようなときには優秀な外部プログラム(WaveSpectra.exe)を利用しよう。 このソフトはFFTと呼ばれるスペクトラムを直視するための装置で、audacityを普通に 再生しながら、同時にこのソフトを動作させ、どの帯域にノイズがあるのかを詳細に 知ることが出来る。 注)両方のソフトを作動させると、稀にPCの処理速度不足などで動作が引きつる場合が あるが、ペンティアムM 1GHz程度の速度があれば問題ないだろう。 *************************************** WaveSpectra.exeのセッティング例を以下に示す。 (詳細は「視覚化のための拡張(分析)」の項を参照) ver,1.40以上の場合F1で詳細なヘルプファイルが開く。使用する前には読破したいも のだ。  設定は右上のスパナマークをクリックすることで、「設定画面」が現れる。 1ページずつ必要項目にチェックを入れるのだが、重要な順に設定しよう。 ○4ページ目「再生/録音」ページ  通常audacityをPC内蔵のオーディオデバイスで使用している場合、  ☆最上段のドライバを「MME」に設定  ☆録音デバイスを「Wave mapper」などのデフォルト、  ☆録音デバイスのVolume Ctrlを開き   「Wave 出力Mix」にチェック+スライダーを下から1クリック(ユニティーより   やや低いが2クリックではユニティーを超えるので)にセット。   (一体どういうミキサーなのか?しかも一つしか選択できないので、ミキサーと    言えるのか?)   もしWave出力Mixのスライダーが無い場合は、そのミキサーパネルの   「オプション」→「プロパティー」→「表示するコントロール」の   「Wave出力Mix」にチェック   ☆フォーマットをaudacityのプロジェクトサンプリング周波数と同一周波数にセット  ☆同ビット深度を16bit  ☆サウンドデバイスからの入力のみ・・・これも「録音」と呼ぶ  ☆表示間隔を「タイマー」「30ms」・・・毎秒33回表示の意味  *これで最低限のセットはできた。次回からもうまく動作しないときにはこのページ   から点検しよう。<デバイス><ミキサー設定> ○3ページ目「FFT」  ☆サンプルデータ数(FFTサイズともいう)通常4096、8192,低域重視の場合16384   (サイズが大きくなるほど周波数分解能は高くなるが、表示は遅れ、短時間の現象   は滲んでしまう・・・ )  ☆窓関数 離散している表示と表示の隙間を、どのように補完するかの論理   通常は「Hanning」 ○2ページ目「スペクトラム表示設定」  ☆通常 「ピークのみ」「dB」「120dB」「Auto」「log」でしょう。 ○1ページ目「波形表示設定」  必要に応じてリサージュ(リサジュー)波、レベルメーター、波形表示レンジの  設定を行う。このうちレベルメーターは常用を推奨。  (慣れないうちは解析画面を見ただけでは、オーバーレベルしているかどうかの   判断が困難だろう)  音そのものの監視にはリサージュも大変有効(視覚化のための拡張(分析)の項で説明) *************************************** B1)ソースをaudacityにドロップして読み込む。  *表示画面をモニター一杯に大きく表示すると、WaveSpectra.exe(以下WS)画面が   隠れてしまうので、画面の上か下の半分くらいの表示になるよう調整。 B2)モニターレベルに気をつけながら、要所をヒアリングし状態を確認。  *どこが代表的であるか、まず聴覚で確認し、分析ポイントの目星を付けておく。 B3)WSを起動し、設定を確認し、録音(サウンドデバイスからの入力のみ)状態にする  (WSのメイン画面上部の赤いボタンをクリック)。  (WSの表示画面はモニターの残り半分に来るように調整)  B4)audacityの再生ボタンをクリックし、再生を開始する。  *このときにPCの挙動に「引きつり、音の途切れなどの)異常がないか注意する。  **例えば表示間隔を「0ms」に設定していたりすると、どれだけパワフルなPCでも   CPUパワーをすべてWSに吸い取られてしまい、正常に再生は出来ないだろう。   また引きつり、音の途切れなどが生じる場合は、表示間隔の数値を大きくし、CPU   パワーをより多くaudacityに割り当てよう。(ただしWSの表示はまばらになる)  ***また、マシンのCPUパワーがどれほど残っているかを表示したい場合は、   TinyMon.exeなどのソフトを併用し、状態を監視しよう。ただしPCが古く、スピー   ドの遅いCPU(クロック200MHz以下)ではTinyMon.exeの併用も厳しいだろう。 B5) B4)で目星を付けたポイントを再生し、そのときのスペクトル成分を読み取ろう。  画面の動きが速く、よくわからない場合は、WSを一時停止状態にし、スペクトル表示  画面上にカーソルを持っていくと、その周波数のポイントが数値表示される。 ****  このような画面を始めて見る方は、画面をゆっくり眺め、まず音と画面の関係をつか  もう。低域はグラフの左に、高域はグラフの右の山ができ、そのような成分を持った  音であることがわかるはずだ。   ウィンドノイズは低域成分であることがほとんどで、画面の左側に山ができたり  消えたりすることが観察できると思う。   風が吹いたときに現れる山が、ウインドノイズなので、この部分を削り落とすフィ  ルターをセットし、音の信号に適用すれば、そのノイズの軽減ができるはずだ。                                    ****  WSの解析で必要な読み取りポイントは、ウインドノイズの上限値で、ウインドノイズ  の山の右斜面、山の平均値から20dB下がったところの周波数を得よう。  WSによって読み取られたウインドノイズの帯域上限が180Hzであるとしよう。 B6)読み込んだオーディオ信号にフィルターを適用する前に、もう一本トラックを作成  し、そこへ先のオリジナルオーディオデータをコピーしよう。  1)トラックの作成:「トラック」→「新しく追加」→「ステレオトラック」  ショートカットでは「Alt」「T」「N」「S」  2)オリジナルのトラックを選択(トラックのサンプリング周波数表示のあたりをク  リックし色を濃くする)し、Ctrl+Cでコピー  3)1)で作成したトラックを選択し、Ctrl+Vで貼り付け。  *UNDOがあるのでフィルターを適用しても、即座にUNDOできるが、2本の同じトラッ  クを用意しておけば、片方に適用することで、1対比較することが出来るだけでなく、  必要なら、その2本の都合の良い方を交互に切り替えながら、「いいとこ取り」したり、  クロスフェードしながら加減することができる。 EQ1) B5)で読みとった周波数(ウインドノイズとその他の必要音を分離するための)  を、audacityのイコライゼーションに反映させる。  2番目のトラックを選択し、「効果」→「イコライゼーション」で設定画面を開く。  1)audacityのイコライゼーションの設定画面が、「要求特性」と「実現されるであろ  う特性」の描画の2段階になっているが、前者は濃い青色で示される折れ線で表現  (要求書き込み)し、実現されそうな特性は薄緑色の「ガウシアン」な美しいカーブ  で表示される。(このカーブを直接書くことは出来ない)  1b)このカーブを変化させるには、画面右下の「フィルタ長」スライダーを調整する。  右に動かすほど要求特性に近づく。しかし、音のキャラクターの変化も増大。 *要求特性を書き込む前に、画面左のレンジ・スライダーを調整し、必要レンジを決め  ておくことで正確な入力を(定規を利用したような)行うことができる。 *このケースのように不要成分を除去する場合、レンジ・スライダーの「上限値を0dB」  にセットすることで、平坦部分(影響を及ぼさない、必要音部分)を正確に0dB設定  できる。(画面左上のスライダーを下げきっておく) **レンジスライダーは設定上限を行うというよりも、定規のようなニュアンスと受け  取るとよいだろう。要求特性入力中に、このスライダーを動かしても何等の影響は  与えない。 ***より正確な入力を行うには  C:\Document and Settings\ユーザー名\Application Data\Audacityフォルダの  ”EQCurves.xml"の中の記述を直接操作する。 EQ2)もしイコライゼーションの画面になにかプリセットがある場合は、「平坦」あるい  は「フラット」のボタンを押してリセットする。(自分に都合の良いプリセットがある  場合や保存データがある場合は、それに加筆してもよい)  ここにマウスの左クリックでポイントを打ち折れ線を決定していくことで入力を行う。  また一度打ったポイントにカーソルを合わせると、そのポイントをドラッグアンド  ドロップし修正することが出来る。  1)上記でWSによる読取り値が180Hzであるので、180Hz、0dBのところにポイントを打  つ。  2)次にウインドノイズをどれくらい減衰するか考えながら・・・ここでは-40dBとしよ  う・・・まず、100Hz-40dBあたりをクリックし、そのまま右にドラッグし止るところま  で右に寄せる。階段1段分の折れ線が描けたはずだ。 *下限をどれくらいにするかの判断は微妙で、害があるなら目一杯下げておいた方が  良いという判断もある。その場合は-120dBまで下げきっておくことも一案だろう。  3)フィルタ長スライダの調整だが500〜1000程度が妥当なところだろう。 EQ3) OKスイッチをクリックすることで、イコライゼーションが実行される。 *ソースが長尺の場合は、目星を付けた部分(1〜2分程度)を選択し、実行する。  効果が適切と思われるなら、UNDOして全体に適用する。 *イコライゼーションの画面に設定した入力は「カスタム」として保存されるので、  もし、気に入った場合は別名称を入力し、保存する。   EQ4)処理が終了したらヒアリングする。  下げればよいというものではないこともわかるだろう。モノには適切ということが  ある。 ***何とか聴きながら調整できないか*** 基本的にはプレビュー的に、部分を選び試しながら追い込むことが基本となる。 しかし次に表す方法を使用すると、聴きながら減衰量を調整できる。 <アイソレーター的手法>  アイソレーターとは「分離装置」の意味だが、DJ文化用語として新たな意味が与えら れたらしい語。要は低域と高域のように、一定周波数を境に信号を一旦分離し、それ ぞれに異なるエフェクターや圧縮を施し、再び合体させる手法である。  本来、PAなどに使用される帯域分割フィルタ(マルチ・チャンネル・ディバイダー)を そのまま流用していたようだ。この技術はマスタリングなどでも使用され、全帯域を 4〜6程度に分割処理する。  問題は一度分離したものが混合して元に戻るか、という問題(なかなか難しい)で、 古くから様々な関数(フィルターカーブ)が試されてきたが、PA用途では、リンクワイツ ライリー関数が人気がある(他にもバターワース、ベッセル、チェビシェフなどが 用いられてきた)。これらの関数の違いは、肩特性(信号が落ち始める部分)のリッ プルと位相特性の違いなのだが、関数の違いは相当に異なる印象の音になってしまう。 audacityのフィルター関数は明確には判断できていないが、リンクワイツライリーでは ないことだけは確かだ。また、フィルタ長を自在に可変できてしまうので、復元性を論 じてもあまり意味は無いかもしれない。が、正しく要求すれば、実用に耐える、「分離」 と「再現」ができる。またaudacityのイコライゼーション(ver,1.3.x)位相回転を全く 伴わない性質があるため、「再現性が高い」と言える。 EQ1I) B6)で同じソースが2本ある状態なので、その続きで記述する。  上記と同じように上り階段1段分をEQ設定し、「HPFxxxx」名で保存し、下段のトラッ  クに適用。 EQ2I)先の上り階段の逆、つまり下り階段1段分(相補関係)のイコライゼーションを設  定し「LPFxxxx」名で保し、上段のトラックに適用。 *このような相補関係のフィルタ・カーブを設定するには、数値入力が圧倒的に有利。 *数値入力したときに正しく階段状にならない場合は、「イコライゼーション」の項の 「数値入力の方法」を参照。 *これで上段がウインドノイズ無しのトラック、下段がウインドノイズのトラックに なったわけだ。この二つのトラックは相補の関係(=足し合わせると元の状態)になっ ていてほしい。弱気な記述なのは、厳密にはそうならないからであるが、「ほぼ元通 り」にはなっているだろう。 **フィルタ長は1000以上〜最大を推奨。 **フィルタ長は必ず同じに設定しておく必要がある。 EQ3I)この2つのトラックを再生し、ヒアリングしながら、トラックゲイン調整を行い、  最適化する。 EQ4I)最適なバランスになったら、全選択(Ctrl+A)し「ミックスして合成」かファイル  出力する。 ウインド・ノイズの低減についてここまで記述したが、その他のノイズに対しても、 「ノイズの除去」の奥の手として有効だ。 特定の帯域にのみ現れるノイズ(電源起因、クロック干渉、ハウリング、ビデオの水平 同期信号など)に対しては、それぞれの帯域を調べ、有効なノッチフィルタ凹を設定す ることで改善を図れるが、audacityのイコライゼーションで設定できるノッチフィルタ は帯域幅、数ヘルツ、減衰量-120dBを容易に実現できる。また、一回の処理で不十分な 場合は、2度3度と繰り返しの使用に耐える。(一回で大幅改善できないときは、おそら くは設定のどこかがマズイことが多いので、点検する)