説明

音声認識装置

【課題】発話において突発的な音量変化が生じた場合であっても、確実に認識漏れなく音声認識を行う。
【解決手段】受付端末20は、来訪者Mの発話音声により音声情報を入力するマイク207と、マイク207で入力された音声情報を増幅するオペアンプ217とを有し、互いに異なる複数の値N1,N2,N3が時系列的に順次繰り返されるようにオペアンプ217の増幅率を切替制御し、この切替制御に連動し、複数の値N1,N2,N3に制御された増幅率を用いてオペアンプ217で増幅された音声情報を所定周期でサンプリングし、音声データSDを取得し、この取得された音声データSDを、切替制御された増幅率の複数の値N1,N2,N3それぞれに対応させた複数のデータ群に分類して抽出し、この抽出された複数のデータ群のうち、特定のデータ群を選択し、この選択されたデータ群を用いて音声認識を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、発話者の発する発話音声を音声認識する音声認識装置に関する。
【背景技術】
【0002】
例えば建造物への来訪者に対する受付業務を行う受付装置等、操作者が対話方式によって操作可能な対話装置が、従来より既に知られている。このような対話装置においては、操作者の発話内容をマイク等の音声入力手段により入力し、適宜のゲインで増幅した後に音声認識する。この際、発話音声レベルに対してゲインが小さ過ぎると誤認識が生じ、発話音声レベルに対してゲインが大き過ぎると音割れにより認識不能となる。
【0003】
上記のようなマイクにおけるゲインの適正化に関する従来技術として、例えば特許文献1に記載の音声処理装置が知られている。この従来技術では、入力信号のレベルの大小に関わらず出力を常に一定に保つ、いわゆるAGC(Automatic Gain Control)回路を設けることにより、発話音声レベルに対して適正な値となるようにゲインの値を制御するようになっている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平8−55428号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記従来技術を、前述のような対話方式の音声認識に適用した場合、以下のような問題がある。すなわち、AGC回路では、入力信号のレベルが小さい場合には感度を上げ、逆に入力信号のレベルが大きい場合には感度を下げて出力することによって、出力が常に一定であるように、入力信号を可変制御する。このため、入力信号が入力されてからそのレベルに応じて入力信号が可変制御されるまでに一定の時間遅れが避けられず、突発的な音量変化には十分対応することができない。
【0006】
ここで、一般に、対話処理においては、原則として(特に要請しない限り)操作者は同一内容を一度しか発話しない。このため、上記のように発話の音量が突発的に変化しAGC回路で認識できなかった場合、発話内容の認識漏れが生じるという問題があった。
【0007】
本発明の目的は、発話において突発的な音量変化が生じた場合であっても、確実に認識漏れなく音声認識を行える音声認識装置を提供することにある。
【課題を解決するための手段】
【0008】
上記目的を達成するために、第1の発明は、発話者の発話音声を音声認識するための音声認識装置であって、前記発話音声により音声情報を入力する音声入力手段と、前記音声入力手段で入力された前記音声情報を増幅する増幅手段と、互いに異なる複数の値が時系列的に順次繰り返されるように前記増幅手段の増幅率を切替制御する増幅制御手段と、前記増幅制御手段での前記切替制御に連動し、前記複数の値に制御された増幅率を用いて前記増幅手段で増幅された音声情報を所定周期でサンプリングし、音声データを取得する情報取得手段と、前記情報取得手段で取得された音声データを、前記切替制御された前記増幅率の複数の値それぞれに対応させた複数のデータ群に分類して抽出するデータ抽出手段と、前記データ抽出手段で抽出された前記複数のデータ群のうち、特定のデータ群を選択するデータ選択手段とを有し、前記データ選択手段により選択された前記データ群を用いて音声認識を行うことを特徴とする。
【0009】
本願第1発明においては、発話者が発話すると、その発話音声に対応した音声情報が音声入力手段で入力され、さらにその音声情報は増幅手段で増幅された後、情報取得手段により所定周期でサンプリングされ音声データとして取得される。このとき、上記増幅手段の増幅率は、増幅制御手段によって、互いに異なる複数の値に切り替えられており、上記サンプリングされた音声データは、データ抽出手段によって各増幅率の値に対応して抽出されることで、複数のデータ群に分けられる。これにより、1回の発話者の発話音声より、互いに増幅率が異なる複数の音声データ群が形成されることとなる。この結果、データ選択手段でそれら複数のデータ群の中から特定のデータ群を選択し音声認識を行う際に、それら複数の音声データ群の中から、最も高い認識精度が得られるような増幅率のデータ群を選び音声認識を行うことが可能となる。この結果、発話において突発的な音量変化が生じた場合であっても、(AGCを適用する場合とは異なり)いずれかの増幅率に係わるデータ群を用いることで、音割れ等の不都合のない良好な音声データにより確実に漏れのない音声認識を行い、高い認識精度を得ることができる。
【0010】
また、上記のように異なる複数の増幅率を実現する際、1つの増幅手段を時系列的に切り替え制御し、互いに異なる複数の増幅率値を順次繰り返す。そして、各増幅率の値ごとに音声データを離散的に抽出し、各データ群を構成している。これにより、複数の増幅器それぞれにおいて同時並行して互いに異なる増幅率で増幅を行った後、各増幅器からの出力波形を合成する場合のようなスペクトルのゆがみといった不都合を回避し、良好な音声認識を行うことができる。
【0011】
第2発明は、上記第1発明において、前記データ選択手段は、前記データ抽出手段で抽出された前記複数のデータ群のうち、アナログ−デジタル変換処理時の歪み発生を回避可能な所定レベル範囲の前記データ群を選択するレベル選択手段を備えることを特徴とする。
【0012】
これにより、例えば発話において突発的な音量変化が生じた場合であっても、レベル選択手段が選択したデータ群を用いることで、音割れ等の不都合のない良好な音声データで確実に音声認識を行うことができる。
【0013】
第3発明は、上記第2発明において、前記データ選択手段は、前記レベル選択手段で複数の前記データ群が選択された場合、その選択された複数のデータ群のうち、音声波形の振幅が最大である前記データ群を選択する振幅選択手段を備えることを特徴とする。
【0014】
これにより、レベル選択手段が選択した複数のデータ群の中でも、相対的にレベルが大きいデータ群を用いることで、S/N比が大きくノイズが少ない良好な音声データで高精度な音声認識を行うことができる。
【0015】
第4発明は、上記第3発明において、前記振幅選択手段は、前記レベル選択手段で選択された複数のデータ群のうち、所定期間における前記振幅の平均値が最大である前記データ群を選択することを特徴とする。
【0016】
これにより、瞬間的なレベル増大にとらわれることなく全体的にレベルが大きなデータ群を確実に選択し、高精度な音声認識を行うことができる。
【0017】
第5発明は、上記第2乃至第4発明のいずれかにおいて、前記データ選択手段の前記レベル選択手段での選択結果に基づき、前記アナログ−デジタル変換処理時の歪み発生を回避可能な前記所定レベル範囲の前記データ群が所定数以上含まれているかどうかを判定する判定手段を有し、前記増幅制御手段は、前記判定手段において前記所定レベル範囲の前記データ群が前記所定数未満であると判定された場合には、前記増幅手段の増幅率をもとの値から増大又は減少させることを特徴とする。
【0018】
これにより、データ選択手段での選択結果に応じ、増幅制御手段による増幅率が適正でなかった場合には、増幅率の切替制御を見直して適正化するようにフィードバックする。例えば、複数のデータ群のうち、音声認識に適したものとしてデータ選択手段のレベル選択手段で選択されたデータ群の数が所定数より少なかった場合には、そのときに切り替えられた増幅率の複数の値は妥当ではなかったと判定される。これにより、増幅制御手段が、切り替えられる増幅率の値を、全体として増幅率アップ側又は増幅率ダウン側にずらす、等の是正措置をとる。この結果、次回以降は、音声認識に適したものとしてデータ選択手段のレベル選択手段で選択されるデータ群の数を増やすことができるので、さらに良好な音声認識を行うことができる。
【発明の効果】
【0019】
本発明によれば、発話において突発的な音量変化が生じた場合であっても、確実に認識漏れなく音声認識を行うことができる。
【図面の簡単な説明】
【0020】
【図1】本発明の一実施形態の来訪者受付システムの全体構成の概略構成を表すシステム構成図である。
【図2】受付端末に備えられた、表示部及びマイクの詳細外観構造の一例を表す斜視図である。
【図3】表示部における表示画面の一例を表す図である。
【図4】受付端末の機能的構成を示す機能ブロック図である。
【図5】RAMに備えられた入力バッファ及び出力バッファを表す概念的説明図である。
【図6】DBサーバの機能的構成を表す機能ブロック図である。
【図7】受付処理において来訪者Mが受付端末に対して発話した状態を模式的に表す図である。
【図8】音声情報を音声波形で表した図である。
【図9】図8の破線で囲んだ部分の拡大図にほぼ相当する図である。
【図10】オペアンプにより増幅された音声情報を音声波形で表した図である。
【図11】図10の破線で囲んだ部分の拡大図にほぼ相当する図である。
【図12】サンプリングにより音声データを取得する手順の概要を説明する説明図である。
【図13】オペアンプ、ADC、CPU、及び入力バッファの間で行われる信号の流れを表すタイミングチャートである。
【図14】入力バッファに音声データを記憶する手順の概要を説明する説明図である。
【図15】入力バッファの全ての領域に記憶された音声データを、増幅率の複数の値それぞれに対応させた3つのデータ群に分類して抽出する手順の概要を説明する説明図である。
【図16】ADCの入力限界を説明する説明図である。
【図17】抽出された3つのデータ群のうち、特定のデータ群を選択する手法を説明するための、各データ群を音声波形で表した図である。
【図18】受付端末の制御回路部により実行する制御手順を表すフローチャートである。
【図19】ステップS100の詳細手順を表すフローチャートである。
【図20】ステップS200の詳細手順を表すフローチャートである。
【図21】ステップS300の詳細手順を表すフローチャートである。
【図22】ステップS200の詳細手順を表すフローチャートである。
【発明を実施するための形態】
【0021】
以下、本発明の一実施の形態を図面を参照しつつ説明する。本実施形態では、本発明の音声認識装置を、例えば、ビルや会社その他の建造物への来訪者に対する受付業務を行う来訪者受付システムに適用した場合を表している。
【0022】
(A)システムの基本構成
図1は、本実施形態の来訪者受付システム1の全体構成の概略構成を表すシステム構成図である。
【0023】
図1において、来訪者受付システム1は、例えば会社の入口付近に設置され、発話者(この例では会社への来訪者M。後述の図7参照)の発話音声を音声認識する受付端末20(音声認識装置)と、周知のパーソナルコンピュータにより構成されるDBサーバ10と、会社の従業員それぞれに対応して設けられた複数のIP電話機60と、それら複数のIP電話機60の回線交換を行う周知の交換装置であるIP−PBX(Intenet Protocol Private Branch eXchange)50とを有し、これらは全てルータ40を介して接続されている。
【0024】
受付端末20は、端末本体20Aと、この端末本体20Aに接続された、表示部210、アナログ−デジタル変換回路(ADC)227、オペアンプ217(増幅手段。上記ADC227にも接続されている)、及びスピーカ208と、上記オペアンプ217に接続されたマイク207(音声入力手段)とを有している。
【0025】
マイク207は、来訪者Mの発話により入力された発話音声をアナログ信号である音声情報に変換し、オペアンプ217へ出力する。
【0026】
オペアンプ217は、マイク207から入力された音声情報を増幅し、ADC227へ出力する。なお、オペアンプ217の増幅率は、端末本体20Aに備えられた後述のCPU201からの制御信号によって、互いに異なる複数の値(この例では互いに異なる3つの値N1,N2,N3)が時系列的に順次繰り替えされるように切替制御される(詳細は後述する)。
【0027】
ADC227は、オペアンプ217から入力された増幅後の音声情報を、アナログ−デジタル変換処理によりデジタル信号である音声データに変換し、端末本体20へ出力する。このとき、ADC227は、上記オペアンプ217の増幅率の上記切替制御に連動し、上記増幅後の音声情報を所定周期で取り込み(=サンプリングし)、上記音声データに変換している。
【0028】
スピーカ208は、端末本体20Aから入力された音声信号を音声に変換して発声し、来訪者Mに対し報知を行う。
【0029】
図2は、上記受付端末20に備えられた、表示部210及びマイク207の詳細外観構造の一例を表す斜視図である。
【0030】
図2において、表示部210は、例えば液晶ディスプレイで構成され、この例では水平に設置されるベース212に対してアーム211を介し支持され、操作者(すなわちこの例では来訪者M)の視線に対して直角となるように面方向が斜め上方を向いている。マイク207は、ベース212に対し先端を来訪者M側へ向けるようにして略円弧状に配置されている。
【0031】
なお、表示部210をタッチパネルで構成し、表示される表示画面を来訪者Mが直接画面に触れながら操作できるようにしてもよい。
【0032】
図3は、表示部210における表示画面の一例を表す図である。この画面においては、後述の描画プログラムによって生成された、受付業務を行う仮想人物IMがオフィス風の背景Gとともに表示される。また、スピーカ208から発話される音声に対応する文章L(図中では「***」で略記している)が併せて表示される。
【0033】
以上の構成において、例えば受付端末20の電源がONされた後、この状態で来訪者Mが例えば操作部(図示せず)を操作することで、受付端末20は来訪者Mが検出されたと認識して受付処理を開始する。すなわち、端末本体20Aからの音声信号に基づき、スピーカ208から来訪者Mに関する所定の質問を所定の順序で発声する。またこのとき表示部210においても、上記発声に対応した所定の表示を行うようにしてもよい。
【0034】
上記スピーカ208の発声や表示部210の表示に応じて、来訪者Mが発話すると、受付端末20は、対応する音声情報をマイク207で入力し、音声認識処理を行う(詳細は後述する)。
【0035】
そして、受付端末20は、上記音声情報の音声認識結果に応じて、来訪者Mの来訪対象となる来訪対象者(以下適宜、単に担当者という)が使用するIP電話機60にIP−PBX50を介して接続し、担当者への通知処理を行う。担当者は、通知された来訪者Mの身元に関する情報に応じて、受付端末20に対して応対を指示する。この指示に応じて、受付端末20は、来訪者Mと担当者とが会話できるようにIP電話機60を接続したり、担当者の代理で来訪者Mに応対したりする。このようにして、来訪者受付システム1は、会社における受付業務を自動的に行うことができる。
【0036】
(B)受付端末の詳細機能
図4は、受付端末20の機能的構成を示す機能ブロック図である。
【0037】
図4において、受付端末20の端末本体20Aは、制御回路部200と、入出力(I/O)インタフェイス204と、ハードディスク装置(HDD)205とを有している。
【0038】
制御回路部200は、CPU201と、受付端末20の基本的な動作に必要なプログラムやそのための設定値を記憶したROM202と、入力バッファ213及び出力バッファ214(後述の図5参照)を備え各種データを一時的に記憶するRAM203とを有している。CPU201は、ROM202や、HDD205に記憶されたプログラムに従って、受付端末20全体の動作を制御する。
【0039】
I/Oインタフェイス204には、上記CPU201と、上記ハードディスク装置205と、上記表示部210と、上記ADC227と、上記オペアンプ217と、上記スピーカ208と、ネットワーク(NW)カード206とが接続されている。
【0040】
HDD205には、音声認識に使用するための言語モデル記憶エリア252、単語辞書記憶エリア253、来訪者を特定するための音声認識に使用される来訪者辞書記憶エリア254、及びプログラム記憶エリア256を含む複数の記憶エリアを備えている。
【0041】
プログラム記憶エリア256には、例えば、受付端末20の各種動作を制御するための複数のプログラムが記憶されている。記憶されているプログラムとしては、例えば、受付端末20の基本的な動作を制御するシステムプログラム、DBサーバ10との通信を制御する通信プログラム、タッチパネル210に表示する画像を生成する描画プログラム、上述した音声認識を実行する音声認識プログラム、DBサーバ10のデータベースにアクセスし照合を行うためのDB照合プログラム、音声合成プログラム、対話制御プログラム、IP電話機60とIP−PBX50との接続に係わる電話接続プログラム等がある。
【0042】
なお、図示はされていないが、HDD205には、その他、音声認識処理で一般的に使用される周知の音響モデルや、各種処理で使用される設定値等も記憶されている。なお、詳細は説明しないが、音響モデルは、音声の音響的特徴を統計的にモデル化したもので、例えば、母音、子音のそれぞれについて、音響的特徴(例えば、周波数特性)と対応する音素とで表現されている。
【0043】
NWカード206は、上記ルータ40に接続され、DBサーバ10などとの間でデータの送受信を可能とするための拡張カードである。
【0044】
図5は、RAM203に備えられた入力バッファ213及び出力バッファ214を表す概念的説明図である。
【0045】
図5において、RAM203は、入力バッファ213と、出力バッファ214とを備えている。出力バッファ214は、複数の(=切替制御されている増幅率の値の数と同数の、すなわち、この例では3つの)第1出力バッファ214A、第2出力バッファ214B、及び第3出力バッファ214Cから構成されている。
【0046】
入力バッファ213は、複数の領域に区分されている(図中の括弧内の数値は、区分された領域の領域番号Xの値を示している)。以下適宜、領域番号X=0の領域を入力バッファ領域(0)、領域番号X=1の領域を入力バッファ領域(1)、・・・のように称する。
【0047】
入力バッファ213は、上記ADC227による1回のサンプリングにより取得された(=1サンプル分の)音声データを、入力バッファ領域(0)、入力バッファ領域(1)、…のように順次記憶する。そして、予め定められた最大領域番号Xmax(例えばXmax=100)の領域に音声データを記憶したら、言い換えれば、入力バッファ213の全ての領域に音声データを記憶したら(以下、この状態を「バッファフル状態」という)、入力バッファ領域(0)に記憶された音声データ、入力バッファ領域(1)に記憶された音声データ、…のように、順次、各バッファ領域の音声データを出力バッファ214へと出力する(詳細は後述する)。
【0048】
出力バッファ214に備えられる上記第1〜第3出力バッファ214A〜214Cは、上記入力バッファ213と同様に、それぞれ複数の領域に区分されている(図中の括弧内の数値は、区分された領域の領域番号Yの値を示している)。以下適宜、第1出力バッファ214Aの領域番号Y=0の領域を第1出力バッファ領域(0)、領域番号Y=1の領域を第1出力バッファ領域(1)、・・・のように称する。また、第2出力バッファ214Bの領域番号Y=0の領域を第2出力バッファ領域(0)、領域番号Y=1の領域を第2出力バッファ領域(1)、・・・のように称する。また、第3出力バッファ214Cの領域番号Y=0の領域を第3出力バッファ領域(0)、領域番号Y=1の領域を第3出力バッファ領域(1)、・・・のように称する。
【0049】
各第1〜第3出力バッファ214A〜214Cは、上記のようにして入力バッファ213から出力された上記音声データSDを記憶する。具体的には、第1出力バッファ214Aは、前述した3つのうち増幅率の値N1に対応する音声データを、第1出力バッファ領域(0)、第1出力バッファ領域(1)、・・・のように、順次記憶する。第2出力バッファ214Bは、前述した3つのうち増幅率の値N2に対応する音声データを、第2出力バッファ領域(0)、第2出力バッファ領域(1)、・・・のように、順次記憶する。第3出力バッファ214Cは、前述した3つのうち増幅率の値N3に対応する音声データを、第3出力バッファ領域(0)、第3出力バッファ領域(1)、・・・のように、順次記憶する。(詳細は後述する)。
【0050】
(C)DBサーバの詳細機能
図6は、DBサーバ10の機能的構成を表す機能ブロック図である。
【0051】
図6に示すように、DBサーバ10は、CPU101と、CPU101に各々接続されたROM102及びRAM103と、CPU101に接続された入出力(I/O)インタフェイス104と、I/Oインタフェイス104にそれぞれ接続された、マウスコントローラ106、キーコントローラ107、ビデオコントローラ108、通信装置109、及びハードディスク装置(HDD)150とを有している。
【0052】
ROM102は、BIOSを含む、DBサーバ10を動作させるための各種のプログラムを記憶している。RAM103は、各種データを一時的に記憶する。CPU101は、ROM102や、後述するHDD150に記憶されたプログラムに従って、DBサーバ10の全体の制御を司る。
【0053】
マウスコントローラ106、キーコントローラ107、及びビデオコントローラ108には、それぞれマウス116、キーボード117、及びディスプレイ118が接続されている。通信装置109は、ルータ40に接続され、受付端末20等、外部機器との間でデータの送受信を行うことを可能とする。
【0054】
HDD150は、来訪者予約データベース(DB)記憶エリア151、社員データベース(DB)記憶エリア155、及びプログラム記憶エリア156を含む複数の記憶エリアを備えている。
【0055】
来訪者予約DB記憶エリア151には、会社への来訪が予定された来訪者Mに関する来訪情報(例えば来訪者会社名、来訪者氏名、来訪予定時刻、担当者名など)を格納する来訪者予約データベースが記憶されている。来訪者予約データベースには、会社への来訪が予定された来訪者Mの予約データ(例えば来訪者会社名、来訪者会社名ヨミ、来訪者名、来訪者名ヨミ、訪問予定日時、担当者名、担当者名ヨミ、担当者電話番号、担当者部署名等)が記憶されている。
【0056】
社員DB記憶エリア155には、会社の社員全員の個人情報を格納する社員データベースが記憶されている。社員データベースには、社員情報(例えば氏名、苗字、発音に関する情報、電話番号等)が記憶されている。
【0057】
プログラム記憶エリア156には、システムプログラム、通信プログラム等、各種処理をDBサーバ10に実行させるための各種プログラムが記憶されている。なお、これらのプログラムは、例えばCD−ROMに記憶されたものがCD−ROMドライブ(図示せず)を介してインストールされ、プログラム記憶エリア156に記憶される。又は、適宜のネットワークを介してシステム外部からダウンロードされたプログラムが記憶されてもよい。
【0058】
(D)音声認識の流れ
以上のような構成の本実施形態の最大の特徴は、前述した増幅率の3つの値N1,N2,N3が時系列的に順次繰り返されるようにオペアンプ217の増幅率を切替制御すること、上記3つの値N1,N2,N3に制御された増幅率を用いてオペアンプ217で増幅された音声情報を所定周期でサンプリングして音声データを取得すること、取得した音声データを上記切替制御された上記増幅率の3つの値N1,N2,N3それぞれに対応させた3つのデータ群に分類して抽出すること、及び、抽出した上記3つのデータ群のうち、特定のデータ群を選択して、選択されたデータ群を用いて音声認識を行うこと、である。以下、その詳細を順を追って説明する。
【0059】
(D−1)オペアンプの増幅率の切替制御
まず、図7〜図11を用いて、オペアンプ217の増幅率の切替制御について説明する。図7は、受付処理において来訪者Mが受付端末20に対して発話した状態を模式的に表す図である。図7に示すように、受付処理において、来訪者Mが受付端末20に対して発話すると、その発話音声により対応する音声情報がマイク207で入力される。
【0060】
図8は、このようにして入力された音声情報を音声波形で表した図である。この例では、横軸に時間をとり、縦軸に電圧をとった音声波形の一例を示している。図9は、上記図8の破線で囲んだ部分の拡大図にほぼ相当する図である。
【0061】
図8及び図9において、音声情報は、アナログ信号(連続信号)であるので、時系列で入力電圧が変化する連続した音声波形で表すことができる。音声波形の振幅(電圧)の大きさは、マイク207に入力した音声の音量に対応している。
【0062】
マイク207で入力された音声情報は、その後、オペアンプ217に入力されて増幅される。本実施形態では、オペアンプ217の増幅率は、上記3つの値N1,N2,N3が時系列的にN1→N2→N3→N1→N2→N3→・・・(但しN1<N2<N3;後述の図10及び図11等を参照)と順次繰り返すように切替制御されている。
【0063】
図10は、オペアンプ217により増幅された音声情報を音声波形で表した図であり、上記図8に対応する図である。図11は、上記図10の破線で囲んだ部分の拡大図にほぼ相当する図である。
【0064】
図10及び図11において、オペアンプ217により増幅された音声情報は、上記のように切替制御された増幅率の値N1,N2,N3のいずれかを用いてオペアンプ217により増幅されている。なお、オペアンプ217により増幅された音声情報の音声波形は、図8及び図9に示した音声波形と同様に、本来ならば時系列で電圧が変化する連続した音声波形となる。しかしながら、図10及び図11に示す例では、図示煩雑の防止及び理解の容易化のため、増幅率の値が次の値に切り替わるまで(例えば、N1からN2に切り替わるまで)電圧が一定となる(言い換えれば、電圧が離散的に変化する)音声波形を示している。
【0065】
また、この例では、オペアンプ217の増幅率の値は、N1=1000、N2=2000、N3=3000となっている。そして、増幅率の値が、時刻0[msec]の時点においてN1に設定され、時刻T1[msec]でN2に切り替えられ、時刻T2[msec]でN3に切り替えられ、時刻T3[msec]で再びN1に切り替えられている。その後も、時刻T4[msec]でN2、時刻T5[msec]でN3、時刻T6[msec]でN1、時刻T7[msec]でN2、時刻T8[msec]でN3、時刻T9[msec]でN1に切り替えられている。なお、時刻T9[msec]以降については説明を省略する。
【0066】
したがって、時刻0から時刻T1[msec]までの時間に入力された音声情報は、上記増幅率の値N1を用いてオペアンプ217により1000倍に増幅され、時刻T1から時刻T2[msec]までの時間に入力された音声情報は、上記増幅率の値N2を用いてオペアンプ217により2000倍に増幅され、時刻T2から時刻T3[msec]の時間に入力された音声情報は、上記増幅率の値N3を用いてオペアンプ217により3000倍に増幅されている。その後も、時刻T3から時刻T4[msec]までの時間に入力された音声情報は1000倍に増幅され、時刻T4から時刻T5[msec]までの時間に入力された音声情報は2000倍に増幅され、時刻T5から時刻T6[msec]までの時間に入力された音声情報は3000倍に増幅され、時刻T6から時刻T7[msec]までの時間に入力された音声情報は1000倍に増幅され、時刻T7から時刻T8[msec]までの時間に入力された音声情報は2000倍に増幅され、時刻T8から時刻T9[msec]までの時間に入力された音声情報は3000倍に増幅されている。
【0067】
(D−2)音声データの取得
本実施形態では、上記時刻T1,T2,T3,…におけるオペアンプ217の増幅率の切替制御に連動し、上記3つの値N1,N2,N3に制御された増幅率を用いてオペアンプ217で増幅された音声情報を所定周期でADC227に取り込み(=サンプリングし)、デジタル信号である音声データに変換する。以下、上記図10及び図11に示した音声波形のうち、時刻0から時刻T9[msec]までの時間における音声波形を例にとって説明する。
【0068】
図12は、ADC227がサンプリングにより音声データを取得する手順の概要を説明する説明図である。なお、図12の上段に示したグラフは、上記図11中の時刻0から時刻T9[msec]までの時間における音声波形に相当するグラフである。
【0069】
図12において、ADC227は、所定周期tで、上記増幅された音声情報(詳細は前述の図11参照)をサンプリングし、そのときの上記増幅率の値(N1、N2,N3のいずれか)に対応する音声データSDを取得する。このとき、ADC227によりサンプリングされるタイミング(時刻)を、この例では、時刻ta(前述の時刻T1,T2間に存在)、時刻tb(前述の時刻T2,T3間に存在)、時刻tc(前述の時刻T3,T4間に存在)、時刻td(前述の時刻T4,T5間に存在)、時刻te(前述の時刻T5,T6間に存在)、時刻tf(前述の時刻T6,T7間に存在)、時刻tg(前述の時刻T7,T8間に存在)、及び時刻th(前述の時刻T8,T9間に存在)、…としている。
【0070】
すなわち、時刻ta[msec](このときの上記増幅率の値はN1である)でサンプリングされることで増幅率値N1で増幅された音声データSD0が取得され、時刻tb[msec](このときの上記増幅率の値はN2である)でサンプリングされることで増幅率値N2で増幅された音声データSD1が取得され、時刻tc[msec](このときの上記増幅率の値はN3である)でサンプリングされることで増幅率値N3で増幅された音声データSD2が取得され、時刻td[msec](このときの上記増幅率の値はN4である)でサンプリングされることで増幅率値N4で増幅された音声データSD3が取得され、時刻te[msec](このときの上記増幅率の値はN5である)でサンプリングされることで増幅率値N5で増幅された音声データSD4が取得され、時刻tf[msec](このときの上記増幅率の値はN6である)でサンプリングされることで増幅率値N6で増幅された音声データSD5が取得され、時刻tg[msec](このときの上記増幅率の値はN7である)でサンプリングされることで増幅率値N7で増幅された音声データSD6が取得され、時刻th[msec](このときの上記増幅率の値はN8である)でサンプリングされることで増幅率値N8で増幅された音声データSD7が取得され、時刻ti[msec](このときの上記増幅率の値はN9である)でサンプリングされることで増幅率値N9で増幅された音声データSD8が取得される。
【0071】
次に、オペアンプ217の増幅率の切り替えのタイミング、及び、ADC227によるサンプリングのタイミングを説明する。図13は、オペアンプ217の増幅率の切替制御において、オペアンプ217、ADC227、CPU201、及び入力バッファ213の間で行われる信号の流れを表すタイミングチャートである。縦線で表されたオペアンプ217、ADC227、CPU201、及び入力バッファ213の間を横方向に結ぶ矢印が、オペアンプ217、ADC227、CPU201、及び入力バッファ213の間の信号の挙動を示す。矢印の向きは信号の出力方向を示しており、矢印の先が向いている側が入力側である。また、図中下向きに時間軸がとられ、時間の経過を表している。
【0072】
図13において、まず最初に、オペアンプ217の増幅率は、この例ではN1に設定されている。そして、ADC227は、上記時刻taで上記増幅率の値N1を用いてオペアンプ217により増幅された音声情報を取り込み(ステップSS50)、アナログ−デジタル変換処理を開始する。そして、ADC227は、アナログ−デジタル変換処理が終了したら、CPU201にアナログ−デジタル変換処理終了割込み信号を出力する(ステップSS51)。このとき、ADC227は、CPU201を介して入力バッファ213に音声データSD0を出力する(ステップSS52)。これにより入力バッファ213は、その入力バッファ領域(0)に上記音声データSD0を記憶する。また、上記割込み信号を入力したCPU201は、オペアンプ217に制御信号を出力する(ステップSS53)。これにより上記時刻T1においてオペアンプ217の増幅率の値がN1からN2に切り替えられる。
【0073】
その後、上記ステップSS50で音声情報を取り込んでから時間tが経過した上記時刻tbで、上記増幅率の値N2を用いてオペアンプ217により増幅された音声情報を取り込み(ステップSS54)、アナログ−デジタル変換処理を開始する。その後のステップSS55、ステップSS56、ステップSS57は、上記ステップSS51、ステップSS52、ステップSS53と同様であり、ADC227がアナログ−デジタル変換処理終了割込み信号を出力するとともに入力バッファ213に音声データSD1を出力し、入力バッファ213は入力バッファ領域(1)に上記音声データSD1を記憶する。そして、ステップSS57に示すようにCPU201が出力した制御信号がオペアンプ217に入力したら、上記時刻T2においてオペアンプ217の増幅率の値がN2からN3に切り替えられる。
【0074】
その後、上記ステップSS54で音声情報を取り込んでから時間tが経過した上記時刻tcで、上記増幅率の値N3を用いてオペアンプ217により増幅された音声情報を取り込み(ステップSS58)、アナログ−デジタル変換処理を開始する。その後のステップSS59、ステップSS60、ステップSS61は、上記ステップSS51、ステップSS52、ステップSS53と同様であり、ADC227がアナログ−デジタル変換処理終了割込み信号を出力するとともに入力バッファ213に音声データSD2を出力し、入力バッファ213は入力バッファ領域(2)に上記音声データSD2を記憶する。そして、ステップSS61に示すようにCPU201が出力した制御信号がオペアンプ217に入力したら、上記時刻T3においてオペアンプ217の増幅率の値がN3からN4に切り替えられる。
【0075】
以下同様の手順により、オペアンプ217の増幅率は、上記3つの値N1,N2,N3が時系列的にN1→N2→N3→N1→・・・と順次繰り返すように切り替えられる。
【0076】
(D−3)音声データの記憶・データ群の抽出
次に、上記のようにしてADC227から出力される音声データSDを入力バッファ213へ記憶する手順の概要を説明する。なお、本実施形態では、入力バッファ213への上記音声データSDの記憶は、1回のサンプリングにより音声データSDが取得されるごとに行われる(すなわち、サンプリング→記憶→サンプリング→記憶・・・を繰り返している)。図14は、入力バッファ213に前述の例における音声データSDを記憶する手順の概要を説明する説明図である。なお、この例では、音声データSD0,SD1,・・・,SD8が、9つの(すなわち領域番号X=0〜8の)入力バッファ領域(0)、入力バッファ領域()(1)、・・・、入力バッファ領域(8)に対しそれぞれ記憶される場合を例にとって説明する。
【0077】
図14において、上記図12で示した時刻taでのサンプリング(1回目のサンプリング)により取得された上記音声データSD0は、領域番号X=0である入力バッファ213の入力バッファ領域(0)に記憶される。その後、時刻tbでのサンプリングにより上記音声データSD1が取得されると、上記同様、入力バッファ領域(1)に記憶される。以下同様に、上記音声データSD2は、入力バッファ領域(2)に記憶され、上記音声データSD3は、入力バッファ領域(3)に記憶され、上記音声データSD4は、入力バッファ領域(4)に記憶され、上記音声データSD5は、入力バッファ領域(5)に記憶され、上記音声データSD6は、入力バッファ領域(6)に記憶され、上記音声データSD7は、入力バッファ領域(7)に記憶され、上記音声データSD8は、入力バッファ領域(8)に記憶される。このように入力バッファ213では、上記増幅率の値N1,N2,N3それぞれに対応する音声データSD0〜SD8が混在した(上記増幅率の値N1,N2,N3それぞれに対応する音声データSD0〜SD8ごとに分類されていない)データ群として記憶される。
【0078】
そして、上記領域番号X=Xmax(この例ではXmax=8)である入力バッファ領域(8)に、音声データSD(この例では音声データSD8)が記憶されると、入力バッファ213は、前述のバッファフル状態となり、ADC227によるサンプリングが(一時的に)終了され、入力バッファ213に記憶された全ての音声データSD(この例では音声データSD0〜SD8)が、出力バッファ214へ出力される。
【0079】
次に、入力バッファ213の全ての領域に記憶された音声データSDを、上記増幅率の値N1,N2,N3それぞれに対応させた3つのデータ群に分類して抽出する手順の概要を説明する。
【0080】
図15は、上記図14のようにして入力バッファ213の全ての領域(この例では入力バッファ領域(0)〜入力バッファ領域(8))に記憶された音声データSD0〜SD8を、上記増幅率の値N1,N2,N3それぞれに対応させた3つのデータ群に分類して抽出する手順の概要を説明する説明図である。
【0081】
なお、この例では、上記各第1〜第3出力バッファ214A〜214Cにおける前述の領域番号Yの値をY=0〜2(すなわち、予め定められた最大領域番号Ymax=2)としている。また、第1〜第3出力バッファ214A〜214Cに対し、上記オペアンプ217の3つの増幅率の値N1,N2,N3それぞれに関連付けられた出力バッファインデックス番号(以下、単に「インデックス番号」という)Pをそれぞれ設定している。この例では、第1出力バッファ214Aは、上記増幅率の値N1に関連付けられたインデックス番号P=0が設定されており、第2出力バッファ214Bは、上記増幅率の値N2に関連付けられたインデックス番号P=1が設定されており、第3出力バッファ214Cは、上記増幅率の値N3に関連付けられたインデックス番号P=2が設定されている。
【0082】
これら図15(a)〜(d)は、図15(a)→図15(b)→図15(c)→図15(d)の順の時系列変化で手順を示すものである。図15(a)〜(d)において、前述したように、上記インデックス番号P=0の第1出力バッファ214Aには、上記増幅率の値N1に対応する音声データSDが記憶され、インデックス番号P=1の第2出力バッファ214Bには、上記増幅率の値N2に対応する音声データSDが記憶され、インデックス番号P=2の第3出力バッファ214Cには、上記増幅率の値N3に対応する音声データSDが記憶される。
【0083】
すなわち、図15(a)に示すように、まず入力バッファ領域(0)に記憶されている上記増幅率の値N1に対応する音声データSD0を、第1出力バッファ214Aに出力する。次に、入力バッファ領域(1)に記憶されている上記増幅率の値N2に対応する音声データSD1を、第2出力バッファ214Bに出力する。そして、入力バッファ領域(2)に記憶されている上記増幅率の値N3に対応する音声データSD2を、第3出力バッファ214Cに出力する。
【0084】
その後、上記同様、図15(b)に示すように、入力バッファ領域(3)の音声データSD3が第1出力バッファ214Aに出力され、入力バッファ領域(4)の音声データSD4が第2出力バッファ214Bに出力され、入力バッファ領域(5)の音声データSD5が第3出力バッファ214Cに出力される。
【0085】
また、図15(c)に示すように、入力バッファ領域(6)の音声データSD6が第1出力バッファ214Aに出力され、入力バッファ領域(7)の音声データSD7が第2出力バッファ214Bに出力され、入力バッファ領域(8)の音声データSD8が第3出力バッファ214Cに出力される。
【0086】
これにより、図15(d)に示すように、入力バッファ213に記憶されている全ての音声データSD0〜SD8が、各第1〜第3出力バッファ214A〜214Cの各領域にそれぞれ分配されて格納される状態となる。すなわち、第1出力バッファ214Aには、上記増幅率の値N1に対応したデータ群(音声データSD0,SD3,SD6)が格納され、第2出力バッファ214Bには、上記増幅率の値N2に対応したデータ群(音声データSD1,SD4,SD7)が格納され、第3出力バッファ214Cには、上記増幅率の値N3に対応したデータ群(音声データSD2,SD5,SD8)が格納されている。このように、第1出力バッファ214A、第2出力バッファ214B、第3出力バッファ214Cのそれぞれに対し、上記増幅率の3つの値N1,N2,N3それぞれに対応させたデータ群に分類して格納することで、上記3つのデータ群を抽出することができる。
【0087】
(D−4)データ群の選択
次に、図16、前述の図10、及び図17を用いて、本実施形態におけるデータ群の選択の手法について説明する。
【0088】
図16は、ADC227の入力限界を説明する説明図である。なお、この図16は、前述の図10に示した音声波形から、入力限界Fより大きい部分及び入力限界−Fより小さい部分をカットした音声波形に相当する図である。
【0089】
図16及び前述の図10において、前述の図10で示した音声波形のうち、図16で消去されている部分は、上記ADC227の入力限界F(この例ではF=3[V])より大きい部分と、入力限界−F(この例では−F=−3[V])より小さい部分(以下、これらの部分を「入力限界F,−Fを超えた部分」という)の音声波形に相当する。この入力限界F,−Fを超えた部分、言い換えれば、オペアンプ217の増幅率が大き過ぎた部分は、ADC227によるアナログ−デジタル変換処理時に歪みが発生する。この結果、変換された音声データSDの音声波形の振幅値AM(後述の図17参照)は、所定の値で頭打ちになる。
【0090】
図17は、抽出された3つのデータ群のうち特定のデータ群を選択する手法を説明するための、各データ群を音声波形で表した図である。図17(a)、図17(b)、及び図17(c)は、上記図10に示したオペアンプ217での増幅後の音声波形における、増幅率の値N1による増幅に対応したデータ群、増幅率の値N2による増幅に対応したデータ群、増幅率の値N3による増幅に対応したデータ群、をそれぞれ表している。なお、これら図17(a)〜図17(c)では、横軸に時間をとり、縦軸に振幅値AMをとった音声波形の例を示している。
【0091】
図17(a)〜図17(c)に示す各データ群は、既に述べたように、サンプリングにより取得された(デジタル信号である)音声データSDを各増幅率の値N1,N2,N3ごとに前述の手法で分配して抽出されたデータ群であり、各音声波形は、振幅値AMが離散的に(非連続的に)変化している。このとき、上述したように、オペアンプ217により増幅された音声情報に、上記入力限界F,−Fを超えた部分が存在していれば、その部分がADC227によりアナログ−デジタル変換処理されると、所定の値(この例ではAM=約3.3×10(上側),約−3.3×10(下側))で頭打ちになった波形になる。すなわち、この例では、図17(b)に示す音声波形の楕円で囲んだ5箇所(上側3箇所及び下側2箇所)と、図17(c)に示す音声波形の楕円で囲んだ5箇所(上側3箇所及び下側2箇所)とが、該当している。この部分は、ADC227によりアナログ−デジタル変換処理時に歪みが発生した部分であり、音割れを起こし音声認識を精度よく行うことができない。したがって、音声認識に用いるデータ群として、このような部分を含まない音声波形になるデータ群を選択することが好ましい。
【0092】
そこで、本実施形態では、データ群の音声波形の振幅値AMに、第1しきい値AMmin(この例ではAMmin=−3×10)及び第2しきい値AMmax(この例ではAMmax=3×10)を設けている。そして、抽出された3つのデータ群のうち、アナログ−デジタル変換処理時に歪み発生を回避可能な所定のレベル範囲として、AMmin≦AM≦AMmaxの関係を全データで満足するデータ群を選択するようにする。
【0093】
すなわち、図17(a)〜図17(c)に示す例(時刻0から時刻12[msec]までのデータが対象)では、図17(a)に示した上記増幅率の値N1に対応したデータ群は、振幅値AMが全データでAMmin≦AM≦AMmaxとなるので選択される。図17(b)及び図17(c)に示した上記増幅率の値N2,N3に対応したデータ群は、AM>AMmaxやAM<AMminとなる部分があるので選択されない。この結果、図17(a)に示した上記増幅率の値N1に対応したデータ群を用いて音声認識が行われる。
【0094】
なお。この例では、上記選択されるデータ群が、図17(a)に示した上記増幅率の値N1に対応したデータ群の1つであった場合を示したが、複数のデータ群が選択される場合もあり得る。この場合には、本実施形態では、選択された複数のデータ群のうち、音声波形の振幅(この例では所定期間における振幅の平均値)が最大であるデータ群を選択する(詳しくは後述の図19のステップS180を参照)。
【0095】
(E)制御手順
図18は、以上説明した内容を実現するために、受付端末20の制御回路部200により実行する制御手順を表すフローチャートである。なお、このフローに示す処理は、HDD205のプログラム記憶エリア256に記憶された来訪者受付処理用のプログラム群(前述のシステムプログラム、通信プログラム、描画プログラム、音声認識プログラム、DB照合プログラム、電話接続プログラム)に従って、CPU201が実行するものである。
【0096】
図18において、例えば受付端末20の電源ONによって、このフローが開始される(「START」位置)。
【0097】
まずステップS10で、受付処理を開始する操作が、来訪者Mにより図示しない操作部を介して行われたか否かを判定する。来訪者Mにより受付処理を開始する操作が行なわれるまでループ待機し、来訪者Mにより受付処理を開始する操作が行なわれた場合には、判定が満たされてステップS20に移る。
【0098】
ステップS20では、I/Oインタフェイス204を介してスピーカ208へ音声信号を出力し、来訪者名等を問いかける台詞(例えば「いらっしゃいませ。どちら様でしょうか。(マイクに向かってお名前を入力してください)」)を発声させる。このとき、表示部210に台詞と同様の内容のテキストを含む表示画面を表示させてもよい。
【0099】
その後、ステップS100で、来訪者Mの発話音声を認識する音声認識処理(詳細は後述の図19参照)を実行する。
【0100】
そして、ステップS30で、後述の図19のステップS190において音声認識できたか否かを判定する。言語として音声認識できなかった場合には判定が満たされず、音声認識ができなかったことを来訪者Mに通知する台詞(例えば「音声を認識できませんでした。もう一度マイクに向かってお名前を入力してください」)をスピーカ208に発声させ、上記ステップS100に戻り、同様の手順を繰り返す。なお、この図18では図示を省略しているが、上記通知の発声は、予め定められた設定回数だけ行われ、その間に音声認識できない場合には、対応する処理(例えば部署代表やその他の受付担当者等に取り次ぐ等)を行う。一方、言語として音声認識できた場合には、ステップS30の判定が満たされステップS40に移る。
【0101】
ステップS40では、DBサーバ10の来訪者予約DB記憶エリア151に記憶された来訪者予約データベースにアクセスし、後述の図19のステップS190において音声認識により取得した来訪者名等が、来訪者予約データベースのいずれかの予約データの「来訪者名」等と一致するか否かを照合する。なお、完全な一致ではなく、ある類似幅、許容幅を持たせた範囲内で適合するかどうかを照合するようにしてもよい。
【0102】
その後、ステップS50で、上記ステップS40での照合結果が一致したか(適合したか)否かを判定する。ステップS40での照合結果が一致しなかった(該当する来訪者名等の予約データが存在しなかった)場合には判定が満たされず、予約データが存在しなかったことを来訪者Mに通知する台詞(例えば「予約がされていませんでした。もう一度マイクに向かってお名前を入力してください」)をスピーカ208に発声させ、上記ステップS20に戻り、同様の手順を繰り返す。ステップS40での照合結果が一致した(該当する来訪者名等の予約データが存在した)場合には、ステップS50の判定が満たされステップS60に移る。
【0103】
ステップS60では、正当な来訪者Mが訪ねてきたことが確認できたことに対応して、対応する担当者のIP電話機60に発信(コール)を行う。具体的には、担当者への通知文を作成し、その通知文のテキストデータを音声信号に変換し、上記予約データにより特定された担当者の電話番号を用いて、IP−PBX50を介し、担当者の使用するIP電話機60に、音声信号を発信する。そして、このフローを終了する。
【0104】
図19は、上記図18のステップS100の詳細手順を表すフローチャートである。
【0105】
まずステップS200で、音声データSDの取得及び取得した音声データSDの入力バッファ213への記憶を行う音声データ取得・記憶処理(詳細は後述の図20参照)を実行する。
【0106】
その後、ステップS300で、入力バッファ213に記憶した音声データSDを、上記増幅率の値N1,N2,N3それぞれに対応させた3つのデータ群に分類して抽出するデータ抽出処理(詳細は後述の図21参照)を実行する。
【0107】
そして、ステップS110で、公知の手法により、上記抽出したデータ群から来訪者Mの発話区間の検出を行う。このときの手法としては、例えば、零交差法等を用いることができる。零交差法は、ステップエッジの2次微分が正から負、又は負から正へピークが変化する途中においては、出力レベル0となる位置がエッジの中央位置に対応していることを利用するものであり、高い精度でエッジを検出することができる。
【0108】
その後、ステップS120で、上記ステップS110の結果に基づき、来訪者Mの発話区間が検出されたか否かを判定する。発話区間が検出されなかった場合には、判定が満たされずステップS200に戻り、同様の手順を繰り返す。発話区間が検出された場合には、判定が満たされてステップS400に移る。
【0109】
ステップS400では、上記ステップS300(後述の図21の全手順)で抽出された3つのデータ群のうち、特定のデータ群を選択するデータ選択処理(詳細は後述の図22参照)を実行する。
【0110】
そして、ステップS130で、上記ステップS400のデータ選択処理において選択されたデータ群の数を表す変数Dが所定数D0未満である(D<D0)か、言い換えれば、前述の所定レベル範囲(前述の例ではAMmin≦AM≦AMmax)に含まれるデータ群の数が所定数D0未満であったか否か、を判定する(判定手段としての機能)。D<D0である場合には、判定が満たされ、後述のステップS180に移る。D≧D0であった場合には、判定が満たされず、ステップS140に移る。
【0111】
ステップS140では、図22において後述する、振幅が大き過ぎた音声データSDの数を表すカウンタGと、振幅が小さ過ぎ音声データSDの数を表すカウンタLとについて、G=Lであるかどうかを判定する。G=Lであった場合は判定が満たされ、後述のステップS160やステップS170のようにして増幅率を増減する必要なしとみなして、後述のステップS180に移る。G≠Lであった場合は判定が満たされずステップS150に移る。
【0112】
ステップS150では、G>Lであるかどうかを判定する。G>Lであった場合は判定が満たされ、オペアンプ217の増幅率が大き過ぎたとみなし、オペアンプ217の増幅率の値N1,N2,N3を、全体的に所定値(例えば、500)小さくする。その後、後述のステップS180に移る。ステップS150において、G≦Lであった場合は、ステップS150の判定が満たされず、ステップS170に移る。ステップS170では、オペアンプ217の増幅率が小さ過ぎたとみなし、オペアンプ217の増幅率の値N1,N2,N3を、全体的に所定値(例えば、500)だけ大きくする。その後、後述のステップS180に移る。
【0113】
ステップS180では、後述の図22のデータ選択処理で選択された複数のデータ群のうち、所定期間(例えば1〜12[msec]の時間間隔)における音声波形の振幅の平均値が最大であるデータ群を選択する。
【0114】
その後、ステップS190で、上記ステップS400で選択されたデータ群を用いて音声認識を行う。そして、このルーチンを終了する。
【0115】
図20は、上記図18のステップS200の詳細手順を表すフローチャートである。
【0116】
まずステップS210で、上記入力バッファ213の領域番号Xの値をX=0に初期化する。
【0117】
その後、ステップS220で、オペアンプ217の増幅率の値を表す変数Cの値を、初期値(この例ではN1)とする。
【0118】
そして、ステップS230で、I/Oインタフェイス204を介してオペアンプ217に制御信号を出力し、オペアンプ217の増幅率を上記変数Cの値に設定する。
【0119】
その後、ステップS240で、I/Oインタフェイス204を介してADC227から上記アナログ−デジタル変換処理終了割込み信号を入力したか否かを判定する。上記割込み信号を入力するまで判定が満たされずループ待機し、上記割込み信号を入力したら、判定が満たされてステップS250に移る。
【0120】
ステップS250では、ADC227及びI/Oインタフェイス204を介して、上記1サンプル分の音声データSDを取得する。なお、制御回路200の実行するこのステップS250の手順と上記ADC227とが、各請求項記載の情報取得手段として機能する。
【0121】
そして、ステップS255で、上記ステップS250で取得した音声データSDを入力バッファ213の上記入力バッファ領域(X)に出力し、音声データSDを当該入力バッファ領域(X)に記憶させる。
【0122】
その後、ステップS260で、領域番号Xが、予め定められた最大領域番号Xmax(例えばXmax=100)に等しくなったか(バッファフル状態になったか)否かを判定する。上記領域番号XがXmaxより小さい場合(バッファフル状態になっていない場合)には、判定が満たされずステップS265に移る。
【0123】
ステップS265では、Xの値に1を加え、ステップS270に移り、上記変数C=N1であるか否かを判定する。C=N1である場合には、判定が満たされてステップS275に移り、C=N2とし、上記ステップS230に戻り、同様の手順を繰り返す。一方、上記変数C=N1でない場合(C=N2又はC=N3である場合)には、判定が満たされずステップS280に移る。
【0124】
ステップS280では、上記変数C=N2であるか否かを判定する。C=N2である場合には、判定が満たされてステップS285に移り、C=N3とし、上記ステップS230に戻り、同様の手順を繰り返す。一方、上記変数C=N2でない場合(C=N3である場合)には、判定が満たされずステップS220に戻り、同様の手順を繰り返す。
【0125】
一方、上記ステップS260において、上記領域番号X=Xmaxとなった場合(バッファフル状態になった場合)には、ステップS260の判定が満たされて、このルーチンを終了する。
【0126】
図21は、上記図19のステップS300の詳細手順を表すフローチャートである。
【0127】
まずステップS310で、上記入力バッファ213の領域番号Xの値をX=0に初期化する。
【0128】
その後、ステップS320で、上記第1〜第3出力バッファ214A〜214Cの領域番号Yの値をY=0に初期化する。
【0129】
そして、ステップS330で、上記インデックス番号Pの値をP=0に初期化する。
【0130】
その後、ステップS340で、入力バッファ214の入力バッファ領域(X)に記憶されている音声データSDを、インデックス番号Pの出力バッファ214の出力バッファ領域(Y)に出力する。
【0131】
そして、ステップS350で、X=Xmaxとなったか否かを判定する。X=Xmaxとなっていない場合には、判定が満たされずステップS360に移る。
【0132】
ステップS360では、Xの値に1を加え、ステップS370に移り、Pが、予め定められた最大インデックス番号Pmax(この例ではPmax=2)に達したか否かを判定する。上記インデックス番号Pの値がPmaxより小さい場合には、判定が満たされずステップS380に移り、Pの値に1を加え、上記ステップS340に戻り、同様の手順を繰り返す。そして、P=Pmaxになったら、判定が満たされてステップS390に移る。
【0133】
ステップS390では、Yの値に1を加え、上記ステップS340に戻り、同様の手順を繰り返す。
【0134】
一方、上記ステップS350において、X=Xmaxとなった場合には、ステップS350の判定が満たされて、このルーチンを終了する。
【0135】
図22は、上記図20のステップS400の詳細手順を表すフローチャートである。
【0136】
まずステップS410で、後述のステップS480で選択されたデータ群の数を表す変数Dの値を0に初期化し、また、振幅が過大・過小である音声データSDの数を表すカウンタG,Lをそれぞれ0に初期化する。
【0137】
その後、ステップS420で、上記インデックス番号Pの値をP=0に初期化する。
【0138】
そして、ステップS430で、上記領域番号Yの値をY=0に初期化する。
【0139】
その後、ステップS440で、インデックス番号Pの出力バッファ214の出力バッファ領域(Y)に記憶されている音声データSDを取得する。
【0140】
そして、ステップS450で、上記ステップS440で取得した音声データSDの振幅値AMが、AMmin≦AM≦AMmaxであるか否かを判定する。AMmin≦AM≦AMmaxであった場合には判定が満たされ、ステップS460に移る。
【0141】
ステップS460では、Y=Ymaxとなったか否かを判定する。Y=Ymaxとなっていない場合には、判定が満たされずステップS470に移り、Yの値に1を加え、上記ステップS440に戻り、同様の手順を繰り返す。そして、Y=Ymaxとなった場合には、判定が満たされてステップS480に移る。
【0142】
ステップS480では、インデックス番号Pの出力バッファ214に記憶されている音声データSDのデータ群を選択する(選択されたデータ群として適宜の箇所に記憶する)。
【0143】
その後、ステップS485に移り、Dの値に1を加え、ステップS490に移る。
【0144】
一方、上記ステップS450において、AMmin≦AM≦AMmaxでなかった場合には、判定が満たされず、ステップS452に移る。
【0145】
ステップS452では、音声データSDの振幅値AMが、AM<AMminであるか否かを判定する。AM<AMminであった場合にはステップS452の判定が満たされ、振幅が小さ過ぎるとみなしてステップS454で上記カウンタLの値に1を加え、ステップS490に移る。一方AM>AMminであった場合にはステップS452の判定が満たされず、(AM>AMmaxであることから)振幅が大き過ぎるとみなしてステップS456で上記カウンタGの値に1を加え、ステップS490に移る。
【0146】
ステップS490では、P=Pmaxに達したか否かを判定する。P=Pmaxとなっていない場合には、判定が満たされずステップS495に移り、Pの値に1を加え、上記ステップS430に戻り、同様の手順を繰り返す。そして、P=Pmaxとなった場合には、判定が満たされて、ステップS492へ移る。
【0147】
ステップS492では、D=0であるかどうかを判定する。D=0でなかった場合は判定が満たされず、少なくとも1つのデータ群が選択されたとみなして、このルーチンを終了する。D=0であった場合、判定が満たされ、1つのデータ群も未だ選択されていないとみなして、ステップS494に移る。
【0148】
ステップS494では、前述した、振幅が大き過ぎた音声データSDの数を表すカウンタGと、振幅が小さ過ぎ音声データSDの数を表すカウンタLとに関して、L≧Gであるかどうかを判定する。振幅過小の音声データSDの数が振幅過大の音声データSDの数以上であった場合はL≧GであるからステップS494の判定が満たされ、ステップS496に移り、出力バッファ214の出力バッファ領域(Ymax−1)に記憶されているデータ群を選択する。振幅過大の音声データSDの数が振幅過大の音声データSDの数より多かった場合はL<GであるからステップS494の判定が満たされず、ステップS498に移り、出力バッファ214の出力バッファ領域(0)に記憶されているデータ群を選択する。
【0149】
ステップS496又はステップS498の後は、ステップS499に移り、上記のようにして1つのデータ群を選択したことに対応させてD=1とし、このルーチンを終了する。
【0150】
なお、以上において、図19に示すステップS300(言い換えれば図21の全手順)が、各請求項記載のデータ抽出手段として機能する。また、図19に示すステップS400(言い換えれば図22の全手順)及びステップS180が、データ選択手段として機能し、そのうちステップS400がレベル選択手段として機能し、ステップS180が振幅選択手段として機能する。また、図19に示すステップS160及びステップS170と、図20に示すステップS220、ステップS230、ステップS275、及びステップS285とが、増幅制御手段として機能する。
【0151】
以上説明したように、本実施形態の受付端末20においては、来訪者Mが発話すると、その発話音声に対応した音声情報がマイク207で入力され、さらにオペアンプ217で増幅された後、ADC227により所定周期でサンプリングされ、音声データSDとして取得される(図20のステップS250参照)。このとき、上記オペアンプ217の増幅率は、互いに異なる複数の値(上記の例では3つの値N1,N2,N3)に切り替えられており、上記取得された音声データSDは、各増幅率の値に対応させた複数の(上記の例では3つの)データ群に分類して抽出される(図19のステップS300(図21の全手順)を参照)。そして、その抽出された3つのデータ群のうち、特定の(高い認識精度が得られるような増幅率の)データ群を選択し(図19のステップS400及びステップS180参照)、そのデータ群を用いて音声認識を行う(図19のステップS190参照)。
【0152】
この結果、来訪者Mの発話において突発的な音量変化が生じた場合であっても、AGC(Automatic Gain Controlを適用する場合とは異なり、いずれかの増幅率に係わるデータ群を用いることで、音割れ等の不都合のない良好な音声データSDにより確実に漏れのない音声認識を行い、高い認識精度を得ることができる。
【0153】
また、上記のように異なる3つの増幅率の値N1,N2,N3を実現する際、1つのオペアンプ217の増幅率を時系列的に切り替え制御することで、3つの増幅率値N1,N2,N3を順次繰り返す。そして、各増幅率の値N1,N2,N3ごとに音声データSDを離散的に抽出し、各データ群を構成する。これにより、複数の増幅器それぞれにおいて同時並行して互いに異なる増幅率で増幅を行った後、各増幅器からの出力波形を合成する場合のようなスペクトルのゆがみといった不都合を回避し、良好な音声認識を行うことができる。
【0154】
また。本実施形態では特に、図19のステップS300で抽出された複数のデータ群のうち、アナログ−デジタル変換処理時の歪み発生を回避可能な所定レベル範囲(上記の例ではAMmin≦AM≦AMmax)のデータ群を選択する。これにより、発話において突発的な音量変化が生じた場合であっても、選択したデータ群を用いることで、音割れ等の不都合のない良好な音声データSDで確実に音声認識を行うことができる。
【0155】
また、本実施形態では特に、図19のステップS400で複数のデータ群が選択された場合、すなわち、上記変数Dの値がD≧2であった場合、その選択された複数のデータ群のうち、音声波形の振幅が最大(上記の例では所定期間における振幅の平均値が最大)であるデータ群を選択する(図19のステップS180参照)。これにより、ステップS400で選択した複数のデータ群の中でも、相対的にレベルが大きいデータ群を用いることで、信号対ノイズ比(S/N比)が大きくノイズが少ない良好な音声データSDで高精度な音声認識を行うことができる。また特に、ステップS400で選択した複数のデータ群の中から、所定期間における振幅の平均値が最大であるデータ群をさらに選択することにより、瞬間的なレベル増大にとらわれることなく全体的にレベルが大きなデータ群を確実に選択し、高精度な音声認識を行うことができる。
【0156】
また、本実施形態では特に、図19のステップS400での選択結果に基づき、上記所定レベル範囲(AMmin≦AM≦AMmax)のデータ群が所定数D0以上含まれているかどうか、言い換えれば、上記変数Dの値がD<D0であるかD≧D0であるかを判定する(図19のステップS130参照)。そして、この判定結果に基づき、オペアンプ217の増幅率を切替制御する(図19のステップS160及びステップS170参照)。これにより、ステップS400での選択結果に応じ、増幅率が適正でなかった場合には、増幅率の切替制御を見直して適正化するようにフィードバックすることができる。
【0157】
すなわち、音声認識に適したものとして選択されたデータ群の数Dが所定数D0未満(D<D0)であったとき、G>Lであった場合には、そのときに切り替えられた増幅率の値N1,N2,N3は大き過ぎたとみなし、全体として増幅率を小さくする側にずらすように制御する(図19のステップS160参照)。この結果、次回以降は、音声認識に適したものとして図19のステップS400で選択されるデータ群の数Dを増やすことができるので、さらに良好な音声認識を行うことができる。一方、G≦Lであった場合には、そのときに切り替えられた増幅率の値N1,N2,N3は小さ過ぎたとみなし、全体として増幅率を大きくする側にずらすように制御する(図19のステップS170参照)。この結果、次回以降は、さらにレベルが大きいデータ群を選択することができるので、高精度な音声認識を行うことができる。
【0158】
なお、以上において、図4及び図6等の各図中に示す矢印は信号の流れの一例を示すものであり、信号の流れ方向を限定するものではない。
【0159】
また、図18〜図22に示すフローチャートは本発明を上記フローに示す手順に限定するものではなく、発明の趣旨及び技術的思想を逸脱しない範囲内で手順の追加・削除又は順番の変更等をしてもよい。
【0160】
また、以上既に述べた以外にも、上記実施形態や各変形例による手法を適宜組み合わせて利用しても良い。
【0161】
その他、一々例示はしないが、本発明は、その趣旨を逸脱しない範囲内において、種々の変更が加えられて実施されるものである。
【符号の説明】
【0162】
20 受付端末(音声認識装置)
201 CPU
213 入力バッファ
214A 第1出力バッファ
214B 第2出力バッファ
214C 第3出力バッファ
207 マイク(音声入力手段)
217 オペアンプ(増幅手段)
227 アナログ−デジタル変換回路
M 来訪者(発話者)
SD 音声データ
SD0〜8 音声データ

【特許請求の範囲】
【請求項1】
発話者の発話音声を音声認識するための音声認識装置であって、
前記発話音声により音声情報を入力する音声入力手段と、
前記音声入力手段で入力された前記音声情報を増幅する増幅手段と、
互いに異なる複数の値が時系列的に順次繰り返されるように前記増幅手段の増幅率を切替制御する増幅制御手段と、
前記増幅制御手段での前記切替制御に連動し、前記複数の値に制御された増幅率を用いて前記増幅手段で増幅された音声情報を所定周期でサンプリングし、音声データを取得する情報取得手段と、
前記情報取得手段で取得された音声データを、前記切替制御された前記増幅率の複数の値それぞれに対応させた複数のデータ群に分類して抽出するデータ抽出手段と、
前記データ抽出手段で抽出された前記複数のデータ群のうち、特定のデータ群を選択するデータ選択手段とを有し、
前記データ選択手段により選択された前記データ群を用いて音声認識を行う
ことを特徴とする音声認識装置。
【請求項2】
前記データ選択手段は、
前記データ抽出手段で抽出された前記複数のデータ群のうち、アナログ−デジタル変換処理時の歪み発生を回避可能な所定レベル範囲の前記データ群を選択するレベル選択手段を備える
ことを特徴とする請求項1記載の音声認識装置。
【請求項3】
前記データ選択手段は、
前記レベル選択手段で複数の前記データ群が選択された場合、その選択された複数のデータ群のうち、音声波形の振幅が最大である前記データ群を選択する振幅選択手段を備える
ことを特徴とする請求項2記載の音声認識装置。
【請求項4】
前記振幅選択手段は、
前記レベル選択手段で選択された複数のデータ群のうち、所定期間における前記振幅の平均値が最大である前記データ群を選択する
ことを特徴とする請求項3記載の音声認識装置。
【請求項5】
前記データ選択手段の前記レベル選択手段での選択結果に基づき、前記アナログ−デジタル変換処理時の歪み発生を回避可能な前記所定レベル範囲の前記データ群が所定数以上含まれているかどうかを判定する判定手段を有し、
前記増幅制御手段は、
前記判定手段において前記所定レベル範囲の前記データ群が前記所定数未満であると判定された場合には、前記増幅手段の増幅率をもとの値から増大又は減少させる
ことを特徴とする請求項2乃至請求項4のいずれか1項記載の音声認識装置。

【図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

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate


【公開番号】特開2010−210761(P2010−210761A)
【公開日】平成22年9月24日(2010.9.24)
【国際特許分類】
【出願番号】特願2009−54825(P2009−54825)
【出願日】平成21年3月9日(2009.3.9)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】