Warning: call_user_func_array() [function.call-user-func-array]: First argument is expected to be a valid callback, 'plugin__convert' was given in /virtual/static/public_html/pukiwiki/lib/plugin.php on line 96
ノイズを取る - StaticBC-Wiki

ノイズを取る &aname(m350780e,super,full)\{†};

ここでの作業は、大きな音量で聞いたときに分かるノイズを抑える、というものです。

人類史上に録音技術が誕生したときからずっと、ノイズを除去する努力が続けられてきました。多くのテクニックが編み出されてきましたが、まだ完全ではありません。

というわけで、元の声を劣化させずにノイズを完全に取り除くことは難しいので、どの程度の努力をするのかは編集時間と根気との相談です。

ノイズを抑える方法は次のような感じです。

  • ノイズ部分を切り捨てる
  • イコライザで補正
  • ノイズゲート処理を行う
  • ノイズを解析し、元データから引く

これらは順番に行うのではなく、複数を組み合わせて良い組み合わせを試してゆきます。

何度も書きますが、基本的にノイズを完全に取り除くことは出来ません。入ってしまったノイズを取るために悪戦苦闘するよりも、ノイズが入らないように録音することのほうが大切です。*1

たとえば、マイクがごそごそ言うようなノイズがセリフにかぶっている場合は、ごそごそ音を取り除こうとしても声の質がノイズ部分だけ極端に変わってしまったりと、ロクなことがありません。

ノイズ部分を切り捨てる &aname(n3959be6,super,full)\{†};

ノイズの入った部分を単純に消去する、というものです。テクニック自体は前項の「セリフの間を調整」で用いたものと同じです。 主に録音の前後に入るクリック音を取り除くのに使うのですが、セリフとかぶっていないリップノイズ(口を開けた時の「ペチャ」というような音)を取ることも出来ます。波形の表示を時間軸に対して拡大し、データの1サンプルごとに範囲選択を行うとうまく行きます。

イコライザで補正 &aname(lfe0f211,super,full)\{†};

録音した音声ファイルをWindows Media Player(以下「プレーヤー」と略)で再生してみてください。そのとき、「視覚エフェクト」を[バーとウェーブ]>[海の霧]に切り替えてください。再生に伴って、波のような青い部分が上下しているのが見えるでしょう。

これは「スペクトルアナライザ」(スペアナ)といい、ある瞬間の音を周波数ごとに強さを解析して表示したものです。女性の声のように高音が強いと、(プレーヤーでは)右のほうに高い青波が出て、男性の低い声では左のほうにピークが出ているでしょう。

これを良く見ると、音声が入っていない部分でもわずかに青い波が上下しているのが分かると思います。これがノイズの波形です。

ノイズだけをスペアナで見ると、高音の部分で強く変動していることが分かります。つまり、ノイズは高音域の部分が強く耳につきます。そこから大雑把に、「高音域を抑えてしまえばノイズは目立たないだろう」、という推測が成り立ちます。これが、イコライザによる補正の考え方です。

イコライザとは、音声のうちある周波数の範囲を増減するような装置です。もともとはひとつの機材でしたが、ほとんどの音声編集ソフトではイコライザの機能を持っています。

基本的には、約10kHz以上の高音域を大きく弱め、スペクトルアナライザや耳を使い、ノイズが目立たないようにします。プレーヤーにはイコライザの機能もあるので、ためしに見比べてください。

豆知識として、プレーヤーのようなタイプのイコライザは、どの周波数を増減しているのか目でわかるために「グラフィックイコライザ」と呼ばれます。

イコライザを使って高音域を落とすと、声を不自然にせずに「サー」というノイズ(ヒスノイズ)を目立たなくすることが出来ます。しかし、AMラジオで聞くような、こもった音質になってしまいます。この場合、ノイズと音質のこもり具合との兼ね合いをとってイコライザの効果を決めます。効果を途中で変えてはいけないので、慎重に決めましょう。決まったら、その効果の数値を保存するか紙に控えておいて、編集が終わるまではいつでも再現できるようにします。

イコライザの効果をなぜ途中で変えてはいけないのか。それは、音質の変化のほうがノイズよりも目立つからです。前半は高音域だけを強調し、後半は低音域を強調したものを、聞き比べてみてください。

ちなみに、「ボー」というような低音のノイズは、低音部を削ることで目立たなく出来ます。この場合、潤いのない(軽い)声質になる欠点があります。

なお、ある周波数を削るには「フィルタ」という機能があります。ノイズを抑えるだけの用途なら、イコライザでなくフィルタを使うほうが早いでしょう。

代表的なフィルタには次の種類があります。

Low Pass Filter(LPF)
音声のうちある周波数以下の範囲を通過させる。つまり、低音を残して高音を削る。
High Pass Filter(HPF)
LPFと逆に、ある周波数以上の音を通過させる。
Band Pass Filter(BPF)
ある範囲にある周波数の音を残し、範囲外のものを削る。

フィルタを用いる場合でも、フィルタの効果は全サンプルで同じものにします。

筆者の実例 &aname(j44b6abf,super,full)\{†};

実のところ、2004年度の番組編集ではノイズ除去をほとんど行いませんでした。時間がなかったのと、ノイズ除去による音質の低下を良く思わなかったためです。イコライザやフィルタによる軽減は試したのですが、結局上映用には使いませんでした。なぜなら、高音域を削るとCD音質の特徴である「クリアな音質」、つまり高音域がきちんと再現されるという性質が生かされないと思ったためです。(結果的には無意味な思惑となったのですが・・・。)

なので、ここではSound Engineにおける大体のやり方を書いておきます。

  1. あらかじめスペアナを表示しておきます。[解析]メニューの[ビジュアル使用]をチェックすると、黒い背景に赤い軸のグラフが現れます。これがSound Engineのスペアナです。
  2. [音質]メニューから[イコライザー]の[グラフィックイコライザー]を選びます。すると10個の回転つまみがついたパネルが開きます。
  3. つまみの下には数値とさらに周波数が書かれています。これが、その周波数をどれぐらい増減させるかを表しています。右端はボリュームで、増減させた後に音量を調整できます。
  4. 高音のノイズを抑える場合、8kHzと16kHzの強度を下げます。単位はdB、デシベルと読みます。これをマイナスに振ることで弱めることが出来ます。「白いくぼみ」を左にドラッグして回すか、数値の部分をクリックして(実はテキストボックスになっています)、好きな数値を入力してください。
  5. Previewボタンを押すと、ファイルにイコライザがかかった状態で何度も再生されます。何度も聞いてみて、ちょうど良くなるように数値を調整しましょう。このステップが一番時間をかけるところです。
  6. 数値が決まったら、先に効果を保存します。パネルの上、「ライブラリー」という文字の横にあるコンボボックスの白い部分をクリックし、効果の名前を記入して、さらに横にあるフロッピーディスクのボタンを押します。すると次からは記入した名前の「ライブラリー」を選ぶだけで、先ほど決めた数値を再現できます。
  7. ここで一旦「キャンセル」を押して調整を取り消します。そしていくつか別のファイルを開き、保存しておいたイコライズを”Preview”して音を確認します。ここで気に入らなければ、微調整を行います。
  8. 調整が済んだら、全サンプルについてイコライズを行います。

効果の名前はわかりやすいものにしましょう。筆者の場合は単に「ナレーター補正」として、後で混乱した覚えがあります。どのシナリオでの補正なのか、名前かコメント欄に書いておくと良いでしょう。

ノイズゲート処理を行う &aname(v411f2f5,super,full)\{†};

ノイズゲートとは、ある音量以下の音を小さくする装置です。音量に対するフィルタと言えるでしょう。ノイズの音量は声や楽器の音よりもずっと小さいため、ノイズゲートを通すことでノイズを消すことが出来ます。ただし、ノイズゲートで消せるのは”無音部分”のノイズだけです。声に重なっているノイズは消せません。

多くのノイズゲート装置(およびソフトの機能)には、いくつかのパラメータがあります。

スレッショルド(Threshold)
しきい値。通過・遮断させる(「ゲートを開閉する」という)音量の最小値。
リリース
音量がしきい値を下回ってから完全にゲートを閉じるまでの時間差。
ステレオリンク
片方のチャンネルでノイズゲートが働いたとき、もう片方でノイズゲートを作動させること。また、その度合い。

耳で聞いていると気づきにくいですが、人の声のうちサ行やハ行の音はかなり小さな音です。声にノイズゲートをそのままかけてしまうと、ノイズとともにサ行やハ行の音も消えてしまいます。例えば、「そっか〜」などは「っっか〜」となってしまいます。

サ行やハ行を飛ばさないためには、その部分だけノイズゲートが働かないようにすればうまく行きます。そのため、「リリース」というパラメータがあります。「リリース時間」でノイズゲートをかけるまでに猶予を持たせます。セリフ中の各音は短いため、リリースを不自然に長く取らなくても音を残すことが出来ます。

ノイズゲートはイコライザほど顕著な効果が出ませんが、音質を変えずにノイズを消すことが出来るため、うまく使えば手作業で無音化するよりもずっと早くノイズを消すことが出来ます。

筆者の実例 &aname(ga57fe87,super,full)\{†};

2004年度ではノイズ除去をあまりやらなかったのですが、ノイズゲートはかけました。 ツールにはSound Engineのノイズゲートを使いました。

  1. [音量]メニューから[ノイズゲート]を選びます。
  2. ライブラリから「Super Soft」を選び、スレッショルドを大体-53.5dBにしました。リリースは70.0ms、RMSは150.0とそのままにしました。

スレッショルドはPreviewしてスペアナを見つつ、声がちゃんと残りつつ声の無い部分で無音となる(スペアナにも現れない)ように調整します。ファイル(およびファイル内の一部分)ごとに値が異なることもあります。

RMSとノイズゲート &aname(uf7c1ff2,super,full)\{†};

RMSとはある音(波形)の音量を算出する方法の係数です。音量にはパワーとピークが関係しています。パワーとは力積、つまりグラフで言う波形の面積です。ピークは波形の振幅(最大値)のことです。Sound Engineのノイズゲートでは、RMSを考慮してある音がスレッショルドに達しているかどうかを判定します。

ノイズ一つ一つの波形は針のように鋭くなっています。つまりパワーが無くてピークが強くなっています。なので音声だけを通すには、パワーを優先して音量を算出するように設定すると良いでしょう(RMSを高めにする、Super Softでは既にそうなっています)。

ノイズを解析し、元データから引く &aname(q430a20c,super,full)\{†};

実は、既にノイズを直接引く方法があります。これはコンピュータの発達に従って可能となりました。というのも、この方法は数学によって行われるためです。 もう少し詳しく言うと、元データとノイズのデータにフーリエ変換という計算を行ってそれぞれの関数を求め、「元データの関数」から「ノイズの関数」を引くことでノイズのないデータを作り出します。

この方法では、ノイズはきれいに除去できます。しかしノイズを引き切れなかったり引きすぎると、金属で引っかいたような音が音声に混ざってしまい、かなり音質が悪くなります。 ノイズを引きすぎて音が悪くなるというのは信じにくいことですが、次の図(まだ用意してません)を見ていただければ、引きすぎることによるノイズの発生が分かると思います。

この方法は、効果は抜群だが扱いにくい方法といえるでしょう。それ専用の商用ソフトが出ているほどですから。

筆者の実例 &aname(me827edf,super,full)\{†};

2004年度の解説ものの番組ではこの方法によるノイズ除去を用いました。

使用したのはAudacityの”Noise Removal”というエフェクトです。*2

  1. [File]メニューから[Open]を選び、処理したい音声ファイルを選びます。”Importing WAV (Microsoft) File...”というダイアログが出て、ファイルが読み込まれます。
  2. ノイズを解析します。
    1. 2〜3秒の長さのノイズをマウスのドラッグで選択し、[Effect]メニューから[Noise Removal]を選びます。
    2. Step 1 の”Get Noise Profile”ボタンをクリックするとノイズが解析され、パネルが閉じます。この段階ではStep 2 の部分はクリックできなくなっています。
  3. 音声部分のノイズを引きます。
    1. 声の部分をマウスで選択し、再び[Noise Removal]を選びます。
    2. Step 2 の”Preview”と”Remove Noise”を使用可能になっています。Previewで選択部分の最初5秒間が聞けるので、参考にしつつスライダーで効果を調整します。軽くかける(less側に寄せる)とちょうど良くなることが多いです。
    3. 効果が決まったら”Remove Noise”をクリックし、処理を実行します。
  4. ノイズを引いたら必ずファイル全体を聞き、おかしな所がないか確認しましょう。

ノイズ解析のポイント &aname(n86b7376,super,full)\{†};

厳密にノイズを引くのなら、各サンプル(音声ファイル)ごとに数秒間のノイズを含めて録音し、個々のサンプルごとにノイズ解析と除去を行います。が、編集を行う時間が限られている場合は、声の録音時と同じ条件でノイズだけを長い目に録っておき、それをノイズ解析に用いることで代用できます。*3レコーディングの前後に忘れず録れば良いでしょう。ノイズのサンプルを解析した後は、個々のファイルについてはノイズ解析を飛ばしてノイズを引きます。

ノイズ解析による方法ではどうしても声質が劣化してしまうのですが、多少の工夫はできます。

  • 周期性を見てノイズを選択する(特にノイズサンプルが短いとき)
  • 粒のそろったノイズで解析する

要はきれいなノイズを引くようにする、と言うことです。

ノイズを良く見ると、ノイズがある周期を持って現れていることがあります。これは電源などによるもの(ハムノイズ)です。 フーリエ変換によるノイズ除去は、周期性を持ったノイズであればかなり忠実に引くことができます。(波から波に近いものを引くのは簡単なのです) このため、解析用のノイズをとるときに、ノイズの周期をつぶさないように選択すると、声の劣化を多少は抑えられます。数秒間の長さのノイズを選択する、というのは、ノイズの周期を捉えやすくするためでもあります。

また、乱れたノイズを元にして除去を行うと、乱れた分だけ不必要にノイズを引くことになり、かえってノイズが発生することになります。出来るだけ均等に現れているノイズを引くようにします。

Audacityでは音声の周波数分布を見ることが出来ます。

  • 波形の左側にある、ファイル名のかかれた三角のボタンをクリックすると、波形の表示方法が出ます。
  • 表示を「Spectrum」(スペクトラム)に切りかえると、縦軸を波形のもつ周波数、横軸を音の位置とした分布が出ます。
  • ある周波数での強さはグラフの色で表されます。青→赤→白へと強くなっていきます。

無音部分でもノイズがあれば青く表示されます。無音部分が赤く出ていれば、かなりノイズが混ざっています。 きれいなノイズであれば、大抵は低い周波数で色が強く出ていて、高い部分ではあまり出ていません。逆に乱れたノイズ(スイッチを入れる、録音時に電圧が乱れるなど)なら、高い周波数の部分にも強い(赤い)色が出ます。 ノイズ解析を行うときはスペクトラムを見ながら(文字通り)きれいな部分を選びましょう。

その他のトリック &aname(s0e1e8a4,super,full)\{†};

これは別の大学のプラネ担当者からちょっと聞いた話なのですが、MP3にデコードして復元するという、冗談のような方法があったり無かったり。(笑) 要は、MP3の音響心理解析でノイズが取れるかな? という考えです。


*1 ノイズを取る努力を始めから放棄するのもどうかと思いますが。
*2 というより、ノイズ除去ソフトを探していてAudacityを見つけた。
*3 この辺りの事情は物理の実験と同じですね。

リロード   新規 編集 凍結 差分 添付 複製 改名   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS
Last-modified: Thu, 06 Jan 2005 19:41:18 JST (3486d)