「Audacityのノイズ除去を検証してみる」では、AudacityのNoise Reductionが周波数を分析しているのならば、特定の周波数をノイズとした時、その周波数が消えるか?という観点で調べてみました。周波数特性についてもう少し検証してみます。
周波数特性を調べる方法
フィルタの周波数特性を調べる時、ホワイトノイズを入力する方法があります。ホワイトノイズは全帯域の周波数成分を同じレベルで含んでいるので、フィルタを通過した信号で周波数特性が分かります。
ノイズプロファイルの周波数特性を調べる
「Audacityのノイズ除去を検証してみる」の、1kHzの正弦波をノイズとしてプロファイルを取得したNoise Reductionの周波数特性を調べてみます。
1kHzの正弦波をノイズプロファイル
まずは、1kHzの正弦波でノイズプロファイルを取得します。ノイズプロファイルはこちら(Audacityでノイズ除去)
ホワイトノイズをノイズ除去して周波数特性を調べる(Noise Reductionに入力して出力を調べる)
次に、ホワイトノイズをノイズ除去して出力の周波数特性をみます。周波数分析はこちら(Audacityで周波数分析)
- ホワイトノイズを生成します *3
- ホワイトノイズをノイズ除去します (デフォルトパラメータ:ノイズ除去=12dB, 感度=6, 周波数平滑化=3)*4
- ホワイトノイズをノイズ除去した結果をスペクトラム表示で見ます *5
スペクトラム表示
1kHzが約12dB減衰しているのが分かります。
この周波数特性ならば、1kHzの信号が抑圧されるのは良く分かります。
ホワイトノイズは消せるか?(分析しているのは周波数だけか?)
周波数分析でノイズを抑圧するのならば、全帯域の周波数成分を含むホワイトノイズは除去しにくいのではないか?
- ホワイトノイズをノイズプロファイルする
- ホワイトノイズ+音声のをノイズ除去すると?
ノイズレベル大:約-40dB
Audacityのノイズ生成で、振幅を0.3として生成したホワイトノイズと音声を合成して、Noise Reductionで処理してみます。
⇦ ホワイトノイズ(大)
⇦ 音声
⇦ ホワイトノイズ + 音声*6
ノイズ除去=12dB(感度=6, 周波数平滑化=3)
ホワイトノイズ(大) + 音声をノイズ除去した結果です。
この条件では厳しそうです。
スペクトラム表示で周波数特性をみます。
ノイズ除去前
276Hz位の帯域に音声信号のピークがあります約-29dB。低域と高域のノイズは約-40dB。
ノイズ除去後
音声信号のピークが-34dB、低域と高域のノイズは約-52dB
一般に、電話回線などの音声帯域は300Hz~3.4kHzと言われていますが、使用した音声では276Hz位にピークがありますので、音声帯域として276Hz、ノイズ帯域として低域100Hz、高域5kHzを比較してみます。
ノイズ帯域がパラメータで指定した12dB抑圧されますが、音声帯域も約5dB抑圧されています。S/Nも悪いですが、ノイズプロファイルが周波数で分析しているとすると仕方がないと言えるでしょう。
ノイズレベル大、ノイズ除去=12dB | ノイズ除去前 | ノイズ除去後 | 抑圧量 | 備考 |
---|---|---|---|---|
音声帯域のピーク 約276Hz | -29dB | -34dB | 5dB | 音声帯域も減衰 |
ノイズ帯域の低域 100Hz | -40dB | -52dB | 12dB | パラメータで指定した12dB |
ノイズ帯域の高域 5kHz | -40dB | -52dB | 12dB | パラメータで指定した12dB |
ノイズ除去=18dB(感度=6, 周波数平滑化=3)
パラメータでノイズ除去を大きくすると、さらに音声帯域に影響します。
ノイズレベル大、ノイズ除去=18dB | ノイズ除去前 | ノイズ除去後 | 抑圧量 | 備考 |
---|---|---|---|---|
音声帯域のピーク 約276Hz | -29dB | -36dB | 7dB | 音声帯域も減衰 |
ノイズ帯域の低域 100Hz | -40dB | -58dB | 18dB | パラメータで指定した18dB |
ノイズ帯域の高域 5kHz | -40dB | -58dB | 18dB | パラメータで指定した18dB |
ノイズレベル小:約-49dB
S/N をもう少し良くして(ノイズレベルを小さくして)やってみます(振幅を0.1)。
⇦ ホワイトノイズ(小)
⇦ 音声
⇦ ホワイトノイズ + 音声
ノイズ除去=12dB(感度=6, 周波数平滑化=3)
ホワイトノイズ(小) + 音声をノイズ除去した結果です。
これならばノイズ除去の効果があったと言えるでしょう。
音声帯域の減衰量は約2dBです。
ノイズレベル小、ノイズ除去=12dB | ノイズ除去前 | ノイズ除去後 | 抑圧量 | 備考 |
---|---|---|---|---|
音声帯域のピーク 約276Hz | -29dB | -31dB | 2dB | 音声帯域も減衰 |
ノイズ帯域の低域 100Hz | -49dB | -61dB | 12dB | パラメータで指定した12dB |
ノイズ帯域の高域 5kHz | -48dB | -60dB | 12dB | パラメータで指定した12dB |
ノイズ除去=18dB(感度=6, 周波数平滑化=3)
パラメータを大きくすると、やはり音声帯域に影響します。
ノイズレベル小、ノイズ除去=18dB | ノイズ除去前 | ノイズ除去後 | 抑圧量 | 備考 |
---|---|---|---|---|
音声帯域のピーク 約276Hz | -29dB | -33dB | 4dB | 音声帯域も減衰 |
ノイズ帯域の低域 100Hz | -49dB | -67dB | 18dB | パラメータで指定した18dB |
ノイズ帯域の高域 5kHz | -48dB | -66dB | 18dB | パラメータで指定した18dB |
ノイズプロファイルでは何をしている?
特定の周波数をノイズとした時ノイズ抑圧の効果は良好でした。一方ホワイトノイズを除去した場合は、音声帯域にもノイズ抑圧の影響が出ます。 ちなみに上記の、ノイズ(小)のプロファイルで、ノイズ(大)の音源(ノイズ+音声)をノイズ除去すると抑圧量がかなり減りました。 Audacityのノイズ除去のノイズプロファイルでは、ノイズの周波数特性とレベルも分析しているようです。