5-6. 雑音とカクテルパーティー効果
DSPでは、乱数を用いて、疑似的に雑音(ノイズ)を発生させることができます。
ここでは、等価的に雑音を発生させるDSPプログラムを作成し、それを入力
信号と足し合わせて、雑音の影響による音声信号の聴こえ方の変化を調べます。
【実習 5-7-1】<雑音の発生>
-
雑音を発生させるDSPプログラムを作成してください。
雑音は、無意味な乱数を生成して、それをそのまま出力に送ることにより
発生させることができます。乱数の生成には、DSPの関数rand()を使用する
ことができます。rand()では、引数を(???)のように与えることで、
0〜232-1(= 約43億!)の範囲の乱数を(等確率で?)生成します。
例えばこの乱数の範囲が±1.0に収まるように適当な操作を行うと、±1[V]の雑音を
発生させることができます。
-
発生させた雑音出力波形を、オシロスコープで測定してみましょう。また、
スピーカで音を聴いてみてください。
-
作成したDSPプログラムにおいて、雑音を発生させる部分と、出力する部分の
間に、4-3節や4-4節で実習したディジタルフィルタを挿入して、出力波形や
出力音がどのように変化するかを確かめてみましょう。
【実習 5-7-2】<カクテルパーティー効果>
ここでは、音声と雑音を混ぜて、カクテルパーティー効果を再現してみます。
カクテルパーティー効果とは、カクテルパーティー等の席では、周囲が
かなり騒がしいにも関わらず、自分と話をしている人の言葉(自分が
注意を向けている言葉)は正しく聴き取ることができる、という現象です。
この現象を厳密に解明しようとすると、人間の脳による音声の知覚までをも
問題にしなければなりませんが、ここでは、音声にわざと雑音とまぜてみて、
音声と雑音の大きさの比率と、カクテルパーティー効果の関係を調べて
みましょう。
-
上で作成したDSPプログラムを元にして、入力信号と、内部で発生させた
雑音とを足し合わせて出力するプログラムを作成してください。
-
マイクで音声を入力して、雑音と混ざった出力を聴いてください。
音声信号に対して雑音がどのぐらい大きくなると、音声が聴こえなく
なるでしょうか。