説明

音響信号変換装置、方法、及びプログラム

【課題】
SNR閾値を用いた発話区間検出に関し、話者とマイクロホンの距離が一定ではない環境では、認識性能と誤認識のトレードオフが存在するため、前記SNR閾値の設定が一般に容易ではない。
【解決手段】
音源から発せられる音響信号を電気信号に変換する変換手段と、前記音源からの音響信号が発せられたことを前記電気信号に基づいて検出する音響信号検出手段とを有する音響信号変換装置であって、音響信号を発する音源と当該音響信号を電気信号に変換する変換手段との距離を検出する距離検出手段を有し、前記音源からの音響信号が発せられたことを前記電気信号に基づいて検出する音響信号検出手段の音響信号検出の閾値を前記距離検出手段により検出した距離に応じて変化させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は音響信号変換装置、方法、及びプログラムに関する。音響信号変換装置には、例えば音声認識装置が含まれる。
【背景技術】
【0002】
音響信号が所定の音源から発せられたことを検出する技術において、処理において何らかの閾値を用いるものがある。例えば、音響信号に基づき話者の発話区間を検出する発話区間検出の技術において、SNR(Signal to Noise Ratio:SN比)の閾値を用いる従来技術がある(特許文献1)。従来技術では、予め1つのSNR閾値をユーザからの入力に基づき設定しておく。そして、受付手段が受付けた音響信号に基づき算出したSNRが、前記SNR閾値以上であるか否かに従って、音響信号から発話区間を検出する。
【特許文献1】特表2007-501444
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかし、音源と受付手段の距離が一定でないような環境においては、前記閾値の設定が困難となる場合がある。受付手段に入力される音響信号において、ある種の特徴量が、音源と受付手段の距離に応じて変化する場合があるからである。
【0004】
前記SNR閾値を用いた発話区間検出を例にとり説明する。音源である話者が、受付手段であるマイクロホンの側で話してくれるとは限らず、話者とマイクロホンの距離がまちまちであるような環境を考える。このような環境では、マイクロホンが受付ける発話音の大きさは話者との距離にそれほど依存しない。何故なら、話者は、距離が小さければ意図的に小さな声で話し、距離が大きければ意図的に大きな声で話すからである。しかし、話者の足音等といった雑音の影響は話者との距離に依存しやすい。そのため、もし閾値を高めに設定すると、話者が近くにいる場合(一般に雑音の影響が強いためSNRは小さくなる)に、実際には発話しているのに発話区間として検出されないという検出漏れが起こりやすくなる。反対に、もし閾値を低めに設定すると、話者が遠くにいる場合(一般に雑音の影響は弱いためSNRは大きくなる)に、実際には発話していないのに発話区間として検出されるという誤検知が起こりやすくなる。すなわち、前記のような環境においては、SNR閾値を高く設定しても低く設定しても、不都合が生じることとなる。
【0005】
このように、従来技術を用いる場合、認識可能性と誤認識のトレードオフが存在するため、閾値の設定は一般に容易ではないという課題がある。環境に応じた閾値の設定を可能とすることで、こうした課題を解決することが望まれている。
【課題を解決するための手段】
【0006】
開示の音響信号変換装置は、音源から発せられる音響信号を電気信号に変換する変換手段と、前記音源からの音響信号が発せられたことを前記電気信号に基づいて検出する音響信号検出手段とを有する音響信号変換装置であって、音響信号を発する音源と当該音響信号を電気信号に変換する変換手段との距離を検出する距離検出手段を有し、前記音源からの音響信号が発せられたことを前記電気信号に基づいて検出する音響信号検出手段の音響信号検出の閾値を前記距離検出手段により検出した距離に応じて変化させる。
【発明の効果】
【0007】
開示の音響信号変換装置によれば、音響信号検出の閾値を、音源と変換手段と距離に応じて柔軟に設定することができる。このため、開示の音響信号変換装置によれば、音源と変換手段の距離に関わらず一定の音響信号検出の精度を確保することが可能となるという効果を奏する。
【発明を実施するための最良の形態】
【0008】
本発明の実施の形態を図面を参照して説明する。以下では、音響信号変換装置の一実施例として、音響信号に対する音声認識を行う音声認識装置について説明する。まず、音声認識装置に係る従来技術について簡単に述べ、その後、本発明の一実施形態である音声認識装置について説明する。
【0009】
音声認識とは、音響信号中の発話の内容を単語(文字データ)として取り出す処理のことである。音声認識の一般的な処理の流れは、マイクロホン等で外部環境から音響信号を受付けて電気信号である音声信号に変換し、当該音声信号から人の発話を含む区間である発話区間を検出し、発話区間に音響モデルと語彙辞書に基づく音声照合を行って文字データを取り出すというものである。近年では無音環境において正確な音声認識が可能になっている。しかし、様々な雑音を含む環境においては誤った文字が取り出されることも多いため、係る誤認識を減らすことが望まれている。
【0010】
音声認識における誤認識を減らすための有効な方策の1つとして、音声認識の内部処理の1つである発話区間検出の誤認識の削減がある。ここで、発話区間検出とは、音声認識の内部処理の1つであり、音声信号から人の発話内容を含む区間である発話区間を検出するものである。検出されなかった残りの区間は、非発話区間若しくは雑音区間と呼ぶ。
【0011】
図12に、発話区間の概念図を示す。ここで、横軸が時間、縦軸が音声信号である。発話区間検出にはいくつかの方法が知られている。例えば、単純な方式として、音声信号の電力が所定の閾値以上である場合に、当該区間を発話区間と検出する方式がある。なお、音声信号の各瞬間の電力は、図12に示すような音声信号に対応する波形に対し、振幅を2乗することにより計算できる。発話区間検出においては、各区間に決まった長さがあるわけではなく、各区間は任意の長さの連続した発話若しくは雑音音声に対応する。したがって、発話区間と非発話区間は、必ず交互に現れることとなる。
【0012】
発話区間検出の誤認識を減らす従来技術として、音声のSNR(Signal to Noise Ratio:SN比)を所定の閾値(SNR閾値)と比較する方法が知られている。ここで音声信号のSNRとは、発話区間と非発話区間との平均電力比であり、音声の音質(音声の信頼性)を測る尺度である。具体的には、発話区間の平均電力をSとし、非発話区間の平均電力をNとして、10log(S/N)により算出される。
【0013】
前記従来技術の機能ブロック図を図13に示す。従来技術では、予め1つのSNR閾値121をユーザからの入力に基づき設定しておく。そして、入力された音声信号から暫定的な「仮の発話区間」を検出し、その後、前記所定のSNR閾値121を用いて仮の発話区間が(真の)発話区間であるかを判定する。ここで、仮の発話区間の検出には、先述した電力の閾値を用いた発話区間検出のような従来の発話区間検出方式を用いる。従来技術の処理の流れは以下のようになる。受付けた音響信号を変換した音声信号に対し、発話区間検出部113が当該音声信号から仮の発話区間を検出する。また、SNR算出部114は、仮の発話区間と検出された区間のSNRを算出する。そして、SNR判定部116が、当該算出したSNRを所定のSNR閾値と比較し、SNR閾値を超えていれば、前記発話区間検出部が検出した「仮の発話区間」を真の発話区間と判定し、音声照合処理部117が、当該発話区間に対し音声照合を行うことで文字データに変換する。他方、前記SNRが前記SNR閾値以下であれば、SNR判定部116は「仮の発話区間」は発話区間ではないと判定し、続く音声照合は行わない。音声信号のSNRが大きいということは、当該音声信号において雑音の影響が小さいということである。したがって、SNRが大きい場合のみ音声照合を行えば、音声照合の誤認識が減り、引いては音声認識の誤認識が減る。このように、従来技術によって、雑音が存在する場合における誤認識を低減させることができる。
【0014】
しかし、先述の通り、従来技術では、閾値において認識可能性と誤認識のトレードオフが存在するため、閾値の設定は一般に容易ではないという課題がある。そこで、以下では、係る課題を解決する音声認識装置について説明する。
【0015】
図1に、本発明の第1の実施形態に係る音声認識装置の機能ブロック図を示す。本体部100には、入力装置であるマイクロホン101と距離センサ102とが接続される。マイクロホン101は、外部環境から音声の入力を受け付け、電気的なアナログ信号に変換する。距離センサ102は、マイクロホン101と話者との間の距離を測定する。距離センサ102としては、レーザレンジファインダ、超音波センサ、赤外線センサ等を用いることができる。例えばレーザーレンジファインダであれば、レーザーを照射し、反射したものを受光することで、センサと物体(話者)と間の距離を測定することができる。
【0016】
本体部100は、SNR閾値設定部111、A/D変換部112、発話区間検出部113、SNR算出部114、SNR閾値決定部115、SNR判定部116、音声照合処理部117、出力部118を備える。また、本体部は不図示の起動スイッチを備え、当該起動スイッチがユーザによって操作されることにより、音声認識装置は起動し、あるいは停止する。
【0017】
SNR閾値設定部111は、SNR閾値の上限値及び下限値についてユーザからの入力を受け付け、記憶部のSNR閾値上下限値121(SNR閾値上限値を121a、SNR閾値下限値を121bとする)に格納する。A/D変換部112は、マイクロホン101が変換したアナログ信号をサンプリングし、デジタル信号に変換する。発話区間検出部113は、A/D変換部112が変換したデジタル信号に対し、先述した「仮の発話区間」の検出を行い、検出した仮発話区間のデジタル信号のみを出力する。SNR算出部114は、前記検出した仮発話区間におけるSNRを算出する。SNR閾値決定部115は、SNR閾値設定部111が設定したSNR閾値上下限値121と、後述する距離上下限値122と、距離センサ102が測定したマイクロホン101と話者との間の距離に基づき、SNR閾値を決定する。SNR判定部116は、発話区間検出部113が算出したSNRと、SNR閾値算出部115が算出したSNR閾値とを比較し、前記仮発話区間が真の発話区間か否かを判定する。音声照合処理部117は、発話区間と判定された区間に係る音声信号を文字列に変換する。この変換は、後述する音響モデル123と語彙辞書124に基づいた音声照合によって行う。最後に、出力部118は、音声照合の結果を出力装置に出力する。
【0018】
本体部100はさらにデータとして、予め、距離上下限値122、音響モデル123、語彙辞書124を不図示の記憶部に格納している。距離上下限値122は、距離センサ102が適切に測定できる距離の上下限値である(距離上限値を122a、距離下限値を122bとする)。音響モデル123は、認識対象の音素がどのような周波数特性を持っているかを表したもので、混合正規分布を出力確率とした隠れマルコフモデルにより表現することができる。語彙辞書124は、単語ごとの文字データと品詞等を対応付けたデータベースである。音声照合部117が、音響モデル123と語彙辞書124を用いて音声信号を文字列に変換するのは周知の技術であり、ここでは詳細な説明はしない。
【0019】
図2に、第1の実施形態に係る音声認識装置の全体の処理フローを示す。この処理フローは、音声入力装置が起動スイッチにより起動されたことを契機として、開始する。音声認識装置は、まず事前設定を行い(ステップS101)、その後、本運用に係る処理を行う(ステップS102)。ここで、本運用が音声認識の処理に該当し、事前設定は本運用のための前処理に該当する。具体的には、音声認識装置は、事前設定において、本運用で使用するパラメータであるSNR閾値の上限値及び下限値(上下限値)を記憶部に設定する。そして、音声認識装置は、本運用において、事前設定された上下限値を用いて、入力された音声を認識して文字データを取り出す。事前設定と本運用の切替は、たとえば、不図示の切替スイッチにより、ユーザから前記切替の入力を受け付けることで、行うことができる。
【0020】
図3に、音声認識装置の事前設定の処理フローを示す。まず、SNR閾値設定部111は、SNR閾値の上限値及び下限値の入力をユーザから受け付ける(ステップS201)。係る入力は、キーボードを介して値が入力されることにより、あるいは、マウスを介していくつかの値から選択されることにより行うことができる。そして、SNR閾値設定部111は、受け付けたSNR閾値の上限値及び下限値を、記憶部のSNR閾値上下限値121に格納する(ステップS202)。ここで、SNR閾値上限値121aはSNR閾値下限値121bよりも大きな値であり、SNR閾値上限値121aは話者がマイクロホンから一定距離以上離れている場合のSNR閾値、SNR閾値下限値121bは話者がマイクロホンから一定距離以内の場合のSNR閾値に対応する。
【0021】
図4に基づき、音声認識装置の本運用の処理フローについて説明する。処理の概要は以下のようになる。音声入力装置はまず、音声入力を元にSNRを算出する(ステップS301〜S304)とともに、それと並行して、マイクロホン101と話者との間の距離の測定結果に基づきSNR閾値を決定する(ステップS305〜S306)。その後、算出したSNRと決定したSNR閾値に基づき、音声信号における必要な区間に対して音声照合を行うことで文字データを取り出す(ステップS307〜S309)。
【0022】
詳細に説明すれば、まずマイクロホン101は、外部環境から音声の入力を受け付け、電気的なアナログ信号に変換する(ステップS301)。そしてA/D変換部112は、前記アナログ信号をサンプリングし、デジタル信号に変換する(ステップS302)。
【0023】
次に発話区間検出部113は、前記デジタル信号から仮の発話区間を検出する(ステップS303)。ここで、仮の発話区間の検出は、公知の音声による発話区間検出(VAD:Voice Activity Detection)方法を用いればよく、例えば、音声信号の電力が所定の閾値以上である区間を発話区間と検出することができる。また、音声と雑音の音響的な違いに基づく発話区間検出方法として、音声信号中のホルマントを利用する方法、音声信号のスペクトルやケプストラムの距離を利用する方法、音声信号の尖度を利用する方法がそれぞれ知られている。
【0024】
そして、SNR算出部114は、検出した仮の発話区間の平均電力と非発話区間(雑音区間)の平均電力の割合から、当該仮発話区間のSNRを算出する(ステップS304)。SNRは、検出した発話区間の平均電力Sと当該発話区間の直前の非発話区間の平均電力Nをまず求め、求めたSとNを10log(S/N)に代入することによって算出することができる。なお、前記Nとしては、検出した発話区間の直前の非発話区間のみの平均電力の代わりに、それまでの全てあるいは一定期間中の非発話区間の平均電力を採用することもできる。
【0025】
また、距離センサ102は、マイクロホン101と話者との間の距離を測定する(ステップS305)。次にSNR閾値判定部115は、前記測定された距離に応じて、所定の規則に基づいてSNR閾値を決定する(ステップS306)。SNR閾値決定の処理の詳細については後述する。
【0026】
次にSNR判定部116は、ステップS304で算出された前記SNRと、ステップS306で算出された前記SNR閾値とを比較し、前記仮の発話区間が本当に発話区間であるか否かを判定する(ステップS307)。ここでSNR判定部116は、SNRがSNR閾値よりも大きい(或いは、SNRがSNR閾値以上である)場合には仮の発話区間が(真の)発話区間であると判定し(分岐のYES)、そうでない場合には仮の発話区間は(真の)発話区間でないと判定する(分岐のNO)。
【0027】
ステップS307の判定がYESの場合、音声照合処理部117は、上記発話区間検出で得た発話区間について音声照合処理を行う(ステップS308)。すなわち音声照合処理部117は、音響モデル123に基づいて、前記発話区間に係るデジタル信号から発音データ(例えば「ホンジツワセイテンナリ」)を取り出す。そして音声照合処理部117は、当該発音データに語彙辞書124に格納された単語を当てはめることで、入力された音声の認識結果である文章データ(例えば「本日は晴天なり」)を生成する。最後に、出力部118が、前記音声認識結果である文章データを、モニタ等の出力装置に出力する(ステップS309)。一方、ステップS307の判定がNOの場合、出力部118は、話者に対してエラー通知を行う(ステップS310)。エラー処理は、話者に対して音声が認識できなかった旨を伝えるための処理であり、例えばモニタに音声が認識できなかった旨を表示することができる。
【0028】
SNR閾値(以下ではsで表す)を決定するステップS306について詳細に説明する。図5に、ステップS306の詳細な処理フローを示す。
【0029】
ステップS306において、まずSNR閾値決定部115は、ステップS305で測定したマイクロホンと話者との間の距離(以下ではdで表す)を受け付ける(ステップS401)。次にSNR閾値決定部115は、記憶部に格納されたSNR閾値上限値121aとSNR閾値下限値121bとを読み出し、それぞれの値をSNR_TH_max、SNR_TH_minとする(ステップS402)。同じく記憶部に格納された距離上限値122aと距離下限値122bを読み出し、それぞれの値をD_max、D_minとする(ステップS403)。そして、SNR閾値決定部115は、dと距離上限値D_maxとの値を比較する(ステップS404)。もしd>D_maxであれば(分岐のYES)、SNR閾値決定部115は、SNR閾値sをSNR_TH_maxに決定し(ステップS405)、ステップS306の処理を終了する。また、ステップS404の比較でd≦D_maxであれば(分岐のNO)、SNR閾値決定部115は、dと距離下限値D_minとの値を比較する(ステップS406)。もしd<D_minであれば(分岐のYES)、SNR閾値決定部115は、SNR閾値sをSNR_TH_minに決定し(ステップS407)、ステップS306の処理を終了する。また、ステップS406の比較でd≧D_maxであれば(分岐のNO)、SNR閾値決定部115は、SNR閾値sを以下の式により算出される値に決定し(ステップS408)、ステップS306の処理を終了する。
【0030】
s = SNR_TH_min+{(SNR_TH_max−SNR_TH_min)/
(D_max−D_min)}×(d−D_min)
図6に、話者とマイクロホンとの距離(d)と、上記の手順により算出したSNR閾値(s)との関係を表すグラフを示す。このグラフでは、横軸に距離dを、縦軸にSNR閾値sをそれぞれ取っている。そして、(d,s)=(距離下限値,SNR閾値下限値)=(D_min,SNR_TH_min)に対応する座標上の点と、(d,s)=(距離上限値,SNR閾値上限値)=(D_max,SNR_TH_max)に対応する座標上の点とを取り、当該2点を直線(傾きが正の一次関数)で結んでいる。ステップS408の計算式が、前記直線に対応しており、すなわち距離dを変数としてSNR閾値sを算出している。また、距離d=D_min以下である場合にはSNR閾値s=SNR_TH_minで一定とし、また、距離d=D_max以上である場合にはSNR閾値s=SNR_TH_maxで一定としている。このようにすることで、予め距離の上限値及び下限値に対応するSNR閾値(すなわち、SNR閾値上限値とSNR閾値下限値の2つ)を設定しておけば、その他の距離に対応するSNR閾値を機械的に算出することが可能となる。なお、前記2点を結ぶ一次関数に関し、これ以外の関数を用いることもできる。すなわち、任意の広義な単調増加関数を用いることができる。これにより、SNR閾値の決定を柔軟に行うことが可能となる。
【0031】
以上のように、本発明の第1の実施形態に係る音声認識装置によれば、環境条件に応じて適切なSNR閾値を動的に設定することができる。すなわち、発話区間検出において、距離センサの測定値とSNR閾値を連動させ、SNR閾値を可変することで、話者とマイクロホンの間の距離に応じた適切なSNR閾値を設定することができる。これにより、話者とマイクロホンの間の距離に関わらず、発話区間検出、引いては音声認識において一定の精度を確保することが可能となる。
【0032】
以下では本発明の第2の実施形態について説明する。
【0033】
第2の実施形態の全体フローは、第1の実施形態の全体フロー(図2)と同じである。また、第2の実施形態の本運用(ステップS102)の処理フローも、第1の実施形態の処理フロー(図4)と同じである。第2の実施形態は、第1の実施形態と比較すると、事前設定(ステップS101)の処理フローのみが異なる。第1の実施形態ではSNR閾値上下限値121について、外部から値の入力を受け付けることで設定していたが、第2の実施例ではこれらを事前のキャリブレーション(calibration:本運用に先立ち、予め装置の調整を行うこと)により設定する。具体的には、マイクロホンから取得した環境音に基づいて発話区間の検出を行い、その結果に基づいてSNR閾値上下限値121を設定する。以下では第2の実施形態の事前設定についてのみ説明する。
【0034】
図7に、本発明の第2の実施形態に係る音声認識装置の機能ブロック図を示す。図1の構成に加えて、SNRを格納するために、不図示の記憶部にバッファ125が設けられる。バッファ125は、所定の個数(例えば100個)の発話区間のSNRを格納する。なお、図7及び以降の説明において、第1の実施形態に係る機能ブロック図である図1に記載されていると同じ構成要素については、同じ名前及び符号を用いる。
【0035】
図8を元に、第2の実施形態に係る音声認識装置の事前設定(ステップS101)の処理フローについて説明する。図8の処理は、音声入力装置が起動スイッチにより起動されたことを契機として、開始する。また、事前設定と本運用の切替スイッチが、事前設定に設定された状態で行われる。
【0036】
まず、マイクロホン101は、音声入力を受け付け、アナログ信号に変換する(ステップS501)。このときの前提として、意図的に話者による発話は行わないようにする。これにより、マイクロホン101は環境音(雑音に相当)を取得することができる。次に、本運用の処理と同様に、A/D変換部112が環境音に掛かるアナログ信号をデジタル信号に変換し(ステップS502)、発話区間検出部113が発話区間の検出を行う(ステップS503)。次に発話区間検出部113は、発話区間を検出したかを判定する(ステップS504)。上述した前提により、発話区間検出部113が取得した音声信号には発話は含まれていないため、本来であれば発話区間は検出されないはずである。しかし、大きな雑音が入力された場合等において、発話区間検出部113は誤って発話区間を検出することがある。もし発話区間を検出すると(分岐のYES)、SNR算出部114は、本運用の場合と同様にして、当該発話区間のSNRを算出する(ステップS505)。そして、SNR算出部114は算出したSNRをバッファ125に格納する(ステップS506)。SNR算出部114は、このようにして発話区間を誤認識した場合のSNRを収集する。なお、ステップS504で発話区間を検出しなかった場合(分岐のNO)、すなわち非発話区間については、SNR算出部114はSNRの算出を行わず、ステップS501に戻って処理を繰り返す。
【0037】
次に、SNR閾値設定部111は、バッファ125が一杯であるかを判定する(ステップS507)。一杯でない(分岐のNO)場合には、音声認識装置は、ステップS501に戻って上記の処理を繰り返す。すなわち、音声認識装置はSNRの収集を続行する。一方、一杯(分岐のYES)である場合には、SNR閾値設定部111は、バッファ125に格納された全てのSNRについて、平均値a及び標準偏差σを算出する(ステップS508)。
【0038】
最後に、SNR閾値設定部111は、算出した平均値a及び標準偏差σに基づき、SNR閾値上限値及びSNR閾値下限値を決定する(ステップS509)。具体的には、SNR閾値上限値は、a+2σに設定する。また、SNR閾値下限値は、a+σに設定する。最後にSNR閾値設定部111は、決定したSNR閾値上限値及びSNR閾値下限値を、記憶部のSNR閾値上下限値121に格納し、表示装置に事前設定が完了した旨のメッセージを出力する(ステップS510)。
【0039】
上記のように、SNR閾値上限値及びSNR閾値下限値の決定において標準偏差を利用すれば、これら上下限値の統計的な意味は明確となる。すなわち、上記の場合では、収集したSNRの値の分布が正規分布となっているという前提の下で、キャリブレーションにおいて環境音が発音区間として誤認識されたケースのおよそ84.1%が、本運用においては誤認識されない(発音区間として検出されない)ことが統計的に裏付けられる。なお、SNRの平均値aとSNR閾値下限値との差分、或いは、aとSNR閾値上限値との差分については、上記の例に限らず、自由に設定することができる。
【0040】
本発明の第2の実施形態によれば、SNR閾値の上限値及び下限値を音声認識装置の使用環境に適した値に設定することが可能となる。これにより、第1の実施形態において前記SNR閾値の上限値及び下限値を予め手動で設定した場合に比べ、誤認識の可能性が少ないことが統計的に裏付けられたSNR閾値が算出される。これにより、発話区間認識、引いては音声認識の精度が向上するという効果を奏する。
【0041】
以下では本発明の第3の実施形態について説明する。
【0042】
第2の実施形態では事前設定において、環境音に対する発話区間検出の結果に基づいてSNR閾値上下限値121を設定しているが、第3の実施形態ではこれらの値を、発話を含む音声に対する音声認識の結果に基づいて設定する。第3の実施形態の全体の処理フロー及び本運用(ステップS102)の処理フローについては、第2の実施形態と同様に、図2及び4の処理フローに従えばよい。以下では第3の実施形態の事前設定(ステップS101)についてのみ説明する。
【0043】
図9に、本発明の第3の実施形態に係る音声認識装置の機能ブロック図を示す。第2の実施形態における機能ブロック図(図7)とほとんど同じであるが、スピーカ103及び音声再生部119を備える点、及びバッファ125へSNRを格納するのが音声照合処理部107である点が異なる。スピーカ103は出力機器の一種であり、音声を出力する。音声再生部118は所定の音声を再生し、スピーカ103に出力する。なお、図9及び以降の説明において、第2の実施形態に係る機能ブロック図である図7に記載されていると同じ構成要素については、同じ名前及び符号を用いる。
【0044】
図10を元に、第3の実施形態に係る音声認識装置の事前設定(ステップS102)の処理フローについて説明する。図10の処理は、音声入力装置が起動スイッチにより起動されたことを契機として、開始する。また、事前設定と本運用の切替スイッチが、事前設定に設定された状態で行われる。図10は、図8と比較して、音声出力処理(ステップS601)及び音声照合処理(ステップS606)が加わるとともに、SNR収集の要否に係る判定が異なる(ステップS607)以外は、第2の実施形態の事前設定の処理フロー(図8)と同じである。以下では、主に図8と異なる処理を中心に説明する。
【0045】
まず、音声再生部118は、規定の登録済み単語を所定の回数再生し、デジタル信号を生成する。そして、スピーカ113が、当該再生された単語に対応するデジタル信号を音声として出力するとともに(ステップS601)、マイクロホン101が、当該出力された音声の入力を受付けてアナログ信号に変換する(ステップS602)。ここで、音声認識装置は音声出力において、例えば「おはよう」、「こんにちは」、「こんばんは」をそれぞれ10回ずつ、繰り返し音声として出力する。そして、A/D変換部112が前記アナログ信号をデジタル信号に変換し(ステップS603)、発話区間検出部113が当該信号に対して発話区間検出を行う(ステップS604)とともに、SNR算出部114がSNRを算出する(ステップS605)。さらに、音声照合処理部117は、検出した発話区間に対し、音声照合を行う(ステップS606)。ここでは、本運用の場合と異なり、音声照合処理部117は、検出した発話区間を仮のものとして取り扱わない。すなわち、音声照合処理部117は、検出した全ての発話区間に対して、音声照合を行う。
【0046】
そして、音声照合処理部117は、音声照合した結果が正しいかを判定する(ステップS607)。たとえば、スピーカ103が「おはよう」と出力した場合、音声照合の結果「おはよう」と認識されれば結果は正しく、「おはよう」以外の単語として認識されれば結果は誤りとなる。もし音声照合が誤りであれば(分岐のNO)、音声照合処理部117は、前記算出したSNRをバッファ125に格納する(ステップS608)。音声認識装置は、このようにして音声認識を誤認識した場合のSNRを収集する。なお、ステップS607で音声認識が正しかった場合(分岐のNO)についてはSNRの格納は行わず、ステップS601に戻って処理を繰り返す。
【0047】
あとは第2の実施形態と同様に、SNR閾値設定部111は、バッファが一杯になるまでSNRを収集し、平均値と標準偏差に基づいてSNR閾値上限値及びSNR閾値下限値を決定する(ステップS609〜611)。最後に、決定したSNR閾値上限値及びSNR閾値下限値を、記憶部のSNR閾値上下限値121に格納し、表示装置に事前設定が完了した旨のメッセージを出力する(ステップS612)。
【0048】
本発明の第3の実施形態によれば、第2の実施形態と同様に、誤認識の可能性が少ないことが統計的に裏付けられたSNR閾値が算出されるため、発話区間認識、引いては音声認識の精度が向上するという効果を奏する。さらに、第3の実施形態のキャリブレーションにおいては音声認識装置による発話と環境音の両方がマイクロホンから入力されるのに対し、第2の実施形態のキャリブレーションにおいては環境音のみがマイクロホンから入力される。そのため、第3の実施形態の方が第2の実施形態よりも、得られるSNR閾値の信頼性が高くなる。すなわち、第3の実施形態は、実際に発話された音声を元にしているため、第2の実施形態よりもさらに、前記認識精度が向上する効果を奏する。
【0049】
以上、本発明に係る音声認識装置の実施形態について説明したが、本発明は上記実施形態に限るものではなく、その技術的思想の範囲内で種々の設計変更が可能である。
【0050】
たとえば、音声認識装置をロボットのような移動体に組み込むことができる。係る実施形態においては、SNR閾値を距離に応じて可変とすることを特徴とする本発明が特に効果的となる。何故なら、移動するロボットに対して話者が近づきながら話し掛けるような場面は頻繁に発生すると考えられ、そのような場合に、話者との距離の短縮に従ってSNR閾値を小さくすることにより、発話区間の誤検出が低減できるからである。
【0051】
また、音声信号の録音(記録)、転送、もしくは変換等を含む、音声信号に対する種々の処理のトリガ(契機)を発生させる目的に用いることができる。すなわち、本発明にかかる発話区間を検出したことをトリガとして、音声信号の録音を開始する等といった実施形態が考えられる。
【0052】
以上、第1〜3の実施形態による音声認識装置の構成を説明したが、これら音声認識装置の本体部101は、図11に示すようなコンピュータ上で動作するプログラムによっても実現することができる。
【0053】
本願発明に係るプログラムを実行するコンピュータのハードウェア構成の例を図11に示す。コンピュータ10のハードウェア構成として、例えば、Central Processing Unit(CPU)11、主記憶12、補助記憶装置13、出力インタフェース14、入力インタフェース15、通信インタフェース16がバス17で接続されている。
【0054】
CPU11は後述する主記憶12に格納されたプログラムを実行する。主記憶12としては、通常はRandom Access Memory(RAM)が用いられ、後述する補助記憶装置13から実行するプログラムや使用するデータを読み込んで一時的に格納する。補助記憶装置13としては、通常はHard Disk Drive(HDD)が用いられ、プログラムやデータを格納してファイルとして保存する。なお、補助記憶装置13としては、CD−ROM、DVD−ROM、USBメモリ等の外部記憶媒体を用いることもできる。
【0055】
出力インタフェース14には出力装置の一つとして表示装置であるモニタ18が接続される。プログラムの実行結果などがモニタに出力され表示される。入力インタフェース15には入力装置としてキーボード19やマウス20が接続され、これら入力装置からデータが入力される。通信インタフェース17はネットワーク21に接続される。コンピュータはネットワークを介して他のコンピュータとデータをやり取りする。
【0056】
上記ハードウェア構成を、図1、図7及び図9の機能ブロックと対応付けると以下のようになる。コンピュータを本体部101として機能させるためのプログラム(SNR閾値設定部111、A/D変換部112、発話区間検出部113、SNR算出部114、SNR閾値決定部115、SNR判定部116、音声照合処理部117、出力部118、音声再生部119)、及びデータ(SNR閾値上下限値121、距離上下限値122、音響モデル123、語彙辞書124)を予め補助記憶装置13に格納させておく。プログラムが起動されると、当該プログラムおよびデータはまず主記憶12に読み込まれ、その後主記憶12とCPU11とが連携することでプログラムが実行される。バッファ125は主記憶12に設けられるが、必要に応じて補助記憶装置13に退避させてもよい。
【図面の簡単な説明】
【0057】
【図1】本発明の第1の実施形態に係る機能ブロック図である。
【図2】本発明の第1の実施形態に係る全体の処理手順を示したフローチャートである。
【図3】本発明の第1の実施形態に係る事前設定の処理手順を示したフローチャートである。
【図4】本発明の第1の実施形態に係る本運用の処理手順を示したフローチャートである。
【図5】本発明の第1の実施形態に係るSNR閾値算出の処理手順を示したフローチャートである。
【図6】話者とマイクロホンとの距離と、SNR閾値との関係図である。
【図7】本発明の第2の実施形態に係る機能ブロック図である。
【図8】本発明の第2の実施形態に係る事前設定の処理手順を示したフローチャートである。
【図9】本発明の第3の実施形態に係る機能ブロック図である。
【図10】本発明の第3の実施形態に係る事前設定の処理手順を示したフローチャートである。
【図11】コンピュータのハードウェア構成を示した図である。
【図12】音声信号における発話区間を示した図である。
【図13】SNR閾値を用いた音声認識の従来技術に係る機能ブロック図である。
【符号の説明】
【0058】
10 コンピュータ
11 CPU
12 主記憶
13 補助記憶装置
14 出力インタフェース
15 入力インタフェース
16 通信インタフェース
17 バス
18 モニタ
19 キーボード
20 マウス
21 ネットワーク
100 本体部
101 マイクロホン
102 距離センサ
103 スピーカ
111 SNR閾値設定部
112 A/D変換部
113 発話区間検出部
114 SNR算出部
115 SNR閾値決定部
116 SNR判定部
117 音声照合処理部
118 出力部
119 音声再生部
121 SNR閾値上下限値
122 距離上下限値
123 音響モデル
124 語彙辞書
125 バッファ

【特許請求の範囲】
【請求項1】
音源から発せられる音響信号を受付けて電気信号に変換する受付手段と、前記音源からの音響信号が発せられたことを前記電気信号に基づいて検出する音響信号検出手段とを有する音響信号変換装置であって、
前記音源と前記受付手段との距離を検出する距離検出手段
を有し、
前記音響信号検出手段の音響信号検出の閾値を前記距離検出手段により検出した距離に応じて変化させる
ことを特徴とする音響信号変換装置。
【請求項2】
前記音響信号検出手段が検出した前記音源から発せられた音響信号に含まれる単語を認識する単語認識手段と、
を有することを特徴とする音響信号変換装置。
【請求項3】
前記音響信号検出の閾値が、前記距離検出手段により検出した距離を引数とする単調増加関数に基づき決定されることを特徴とする請求項1または2記載の音響信号変換装置。
【請求項4】
前記音響信号検出の閾値が、前記距離検出手段により検出した距離が所定の下限値よりも小さい場合には第1の規定値と決定され、前記距離が所定の上限値よりも大きい場合には前記第1の規定値よりも大きい第2の規定値と決定され、前記距離が前記所定の下限値と前記所定の上限値との間である場合には前記第1の規定値と前記第2の規定値の間の値と決定される
ことを特徴とする請求項1〜3のいずれかに記載の音響信号変換装置。
【請求項5】
前記音響検出手段が誤検出した音響信号を収集し、当該収集した音響信号の頻度分布に基づいて前記第1の規定値と前記第2の規定値を決定する
ことを特徴とする請求項4記載の音響信号変換装置。
【請求項6】
前記単語認識手段が誤検出した音響信号を収集し、当該収集した音響信号の頻度分布に基づいて前記第1の規定値と前記第2の規定値を決定する
ことを特徴とする請求項4記載の音響信号変換装置。
【請求項7】
前記頻度分布の平均値と標準偏差とを算出し、
当該平均値との差が標準偏差の定数倍となる値をそれぞれ前記第1の規定値と前記第2の規定値と決定する
ことを特徴とする請求項5または6記載の音響信号変換装置。
【請求項8】

前記音響信号検出の閾値がSNRに対する閾値であるSNR閾値である
ことを特徴とする請求項1〜7のいずれかに記載の音響信号変換装置。
【請求項9】
音源から発せられる音響信号を受付けて電気信号に変換する受付手段を有するコンピュータによって実現される、前記音源からの音響信号が発せられたことを前記電気信号に基づいて検出する音響信号検出手順を有する音響信号変換方法であって、
前記音源と前記受付手段との距離を検出する距離検出手順
を備え、
前記音響信号検出手順の音響信号検出の閾値を前記距離検出手順により検出した距離に応じて変化させる
ことを特徴とする音響信号変換方法。
【請求項10】
音源から発せられる音響信号を受付けて電気信号に変換する受付手段を備えるコンピュータに、前記音源からの音響信号が発せられたことを前記電気信号に基づいて検出する音響信号検出手順を実行させる音響信号変換プログラムであって、
コンピュータに、
前記音源と前記受付手段との距離を検出する距離検出手順
を実行させ、
前記音響信号検出手順の音響信号検出の閾値を前記距離検出手順により検出した距離に応じて変化させる
ことを特徴とする音響信号変換プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2010−204266(P2010−204266A)
【公開日】平成22年9月16日(2010.9.16)
【国際特許分類】
【出願番号】特願2009−47973(P2009−47973)
【出願日】平成21年3月2日(2009.3.2)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】