【実施例1】
【0017】
図1は、本発明の実施例1に係る音響信号処理装置の機能ブロック図である。この実施例では、利用者の音声を認識してサービスを提供するロボットに適用される音響信号処理装置について説明する。ここでの、システム音声とは、ロボットが発した音声をいう。
【0018】
(構成)
スピーカ1は、システム音声の信号x(t)を拡声出力する。マイク2は、利用者の音声などを音声信号m(t)として入力するためのマイクロホンである。エコー3は、スピーカ1から拡声出力されたシステム音声のエコーを示す。
【0019】
エコーの伝搬経路Hは、システム音声のエコー3がマイク2に届く伝搬経路(エコーパス)を示す。ここで、tは音声信号のサンプリング周期における時刻を表すインデックスである。
【0020】
第1の周波数分解部4は、システム音声の時間領域の音声信号x(t)をFFT(Fast Fourier Transform)処理によって、周波数領域のスペクトルデータx(ω,f)に変換する。すなわち、周波数分解部4は、スピーカ1から出力される前の音声信号x(t)を第1のスペクトルデータx(ω,f)に変換する第1の変換部といえる。
【0021】
ここで、ωはFFT出力の周波数ビン番号を表すインデックスである。FFT処理では、所定サンプル数(フレーム長FL)の解析窓を所定サンプル数(フレームシフト量FS)ずつずらしながら、解析窓内の時間領域信号を周波数領域のスペクトルデータに変換する。これがFFTの処理単位(フレーム)である。fはFFTの処理単位で数えた時刻(フレーム番号)を表すインデックスである。時刻fに複素数として得られた第1のスペクトルデータx(ω,f)は実部のスカラ値と虚部のスカラ値から成る2次元のベクトルデータである。そのベクトルの長さと向きがωで表される周波数成分の振幅と位相を表している。
【0022】
同様に、マイク2から入力された音声信号m(t)も、第2の周波数分解部5によって周波数領域のスペクトルデータm(ω,f)に変換される。すなわち、周波数分解部5は、マイク2から入力された音声信号m(t)を第2のスペクトルデータm(ω,f)に変換する第2の変換部といえる。
【0023】
図2は、本発明の実施例1に係るエコー消去部6の機能ブロック図である。エコー消去部6は、適応フィルタ11と減算器12とからなり、マイク入力である第2のスペクトルデータm(ω,f)と、システム音声である第1のスペクトルデータx(ω,f)とを入力とし、誤差出力e(ω,f)を式(1)から計算することによって、第2のスペクトルデータm(ω,f)からエコー成分を消去する機能ブロックである。ここで、y(ω,f)はエコーレプリカであり、第1のスペクトルデータx(ω,f)にフィルタ係数w(ω,f)を掛けることで計算される。
【数1】
【0024】
式(1)のフィルタ係数w(ω,f)は、式(2)に示す学習同定法(Normalized Least Mean Squaresアルゴリズム)によりエコーパスHの伝達特性を学習する。ここで、*(アスタリスク)は複素共役を表し、μは学習速度を制御するステップサイズである。
【数2】
【0025】
学習同定法(NLMSアルゴリズム)は平均二乗誤差最小化規範の確率勾配アルゴリズムであるため、これを用いたフィルタ係数w(ω,f)の学習は、常に誤差出力e(ω,f)に含まれる第1のスペクトルデータx(ω,f)と相関のある成分のパワーを最小化するフィルタ係数w(ω,f)を求めるように進行する。そのため、第2のスペクトルデータm(ω,f)が利用者音声などのエコー以外の成分を含んでいると、その利用者音声の一部(第1のスペクトルデータx(ω,f)に含まれる周波数成分)までも消し去るようにフィルタを学習させてしまう。
【0026】
しかしながら、このようにして学習される適応フィルタ11は決して正しい値ではないため、エコーの消え残りや利用者音声の歪みの原因となる。それゆえ、第2のスペクトルデータm(ω,f)がエコー以外の音声を含んでいる状況(非エコー音声有り状態)を検出して適応フィルタ11の学習を止めたり弱めたりする制御が必要になる。
【0027】
これを実現するため、エコー消去部6は、ステップサイズμの値を後述するDT(f)が0(非エコー音声無し状態)か1(非エコー音声有り状態)かに応じて制御する。すなわち、μは非エコー音声有り状態には非エコー音声無し状態よりも減じられ、その結果、適応フィルタ11の学習の強さ(学習速度とも言う)はこの間低く抑えられる。つまり、ステップサイズμは、適応フィルタ11の学習の強さを示す係数である。
【0028】
非エコー音声有無判定部9は、エコー消去部6が適応フィルタ11の学習を止めたり弱めたりする制御を行うために、マイク入力にエコー以外の音声(利用者の音声等)が含まれているか否かを判定する機能ブロックである。詳細については後述するが、この判定をより速やかに正しく行うことで、エコー消去部6の性能が向上するという効果を有する。
【0029】
しかしながら、このようなエコー消去部6を用いても、残留エコーが残る場合がある。残留エコーは、例えばエコー消去後の音声を認識する場合に、その精度に悪影響を及ぼす可能性がある。そこで、本実施例では、エコー消去部6の後段に残留エコー抑圧部7を設けることにする。ただし、残留エコーの影響は音声認識処理などの後段処理の要求によって変わるため、残留エコー抑圧部7は本実施例に必須の構成ではない点に留意していただきたい。
【0030】
図1に示す残留エコー抑圧部7は、誤差出力e(ω,f)と第1のスペクトルデータx(ω,f)を入力とし、式(3)に従って誤差出力e(ω,f)に残留するエコー成分を抑圧した音声o2(ω,f)を生成する。
【数3】
【0031】
式(4)に示すように、o1(ω,f)はe(ω,f)の振幅をG倍した音声である。このGは誤差出力e(ω,f)に含まれる残留エコーの大きさの比率を近似した係数である。Gの数値は実験的に求めておく。また、DS(ω,f)は抑圧係数の瞬時値であり、gain(ω,f)は忘却係数により近似的に計算されるDS(ω,f)の移動平均値である。また、gsは抑圧の強さを与えるための係数である。
【数4】
【0032】
図1に示す波形生成部8は、残留エコー抑圧部7による音声o2(ω,f)を逆FFT処理することで時間領域の波形信号O(t)を生成する。このO(t)が本実施例での最終的な出力音声信号である。
【0033】
次に、
図1に示す非エコー音声有無判定部9について説明する。
図3は、本発明の実施例1に係る非エコー音声有無判定部9の機能ブロック図である。非エコー音声有無判定部9は、エコー抑圧部21と、波形生成部22と、判定部23とを備える。
【0034】
エコー抑圧部21は、第2のスペクトルデータm(ω,f)と第1のスペクトルデータx(ω,f)を入力とし、式(5)に従って第2のスペクトルデータm(ω,f)に含まれるエコー成分を抑圧した音声s(ω,f)を求める。
【数5】
【0035】
ここで、式(5)のgain(ω,f)は下記の式(6)で計算される抑圧係数である。
【数6】
【0036】
式(6)のMR(ω,f)はスピーカ1からマイク2までの利得の移動平均値を表し、EL(ω,f)はMR(ω,f)から推定したエコーの大きさである。NL(ω,f)はEL(ω,f)から計算した現在の非エコー音声の大きさであり、gsは抑圧の強さを与えるための係数である。FL(ω,f)はNL(ω,f)の下限値を与える量であり、第2のスペクトルデータm(ω,f)から決定される。以上の結果、現在の非エコー音声の大きさとしてNL(ω,f)をFL(ω,f)でフロアリングしたXX(ω,f)が算出される。そして、gain(ω,f)が第2のスペクトルデータm(ω,f)に対する非エコー音声の大きさXX(ω,f)の比として計算される。
【0037】
式(5)により計算されたs(ω,f)は次段の波形生成部22により時間領域の音声信号s(t)に変換される。
【0038】
続く判定部23では、式(7)に示すように、最新のフレームシフト量分のs(t)の中で振幅絶対値|s(t)|が閾値th2以上となるサンプルの個数Sが計算される。この計算結果Sが閾値th1以上となったとき、当該フレームfは非エコー音声有り状態であると判断され、DT(f)=1が出力される。また、それ以外の場合には、非エコー音声無し状態であるとして、DT(f)=0が出力される。
【数7】
【0039】
このように、第2のスペクトルデータm(ω,f)にエコー抑圧処理を掛けることで、s(ω,f)に含まれるエコーを適応フィルタ11で除去するよりも速く抑圧することができる。
【0040】
また、s(ω,f)を一度時間領域の波形s(t)に変換し、その波形中で閾値th2以上となる振幅値を数えて閾値処理することによって、振幅が大きくても長続きしない抑圧初期のエコーや突発的なエコー以外の雑音に対して頑健にすることができる。
【0041】
このように、非エコー音声有無判定部9内のエコー抑圧部21がエコーを速く抑圧できるのは、式(5)のgain(ω,f)が速やかに求められることによる。gain(ω,f)は実数であるから、エコー抑圧部21は第2のスペクトルデータm(ω,f)の位相を変えずに振幅だけを変える。これは精度的に十分ではないが、非エコー音声の有無を振幅に基づいて判定するには十分である。要するに、エコー抑圧部21は、精度よりも速さに重点を置いて第2のスペクトルデータm(ω,f)に含まれるエコーを抑圧する。これに対し、エコー消去部6は精度に重点を置いて第2のスペクトルデータm(ω,f)に含まれるエコーを消去する手段である。式(1)のy(ω,f)も、w(ω,f)も複素数であるから、エコー消去部6は第2のスペクトルデータm(ω,f)の振幅と位相を制御して高精度のエコー消去を行う。しかしながら、エコーの消えるw(ω,f)が求まるまでには式(2)の計算を数多く繰り返さなければならないので時間を要する。
【0042】
図4は、本発明の実施例1に係る音響信号処理装置の処理の流れを示すフローチャートである。本実施例の音響信号処理装置を起動すると、まず初期化処理ステップS1が実行される。この処理で時刻インデックスtとフレーム番号fが0に初期化される。
【0043】
続くFSサンプル入力処理ステップS2では、m(t)、x(t)の各音声信号がフレームシフト量FSサンプル分だけ入力される。
【0044】
次にFLサンプル蓄積判定処理ステップS3では、これまでに入力されたm(t)、x(t)の各音声信号のサンプル数がFFT解析窓の長さであるフレーム長FL以上か否かを判定する。もし、これまでに入力されたm(t)、x(t)の各音声信号のサンプル数がフレーム長FLに満たない場合は以降のFFT処理を行えないので、図中左(No)に分岐してダミー出力生成処理ステップS9を実行する。一方、そうでない場合は図中下(Yes)に分岐して周波数分解処理ステップS4を実行する。
【0045】
ダミー出力生成処理ステップS9では、例えば出力音声信号O(t)=m(t)として、マイク入力信号をそのまま出力するか、または無音を出力する。
【0046】
周波数分解処理ステップS4は第1の周波数分解部4と第2の周波数分解部5に対応した処理ステップであり、入力されたx(t)、m(t)の各音声信号を第1のスペクトルデータx(ω,f)、第2のスペクトルデータm(ω,f)に変換する。
【0047】
非エコー音声検出処理ステップS5は、非エコー音声有無判定部9に対応した処理ステップであり、式(5)、式(6)、及び、式(7)の計算により、第2のスペクトルデータm(ω,f)と第1のスペクトルデータx(ω,f)からDT(f)の値を決定する。
【0048】
エコー消去処理ステップS6はエコー消去部6に対応した処理ステップであり、式(1)及び式(2)の計算により、e(ω,f)を計算するとともに、DT(f)に基づくステップサイズμの制御によりフィルタ係数w(ω,f)を更新する。
【0049】
残留エコー抑圧処理ステップS7は、残留エコー抑圧部7に対応した処理ステップであり、式(3)及び式(4)の計算により、e(ω,f)から残留エコーを抑圧した音声o2(ω,f)を計算する。
【0050】
出力生成処理ステップS8は、波形生成部8に対応した処理ステップであり、o2(ω,f)から逆FFT処理により出力音声信号O(t)を計算する。なお、ダミー出力生成処理ステップS9と出力生成処理ステップS8を実行すると、処理はFSサンプル入力処理ステップS2に戻る。その際、時刻インデックスtはFSだけ増加され、フレーム番号fは1だけ増加される。
【0051】
図5は、本発明の実施例1に係る音響信号処理装置のハードウェア構成図である。本実施例は、
図1から
図3の機能ブロックによって示される音響信号処理装置や、
図4のフローチャートによって示される音響信号処理方法に限定されない。例えば、コンピュータを
図1の音響信号処理装置として機能させたり、
図4の音響信号処理方法の処理手順を実行させるプログラムとして実施したりすることも可能である。
【0052】
具体的には、本実施例は
図5に示すようにコンピュータを使って実施することが可能である。CPU(Central Processing Unit)103には、RAM(Random Access Memory)104、ROM(Read Only Memory)105、HDD(Hard Disk Drive)106、LAN(Local Area Network)107、マウス/キーボード108及びディスプレイ109が接続される。これらはコンピュータを構成する一般的な要素である。
【0053】
その他ストレージ110は、外部から記憶メディアを介してプログラムやデータをコンピュータに供給するためのドライブ類、具体的には光学ディスクドライブ、磁気ディスクドライブ、CF(Compact Flash)/SD(Secure Digital)カードスロットやUSB(Universal Serial Bus)メモリなどである。
【0054】
マイクロホン101及びスピーカ112は、
図1に示したマイク2及びスピーカ1に対応している。また、マイクロホン113は、後述の実施例2で説明する雑音入力用のマイクに対応している。
【0055】
マイクロホン101及びマイクロホン113によって音波が電気的な信号に変換され、A/D変換器102及びA/D変換器114によってデジタルデータに変換される。A/D変換器102及びA/D変換器114からのデジタルデータは、プログラム命令を実行する過程でCPU103によって処理される。
【0056】
図5に示すコンピュータ装置では、
図4に示した処理ステップを実行する音響信号処理プログラムをHDD106に記憶し、これをRAM104に読み出してCPU103で実行する。その際、利用者音声を含む音声信号m(t)の入力にマイクロホン101とA/D変換器102を使い、システム音声x(t)の拡声出力にD/A変換器111とスピーカ112を使い、さらに、後述の実施例2で説明する雑音信号n(t)の入力にマイクロホン113とA/D変換器114を使う。そして、これらm(t)とx(t)、あるいはm(t)とx(t)とn(t)をCPU103で処理することで出力音声O(t)を生成して出力する。
【0057】
この結果、
図5に示すコンピュータ装置は本実施例に係る音響信号処理装置として機能する。また、このコンピュータ装置は、その他ストレージ110に挿入される記録媒体やLAN107を介して接続される他の装置から音響信号処理プログラムの供給を受けるようにすることが可能である。
【0058】
なお、このコンピュータ装置は、マウス/キーボード108やディスプレイ109を介して、利用者の操作入力を受け付けたり、利用者への情報呈示を行ったりすることも可能である。また、このコンピュータ装置が、音響信号処理装置だけでなく、利用者の音声を認識してサービスを提供するロボットにも適用される場合、マウス/キーボード108など、サービス提供時に不要な要素はコンピュータ装置から取り外し可能である。
【0059】
図6は、本発明の実施例1に係る音響信号処理装置による処理の結果を示す図である。図中(a)のマイク入力信号m(t)は、第2の周波数分解部5により第2のスペクトルデータm(ω,f)に変換される。
【0060】
このマイク入力信号m(t)には利用者音声とシステム音声エコーとが混ざりこんでいる。システム音声x(t)も第1の周波数分解部4により第1のスペクトルデータx(ω,f)に変換される。FFT及び逆FFTにはCooley−Tukey DFT Algorithmを使い、フレーム長FLを512サンプル、フレームシフト量FSを160サンプル、窓掛けにハニング窓を使用して、FFT及び逆FFT実行している。
【0061】
図中(b)は出力音声信号O(t)である。エコー消去部6と残留エコー抑圧部7を経て得られた出力o2(ω,f)は、波形生成部8により時間領域信号O(t)となって出力される。これが本実施例の音響信号処理装置の出力音声である。
【0062】
出力音声O(t)には利用者音声のみが強く残る。このとき、図中(c)に示す非エコー音声有無判定部9の出力DT(f)のグラフも利用者音声の存在する期間で立ち上がっている。
【0063】
図中(d)に示すm(t)/O(t)はERLE(Echo Return Loss Enhancement)と呼ばれる評価量を表している。ERLEは下記の式(8)で定義される量であり、入力パワーに対して出力パワーがどれくらい小さくなったかをdB値で表し、値が大きいほど消去性能が高いことを表す。式中のE[*]はnサンプル毎に平均値を計算することを表す。
【数8】
【0064】
エコー消去性能を求めたい場合、ERLEはシステム音声エコーだけが存在する期間で計算されなければならない。そこで、そのような期間をグラフより3か所選抜して図中のR1、R2、R3とする。これらの期間は全てシステム音声エコーだけが存在する期間である。よって、DT(f)は立ち上がっていない(非エコー音声無し状態を示す)のが正解であり、図中(c)からその通りになっていることがわかる。学習の初期(R1)、中期(R2)、終期(R3)のそれぞれでERLEの平均値を拾い出すと、67.7dB、85.9dB、102.6dBと高い値であることがわかる。
【0065】
(効果)
本実施例によれば、非エコー音声有無判定部9は第2のスペクトルデータm(ω,f)がエコー以外の音声を含んでいる状況(非エコー音声有り状態)を検出して適応フィルタ11の学習を止めたり弱めたりする制御を行うため、マイク入力にエコー以外の音声(利用者の音声等)が含まれているか否かを速やかに正しく判定することができるという効果を有する。
【0066】
非エコー音声有無判定部9内のエコー抑圧部21が、エコー消去部6よりも速くエコー抑圧量を上げられるエコー抑圧処理を実行することによって、適応フィルタ11をその学習初期から速く正しく学習させることができるという高速化、高精度化の効果を有する。これは、特に移動することでエコーの状態が頻繁に変わる移動ロボットに好適である。
【0067】
また、本実施例を利用者と音声で対話するシステムに適用した場合、システムが自分の声を誤って認識してしまうことがなくなるので、無駄な音声認識処理を減らすことができるという省CPU化、クラウドサーバ上の音声認識を使う場合には通信量削減の効果を有する。
【0068】
また、声の小さな利用者のためにマイク感度を上げるなど、システムのスピーカ音量とマイク感度の許容範囲を広げることができるというシステム運用条件拡大の効果を有する。
【0069】
さらに、利用者とシステムが同時にしゃべっても、利用者の声だけを取り出して認識できるので、利用者が自由なタイミングでシステムに話しかけることができるというシステム使用感向上の効果を有する。
【実施例2】
【0070】
実施例2では、環境雑音に対応した音響信号処理装置について説明する。
図7は、本発明の実施例2に係る音響信号処理装置の機能ブロック図である。図中の符号1〜9は実施例1と同じ機能ブロックであるため、説明を省略する。実施例2は、実施例1に機能ブロック31、32、33、34を加えた構成となっている。以下、これら追加された機能ブロックを中心に説明する。
【0071】
マイク31は、マイク2と比べて、スピーカ1並びに利用者からより遠い位置に配置されたマイクロホンである。この配置は、マイク31にシステム音声や利用者音声が微弱にしか受音されないように配慮したものである。この結果、マイク31には専ら周囲の環境雑音が受音され雑音信号n(t)として入力される。雑音信号n(t)は第3の周波数分解部32によって周波数領域データn(ω,f)に変換される。すなわち、第3の周波数分解部32は、雑音信号n(t)を第3のスペクトルデータn(ω,f)に変換する第3の変換部といえる。
【0072】
一方、環境雑音は電車の音など比較的遠距離から到来するので、マイク2の入力信号m(t)にもマイク31と同程度のレベルで混入する。このm(t)に混入した環境雑音はシステム音声x(t)と相関がないので、エコー消去部6と残留エコー抑圧部7の処理によっても消し去ることができない。
【0073】
図7の33は、この環境雑音を抑圧するための環境雑音抑圧部である。環境雑音抑圧部33は、残留エコー抑圧部7の出力o2(ω,f)と雑音データである第3のスペクトルデータn(ω,f)を入力とし、式(9)に従ってo2(ω,f)に含まれる雑音成分を抑圧した音声o3(ω,f)を計算する。
【数9】
【0074】
ここで、式(9)のgain(ω,f)は下記の式(10)で計算される抑圧係数である。これは式(6)からフロアリング処理をなくした計算である。
【数10】
【0075】
図7の34は微小周波数成分抑圧部である。微小周波数成分抑圧部34は、環境雑音抑圧部33の出力o3(ω,f)を入力とし、式(11)に従ってo3(ω,f)に含まれる所定閾値未満の振幅を持つ微小な周波数成分を抑圧した音声o4(ω,f)を計算する。
【数11】
【0076】
ここで、式(11)のgain(ω,f)は下記の式(12)で計算される抑圧係数である。なお、式中の0.01は抑圧効果を与える1.0より小さい非負の値であり、例えば0.0や0.02などの他の数値でも良い。
【数12】
【0077】
本実施例の音声信号処理装置では、波形生成部8は、微小周波数成分抑圧部34の出力音声o4(ω,f)を逆FFT処理することで時間領域の出力信号O(t)を生成する。このO(t)が本実施例の音声信号処理装置の出力音声信号である。
【0078】
図8は、本発明の実施例2に係る音響信号処理装置の処理の流れを示すフローチャートである。本実施例の音響信号処理装置を起動すると、まず初期化処理ステップS21が実行される。この処理で時刻インデックスtとフレーム番号fが0に初期化される。
【0079】
続くFSサンプル入力処理ステップS22では、m(t)、x(t)、n(t)の各音声信号がフレームシフト量FSサンプル分だけ入力される。
【0080】
次にFLサンプル蓄積判定処理ステップS23では、これまでに入力されたm(t)、x(t)、n(t)の各音声信号のサンプル数がFFT解析窓の長さであるフレーム長FL以上か否かを判定する。もし、これまでに入力されたm(t)、X(t)、n(t)の各音声信号のサンプル数がフレーム長FLに満たない場合は以降のFFT処理を行えないので、図中左(No)に分岐してダミー出力生成処理ステップS29を実行する。一方、そうでない場合は図中下(Yes)に分岐して周波数分解処理ステップS24を実行する。
【0081】
ダミー出力生成処理ステップS29では、例えば出力音声信号O(t)=m(t)として、マイクロホン入力信号をそのまま出力するか、あるいは無音を出力する。
【0082】
周波数分解処理ステップS24は第1の周波数分解部4、第2の周波数分解部5、第3の周波数分解部32に対応した処理ステップであり、入力されたx(t)、m(t)、n(t)の各音声信号を第1のスペクトルデータx(ω,f)、第2のスペクトルデータm(ω,f)、第3のスペクトルデータn(ω,f)に変換する。
【0083】
非エコー音声検出処理ステップS25は非エコー音声有無判定部9に対応した処理ステップであり、式(5)、式(6)、及び、式(7)の計算により第2のスペクトルデータm(ω,f)と第1のスペクトルデータx(ω,f)からDT(f)の値を決定する。
【0084】
エコー消去処理ステップS26はエコー消去部6に対応した処理ステップであり、式(1)及び式(2)の計算によりe(ω,f)を計算するとともに、DT(f)に基づくステップサイズμの制御によりフィルタ係数w(ω,f)を更新する。
【0085】
残留エコー抑圧処理ステップS27は残留エコー抑圧部7に対応した処理ステップであり、式(3)及び式(4)の計算により、e(ω,f)から残留エコーを抑圧した音声o2(ω,f)を計算する。
【0086】
環境雑音抑圧処理ステップS30は環境雑音抑圧部33に対応した処理ステップであり、式(9)及び式(10)の計算により、o2(ω,f)から雑音成分を抑圧した音声o3(ω,f)を計算する。
【0087】
微小周波数成分抑圧処理ステップS31は、微小周波数成分抑圧部34に対応した処理ステップであり、式(11)及び式(12)の計算により、o3(ω,f)から微小な周波数成分を抑圧した音声o4(ω,f)を計算する。
【0088】
出力生成処理ステップS28は、波形生成部8に対応した処理ステップであり、o4(ω,f)から逆FFT処理により出力音声信号O(t)を計算する。
【0089】
なお、ダミー出力生成処理ステップS29と出力生成処理ステップS28を実行すると、処理はFSサンプル入力処理ステップS22に戻る。その際、時刻インデックスtはFSだけ増加され、フレーム番号fは1だけ増加される。
【0090】
実施例2に係る音響信号処理装置のハードウェア構成については、
図5で説明した実施例1のハードウェア構成と同様であるため、省略する。
【0091】
図9は、本発明の実施例2に係る音響信号処理装置による処理の結果を示す図である。図中(a)のマイク入力信号m(t)は、第2の周波数分解部5により第2のスペクトルデータm(ω,f)に変換される。この音声には利用者音声とシステム音声エコーと環境雑音とが混ざりこんでいる。システム音声x(t)も第1の周波数分解部4により第1のスペクトルデータx(ω,f)に変換される。また、環境雑音n(t)も第3の周波数分解部32により第3のスペクトルデータn(ω,f)に変換される。実施例2でも、実施例1と同様、Cooley−Tukey DFT Algorithmを使い、フレーム長FLを512サンプル、フレームシフト量FSを160サンプル、窓掛けにハニング窓を使用して、FFT及び逆FFTを実行している。
【0092】
図中(b)は出力音声信号O(t)である。エコー消去部6、残留エコー抑圧部7、環境雑音抑圧部33、微小周波数成分抑圧部34を経て得られた出力音声o4(ω,f)は波形生成部8により時間領域信号O(t)に変換される。これが本実施例の出力音声である。出力音声O(t)には利用者音声のみが強く残る。このとき、図中(c)に示す非エコー音声有無判定部9の出力DT(f)のグラフは環境雑音のため全域で非エコー音声有り状態を示しているが、これは正しい応答である。
【0093】
図中(d)に示すm(t)/O(t)はERLEの値の推移を示している。ただし、ERLEはシステム音声エコーのみが存在する期間で計算すべきであるが、今回は利用者音声がなく、システム音声エコーと環境雑音を合わせた妨害音だけが存在する期間で、これら妨害音に対する消去性能を求める意味で計算した。グラフより、学習の初期(図中R1)、中期(図中R2)、終期(図中R3)の3か所のそれぞれ平均値を拾い出すと、133.5dB、109.4dB、150.0dBと高い値を記録していることがわかる。この消去性能はエコーの消去と抑圧効果に加えて環境雑音と微小周波数成分の抑圧効果を含んだ数値である。
【0094】
(効果)
本実施例によれば、実施例1で説明した効果はもちろん得られ、さらに、周囲が騒がしい場所(例えば、展示会場)でもシステム運用が可能になるというシステム運用条件拡大の効果を有する。
【0095】
以上、本発明の実施例(変形例を含む)について説明してきたが、これらのうち、2つ以上の実施例を組み合わせて実施しても構わない。あるいは、これらのうち、1つの実施例を部分的に実施しても構わない。さらには、これらのうち、2つ以上の実施例を部分的に組み合わせて実施しても構わない。
【0096】
本発明は、上記発明の実施例の説明に何ら限定されるものではない。特許請求の範囲の記載を逸脱せず、当業者が容易に想到できる範囲で種々の変形態様もこの発明に含まれる。例えば、本発明の音声信号処理装置は、他の音声会話機能を有する案内型ロボットのフロントエンド処理としても適用可能である。