このような音声認識装置において、音声認識手段として特定話者音声認識あるいは不特定音声認識のいずれを用いたものをにあっても、スイッチを入れて始めて認識動作とそれに対する応答動作が可能となるのが一般的である。
しかしながら、音声認識装置の種類によっては、装置が常に音声の入力を待っている状態にあって、ユーザがその都度スイッチをオンすることなく音声入力を検出して認識動作を可能とすれば、より利便性の高いものとなる。たとえば、音声認識を利用したぬいぐるみなどの玩具にあっては、通常時から音声入力待機状態、いわゆるスリープモードとしておき、子どもがのぬいぐるみの名前を呼ぶことにより、即座に応答するようにしておけば、玩具としてはきわめて完成度の高いものとなる。これは、玩具のみならず音声認識を利用する電子機器すべてについても同様である。
このように、通常時はスリープモードとしておき、入力音声を検出して認識動作を行わせる場合における課題として、消費電力を如何に抑えるか、あるいは、入力された音信号が認識すべき音声か雑音かを識別して、認識すべき音声に対してのみ動作するようにするというようなことが挙げられる。特に、玩具などの場合は、乾電池で作動するものが殆どであるため、電池の消耗を如何に少なくするかというのは大きな課題であり、また、製品の価格もできるだけ安価なものとする必要があることから、実用化するための技術的な制約もきわめて多いというのが現状であった。
本発明はこれらの課題を解決するためになされたもので、通常時はスリープモードとして認識可能な音声の入力があった場合にのみ、それを検出して認識動作を可能とするとともに、スリープモード時の消費電力を極力抑え、また、使用環境に雑音が存在しても認識すべき音声を高精度に認識できるようにし、しかも、安価に実用化を可能とすることを目的としている。
本発明の音声認識対話装置は、音声などの音信号を入力する音信号入力手段と、この音信号入力手段により入力された音信号を分析して特徴データを発生する音信号分析部と、予め登録された認識可能な単語の標準音声特徴データを記憶する標準音声特徴データ記憶手段と、前記音信号分析手段からの特徴データを入力し、前記標準音声特徴データ記憶手段の記憶内容と比較し、入力音信号が認識可能な単語の音声であった場合、その認識可能な単語に対する単語検出データを出力する単語検出手段と、この単語検出手段からの単語検出データを受けて、入力された音声の意味を理解し、それに対応した応答内容を決定するとともに各種制御を行う音声理解会話制御手段と、この音声理解会話制御手段によって決定された応答内容に基づいた音声合成出力を発生する音声合成手段と、この音声合成手段からの音声合成出力を外部に出力する音声出力手段と、前記音信号入力手段からの音信号波形を基に入力音信号のパワーを検出する入力音信号パワー検出手段とを有し、装置をスリープモードとするためのスリープモード要求が出されると、装置をスリープモードとする設定を行い、装置がスリープモードとなっている場合において、前記入力音信号パワー検出手段によって検出された入力音信号のパワーが予め定められたしきい値以上で、かつ、その入力音信号が前記認識可能な単語の音声であるか否かを判断する処理を行い、入力音信号のパワーが前記しきい値以上で、かつ、その入力音信号が前記認識可能な単語の音声であると判断された場合に、装置をスリープモードから動作モードとすることを特徴としている。
前記スリープモードから動作モードとする際の入力音信号のパワー検出は、スリープモード時におけるパワー検出を前記予め設定されたしきい値を基準として所定時間行い、当該しきい値より大きいレベルの入力音信号が所定時間連続的に存在し、かつ、その入力音信号が認識可能な単語の音声でないと判断された場合は、当該入力音信号は環境中に存在する定常的な雑音と判断する。
また、前記スリープモードから動作モードとする際の入力音信号のパワー検出は、スリープモード時におけるパワー検出を前記予め設定されたしきい値を基準として所定時間行い、当該しきい値より大きいレベルの入力音信号が所定時間連続的に存在し、かつ、その入力音信号が認識可能な単語の音声でないと判断された場合は、当該入力音信号は環境中に存在する定常的な雑音と判断するとともに、前記しきい値を当該定常的な雑音レベルよりも大きい値に更新するようにする。
また、本発明の音声認識対話装置は、音声などの音信号を入力する音信号入力手段と、この音信号入力手段により入力された音信号を分析して特徴データを発生する音信号分析部と、予め登録された認識可能な単語の標準音声特徴データを記憶する標準音声特徴データ記憶手段と、前記音信号分析手段からの特徴データを入力し、前記標準音声特徴データ記憶手段の記憶内容と比較し、入力音信号が認識可能な単語の音声であった場合、その認識可能な単語に対する単語検出データを出力する単語検出手段と、この単語検出手段からの単語検出データを受けて、入力された音声の意味を理解し、それに対応した応答内容を決定するとともに各種制御を行う音声理解会話制御手段と、この音声理解会話制御手段によって決定された応答内容に基づいた音声合成出力を発生する音声合成手段と、この音声合成手段からの音声合成出力を外部に出力する音声出力手段と、前記音信号入力手段からの音信号波形を基に入力音信号のパワーを検出する入力音信号パワー検出手段とを有し、前記入力音信号パワー検出手段からのパワー信号を基に、環境中の雑音レベルを判断し、その雑音レベルの大きさに対応した音声レベルによる応答内容出力を行うことを特徴としている。
そして、前記入力音信号のパワー信号を基に環境中の雑音レベルを判断する手段として、雑音除去用のしきい値を設定し、このしきい値を基準にして所定時間パワーの検出を行い、当該しきい値より大きいレベルの入力音信号が所定時間連続的に存在し、かつ、その入力音信号が認識可能な単語の音声でないと判断された場合は、当該入力音信号は環境中に存在する定常的な雑音と判断するとともに、前記しきい値を当該定常的な雑音レベルよりも大きい値に更新し、或る時点におけるしきい値の大きさを基に、その時点における雑音レベルを判断するようにする。
また、本発明の音声認識対話装置は、音声などの音信号を入力する音信号入力手段と、この音信号入力手段により入力された音信号を分析して特徴データを発生する音信号分析部と、予め登録された認識可能な単語の標準音声特徴データを記憶する標準音声特徴データ記憶手段と、前記音信号分析手段からの特徴データを入力し、前記標準音声特徴データ記憶手段の記憶内容と比較し、入力音信号が認識可能な単語の音声であった場合、その認識可能な単語に対する単語検出データを出力する単語検出手段と、この単語検出手段からの単語検出データを受けて、入力音声の意味を理解し、それに対応した応答内容を決定するとともに各種制御を行う音声理解会話制御手段と、この音声理解会話制御手段によって決定された応答内容に基づいた音声合成出力を発生する音声合成手段と、この音声合成手段からの音声合成出力を外部に出力する音声出力手段と、前記音信号入力手段からの音信号波形を基に入力音信号のパワーを検出する入音信号パワー検出手段と、を有し、前記入力音信号パワー検出手段からのパワー信号を基に、入力音信号のパワーに対応した音声レベルによる応答内容出力を行うことを特徴としている。
また、本発明の音声認識対話処理方法は、音声などの音信号を入力する音信号入力手段により入力された音信号を分析して特徴データを発生し、この特徴データと予め登録された認識可能な単語に対する標準音声特徴データとを比較し、音信号が認識可能な単語の音声であった場合、その単語に対応する単語検出データを出力し、この単語検出データを受けて、入力音声の意味を理解し、それに対応した応答内容を決定して、この決定された応答内容に基づいた音声合成出力を発生する音声認識応答出力発生工程と、前記音信号入力手段からの音信号波形を基に入力音信号のパワーを検出する入力音信号パワー検出工程ととを有し、装置をスリープモードとするためのスリープモード要求が出されると、装置をスリープモードとする設定を行い、装置がスリープモードとなっている場合において、前記入力音信号パワー検出工程によって検出された入力音信号のパワーが予め定められたしきい値以上で、かつ、その入力音信号が前記認識可能な単語の音声であるか否かを判断する処理を行い、入力音信号のパワーが前記しきい値以上で、かつ、その入力音信号が前記認識可能な単語の音声であると判断された場合に、装置をスリープモードから動作モードとすることを特徴としている。
前記スリープモードから動作モードとする際の入力音信号のパワー検出は、スリープモード時におけるパワー検出を前記予め設定されたしきい値を基準として所定時間行い、当該しきい値より大きいレベルの入力音信号が所定時間連続的に存在し、かつ、その入力音信号が認識可能な単語の音声でないと判断された場合は、当該入力音信号は環境中に存在する定常的な雑音と判断する。
また、前記スリープモードから動作モード入力音信号のパワー検出は、スリープモード時におけるパワー検出を前記予め設定されたしきい値を基準として所定時間行い、当該しきい値より大きいレベルの入力音信号が所定時間連続的に存在し、かつ、その入力音信号が認識可能な単語の音声でないと判断された場合は、当該入力音信号は環境中に存在する定常的な雑音と判断するとともに、前記しきい値を当該定常的な雑音レベルよりも大きい値に更新するようにする。
また、本発明の音声認識対話処理方法は、音声などの音信号を入力する音信号入力手段により入力された音信号を分析して特徴データを発生し、この特徴データと予め登録された認識可能な単語の標準音声特徴データとを比較し、音信号が認識可能な単語の音声であった場合、その単語に対応する単語検出データを出力し、この単語検出データを受けて、入力音声の意味を理解し、それに対応した応答内容を決定して、この決定された応答内容に基づいた音声合成出力を発生する音声認識応答出力発生工程と、前記音信号入力手段からの音信号波形を基に入力音信号のパワーを検出する入力音信号パワー検出工程とを有し、前記入力音信号パワー検出工程からのパワー信号を基に、環境中の雑音レベルを判断し、その雑音レベルの大きさに対応した音声レベルによる応答内容出力を行うことを特徴としている。
前記入力音信号のパワー信号を基に環境中の雑音レベルを判断する手段として、雑音除去用のしきい値を設定し、このしきい値を基準にして所定時間パワーの検出を行い、当該しきい値より大きいレベルの入力音信号が所定時間連続的に存在し、かつ、その入力音信号が認識可能な単語の音声でないと判断された場合は、当該入力音信号は環境中に存在する定常的な雑音と判断するとともに、前記しきい値を当該定常的な雑音レベルよりも大きい値に更新し、或る時点におけるしきい値の大きさを基に、その時点における雑音レベルを判断するようにする。
また、本発明の音声認識対話処理方法は、音声などの音信号を入力する音信号入力手段により入力された音信号を分析して特徴データを発生し、この特徴データと予め登録された認識可能な単語の標準音声特徴データとを比較し、音信号が認識可能な単語の音声であった場合、その単語に対応する単語検出データを出力し、この単語検出データを受けて、入力音声の意味を理解し、それに対応した応答内容を決定して、この決定された応答内容に基づいた音声合成出力を発生する音声認識応答出力発生工程と、前記音信号入力手段からの音信号波形を基に入力音信号のパワーを検出する入力音信号パワー検出工程とを有し、前記入力音信号パワー検出工程からのパワー信号を基に、入力音信号のパワーに対応した音声レベルによる応答内容出力を行うことを特徴としている。
以上のように、本発明は、スリープモード要求により装置がスリープモードとなっている場合において、前記入力音信号のパワーが予め定められたしきい値以上で、かつ、その入力音信号が前記認識可能な単語の音声であるか否かを判断する処理を行い、入力音信号のパワーが前記しきい値以上で、かつ、その入力音信号が前記認識可能な単語の音声であると判断された場合に、装置をスリープモードから動作モードとするようにしている。したがって、入力音信号が或る一定以上のレベルを有し、かつ、認識単語である場合のみにスリープモードから動作モードとすることができ、レベルの小さい雑音あるいはレベルが大きくても認識単語でない場合は、動作モードとはしないため、雑音などの影響を受けることなく認識すべき単語のみを認識応答処理対象とすることができる。また、スリープモード時は音信号入力部や入力音信号パワー検出部などの消費電力の小さい部分のみが作動状態にあるので、スリープモード時における消費電力をきわめて小さいものとすることができる。
また、しきい値より大きいレベルの入力音信号が所定時間連続的に存在し、かつ、その入力音信号が認識可能な単語の音声でないと判断された場合は、当該入力音信号は環境中に存在する定常的な雑音と判断する。これにより、環境中に或るレベルを有して長い時間連続して存在するような音声は雑音であると判断することができ、環境中に定常的に存在する雑音の影響を受けないようにすることができる。
また、しきい値を環境中に存在する定常的な雑音レベルよりも大きい値に更新するようにしたので、雑音レベルに応じたしきい値の設定ができ、これにより、環境中の雑音が最初に設定されたしきい値よりも大きい場合にも、雑音であることを的確に判断することができる。
また、入力音信号パワー検出手段からのパワー信号を基に、環境中の雑音レベルを判断し、その雑音レベルの大きさに対応した音声レベルによる応答内容出力を行うようにしている。したがって、環境中の雑音レベルが大きいときは、大きな音声レベルによる応答内容出力を発生することができ、環境中に多少の雑音が存在しても応答内容を聞き取りやすくすることができる。
そして、しきい値を当該定常的な雑音レベルよりも大きい値に更新し、或る時点におけるしきい値の大きさを基に、その時点における雑音レベルを判断するようにしたので、雑音レベルの大きさの指標をしきい値により得ることができ、簡単に現時点の雑音レベルの大きさを判断することができる。また、雑音レベルが変動してもそれに対応した音声レベルによる応答出力を発生することができ、環境中の雑音に、より一層適応した音声レベルでの応答出力とすることができる。
また、入力音信号のパワーに対応した音声レベルによる応答内容出力を行うようにしたことにより、話者が大きな声で問いかけたときには大きな声で応答し、話者が小さな声で問いかけたときは小さな声で応答するという動作を行うことにより、状況に応じた音声レベルでの対話が可能となる。
以下、本発明の実施例を図面を参照して説明する。なお、この実施例では、本発明を玩具に適用した場合を例にとり、特にここでは、幼児用の玩具として、たとえば、犬などのぬいぐるみに適用した場合について説明する。また、不特定話者の音声を認識可能な不特定話者音声認識装置に本発明を適用した例について説明する。
(第1の実施例)
図1は本発明の第1の実施例を説明する構成図である。図1は本発明の実施例を説明する構成図であり、概略的には、音信号入力部1、音信号分析部2、単語検出部3、標準音声特徴データ記憶部4、音声理解会話制御部5、応答データ記憶部6、音声合成部7、音声出力部8、入力音信号パワー検出部9などから構成されている。なお、これらの構成要素のうち、音信号分析部2、単語検出部3、標準音声特徴データ記憶部4、音声理解会話制御部5、応答データ記憶部6、音声合成部7などは、犬のぬいぐるみの腹部内に収納され、音信号入力部(マイクロホン)1はぬいぐるみのたとえば耳の部分、音声出力部(スピーカ)7はたとえば口の部分に設けられる。これら各部におけるそれぞれの機能などについては、以下に順次説明する。
前記音信号入力部1は、話者の話す音声など音信号(雑音なども含まれる)を入力するもので、図示されていないがマイクロホン、増幅器、ローパスフィルタ、A/D変換器などから構成され、マイクロホンから入力された音信号を、増幅器、ローパスフィルタを通して適当な音声波形としたのち、A/D変換器によりディジタル信号(たとえば、12KHz.16bit)に変換して出力し、その出力を音信号分析部12に送る。音信号分析部12では、音信号入力部1から送られてきた波形信号を、演算器(CPU)を用いて短時間毎に周波数分析を行い、周波数の特徴を表す数次元の特徴ベクトルを抽出(LPCーCEPSTRUM係数が一般的)し、この特徴ベクトルの時系列(以下、特徴ベクトル列という)を出力する。
また、前記標準音声特徴データ記憶部4は、1つ1つの単語に対し多数(たとえば、200人程度)の話者が発話した音声を用いて予め作成した認識対象単語の標準パターンを記憶(登録)しているROMである。ここでは、ぬいぐるみを例にしているので、認識対象単語は10単語程度とし、その単語としては、たとえば、「おはよう」、「おやすみ」、「こんにちは」、「明日」、「天気」など挨拶に用いる言葉が多いが、これに限定されるものではなく、色々な単語を登録することができ、登録単語数も10単語に限られるものではない。
単語検出部3は図示されていないが主に演算器(CPU)と処理プログラムを記憶しているROMから構成され、標準音声特徴データ記憶部4に登録されている単語が、入力された音声中のどの部分にどれくらいの確かさで存在するかを検出するものである。この単語検出部3としては、隠れマルコフモデル(HMM)方式やDPマッチング方式などを用いることも可能であるが、ここでは、DRNN(ダイナミック リカレント ニューラル ネットワーク)方式によるキーワードスポッティング処理技術(この技術に関しては、本出願人が特開平6ー4097、特開平6ー119476により、すでに特許出願済みである。)を用いて、不特定話者による連続音声認識に近い音声認識を可能とするための単語検出データを出力するものであるとする。
この単語検出部3の具体的な処理について、図2を参照しながら簡単に説明する。単語検出部3は、標準音声特徴データ記憶部4に登録されている単語が、入力音信号(この場合、入力音信号は音声であるとする)のどの部分にどれくらいの確かさで存在するかを検出するものである。今、話者から「明日の天気は、・・・」というような音声が入力され、図2(a)に示すような音声信号が出力されたとする。この「明日の天気は、・・・」の文節のうち、「明日」と「天気」がこの場合のキーワードとなり、これらは、予め登録されている10単語程度の登録単語の1つとして、標準音声特徴データ記憶部4にそのパターンが記憶されている。そして、これら登録単語をたとえば10単語としたとき、これら10単語(これを、単語1、単語2、単語3、・・・とする)に対応して各単語を検出するための信号が出力されていて、その検出信号の値などの情報から、入力された音声中にどの程度の確かさで対応する単語が存在するかを検出する。つまり、「天気」という単語(単語1)が入力された音声中に存在したときに、その「天気」という信号を待っている検出信号が、同図(b)の如く、入力音声の「天気」の部分で立ち上がる。同様に、「明日」という単語(単語2)が入力音声中に存在したときに、その「明日」という信号を待っている検出信号が、同図(c)の如く、入力された音声の「明日」の部分で立ち上がる。同図(b),(c)において、0.9あるいは0.8といった数値は、確からしさ(近似度)を示す数値であり、0.9や0.8といった高い数値であれば、その高い確からしさを持った登録単語は、入力された音声に対する認識候補であるということができる。つまり、「明日」という登録単語は、同図(c)に示すように、入力された音声信号の時間軸上のw1の部分に0.8という確からしさで存在し、「天気」という登録単語は、同図(b)に示すように、入力された音声信号の時間軸上のw2の部分に0.9という確からしさで存在することがわかる。
また、この図2の例では、「天気」という入力に対して、同図(d)に示すように、単語3(この単語3は「何時」という登録単語であるとする)を待つ信号も、時間軸上のw2の部分に、ある程度の確からしさ(その数値は0.6程度)を有して立ち上がっている。このように、入力された音声信号に対して同一時刻上に、2つ以上の登録単語が認識候補として存在する場合には、最も近似度(確からしさを示す数値)の高い単語を認識単語として選定する方法、各単語間の相関規則を表した相関表を予め作成しておき、この相関表により、いずれか1つの単語を認識単語として選定する方法などを用いて、或る1つの認識候補単語を決定する。たとえば、前者の方法で認識候補を決定するとすれば、この場合は、時間軸上のw2の部分に対応する近似度は、「天気」を検出する検出信号の近似度が最も高いことから、その部分の入力音声に対する認識候補は「天気」であるとの判定を行う。なお、これらの近似度を基に入力された音声の認識は音声理解会話制御部5にて行う。
音声理解識会話制御部5は、主に演算器(CPU)と処理プログラムを記憶しているROMから構成され、単語検出部3からの単語検出データを入力して、その単語検出データを基に、音声を認識し(入力された音声全体の意味を理解し)、ROMで構成される応答データ記憶部6を参照して、入力された音声の意味に応じた応答内容を決定し、音声合成部(主にCPUとROMで構成される)7および音声出力部8へ出力信号を送る。たとえば、単語検出部3からの図2(b)〜(e)に示すような検出データ(これをワードラティスという。このワードラティスは、登録単語名、近似度、単語の始点sと終点eを示す信号などが含まれる)が入力されると、まず、そのワードラティスを基に、入力された音声の中のキーワードとしての単語を1つまたは複数個決定する。この例では、入力された音声は「明日の天気は・・・」であるので、「明日」と「天気」が検出されることになり、この「明日」と「天気」のキーワードから「明日の天気は・・・」という連続的な音声の内容を理解し、それに対応した応答内容を選んで出力する。なお、この場合、応答内容としては、「明日の天気は晴れだよ」というような応答内容となるが、これは、ここでは図示されていない状態検出手段(温度検出部、気圧検出部、カレンダ部、計時部など)が設けられていて、たとえば、天気に関する情報であれば、気圧検出部からの気圧の変化の状況を基に天気の変化を判断し、気圧が上昇傾向であればそれに対応した応答内容を応答データ記憶部6から読み出すようにする。同様に、気温、時間、日付などに関する応答も可能となる。
また、以上説明したキーワードスポッティング処理による連続音声認識に近い音声認識処理は、日本語だけでなく他の言語においても適用可能である。たとえば、使用する言語が英語であるとすれば、登録されている認識可能な単語は、たとえば、“good morning”、“time”、“tommorow”、“good night”などが一例として挙げられ、これら認識可能な登録単語の特徴データが、標準音声特徴データ記憶部4に記憶されている。そして今、話者が「what time is it now」と問いかけた場合、この「what time is it now」の文節のうち、単語「time」がこの場合のキーワードとなり、「time」という単語が入力された音声の中に存在したときに、その「time」の音声信号を待っている検出信号が、入力された音声の「time」の部分で立ち上がる。そして、単語検出部3からの検出データ(ワードラティス)が入力されると、まず、そのワードラティスを基に、入力された音声の中のキーワードとしての単語を1つまたは複数個決定する。この例では、入力された音声は、「what time is it now」であるので、「time」がキーワードとして検出されることになり、このキーワードを基に、「what time is it now」という連続的な音声の内容を理解する。
なお、前記した音声分析、単語検出、音声理解会話制御、音声合成などの制御を行うCPUはそれぞれに設けてもよいが、ここでは、図1に示すように、これら全ての処理を行う1台のメインのCPU10を設け、この1台のCPU10で本発明の全体の処理を行うものとして説明する。
以上は入力された音声(話者の話す音声)に対する認識および応答動作の一例であるが、このような音声認識対話装置において、本発明における第1の実施例では、通常時はスリープモードとしておき、認識すべき音声が入力されたときにその入力音声を検出してそれを認識するという処理を行う。以下、第1の実施例について説明する。
図1で示した入力音信号パワー検出部9は、音信号入力部1から出力される入力音信号(雑音なども含まれる)のパワーを検出するものであり、たとえば、図3(a)で示すような入力音信号波形からそのパワー信号を同図(b)の如く検出する。この入力音信号パワー検出部9は、装置がスリープモード時あるいは動作モード時に係わらず常に音信号入力部1で取り込まれた入力音信号のパワーを検出可能な状態にある。
ところで、装置をスリープモードとするための初期設定手段としては、たとえば、ぬいぐるみの電池をセットすると自動的にスリープモードとする手段や、スリープモード設定スイッチあるいはスリープモード切替スイッチを設け、この設定スイッチをオンするかあるいは切替スイッチを設定モード側に切り替えるかしてスリープモードとするなど種々の手段が考えられる。このいずれかの手段によりスリープモードの設定が行われると、前記CPUに対してスリープモード要求が出され、フラグがスリープモード側に設定されスリープモードに入る。また、スリープモードの初期設定を行ったあと、ぬいぐるみとの対話終了後にスリープモードとするには、一定時間、話者の問いかけがない場合、あるいは、話者がぬいぐるみに対して、たとえば「静かに」や「おやすみ」というと装置側ではそれをスリープモード要求と判断して前記したように、フラグをスリープモード側に設定しスリープモードとする。
このような構成において、その処理を図4のフローチャートを参照しながら説明する。
まず、スリープモードの初期設定は既になされているものとする。このスリープモード時においても、入力音信号パワー検出部9は常に音信号入力部1で取り込まれた音信号のパワーを検出可能となっているが、この時点では装置のCPU10は非動作状態にある。
そして今、音信号入力部1が何らかの音信号を入力し、音信号入力部1から、たとえば図3(a)のような音信号波形が出力されたとする。これにより、入力音信号パワー検出部9では、入力音信号パワーの検出処理を次のように行う。
すなわち、入力音信号パワー検出手段9では、入力音信号のパワーが予め設定されたしきい値th1より大きいか否かを判断し(ステップs1)、入力音信号のパワーがしきい値th1より大きくなった時点で、音信号の入力があったことを示す信号をCPU10に出力する(図3(b)の時刻t1)。これにより、CPU10は立ち上がり(ステップs2)、時刻t1から所定時間(10msec程度)後に、音声分析部2では音信号入力部1からの信号を基に音声分析処理を行う(ステップs3)。なお、図3(b)からもわかるように、音信号が入力された時点t0から音信号分析処理がスタートするまでの間に約20数msec程度の時間を要するため、実際の音信号分析処理は音信号が入力されて20数msec後から開始されるが、単語認識処理には特に影響を与えるものではない。
そして、前記音信号分析結果を用いて標準音声特徴データとの比較により単語検出処理(ステップs4)を行った後、現在、装置の状態がスリープモードか動作モードかを判断する(ステップs5)。このスリープモードか動作モードかの判断は、フラグを見ることにより判断するもので、この場合、フラグはスリープモードの設定となっているため、前記単語検出データを用いて入力音信号が予め登録された認識可能なキーワードであるか否かの判断を行う(ステップs6)。この判断において、入力音信号がキーワードでないと判断されると、入力音信号は雑音、あるいは、ぬいぐるみに対する問いかけとは異なる何らかの音声であるとみなして、CPU10を立ち下げる処理を行い(ステップs7)、ステップs1に戻り、再び、音信号入力を待つ状態となる。
一方、前記ステップs6の判断処理において、入力音信号がキーワードの音声であると判断された場合は、装置をスリープモードから動作モードとするためのフラグの設定を行う(ステップs8)。たとえば、入力音信号が「おはよう」というキーワードの音声であるとすると、ここで初めて装置のモードは動作モードに切り替わって、その入力された音声に対する音声理解会話制御処理を行う(ステップs9)。そして、入力された音声が一発話分終了したか否かを判断して(ステップs10)、終了していなければ、音信号分析処理(ステップs3)に処理が戻る。一方、入力音声が一発話分終了したと判断されると、スリープモード要求が有りか否かの判断処理(ステップs11)に処理が移る。前記入力音声が一発話分終了したか否かというのは、具体的には、ある一つの会話が終了したか否かということである。たとえば、話者が「おはよう」と問いかけると、ぬいぐるみから「おはよう、今日は早起きだね」といった応答がなされ、さらに、会話が続く場合もある。このように、会話が続く間は、音声入力は終了していないと判断し、話者の問いかけた内容の音信号分析を行い(ステップs3)、単語検出処理を行う(ステップs4)。なお、この場合は、すでにスリープモードではなく動作モードとなっているため、単語検出処理(ステップs4)の後、直接、音声理解会話制御処理(ステップs9)に入る。これは、通常の音声認識処理動作であり、前記したように、キーワードスポッティング処理により、話者の発する音声からキーワードとなる単語を認識して、それに対応する応答内容を出力するという動作を行う。
そして、一連の会話(一発話)が終了すると、スリープモード要求があったか否かを判断(ステップs11)する。このスリープモード要求があったか否かの判断は、たとえば、話者がぬいぐるみに対して、「静かに」や「おやすみ」と言った場合、あるいは一定時間音声入力がない場合はスリープモード要求と判断する。これらのスリープモード要求のうちのいずれかのスリープモード要求がない場合は、会話がさらに続くとものとして、話者の問いかけに対する応答出力を発生し(ステップs12)、ステップs3からの処理を繰り返す。一方、前記いずれかのスリープモード要求があった場合は、必要に応じて応答出力を発し(ステップs13)たのち、フラグをスリープモードに設定する(ステップs14)。これにより、装置はスリープモードとなって(ステップs15)、再び、ステップs1の状態に戻る。なお、前記ステップ13の処理は、たとえば、前記したスリープ要求が「おやすみ」であった場合は、ぬいぐるみからも「おやすみ」と応答した後に、フラグをスリープモードに設定する。
以上のように、装置(この場合、ぬいぐるみ)をスリープモードとしておくことにより、話者がそのぬいぐるみと会話をしようとする場合、スイッチをわざわざオンしたりすることなく、認識可能な単語によって問いかければ、ぬいぐるみはそれに対して応答を行う。たとえば、子どもがスイッチをオンすることなく、ぬいぐるみの名前(登録されているものとする)を呼ぶだけで、ぬいぐるみは名前を呼ばれたことに対する何らかの応答を行うということも可能である。
また、玩具だけでなく、音声を認識して作動する電子機器などに適用すれば、スイッチをオンする手間を省いて単に予め定めた何らかの音声を発することにより、それに対応した動作を行わせることも可能となり、その適用範囲はきわめて広いものとなる。
また、本発明では、スリープモード時においては、CPU10は非動作状態にあり、音信号入力部1と入力音信号パワー検出部9のみが動作可能状態となっている。この種の装置において、CPU10の消費電力は大きいが、これに比べて、音信号入力部1と入力音信号パワー検出部9などの消費電力はきわめて小さいのが普通である。本発明の場合、ある一定レベル以上の音信号が入力されると、一時的にCPU10は立ち上がるが、その入力音信号が仮に音声であっったとしても、その音声が認識単語でないと判断されると、CPU10は直ちに立ち下がるようになっている。そして、一定レベル以上のパワーを有し、かつ、認識可能な単語(キーワード)の音声が入力されて初めて動作モードとなるようにしている。従って、スリープモード時における消費電力をきわめて低く抑えることができる。
ところで、前記入力音信号パワー検出部9において、入力音信号のパワーを或るしきい値と比較して、しきい値以上となったとき入力音信号検出とするのは、環境中に存在する雑音などの影響を受けないようにするためである。以下これについて説明する。
たとえば、高速道路の付近における自動車の連続的な走行音、あるいは、工事中における連続的な騒音などが環境中に存在している場合、これらの騒音を入力音信号有りとみなしてCPU10を立ち上げるのは好ましくない。これに対処するために、しきい値を設定し、しきい値以上の音信号が入力されたときにだけCPU10を立ち上げる(モードとしては、この時点ではまだスリープモードである)ようにする。なお、このとき騒音レベルの変動に対応できるように、しきい値も更新可能としておく。
すなわち、スリープモードの初期設定として、前記したように、電池を入れたとき、あるいは、何らかのスイッチによりスリープモードの設定を行ったときにスリープモードの初期設定がなされるが、この状態で認識すべき音声がしばらくの間入力されないで、前記したような定常的な雑音が連続的に入力されている場合がある。たとえば、図5(a)に示すように、時刻t0からしばらくの間、定常的な雑音による入力音信号波形A1が出力され、その後、たとえば「おはよう」という認識可能単語の音声波形A2が出力されたとする。同図(b)はその入力音信号(音声も含む)に対するパワー信号である。このとき、最初に設定されたしきい値がth1であるとすると、雑音レベルがこのしきい値th1よりも大きいと、図4のフローチャートにおけるステップs2からステップs6の処理、つまり、CPU10が立ち上がり、その雑音に対しても音信号分析を行ったのち、単語検出、キーワードか否かの判定を行うという処理が行われる。しかし、入力音信号はこの場合、雑音であって、キーワードの音声ではないため、しばらくの間は、ステップs1からステップs6の処理が繰り返して行われることになる。このような処理が一定時間継続した場合は、入力音信号は雑音であると判断して、しきい値をth1より高い値th2に設定し直す(図5(b)参照)。
そして、新たに設定されたしきい値th2よりも大きいレベルの音信号が入力され、かつ、その入力音信号が認識単語(キーワード)の音声であると判定されると、フラグがスリープモードから動作モードに切り替わり、その時点で初めて装置は動作モードとなる。
このように、しきい値を雑音レベルに応じて変えて行くことにより、長時間継続的に続く定常的な雑音の影響を受けないで、認識すべき音声のみを確実に検出することができる。
(第2の実施例)
以上説明した第1の実施例では、入力音信号のパワーを検出して音信号の入力を判断し、音信号が入力されたときのみ、CPU10を一旦、立ち上げて、その入力音信号がキーワードであるか否かの判定を行い、キーワードであると判定された場合に、動作モードとし、認識処理及び応答制御処理などの一連の処理を行う場合について説明したが、この第2の実施例では、環境中に雑音が存在する場合、雑音レベルの大きさに応じて応答レベルを設定する処理、および、入力された音声のパワーを検出して、そのパワーの大きさに基づいた応答レベルを設定する処理について説明する。
まず、環境中に雑音が存在する場合、雑音レベルの大きさに応じて応答レベルを設定をする例について説明する。これを実現するために、雑音の大きさを判断する指標として、前記したしきい値を用いる。つまり、前記第1の実施例では、雑音の影響を受けないように設定されたしきい値は最初はth1、その後の雑音レベルの大きさに対応して新たに設定されたしきい値はth2(th1<th2)である。
このしきい値は雑音レベルの大きさに対応して設定されるものであるから、その時点におけるしきい値は雑音レベルの大きさを表す指標として用いることができる。すなわち、現在どのしきい値が用いられているかをCPU10側で判断し、そのしきい値に対応した応答出力レベルを予め設定しておくことにより、その時点における雑音レベルに応じた応答出力レベルにより応答内容を出力することができる。
たとえば、今、しきい値がth1であったとすると、雑音レベルはそれほど大きくないと判断し、それに応じて予め設定された応答出力レベルで応答内容の出力を行う。また、しきい値がth2であったとすると、雑音レベルは少し大きくなったと判断し、それに応じて予め設定された応答出力レベルで応答内容の出力を行う。このように、環境に存在する雑音レベルの大きさに応じた応答出力レベルを設定することにより、雑音レベルがある程度大きいときは大きな音で応答するので、環境中に多少の雑音レベルがあっても応答内容が聞き取りやすくなる。
次に、入力音信号のパワーの大きさに基づいた応答レベルを設定する例について説明する。これは、話者が大きな声で問いかけたときには大きな声で応答し、話者が小さな声で問いかけたときは小さな声で応答するという動作を行うものである。たとえば、深夜など周囲が静かなときには、他の人に迷惑がかからないように、話者と装置は互いに小さな声で対話をするのが望ましい。逆に、騒音環境においてはある程度の音量で対話を行うのが自然である。また、耳の遠い人は大きな声で話すのが一般的であり、その場合には大きな声で応答するのが望ましい。このような点を踏まえて、入力音信号のレベルを検出してそのレベルに応じた応答出力レベルを設定するようにする。
話者が深夜に、たとえば、「いま何時」と小さな声で問いかけたとする。ここで、装置がスリープモードとなっていても、「何時」という単語が認識可能な登録単語であり、かつ、その時点のしきい値より信号レベルが大きければ、CPU10は動作モードとなり、認識応答動作が可能な状態となる。そして、CPU10の動作時は、常に、入力音信号のパワー信号が入力され、CPU10ではそのパワー信号を監視して現時点の入力音信号のパワーを知ることができる。これにより、その「いま何時」という音声のパワー信号を、たとえば予め設定した何段階かのしきい値と比較して、その比較結果を基に、CPU10では入力された音声のパワーに応じた応答出力を発生するというような処理を行う。すなわち、入力された音声レベルが大きければそれに応じて大きな音声レベルによる応答出力、入力された音声レベルが小さければそれに応じて小さな音声レベルによる応答出力によって応答内容を発生する。この場合、話者が小さな声で「いま何時」と問いかけているので、たとえば、「いま、11時だよ」といった応答内容を小さな音声レベルで出力する。
このように、話者が大きな声で問いかけたときには大きな声で応答し、話者が小さな声で問いかけたときは小さな声で応答する処理を行うことにより、前記したように、たとえば、深夜など周囲が静かなときには、他の人に迷惑がかからないように、そのときの状況に応じた音量での対話が可能となる。
なお、以上説明した環境中に雑音が存在する場合、雑音レベルの大きさに応じて応答レベルを設定する処理、および、入力音信号のパワーをを検出して、そのパワーの大きさに基づいた応答レベルを設定する処理は、両者とも第1の実施例で説明したスリープモードの設定が可能な装置に適用可能であることは勿論であるが、スリープモードの設定を可能としない装置においても適用できる。
また、本発明は不特定話者音声認識装置に適用した例で説明したが、特定話者音声認識装置にも適用できる。
また、以上の各実施例では、本発明を玩具としてぬいぐるみに適用した例を説明したが、ぬいぐるみに限られるものではなく。他の玩具にも適用できることは勿論であり、さらに、玩具だけではなく、ゲーム機や、日常使われる様々な電子機器などにも適用でき、その適用範囲は極めて広いものと考えられる。
以上説明したように、本発明の音声認識対話装置は、入力された音信号を分析して特徴データを発生し、この特徴データと予め登録された認識可能な単語の標準音声特徴データとを比較し、入力された音信号が認識可能な単語である場合、その単語に対する単語検出データを出力し、この単語検出データを受けて、入力された音声の意味を理解し、それに対応した応答内容を決定して出力する手段、入力音信号の音信号波形を基に入力音信号のパワーを検出する入力音信号パワー検出手段を設け、装置をスリープモードとするためのスリープモード要求により装置がスリープモードとなっている場合において、前記入力音信号のパワーが予め定められたしきい値以上で、かつ、その入力音信号が前記認識可能な単語の音声であるか否かを判断する処理を行い、入力音信号のパワーが前記しきい値以上で、かつ、その入力音信号が前記認識可能な単語の音声であると判断された場合に、装置をスリープモードから動作モードとするようにしたので、入力音信号が或る一定以上のレベルを有した認識単語の音声である場合のみにスリープモードから動作モードとすることができ、信号レベルの小さい雑音あるいは信号レベルが大きくても認識単語でない場合は、動作モードとはしないため、雑音などの影響を受けることなく認識すべき単語の音声のみを認識応答処理対象とすることができ、また、スリープモード時は消費電力の小さい部分のみが作動状態にあるので、スリープモード時における消費電力をきわめて小さいものとすることができる。すなわち、本発明では、スリープモード時は音信号入力部と、入力音信号パワー検出部などの消費電力の小さい部分のみが動作可能状態にあり、ある一定レベル以上の音信号が入力されると、一時的にCPUは立ち上がるが、その入力音信号が認識単語の音声でないと判断されると、CPUは直ちに立ち下がるようになっている。そして、一定レベル以上のパワーを有し、かつ、認識可能な単語(キーワード)の音声が入力されて初めて動作モードとなるようにしているため、スリープモード時における消費電力をきわめて低く抑えることができる。
また、前記スリープモードから動作モードとする際の入力音信号のパワー検出は、スリープモード時におけるパワー検出を前記予め設定されたしきい値を基準として所定時間行い、当該しきい値より大きいレベルの入力音信号が所定時間連続的に存在し、かつ、その入力音信号が認識可能な単語の音声でないと判断された場合は、当該入力音信号は環境中に存在する定常的な雑音と判断するようにしたので、環境中に或るレベルを有して長い時間連続して存在するような音信号は雑音であると判断することができ、このような雑音の影響を受けないようにすることができる。
また、前記スリープモードから動作モードとする際の入力音信号のパワー検出は、スリープモード時におけるパワー検出を前記予め設定されたしきい値を基準として所定時間おこない、当該しきい値より大きいレベルの入力音信号が所定時間連続的に存在し、かつ、その入力音信号が認識可能な単語も音声でないと判断された場合は、当該入力音信号は環境中に存在する定常的な雑音と判断するとともに、前記しきい値を当該定常的な雑音レベルよりも大きい値に更新するようにしたので、環境中に或るレベルを有して長い時間連続して存在するような音声に対しては、その音信号のレベルを検出してそのレベルに応じたしきい値の設定ができ、これにより、環境中の雑音が最初に設定されたしきい値よりも大きい場合にも、雑音であることを的確に判断することができ、環境中に定常的に存在するような雑音の影響を受けないようにすることができる。
また、入力された音信号を分析して特徴データを発生し、この特徴データと予め登録された認識可能な単語の標準音声特徴データとを比較し、入力された音信号が認識可能な単語である場合、その単語に対する単語検出データを出力し、この単語検出データを受けて、入力された音声の意味を理解し、それに対応した応答内容を決定して出力する手段、入力音信号の音信号波形を基に入力音信号のパワーを検出する入力音信号パワー検出手段を設け、前記入力音信号パワー検出手段からのパワー信号を基に、環境中の雑音レベルを判断し、その雑音レベルの大きさに対応した音声レベルによる応答内容出力を行うようにしたので、環境中の雑音レベルが大きいときは、大きな音声レベルによる応答内容出力を発生することができ、環境中に多少の雑音が存在しても応答内容を聞き取りやすくすることができる。
また、前記入力音信号のパワー信号を基に環境中の雑音レベルを判断する手段として、雑音除去用のしきい値を設定し、このしきい値を基準にして所定時間パワーの検出を行い、当該しきい値より大きいレベルの入力音信号が所定時間連続的に存在し、かつ、その入力音信号が認識可能な単語の音声でないと判断された場合は、当該入力音信号は環境中に存在する定常的な雑音と判断するとともに、前記しきい値を当該定常的な雑音レベルよりも大きい値に更新し、或る時点におけるしきい値の大きさを基に、その時点における雑音レベルを判断するようにしたので、雑音レベルの大きさの指標をしきい値により得ることができ、簡単に現時点の雑音レベルの大きさを判断することができる。また、雑音レベルが変動してもそれに対応した音声レベルによる応答出力を発生することができ、環境中の雑音に、より一層適応した音声レベルでの応答出力とすることができる。
また、入力された音声を分析して音声特徴データを発生し、この音声特徴データと予め登録された認識可能な単語の標準音声特徴データとを比較し、入力された音信号が認識可能な単語である場合、その単語に対する単語検出データを出力し、この単語検出データを受けて、入力された音声の意味を理解し、それに対応した応答内容を決定して出力する手段、入力音信号の音信号波形を基に入力音信号のパワーを検出する入力音信号パワー検出手段を設け、この入力音信号パワー検出手段からのパワー信号を基に、入力音信号のパワーに対応した音声レベルによる応答内容出力を行うようにしたので、話者が大きな声で問いかけたときには大きな声で応答し、話者が小さな声で問いかけたときは小さな声で応答するという動作を行うことにより、たとえば、深夜など周囲が静かなときには、他の人に迷惑がかからないように、話者と装置は互いに小さな声で対話が可能となり、逆に、騒音環境においてはそれに適応した音量での対話が可能となる。
また、本発明の音声認識対話処理方法は、入力された音信号を分析して特徴データを発生し、この特徴データと予め登録された認識可能な単語の標準音声特徴データとを比較し、入力された音信号が認識可能な単語である場合、その単語に対する単語検出データを出力し、この単語検出データを受けて、入力された音声の意味を理解し、それに対応した応答内容を決定して出力する工程、入力音信号の音信号波形を基に入力音信号のパワーを検出する入力音信号パワー検出工程を設け、装置をスリープモードとするためのスリープモード要求により装置がスリープモードとなっている場合において、前記入力音信号のパワーが予め定められたしきい値以上で、かつ、その入力音信号が前記認識可能な単語の音声であるか否かを判断する処理を行い、入力音信号のパワーが前記しきい値以上で、かつ、その入力音信号が前記認識可能な単語の音声であると判断された場合に、装置をスリープモードから動作モードとするようにしたので、入力音信号が或る一定以上のレベルを有した認識単語の音声である場合のみにスリープモードから動作モードとすることができ、信号レベルの小さい雑音あるいは信号レベルが大きくても認識単語でない場合は、動作モードとはしないため、雑音などの影響を受けることなく認識すべき単語のみを認識応答処理対象とすることができ、また、スリープモード時は消費電力の小さい部分のみが作動状態にあるので、スリープモード時における消費電力をきわめて小さいものとすることができる。すなわち、本発明では、スリープモード時は音信号入力部と、入力音信号パワー検出部などの消費電力の小さい部分のみが動作可能状態にあり、ある一定レベル以上の音声が入力されると、一時的にCPUは立ち上がるが、その入力音信号が認識単語でないと判断されると、CPUは直ちに立ち下がるようになっている。そして、一定レベル以上のパワーを有し、かつ、認識可能な単語(キーワード)の音声が入力されて初めて動作モードとなるようにしているため、スリープモード時における消費電力をきわめて低く抑えることができる。
また、前記スリープモードから動作モードとする際の入力音信号のパワー検出は、スリープモード時におけるパワー検出を前記予め設定されたしきい値を基準として所定時間行い、当該しきい値より大きいレベルの入力音信号が所定時間連続的に存在し、かつ、その入力音信号が認識可能な単語の音声でないと判断された場合は、当該入力音信号は環境中に存在する定常的な雑音と判断するようにしたので、環境中に或るレベルを有して長い時間連続して存在するような音信号は雑音であると判断することができ、このような雑音の影響を受けないようにすることができる。
また、前記スリープモードから動作モードとする際の入力音信号のパワー検出は、スリープモード時におけるパワー検出を前記予め設定されたしきい値を基準として所定時間おこない、当該しきい値より大きいレベルの入力音信号が所定時間連続的に存在し、かつ、その入力音信号が認識可能な単語でないと判断された場合は、当該入力音信号は環境中に存在する定常的な雑音と判断するとともに、前記しきい値を当該定常的な雑音レベルよりも大きい値に更新するようにしたので、環境中に或るレベルを有して長い時間連続して存在するような音信号に対しては、その音信号のレベルを検出してそのレベルに応じたしきい値の設定ができ、これにより、環境中の雑音が最初に設定されたしきい値よりも大きい場合にも、雑音であることを的確に判断することができ、環境中に定常的に存在するような雑音の影響を受けないようにすることができる。
また、入力された音信号を分析して特徴データを発生し、この特徴データと予め登録された認識可能な単語の標準音声特徴データとを比較し、入力された音信号が認識可能な単語である場合、その単語に対する単語検出データを出力し、この単語検出データを受けて、入力された音声の意味を理解し、それに対応した応答内容を決定して出力する工程、入力音信号の音声波形を基に入力音信号のパワーを検出する入力音信号パワー検出工程を設け、この入力音信号パワー検出工程からのパワー信号を基に、環境中の雑音レベルを判断し、この雑音レベルの大きさに対応した音声レベルによる応答内容出力を行うようにしたので、環境中の雑音レベルが大きいときは、大きな音声レベルによる応答内容出力を発生することができ、環境中に多少の雑音が存在しても応答内容を聞き取りやすくすることができる。
また、前記入力音信号のパワー信号を基に環境中の雑音レベルを判断する手段として、雑音除去用のしきい値を設定し、このしきい値を基準にして所定時間パワーの検出を行い、当該しきい値より大きいレベルの入力音信号が所定時間連続的に存在し、かつ、その入力音信号が認識可能な単語の音声でないと判断された場合は、当該入力音信号は環境中に存在する定常的な雑音と判断するとともに、前記しきい値を当該定常的な雑音レベルよりも大きい値に更新し、或る時点におけるしきい値の大きさを基に、その時点における雑音レベルを判断するようにしたので、雑音レベルの大きさの指標をしきい値により得ることができ、簡単に現時点の雑音レベルの大きさを判断することができる。また、雑音レベルが変動してもそれに対応した音声レベルによる応答出力を発生することができ、環境中の雑音に対して、より一層適応した音声レベルでの応答出力とすることができる。
また、入力された音信号を分析して特徴データを発生し、この特徴データと予め登録された認識可能な単語の標準音声特徴データとを比較し、入力された音信号が認識可能な単語である場合、その単語に対する単語検出データを出力し、この単語検出データを受けて、入力された音声の意味を理解し、それに対応した応答内容を決定して出力する工程、入力音信号の音信号波形を基に入力音信号のパワーを検出する入力音信号パワー検出工程を設け、この入力音信号パワー検出工程からのパワー信号を基に、入力音信号のパワーに対応した音声レベルによる応答内容出力を行うようにしたので、話者が大きな声で問いかけたときには大きな声で応答し、話者が小さな声で問いかけたときは小さな声で応答するという動作を行うことにより、たとえば、深夜など周囲が静かなときには、他の人に迷惑がかからないように、話者と装置は互いに小さな声で対話が可能となり、逆に、騒音環境においてはそれに適応した音量での対話が可能となる。