説明

音声認識装置

【課題】現在の騒音状況に適した入力ゲインを設定することができる「音声認識装置」を提供する。
【解決手段】第1騒音振幅分布検出部11と第2騒音振幅分布検出部12は、音声認識エンジン7が音声認識処理中に発声音声を検出している時間区間である発声音声区間以外の時間区間において、騒音の振幅分布gb(n)を繰り返し算出する。音声振幅分布検出部14は、発声音声区間の発声音声の平均の振幅分布f(n)を算出する。入力ゲイン制御部10は、音声認識処理開始時に、最後に算出された騒音の振幅分布と、発声音声の平均の振幅分布の双方を考慮し、音声認識エンジン7に入力する入力音声データのレンジが、音声認識エンジン7の規格レンジに対して適正なレンジを持つように入力アンプ5の入力ゲインGを制御する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音声認識装置において音声信号の入力ゲインを制御する技術に関するものである。
【背景技術】
【0002】
音声認識装置において音声信号の入力ゲインを制御する技術としては、過去の音声認識の成功率に応じて入力ゲインを調整する技術や(特許文献1)、過去の音声認識において認識対象とした時間区間における音声信号レベルに応じて入力ゲインを設定する技術(特許文献2)が知られている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第2975808号公報
【特許文献2】特許第3594356号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
たとえば、自動車内などの周辺の音響環境が刻々と変化する状況で音声認識装置を使用する場合、音声信号に含まれる騒音レベルも刻々と変化する。
したがって、上述のように、過去の音声認識の成功率や過去の音声区間における音声信号レベルなどの、過去の音声認識実行時の状況にのみ基づいて入力ゲインを調整したのでは、必ずしも、現在の騒音状況に適した入力ゲインを設定することはできない。
そこで、本発明は、音声信号の入力ゲインとして、より現在の騒音状況に適した入力ゲインを設定することができる音声認識装置を提供することを課題とする。
【課題を解決するための手段】
【0005】
前記課題達成のために、本発明は、音声認識を行う音声認識装置を、マイクと、マイクから出力される入力音声信号を増幅する入力アンプと、前記入力アンプで増幅された信号を、入力音声データに変換するAD変換器と、音声認識実行指示に応答して、前記AD変換器の出力する入力音声データを対象とする音声認識処理を行う音声認識エンジンと、騒音レベル検出部と、発話音声レベル検出部と、前記入力アンプのゲインを制御する入力ゲイン制御部とを含めて構成したものである。ここで、前記音声認識エンジンにおいて、前記音声認識処理において、前記入力音声データにユーザの発話音声が含まれる時間区間を発話音声区間として検出すると共に、検出した発話音声区間の入力音声データに含まれる発話音声の内容を識別し、前記騒音レベル検出部は、前記発話音声区間以外の時間区間、または、前記音声認識処理を行っていない時間区間において、前記入力音声信号に含まれる騒音のレベルを、前記入力音声データに基づいて繰り返し算出し、前記発話音声レベル検出部は、前記音声認識処理の各回において検出された各発話音声区間の前記入力音声信号に含まれる発話音声の平均的なレベルを、前記入力音声データに基づいて算出し、前記入力ゲイン制御部は、前記音声認識処理の各回の開始時に、前記騒音レベル検出部によって最後に算出された騒音のレベルと、発話音声レベル検出部によって検出されている発話音声の平均的なレベルとより、当該回の前記音声認識処理で検出される発話音声区間の前記入力音声信号のレベルを推定し、推定した前記入力音声信号のレベルを前記入力アンプで増幅したレベルが、前記音声認識エンジンに適合したレベルとなるように、前記入力アンプのゲインを設定するものである。
【0006】
このような音声認識装置によれば、騒音レベル検出部において騒音のレベルを繰り返し実行し、音声認識処理の開始時に、最後に検出された騒音のレベル、従って、直近の時点における騒音のレベルと、前回以前の音声認識処理実行時の発話音声の平均的なレベルとに基づいて入力音声信号のレベルを推定し、推定した前記入力音声信号のレベルを前記入力アンプで増幅したレベルが、前記音声認識エンジンに適合したレベルとなるように入力アンプのゲインを設定する。
【0007】
そして、直近の時点における騒音のレベルは、現在の騒音状況における騒音のレベルと近似していることが期待できる。よって、このような音声認識装置によれば、音声認識処理の開始時に、より現在の騒音状況に適したゲインを入力アンプに設定することができるようになる。
【0008】
ここで、以上のような音声認識装置は、前記入力ゲイン制御部において、前記音声認識処理が行われていない時間区間中、前記入力アンプのゲインを、前記入力音声信号のレベルが取り得る最大レベルを前記入力アンプで増幅したレベルが、前記AD変換器の入力レンジを越えないように予め定めた所定の値に設定するように構成することも、前記音声認識処理が行われていない時間区間における騒音のレベルの適正な算出を担保する上で好ましい。
【0009】
また、以上の音声認識装置が、オーディオデータが表すオーディオ音を出力するオーディオ機器と共に用いられる場合には、音声認識装置に、前記音声認識処理が行われている期間中、前記オーディオ機器のオーディオ音の出力を抑止する出力抑止部を設け、前記騒音レベル検出部において、前記音声認識処理を行っていない時間区間において、前記入力音声信号に含まれる騒音のレベルを、前記入力音声データと前記オーディオデータとに基づいて算出するようにしてもよい。
【0010】
ここで、以上の音声認識装置は、より具体的には、前記騒音レベル検出部において、前記騒音のレベルとして騒音の振幅分布を算出し、前記発話音声レベル検出部において、前記発話音声の平均的なレベルとして、前記発話音声の平均的な振幅分布を算出し、前記入力ゲイン制御部において、前記入力音声信号のレベルとして、前記入力音声信号の振幅分布を推定するものとしてもよい。
【0011】
また、この場合には、前記入力ゲイン制御部において、前記推定した入力音声信号の振幅分布が示す振幅の分布範囲のダイナミックレンジが、前記音声認識エンジンの入力レンジのダイナミックレンジ以下である場合には、前記推定した入力音声信号の振幅分布が示す振幅の分布範囲の中心の振幅値を前記入力アンプで増幅した後の振幅値が、前記音声認識エンジンの入力レンジの中心の振幅値となるように、前記入力アンプのゲインを設定することが好ましい。
【0012】
また、この場合には、前記入力ゲイン制御部において、前記推定した入力音声信号の振幅分布における振幅の分布範囲のダイナミックレンジが、前記音声認識エンジンの入力レンジのダイナミックレンジを越える場合には、前記推定した入力音声信号の振幅分布における振幅の分布範囲のうちの、前記音声認識エンジンの入力レンジのダイナミックレンジと同じダイナミックレンジとなる範囲部分であって、当該範囲分布内の度数の合計が最大となる部分範囲を選定し、選定した部分範囲を前記入力アンプで増幅した後の範囲が、前記音声認識エンジンの入力レンジと一致するように、前記入力アンプのゲインを設定することが好ましい。
【発明の効果】
【0013】
以上のように、本発明によれば、音声信号の入力ゲインとして、より現在の騒音状況に適した入力ゲインを設定することができる音声認識装置を提供することができる。
【図面の簡単な説明】
【0014】
【図1】本発明の実施形態に係る音声認識システムの構成を示すブロック図である。
【図2】本発明の実施形態に係る音声認識システムの動作を示すタイミングチャートである。
【図3】本発明の実施形態に係る入力ゲイン制御処理を示すフローチャートである。
【図4】本発明の実施形態に係る入力ゲイン制御処理の処理例を示す図である。
【発明を実施するための形態】
【0015】
以下、本発明の実施形態について説明する。
図1に、本実施形態に係る音声認識システムの構成を示す。
図示するように音声認識システムは、図示を省略したオーディオ機器から出力されるオーディオデータをアナログオーディオ信号にDA変換するDA変換器1、オーディオ信号を出力ゲインSpGで増幅する出力アンプ2、オーディオアンプの出力するオーディオ信号が表す音をスピーカ出力音として出力するスピーカ3、マイク4、マイク4でピックアップした音声を表す入力音声信号を入力ゲインGで増幅する入力アンプ5、入力アンプ5で増幅された入力音声信号を入力音声データにデジタル変換するAD変換器6、AD変換器6で変換された入力音声データに対して音声認識処理を実行する音声認識エンジン7、トークスイッチ8、出力アンプ2の出力ゲインSpGを制御する出力ゲイン制御部9、入力アンプ5のゲインGを制御する入力ゲイン制御部10とを備えている。
【0016】
このような構成において、音声認識エンジン7は、ユーザのトークスイッチ8の押し下げが発生すると、音声認識処理を開始する。音声認識処理では、入力音声データに、ユーザの発話音声が含まれる区間である発話音声区間の検出と、発話音声区間中の入力音声データに対する音声認識(ユーザの発話内容の識別)を行う。また、音声認識エンジン7は、ユーザのトークスイッチ8の押し下げ時点から発話音声区間の終了時点までオンとなる音声認識中信号Ronを出力すると共に、音声認識処理の終了後に、音声認識処理中で検出した発話音声区間の時間位置を表す発話音声区間データSonを出力する。
【0017】
そして、出力ゲイン制御部9は、音声認識中信号Ronがオフである期間中は、出力アンプ2の出力ゲインSpGをオーディオ機器から出力されるボリューム信号Volに従って制御し、音声認識中信号Ronがオンである期間中は、出力アンプ2の出力ゲインSpGを0として、スピーカ出力音の発生を抑止する。
【0018】
さて、ここで、マイク4が出力する入力音声信号には、その成分として、スピーカ3から出力されるスピーカ出力音aと、騒音bと、ユーザの発話音声sが含まれる。
そして、入力ゲイン制御部10は、騒音bの振幅分布を算出する第1騒音振幅分布検出部11と、騒音bの振幅分布gb(n)を算出する第2騒音振幅分布検出部12と、騒音bの最新の振幅分布gb(n)を格納する騒音振幅分布レジスタ13と、発話音声sの平均の振幅分布f(n)を検出する音声振幅分布検出部14と、発話音声sの平均の音声振幅分布f(n)を格納する音声振幅分布レジスタ15と、畳込演算器16と、ゲイン制御部17とを備えている。なお、振幅分布Z(n)におけるnは、振幅分布Z(n)が、振幅値(dB)をn個の振幅値の階級に離散化して振幅分布を表したものであることを表している。
【0019】
ここで、第1騒音振幅分布検出部11、第2騒音振幅分布検出部12、音声振幅分布検出部14の振幅分布の算出のタイミングについて図2を用いて説明する。
ここで、図2では、マイク4が出力する入力音声信号をxとして、音声認識エンジン7が出力する発話音声区間データSonで表される発話音声区間をSonDとして示す。
図示するように、トークスイッチ8の押し下げが発生するまでの時間区間中、マイク4が出力する入力音声信号xには、その成分として、スピーカ出力音aと騒音bとが含まれる。
第1騒音振幅分布検出部11は、この入力音声信号xに成分としてスピーカ出力音aと騒音bとが含まれる時間区間である、音声認識中信号Ronがオフである期間を算出実行期間として、算出実行期間中、騒音bの振幅分布gb(n)の算出を行う。ここで、この第1騒音振幅分布検出部11における騒音bの振幅分布gb(n)の算出法の詳細については後述する。
【0020】
次に、トークスイッチ8の押し下げが発生し、音声認識中信号Ronがオンとなると、スピーカ出力音が抑止されるので、音声認識中信号Ronがオンとなってから、音声認識中信号Ronがオフとなるまでの間の、発話音声区間Sonで表される発話音声区間SonD以外の期間中は、マイク4が出力する入力音声信号xには、その成分として、騒音bのみが含まれることとなる。
【0021】
第2騒音振幅分布検出部12は、この入力音声信号xに成分として騒音bのみが含まれる時間区間である、音声認識中信号Ronがオンである期間中の、発話音声区間データSonで表される発話音声区間SonD以外の期間を算出実行期間として、算出実行期間中、騒音bの振幅分布gb(n)の算出を行う。ここで、第2騒音振幅分布検出部12の騒音bの振幅分布gb(n)の算出法の詳細については後述する。
【0022】
次に、発話音声区間SonDは、ユーザが発話を行っている時間区間であるので、マイク4が出力する入力音声信号xには、その成分として、騒音bと発話音声sとが含まれることになる。
音声振幅分布検出部14は、音声認識中信号Ronがオンである期間を算出実行期間とする。そして、入力音声信号xに成分として騒音bのみが含まれる時間区間である、発話音声区間データSonで表される発話音声区間SonD以外の算出実行期間中の時間区間の入力音声信号xと、入力音声信号xに成分として騒音bと発話音声sとが含まれる時間区間である、算出実行期間中の発話音声区間データSonで表される発話音声区間SonD中の入力音声信号xとを用いて発話音声sの平均の振幅分布f(n)の算出を実行する。ここで、この音声振幅分布検出部14における発話音声sの平均の振幅分布f(n)の算出法の詳細については後述する。
【0023】
さて、第1騒音振幅分布検出部11と、第2騒音分布検出部は、前述した算出実行期間中、一定の単位時間区間の入力音声信号xを用いた振幅分布gb(n)の算出を繰り返し行い、騒音bの振幅分布gb(n)を算出する度に、算出した振幅分布gb(n)によって、騒音振幅分布レジスタ13の内容を更新する。なお、算出実行期間が、前述した単位時間区間に満たない場合、当該算出実行期間中には、振幅分布gb(n)の算出は行われず、騒音振幅分布レジスタ13の内容の更新も行われないこととなる。
【0024】
したがって、騒音振幅分布レジスタ13に格納される騒音bの振幅分布gb(n)は、常に、第1騒音振幅分布検出部11と第2騒音分布検出部で算出された騒音bの振幅分布gb(n)のうちの、最後に算出された最新の騒音bの振幅分布となる。
次に、音声振幅分布検出部14における発話音声sの平均の振幅分布f(n)の算出は、音声認識処理の実行の度に行われ、音声振幅分布検出部14は、発話音声sの平均の振幅分布f(n)の算出の度に、算出した振幅分布f(n)で音声振幅分布レジスタ15の内容を更新する。したがって、音声認識処理の実行開始時に、音声振幅レジスタには、前回の音声認識処理の実行時に算出された発話音声sの平均の振幅分布f(n)が格納されていることになる。
【0025】
次に、畳込演算器16は、騒音振幅分布レジスタ13に格納されている騒音bの振幅分布gb(n)と、音声振幅レジスタに格納されている発話音声sの平均の振幅分布f(n)との畳み込み演算を式1に従って行い、マイク4からの入力音声信号の振幅分布h(n)を算出する。なお、式1中において、Smaxは発話音声sの最大値の階級の番号、Bmaxは騒音bの最大値の階級の番号である。
【0026】
【数1】

【0027】
次に、入力ゲイン制御部10は、図3に示す入力ゲイン制御処理によって、入力アンプ5の入力ゲインG(dB)を制御する。
いま、音声認識エンジン7で適正に処理可能な入力音声データのレンジを規格レンジRとして、規格レンジがRminからRmaxまでの範囲であるものとする。また、規格レンジのダイナミックレンジRmax/Rminを、音声認識エンジン7のダイナミックレンジの規格値Dと呼ぶこととする。
【0028】
さて、図3に示すように、入力ゲイン制御処理では、まず、入力アンプ5の入力ゲインGを予め定めた最小ゲインGminに設定し(ステップ302)、音声認識エンジン7から出力される音声認識中信号Ronが1となって音声認識処理が開始されるのを待つ(ステップ304)。
次に、音声認識中信号Ronがオンとなって音声認識処理が開始されたならば(ステップ304)、畳込演算器16から出力されているマイク4からの入力音声信号の振幅分布h(n)が示す振幅分布の最大値(度数が存在する振幅の最大値)をHmax、振幅分布h(n)が示す振幅分布の最小値(度数が存在する振幅の最小値)をHminとして(ステップ306)、振幅分布h(n)が表すマイク4からの入力音声信号のダイナミックレンジHmax/Hminが、音声認識エンジン7のダイナミックレンジの規格値D以下であるかどうかを調べる(ステップ308)。
【0029】
そして、入力音声信号のダイナミックレンジHmax/Hminが、音声認識エンジン7のダイナミックレンジの規格値D以下であれば(ステップ308)、入力音声信号のレンジの中心Hmid=(Hmax+Hmin)/2と、音声認識エンジン7の入力音声データの規格レンジの中心Rmid=(Rmax+Rmin)/2とを求める(ステップ310)。
【0030】
また、次に、入力アンプ5の入力ゲインGを、Rmid/Hmidに設定する(ステップ312)。
この結果、音声認識エンジン7の規格レンジのダイナミックレンジが、入力音声データのダイナミックレンジ以上である場合には、次のように入力アンプ5の入力ゲインGが設定されることになる。
すなわち、いま、図4a1に示すように、振幅分布h(n)の中心Hmidが、音声認識エンジン7の規格レンジRの中心Rmidからずれた位置にあるものとする。ここで、振幅分布h(n)は、振幅分布h(n)と等しい振幅分布を持つ入力音声信号を、入力アンプ5で入力音声信号を増幅せずにAD変換した場合に音声認識エンジン7に入力する入力音声データの振幅分布に一致する。
【0031】
そして、このような場合に、ステップ312の入力ゲインGの設定によれば、図4a2に示すように、振幅分布h(n)と等しい振幅分布を持つ入力音声信号を、ステップ312で設定した入力ゲインGで増幅してAD変換した入力音声データの振幅分布hin(n)、すなわち、ステップ312で入力ゲインGを上述のように設定した場合の音声認識エンジン7に入力する入力音声データの振幅分布hin(n)は、その中心が、音声認識エンジン7の規格レンジRの中心Rmidに一致したものとなる。また、音声認識処理時に実際にマイク4がピックアップした入力音声信号は、振幅分布h(n)と近似した振幅分布を持つことが期待できる。
【0032】
よって、このような入力ゲインGの設定によれば、音声認識エンジン7に入力する入力音声データの振幅分布hin(n)の全体が、音声認識エンジン7の規格レンジR内の、規格レンジRの中央部分に収まるようになる。ここで、一般的に、音声認識エンジン7は、音声認識エンジン7の規格レンジR内の中央部分に振幅分布を持つ入力音声データに対して精度良く音声認識を行うことができる。
【0033】
さて、図3に戻り、ステップ312で入力ゲインGを設定したならば音声認識エンジン7から出力される音声認識中信号Ronがオフとなって音声認識処理が終了するのを待って(ステップ314)、ステップ302からの処理に戻る。
一方、力音声信号のダイナミックレンジHmax/Hminが、音声認識エンジン7のダイナミックレンジの規格値Dを越えていれば(ステップ308)、ダイナミックレンジMD=Mmax/Mminが音声認識エンジン7の規格レンジDと等しくなるレンジであって、かつ、入力音声信号の振幅分布h(n)上で当該レンジ中に含まれる度数(当該レンジ中に含まれる振幅値の出現頻度の総数)が最大となるレンジMを算出する(ステップ316)。但し、MminはレンジMの最小値、MmaxはレンジMの最大値を表す。
【0034】
また、次に、入力アンプ5の入力ゲインGを、Rmin/Mminに設定する(ステップ318)。
この結果、音声認識エンジン7の規格レンジのダイナミックレンジが、入力音声データのダイナミックレンジ未満である場合には、次のように入力アンプ5の入力ゲインGが設定されることになる。
すなわち、いま、図4b1に示すように、振幅分布h(n)が、音声認識エンジン7の規格レンジR内にその端部分が含まれるように存在しているものとする。ここで、振幅分布h(n)は、振幅分布h(n)と等しい振幅分布を持つ入力音声信号を、入力アンプ5で入力音声信号を増幅せずにAD変換した場合に音声認識エンジン7に入力する入力音声データの振幅分布に一致する。
【0035】
そして、このような場合に、ステップ318の入力ゲインGの設定によれば、図4b2に示すように、振幅分布h(n)と等しい振幅分布を持つ入力音声信号を、ステップ318で設定した入力ゲインGで増幅してAD変換した入力音声データの振幅分布hin(n)、すなわち、ステップ318で上述のように入力ゲインGを設定した場合の音声認識エンジン7に入力する入力音声データの振幅分布hin(n)は、音声認識エンジン7の規格レンジR内の振幅値の度数(出現確率)が最大になるものとなる。また、音声認識処理時に実際にマイク4がピックアップした入力音声信号は、振幅分布h(n)と近似した振幅分布を持つことが期待できる。
【0036】
よって、このような入力ゲインGの設定によれば、音声認識エンジン7に入力する入力音声データは、度数(出現確率)の大きい振幅値の範囲、すなわち、主要と思われる振幅値の範囲が、音声認識エンジン7の規格レンジR内に収まるようになり、これにより、音声認識エンジン7で良好に音声認識を行えるようになる。
【0037】
さて、図3に戻り、ステップ318で入力ゲインGを設定したならば、音声認識エンジン7から出力される音声認識中信号Ronがオフとなって音声認識処理が終了するのを待って(ステップ314)、ステップ302からの処理に戻る。
以上、入力ゲイン制御処理について説明した。
なお、以上の、ステップ302で入力ゲインGを最小ゲインGminに設定するのは、音声認識処理が行われていない期間中に、入力アンプ5の増幅によって入力音声信号が飽和してしまって、当該期間中に騒音振幅分布gb(n)を算出する第1騒音振幅分布検出部11において適正に騒音振幅分布gb(n)を算出できなくなってしまうことを抑制するためである。また、最小ゲインGminは、たとえば、マイク4で歪まずにピックアップ可能な最大の大きさの音声が、入力音声データとして表現可能な最大値に、AD変換器6で変換されることとなる値とする。
【0038】
次に、上述した音声振幅分布検出部14の発話音声sの平均の振幅分布f(n)の算出法、第1騒音振幅分布検出部11の騒音bの振幅分布gb(n)の算出法、第2騒音振幅分布検出部12の騒音bの振幅分布gb(n)の算出法について説明する。
まず、音声振幅分布検出部14の発話音声sの平均の振幅分布f(n)の算出法について説明する。
発声された発話音声sの振幅分布f(s)は、スーパーガウス分布となることが知られており、発話音声sの振幅分布がスーパーガウス分布となると仮定すると、式2によって、発話音声sの振幅分布は表すことができる。
【0039】
【数2】

【0040】
ここで、式2中のα、βは、発話音声sの平均μsと分散σsと、式3の関係を持つ。
【0041】
【数3】

【0042】
また、平均μsと分散σsは、発話音声sのパワー(二乗平均)Psと式4の関係を持つ。
【0043】
【数4】

【0044】
よって、式2中のα、βと発話音声sのパワーPsとの関係は式5で表すことができる。
【0045】
【数5】

【0046】
ここで、発声された発話音声sの振幅分布のピークは0付近に現れ、この場合、下記参考文献などに示されているようにαはほぼ1とすることができる。
参考文献:T.Lotter and P.Vary, “Noise reduction by joint maximum a posteriori spectral amplitude and phase estimation with super-gaussian speech modeling",Proc. EUSIPCO-04(Vienna,Austria), pp.1447-60,Sep.2004.
そして、α=1とすると、βとパワーPsとの関係は式6で表すことができ、βが求まれば式1の発話音声sの振幅分布f(s)を算出することができる。
【0047】
【数6】

【0048】
そこで、音声振幅分布検出部14は、算出実行期間毎に発話音声sのパワーPseを求め、保存する。ここで、算出実行期間の発話音声sのパワーPseの算出は次のように行う。
すなわち、AD変換器6がAD変換した入力音声データのゲインを、当該入力音声データの生成時に用いた入力アンプ5の入力ゲインGの逆数で表せるゲイン/Gでゲイン調整した入力音声データを対象入力音声データとする。ここで、対象入力音声データは、入力アンプ5で増幅される前の入力音声信号xの値を表すものとなる。
【0049】
そして、音声振幅分布検出部14は、算出実行期間中、対象入力音声データを求めて保存すると共に、保存しておいた対象入力音声データを用いて、以下のように発話音声sのパワーPseを算出し、保存する。
すなわち、算出実行期間中の、発話音声区間データSonで表される発話音声区間以外の期間には、入力音声信号xに成分として騒音bのみが含まれる時間区間となるので、この時間区間の対象入力音声データのパワーをパワーPbとして算出する。また、入力音声信号xに成分として騒音bと発話音声sとが含まれる発話音声区間の対象入力音声データのパワーをパワーPb+sとして算出する。そして、パワーPb+sからパワーPbを減算することにより発話音声sのパワーPseを算出し、保存する。
【0050】
そして、各回の発話音声sのパワーPseの算出と保存が完了時に、それまでに保存された発話音声sのパワーPseの平均を、式6のパワーPsとしてβを求め、求めたβから、発話音声sの振幅分布f(s)を算出する。そして、振幅分布f(s)を離散化し、発話音声sの平均の振幅分布f(n)とする。
【0051】
次に、第1騒音振幅分布検出部11の騒音bの振幅分布gb(n)の算出法について説明する。
まず、第1騒音振幅分布検出部11の算出実行期間中は、入力音声信号xに成分としてスピーカ出力音aと騒音bとが含まれる。
したがって、入力音声信号xの振幅分布gc(n)は、スピーカ出力音aの振幅分布ga(n)と騒音bの振幅分布gb(n)との、式7、8に示す畳み込み演算によって表すことができる。
【0052】
【数7】

【0053】
【数8】

【0054】
なお、式8中において、Amaxはスピーカ出力音aの最大値の階級の番号、Bmaxは騒音bの最大値の階級の番号である。
そして、式9のように、騒音bの振幅分布gb(n)を行列表記したWと、行列表記したスピーカ出力音aの振幅分布ga(n)を定める。
【0055】
【数9】

【0056】
そして、この場合には、式7、8より、式10で示す誤差eの単位時間区間の平均自乗誤差Jを最小とするWが、Wの真値であることが分かる。なお、E[X]は、Xの単位時間区間の平均値を表すものとする。
【0057】
【数10】

【0058】
そして、平均自乗誤差Jを最小とするWは、平均自乗誤差JをWで偏微分した値が0となるWとして、式11のように求まる。
【0059】
【数11】

【0060】
そして、平均自乗誤差Jを最小とするWより騒音bの振幅分布gb(n)が定まることとなる。
そこで、第1騒音振幅分布検出部11は、AD変換器6がAD変換した入力音声データのゲインを、当該入力音声データの生成時に用いた入力アンプ5の入力ゲインGの逆数で表せるゲイン/Gでゲイン調整した入力音声データを対象入力音声データとして、第1騒音振幅分布検出部11は、算出実行期間中、対象入力音声データを求めて保存すると共に、DA変換器1に入力するオーディオデータを保存する。
そして、算出実行期間中、単位時間区間毎に、以下のようにして騒音bの振幅分布gb(n)を、保存した対象入力音声データとオーディオデータを用いて算出する。
すなわち、DA変換器1の入力からマイク4の出力までの伝達関数Hを、出力アンプ2の出力ゲインSpGを参照して算出し、DA変換器1に入力するオーディオデータに算出した伝達関数Hを施したオーディオデータの単位時間区間の振幅分布関数をスピーカ出力音aの振幅分布ga(n)として算出する。伝達関数Hは、たとえば、予め求めておいた、出力アンプ2で増幅を行わなかった場合の、DA変換器1の入力からマイク4の出力までの伝達関数に、出力アンプ2の出力ゲインSpGを乗じることにより求める。または、伝達関数Hは、適応フィルタなどを用いて対象入力音声データとオーディオデータからリアルタイムに求めるようにすることもできる。
【0061】
また、単位時間区間の対象入力音声データの振幅分布を入力音声信号xの振幅分布gc(n)として算出する。
【0062】
そして、単位時間中に以上のように算出した振幅分布ga(n)と振幅分布gc(n)より、式11に従って、騒音bの振幅分布gb(n)を算出する。
次に、第2騒音振幅分布検出部12の騒音bの振幅分布gb(n)の算出法について説明する。
AD変換器6がAD変換した入力音声データのゲインを、当該入力音声データの生成時に用いた入力アンプ5の入力ゲインGの逆数で表せるゲイン/Gでゲイン調整した入力音声データを対象入力音声データとして、第2騒音振幅分布検出部12は、算出実行期間中、対象入力音声データを求めて保存すると共に、保存しておいた対象入力音声データを用いて、単位時間区間毎に、以下のように騒音bの振幅分布gb(n)を算出する。
すなわち、第2騒音振幅分布検出部12の算出実行期間中、入力音声信号xには、成分として騒音bのみが含まれる。そこで、第2騒音振幅分布検出部12は、単位時間区間の対象入力音声データの振幅分布をそのまま騒音bの振幅分布gb(n)として算出する。
【0063】
以上、本発明の実施形態について説明した。
以上のように本実施形態によれば、第1騒音振幅分布検出部11と第2振幅分布検出部によって、発話音声区間以外の時間区間において、騒音の振幅分布gb(n)の算出を繰り返し実行し、音声認識処理の開始時に、最後に検出された騒音の振幅分布gb(n)、すなわち、直近の時点における騒音の振幅分布gb(n)と、前回以前の音声認識処理実行時の発話音声の平均的な振幅分布f(n)とに基づいて入力音声信号の振幅分布h(n)を推定し、推定した前記入力音声信号の振幅分布h(n)を前記入力アンプ5で増幅した振幅分布hin(n)が、前記音声認識エンジン7に適合したレベルとなるように入力アンプ5の入力ゲインGを設定する。
【0064】
そして、直近の時点における騒音の振幅分布gb(n)は、現在の騒音状況における騒音の振幅分布gb(n)と近似していることが期待できる。よって、このような音声認識装置によれば、音声認識処理の開始時に、より現在の騒音状況に適した入力ゲインGを入力アンプ5に設定することができるようになる。
【0065】
ところで、以上の実施形態では、振幅分布に基づいて入力アンプ5の入力ゲインGを設定するようにしたが、これは振幅分布に代えて音声のレベルを表す他の特性値Z(Zは、たとえば、振幅のピーク値の分布や最大振幅値や平均振幅等)に基づいて入力アンプ5の入力ゲインGを設定するようにすることもできる。
【0066】
すなわち、この場合には、第1騒音振幅分布検出部11と第2振幅分布検出部とにおいて、騒音の振幅分布gb(n)に代えて騒音の特性値Zを算出し、音声振幅分布検出部14において発話音声の平均的な特性値Zを算出し、入力ゲイン制御部10において最後に算出された騒音の特性値Zと、発話音声の平均的な特性値Zとに基づいて、入力音声信号の特性値Zを推定し、推定した入力音声信号の特性Zに基づいて、特性値Zとする特性値の種類に応じて予め定めた規則に従って、入力アンプ5の入力ゲインGを、入力音声信号を入力ゲインGで増幅してAD変換した入力音声データの振幅レンジが、音声認識エンジン7の規格レンジRに適合するように設定する。
【符号の説明】
【0067】
1…DA変換器、2…出力アンプ、3…スピーカ、4…マイク、5…入力アンプ、6…AD変換器、7…音声認識エンジン、8…トークスイッチ、9…出力ゲイン制御部、10…入力ゲイン制御部、11…第1騒音振幅分布検出部、12…第2騒音振幅分布検出部、13…騒音振幅分布レジスタ、14…音声振幅分布検出部、15…音声振幅分布レジスタ、16…畳込演算器、17…ゲイン制御部。

【特許請求の範囲】
【請求項1】
音声認識を行う音声認識装置であって、
マイクと、
マイクから出力される入力音声信号を増幅する入力アンプと、
前記入力アンプで増幅された信号を、入力音声データに変換するAD変換器と、
音声認識実行指示に応答して、前記AD変換器の出力する入力音声データを対象とする音声認識処理を行う音声認識エンジンと、
騒音レベル検出部と、
発話音声レベル検出部と、
前記入力アンプのゲインを制御する入力ゲイン制御部とを有し、
前記音声認識エンジンは、前記音声認識処理において、前記入力音声データにユーザの発話音声が含まれる時間区間を発話音声区間として検出すると共に、検出した発話音声区間の入力音声データに含まれる発話音声の内容を識別し、
前記騒音レベル検出部は、前記発話音声区間以外の時間区間、または、前記音声認識処理を行っていない時間区間において、前記入力音声信号に含まれる騒音のレベルを、前記入力音声データに基づいて繰り返し算出し、
前記発話音声レベル検出部は、前記音声認識処理の各回において検出された各発話音声区間の前記入力音声信号に含まれる発話音声の平均的なレベルを、前記入力音声データに基づいて算出し、
前記入力ゲイン制御部は、前記音声認識処理の各回の開始時に、前記騒音レベル検出部によって最後に算出された騒音のレベルと、発話音声レベル検出部によって検出されている発話音声の平均的なレベルとより、当該回の前記音声認識処理で検出される発話音声区間の前記入力音声信号のレベルを推定し、推定した前記入力音声信号のレベルを前記入力アンプで増幅したレベルが、前記音声認識エンジンに適合したレベルとなるように、前記入力アンプのゲインを設定することを特徴とする音声認識装置。
【請求項2】
請求項1記載の音声認識装置であって、
前記入力ゲイン制御部は、前記音声認識処理が行われていない時間区間中、前記入力アンプのゲインを、前記入力音声信号のレベルが取り得る最大レベルを前記入力アンプで増幅したレベルが、前記AD変換器の入力レンジを越えないように予め定めた所定の値に設定することを特徴とする音声認識装置。
【請求項3】
請求項1または2記載の音声認識装置であって、
オーディオデータが表すオーディオ音を出力するオーディオ機器と、
前記音声認識処理が行われている期間中、前記オーディオ機器のオーディオ音の出力を抑止する出力抑止部とを備え、
前記騒音レベル検出部は、前記音声認識処理を行っていない時間区間において、前記入力音声信号に含まれる騒音のレベルを、前記入力音声データと前記オーディオデータとに基づいて算出することを特徴とする音声認識装置。
【請求項4】
請求項1、2または3記載の音声認識装置であって、
前記騒音レベル検出部は、前記騒音のレベルとして騒音の振幅分布を算出し、
前記発話音声レベル検出部は、前記発話音声の平均的なレベルとして、前記発話音声の平均的な振幅分布を算出し、
前記入力ゲイン制御部は、前記入力音声信号のレベルとして、前記入力音声信号の振幅分布を推定することを特徴とする音声認識装置。
【請求項5】
請求項4記載の音声認識装置であって、
前記入力ゲイン制御部は、前記推定した入力音声信号の振幅分布が示す振幅の分布範囲のダイナミックレンジが、前記音声認識エンジンの入力レンジのダイナミックレンジ以下である場合には、前記推定した入力音声信号の振幅分布が示す振幅の分布範囲の中心の振幅値を前記入力アンプで増幅した後の振幅値が、前記音声認識エンジンの入力レンジの中心の振幅値となるように、前記入力アンプのゲインを設定することを特徴とする音声認識装置。
【請求項6】
請求項4または5記載の音声認識装置であって、
前記入力ゲイン制御部は、前記推定した入力音声信号の振幅分布における振幅の分布範囲のダイナミックレンジが、前記音声認識エンジンの入力レンジのダイナミックレンジを越える場合には、前記推定した入力音声信号の振幅分布における振幅の分布範囲のうちの、前記音声認識エンジンの入力レンジのダイナミックレンジと同じダイナミックレンジとなる範囲部分であって、当該範囲分布内の度数の合計が最大となる部分範囲を選定し、選定した部分範囲を前記入力アンプで増幅した後の範囲が、前記音声認識エンジンの入力レンジと一致するように、前記入力アンプのゲインを設定することを特徴とする音声認識装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2012−22127(P2012−22127A)
【公開日】平成24年2月2日(2012.2.2)
【国際特許分類】
【出願番号】特願2010−159600(P2010−159600)
【出願日】平成22年7月14日(2010.7.14)
【出願人】(000101732)アルパイン株式会社 (2,424)
【Fターム(参考)】