この発明の実施例1に係るハウリングキャンセラ10を備えた音響システム100Aについて、図1、図2を参照して説明する。図1は、音響システムの機能、構成を示すブロック図である。図1に示すように、音響システム100Aは、マイクM1、マイクM2、ハウリングキャンセラ10、加算器3、アンプ4、及びスピーカSを備える。
音響システム100Aは、マイクM1及びマイクM2が収音した音声信号(以下、収音信号と称す。)を加算器3で加算し、アンプ4で増幅して、スピーカSへ出力する。この際、音響システム100Aでは、スピーカSとマイクMとの配置位置の関係や、これらが配置される環境により、スピーカSから放音した音声を再度マイクM1及びマイクM2が収音するという音響帰還系が形成される。このため、音響システム100Aでは、マイクM1及びマイクM2の収音信号に、スピーカSが放音した音声信号(マイクM1及びマイクM2の収音信号を含む。)が含まれるので、マイクM1及びマイクM2の収音信号は、アンプ4にて繰り返し増幅され、状況に応じて特定周波数成分が強められることがある。この結果、当該特定周波数に対するループゲインが1を超えてハウリングが発生する。そこで、この音響システム100Aでは、ハウリングキャンセラ10がハウリング抑制処理を行うことで、このように発生するハウリングを抑制する。
ここで、音響システム100Aには、スピーカが1個、マイクが2個存在するので、2個の音響帰還系L1、音響帰還系L2が生じる。音響帰還系L1は、マイクM1、ハウリングキャンセラ10、加算器3、アンプ4、及びスピーカSを有する。音響帰還系L2は、マイクM2、ハウリングキャンセラ10、加算器3、アンプ4、及びスピーカSを有する。
マイクM1及びマイクM2は、それぞれ収音信号をハウリングキャンセラ10へ出力する。
ハウリングキャンセラ10は、ハウリング検出部1A、ハウリング検出部1B及びハウリング判定部2を備え、音響帰還系L1及び音響帰還系L2に発生しているハウリングを抑制する。ハウリングキャンセラ10のハウリング検出部1Aには、マイクM1からの収音信号が入力され、ハウリング検出部1Bには、マイクM2からの収音信号が入力される。なお、ハウリング検出部1Aとハウリング検出部1Bとは、同じ機能、構成からなるため、ハウリング検出部1として説明する。
ハウリング検出部1は、FFT処理部11、ハウリング可能性検出部12、及びノッチフィルタ13を備える。収音信号は、FFT処理部11とノッチフィルタ13へ入力される。
FFT処理部11は、高速フーリエ変換処理回路であり、時間領域の関数である収音信号を周波数領域の関数である収音信号へ変換して、ハウリング可能性検出部12へ出力する。
ハウリング可能性検出部12は、例えば、周波数成分のパワーが所定値以上の場合に、当該周波数にハウリングが発生している可能性があるとして検出する。ハウリング可能性検出部12は、図2に示すようなハウリングが発生している可能性のある周波数成分の情報をハウリング判定部2へ出力する。図2は、横軸を周波数とし、縦軸をパワー値として、ハウリングが発生している可能性のある周波数成分を示す一例である。図2(A)は、マイクM1の収音信号を示し、図2(B)は、マイクM2の収音信号を示す。
ハウリング判定部2は、ハウリング検出部1A、ハウリング検出部1Bの各ハウリング可能性検出部12から入力された周波数成分をそれぞれ比較して、最大パワーの周波数成分(図2におけるマイクM1のf1、f4の周波数成分、及びマイクM2のf2、f3の周波数成分)を周波数毎に判定する。この最大パワーの周波数成分がハウリングとなる周波数成分に該当すると判断し、ハウリング判定部2は、ハウリング検出部1A、ハウリング検出部1Bの各ノッチフィルタ13に当該最大パワーの周波数成分を抑制するよう個別に設定する。
ノッチフィルタ13は、例えば、適応型IIRフィルタであり、狭帯域の周波数成分のゲインを急激に下げることで、当該周波数成分を抑制する。ノッチフィルタ13は、収音信号から最大パワーの周波数成分(ハウリングが発生している周波数成分)を抑制した音声信号を加算器3へ出力する。例えば、図2の例であれば、ハウリング検出部1Aのノッチフィルタ13は、f1、f4の周波数成分を減衰させて、f2、f3の周波数成分は減衰させないで、音声信号を加算器3へ出力する。ハウリング検出部1Bのノッチフィルタ13は、f2、f3の周波数成分を減衰させて、f1、f4の周波数成分は減衰させないで、音声信号を加算器3へ出力する。
加算器3は、入力された音声信号を加算して、アンプ4へ出力する。すなわち、加算器3は、マイクM1の収音信号からハウリングとなる周波数成分を抑制した音声信号と、マイクM2の収音信号からハウリングとなる周波数成分を抑制した音声信号と、を加算する。
アンプ4は、加算器3から入力された音声信号を増幅して、スピーカSへ出力する。
スピーカSは、入力された音声信号に基づいて、音声を放音する。
以上より、ハウリングキャンセラ10は、マイクの収音信号毎にハウリングが発生している周波数を特定することができるため、マイクの収音信号毎にハウリングが発生している周波数成分のみを抑制することができる。すなわち、ハウリングキャンセラ10は、他のマイクの収音信号でハウリングが発生している周波数に対しては、ハウリングが発生していないマイクの収音信号の周波数成分を誤って抑制することがない。この結果、ハウリングキャンセラ10は、収音信号の周波数成分を必要以上に抑制してしまうことがなく、出力する音声信号を劣化させることが少ない。
更に、音響システム100Aは、図3に示すように、上述のハウリング抑制処理を繰り返し、実行する。図3は、ハウリング抑制処理の流れを示すフローチャートである。
図3に示すように、マイクM1は、周囲の音声を収音して収音信号を生成して、ハウリングキャンセラ10のハウリング検出部1AのFFT処理部11、及びノッチフィルタ13へ出力する。また、マイクM2は、周囲の音声を収音して収音信号を生成して、ハウリング検出部1BのFFT処理部11、及びノッチフィルタ13へ出力する(S101)。
ハウリング検出部1A及びハウリング検出部1Bの各FFT処理部11は、それぞれ入力された収音信号を周波数スペクトルに変換して、それぞれハウリング可能性検出部12へ出力する(S102)。
ハウリング検出部1A及びハウリング検出部1Bの各ハウリング可能性検出部12は、それぞれ周波数スペクトルの中から、所定値以上のパワーを持つ周波数成分にハウリングとなる可能性があると検出して、ハウリング判定部2へ出力する(S103)。
ハウリング判定部2は、ハウリング検出部1A及びハウリング検出部1Bの各ハウリング可能性検出部12から入力された周波数成分をそれぞれ比較して、最大パワーの周波数成分を周波数毎に判定する(S104)。
ハウリング判定部2は、ハウリング検出部1A及びハウリング検出部1Bの各ノッチフィルタ13に、当該最大パワーの周波数成分を抑制するように個別に設定する(S105)。
ハウリング検出部1A及びハウリング検出部1Bの各ノッチフィルタ13は、それぞれマイクM1及びマイクM2から入力された収音信号から、最大パワーを持つ周波数成分を抑制した音声信号を加算器3で加算する。加算後の音声信号は、アンプ4で増幅され、スピーカSへ出力される(S106)。そして、S101の処理へ戻り、順次処理が繰り返される。
以上のように、ハウリングキャンセラ10は、繰り返しハウリング抑制処理を行うことで、1度のハウリング抑制処理では、抑制されなかった周波数成分も抑制することができる。したがって、ハウリングキャンセラ10は、音響システム100Aに発生しているハウリングを正確、確実に抑制することができる。
例えば、図2の周波数f1の成分のハウリングが音響帰還系L1のみに起因して発生するものではなく、音響帰還系L2にも起因する場合、上述の処理で、音響帰還系L1の周波数f1の成分のハウリング抑制を行っても、音響帰還系L2の周波数f1の成分は残る。しかしながら、繰り返しハウリング抑制処理を実行することで、抑制できなかった音響帰還系L2の周波数f1の成分もハウリングを検出でき、ハウリングを抑制することができる。
なお、マイクの台数は、2台に限らず複数台であればよい。この場合、音響システム100Aでは、マイクの台数分だけ音響帰還系が形成されるので、ハウリングキャンセラ10は、音響帰還系の数だけハウリング検出部1を備えればよい。
実施例2では、2台のスピーカと2台のマイクとを備えた音響システム100Bにハウリングキャンセラ10を適用する。この場合について、図4を参照して説明する。図4は、実施例2に係る音響システムの機能、構成を示すブロック図である。図4に示すように、音響システム100Bは、マイクM1、マイクM2、ハウリングキャンセラ10、加算器3A、加算器3B、アンプ4A、アンプ4B、スピーカS1、及びスピーカS2を備える。
図4の音響システム100Bは、マイクM1及びマイクM2の収音信号を、加算器3A、加算器3Bで加算し、加算器3Aで加算した音声信号をアンプ4Aにて増幅して、加算器3Bで加算した音声信号をアンプ4Bにて増幅する。音響システム100Bは、アンプ4Aで増幅した音声信号をスピーカS1へ出力し、アンプ4Bで増幅した音声信号をスピーカS2へ出力する。この際、音響システム100Bでは、スピーカS1、スピーカS2から放音した音声を再度マイクM1及びマイクM2が収音するという音響帰還系が形成される。
この場合、音響システム100Bでは、マイクM1及びマイクM2の収音信号に、スピーカS1、及びスピーカS2が放音した音声信号(マイクM1及びマイクM2の収音信号を含む。)が含まれるので、マイクM1及びマイクM2の収音信号は、アンプ4A、アンプ4Bにて繰り返し増幅され、状況に応じて特定周波数成分が強められることがある。この結果、当該周波数に対するループゲインが1を超えると、ハウリングが発生する。そこで、この音響システム100Bでは、ハウリングキャンセラ10がハウリング抑制処理を行うことで、このように発生するハウリングを抑制する。
ここで、音響システム100Bには、スピーカが2個、マイクが2個存在するので、現実的には、音響帰還系L11、音響帰還系L12、音響帰還系L21、及び音響帰還系L22が生じる。音響帰還系L11は、マイクM1、ハウリングキャンセラ10、加算器3A、アンプ4A、及びスピーカS1を有する。音響帰還系L12は、マイクM1、ハウリングキャンセラ10、加算器3A、アンプ4A、及びスピーカS2を有する。音響帰還系L21は、マイクM2、ハウリングキャンセラ10、加算器3B、アンプ4B、及びスピーカS1を有する。音響帰還系L22は、マイクM2、ハウリングキャンセラ10、加算器3B、アンプ4B、及びスピーカS2を有する。
マイクM1及びマイクM2の収音信号は、それぞれハウリングキャンセラ10のハウリング検出部1A、ハウリング検出部1Bへ出力される。このマイクM1の収音信号には、スピーカS1からの音声信号(音響帰還系L11を経由した音声信号)と、スピーカS2からの音声信号(音響帰還系L12を経由した音声信号)とが含まれる。マイクM2の収音信号には、スピーカS1からの音声信号(音響帰還系L21を経由した音声信号)と、スピーカS2からの音声信号(音響帰還系L22を経由した音声信号)とが含まれる。
ハウリング検出部1Aは、マイクM1の収音信号の中から、ハウリングが発生している可能性のある周波数成分を検出し、ハウリング検出部1Bは、マイクM2の収音信号の中から、ハウリングが発生している可能性のある周波数成分を検出する。そして、ハウリング判定部2にて、ハウリング検出部1A及びハウリング検出部1Bが検出した周波数成分をそれぞれ比較して、最大パワーの周波数成分を周波数毎に判定する。ハウリング判定部2は、最大パワーの周波数成分を抑制するようハウリング検出部1Aのノッチフィルタ13、及びハウリング検出部1Bの各ノッチフィルタ13に設定する。
このように、複数のスピーカを備える音響システム100Bであっても、ハウリングキャンセラ10は、ハウリングが発生している周波数成分をマイクの収音信号毎に特定することができる。このため、ハウリングキャンセラ10は、ハウリングが発生している周波数成分を含むマイクの収音信号のみを抑制することができる。すなわち、ハウリングキャンセラ10は、ハウリングが発生している周波数成分を含まないと判断したマイクの収音信号から、ハウリングが発生している周波数成分と同じ周波数の周波数成分を抑制することがない。この結果、ハウリングキャンセラ10は、収音信号の周波数成分を必要以上に抑制してしまうことがなく、出力する音声信号を劣化させることが少ない。
更に、上述の実施例1と同様に、ハウリング抑制処理を繰り返し実行することで、より正確かつ確実にハウリングを抑制することができる。
なお、マイクの台数及びスピーカの台数は、2台に限らず複数台であればよい。この場合、ハウリングキャンセラ10は、マイクの台数分だけハウリング検出部1を備えればよい。