(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-22
(45)【発行日】2024-12-02
(54)【発明の名称】音声応答装置、音声応答方法および音声応答プログラム
(51)【国際特許分類】
H04R 3/00 20060101AFI20241125BHJP
G10L 15/10 20060101ALI20241125BHJP
G10L 15/22 20060101ALI20241125BHJP
G10L 13/00 20060101ALI20241125BHJP
G06F 3/16 20060101ALI20241125BHJP
【FI】
H04R3/00 310
G10L15/10 500Z
G10L15/22 300Z
G10L13/00 100M
G06F3/16 650
G06F3/16 690
G06F3/16 540
(21)【出願番号】P 2021000096
(22)【出願日】2021-01-04
【審査請求日】2023-11-14
(73)【特許権者】
【識別番号】000003562
【氏名又は名称】東芝テック株式会社
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(74)【代理人】
【識別番号】100108855
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100103034
【氏名又は名称】野河 信久
(74)【代理人】
【識別番号】100179062
【氏名又は名称】井上 正
(74)【代理人】
【識別番号】100075672
【氏名又は名称】峰 隆司
(74)【代理人】
【識別番号】100153051
【氏名又は名称】河野 直樹
(74)【代理人】
【識別番号】100162570
【氏名又は名称】金子 早苗
(72)【発明者】
【氏名】関根 直樹
【審査官】▲徳▼田 賢二
(56)【参考文献】
【文献】国際公開第2019/138652(WO,A1)
【文献】特開2014-202808(JP,A)
【文献】特開2018-194832(JP,A)
【文献】国際公開第2019/131159(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04R 3/00
G10L 15/10
G10L 15/22
G10L 13/00
G06F 3/16
(57)【特許請求の範囲】
【請求項1】
音を入力するマイクと、
前記マイクにより入力した音から検知するユーザが発した声に応じた音声による応答内容を生成し、前記ユーザが発した声の音量としての入力音量と前記ユーザが発した声以外の環境音の音量とに応じて前記応答内容を応答音声として出力するための音量を決定するプロセッサと、
前記プロセッサが決定する音量で前記応答音声を出力するスピーカと、を有し、
前記プロセッサは、前記環境音の音量が閾値未満である場合には第1の関数に基づいて前記入力音量から前記応答音声の音量を決定し、前記環境音の音量が閾値以上である場合には前記第1の関数とは異なる第2の関数に基づいて前記入力音量から前記応答音声の音量を決定する、
音声応答装置。
【請求項2】
さらに、環境音の音量の大きさと入力音量の大きさとに応じた
前記第1の関数と前記第2の関数を記憶する補助記憶装置を有し、
前記プロセッサは、前記補助記憶装置に記憶されている
前記第1の関数又は前記第2の関数から前記環境音の音量と前記入力音量とに応じて選択する1つの関数に基づいて前記入力音量から前記応答音声の音量を決定する、
請求項1に記載の音声応答装置。
【請求項3】
前記マイクにより入力した音からユーザが発した声が検知されない場合に前記マイクから入力した音の音量を前記環境音の音量
として保存するメモリを有し、
前記プロセッサは、前記マイクにより入力した音からユーザが発した声を検知した場合に、前記ユーザが発した声の音量としての入力音量を計算し、前記入力音量と前記メモリに記憶した前記環境音の音量とに応じて前記応答音声の音量を決定する、
請求項1
又は2の何れか1項に記載の音声応答装置。
【請求項4】
音声応答装置に用いる音声応答方法であって、
マイクに入力された音を取得し、
前記マイクに入力された音からユーザが発した声を検知し、
前記マイクに入力された音から検知した前記ユーザが発した声に応じた応答内容を生成し、
前記ユーザが発した声
以外の環境音の音量が閾値未満である場合には第1の関数に基づいて前記ユーザが発した声の音量としての入力音量から前記応答内容を音声で出力するための音量を決定し、
前記環境音の音量が閾値以上である場合には前記第1の関数とは異なる第2の関数に基づいて前記入力音量から前記応答内容を音声で出力するための音量を決定し、
前記決定した音量で前記応答内容の応答音声をスピーカから出力させる、
音声応答方法。
【請求項5】
コンピュータに、
マイクに入力された音を取得し、
前記マイクに入力された音からユーザが発した声を検知し、
前記マイクに入力された音から検知した前記ユーザが発した声に応じた応答内容を生成し、
前記ユーザが発した声
以外の環境音の音量が閾値未満である場合には第1の関数に基づいて前記ユーザが発した声の音量としての入力音量から前記応答内容を音声で出力するための音量を決定し、
前記環境音の音量が閾値以上である場合には前記第1の関数とは異なる第2の関数に基づいて前記入力音量から前記応答内容を音声で出力するための音量を決定し、
前記決定した音量で前記応答内容の応答音声をスピーカから出力させる、
ことを実行するための音声応答プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、音声応答装置、音声応答方法および音声応答プログラムに関する。
【背景技術】
【0002】
AIスピーカ(スマートスピーカ)などの音声対話装置(音声応答装置)は、ユーザが発した声を入力音声として入力し、入力した入力音声の内容を音声認識する。音声対話装置は、入力音声に対する音声認識の結果に応じて生成する応答内容を応答音声として出力する。一般に、音声対話装置は、入力音声の音量が大きすぎる場合、又は、入力音声の音量が小さすぎる場合、音声認識による正確な認識結果を得ることが難しくなる。音声対話装置は、出力する応答音声の音量を制御することで話者(ユーザ)が発する声の大きさをコントロールできる可能性があると考えられる。これは、話者が話し相手の声の大きさに応じて発する声の大きさをコントロールすることがあるためである。
【0003】
しかし、従来の音声対話装置は、応答音声が予め設定された音量であったりユーザが指定する音量であったりするため、応答音声の音量をフレキシブルに変更することができない。また、音声対話装置は、マイクを用いて、話者の声だけでなく話者の声以外の音も集音してしまう。このため、音声対話装置は、単純に入力音声の音量に応じた応答音声の音量を設定することができたとしても音声認識の精度を向上することが難しいという問題がある。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記した課題を解決するために、精度の高い音声応答を実現できる音声応答装置、音声応答方法および音声応答プログラムを提供する。
【課題を解決するための手段】
【0006】
実施形態によれば、音声応答装置は、マイクとプロセッサとスピーカとを有する。マイクは、音を入力する。プロセッサは、マイクにより入力した音から検知するユーザが発した声に応じた音声による応答内容を生成し、ユーザが発した声の音量としての入力音量とユーザが発した声以外の環境音の音量とに応じて応答内容を応答音声として出力するための音量を決定する。スピーカは、プロセッサが決定する音量で応答音声を出力する。前記プロセッサは、前記環境音の音量が閾値未満である場合には第1の関数に基づいて前記入力音量から前記応答音声の音量を決定し、前記環境音の音量が閾値以上である場合には前記第1の関数とは異なる第2の関数に基づいて前記入力音量から前記応答音声の音量を決定する。
【図面の簡単な説明】
【0007】
【
図1】
図1は、実施形態に係る音声応答装置の構成例を概略的に示す図である。
【
図2】
図2は、実施形態に係る音声応答装置における制御系の構成例を示すブロック図である。
【
図3】
図3は、実施形態に係る音声応答装置が環境音量が閾値未満である場合に入力音量から応答音量を決定するための関数の例を示す図である。
【
図4】
図4は、実施形態に係る音声応答装置が環境音量が閾値以上である場合に入力音量から応答音量を決定するための関数の例を示す図である。
【
図5】
図5は、実施形態に係る音声応答装置が環境音量および入力音量に応じた関数を選択するためのテーブルの例を示す図である。
【
図6】
図6は、実施形態に係る音声応答装置の動作例を説明するためのフローチャートである。
【
図7】
図7は、実施形態に係る音声応答装置における応答音量の計算処理を説明するためのフローチャートである。
【
図8】
図8は、実施形態に係る音声応答装置における応答音量の計算処理を説明するためのフローチャートである。
【発明を実施するための形態】
【0008】
以下、実施形態について、図面を参照して説明する。
図1は、実施形態に係る音声応答装置1を概略的に説明するための図である。
図1に示すように、実施形態に係る音声応答装置1は、マイク2とスピーカ3とを有する。音声応答装置1は、マイク2に入力された話者の音声に応じた応答音声をスピーカ3から出力する装置である。
【0009】
音声応答装置1は、例えば、AIスピーカと称される音声対話装置である。また、音声応答装置1は、スマートフォン、タブレット端末、パーソナルコンピュータなどの情報処理装置であっても良い。また、音声応答装置1は、情報処理装置にマイク2およびスピーカ3の何れか一方又は両方を接続したものであっても良い。
【0010】
音声応答装置1は、話者が発した声(音声)と環境音とを含む音をマイク2で集音する。音声応答装置1は、マイク2で集音した音から話者が発した声(入力音声)を検知する。音声応答装置1は、検知した入力音声に対して音声認識を実行することにより入力音声の内容(話者が発した話の内容)を認識する。音声応答装置1は、認識した入力音声の内容に応じて応答音声として発する応答内容を生成する。
【0011】
さらに、本実施形態に係る音声応答装置1は、話者が発した声(入力音声)の音量と話者が発した声以外の音(環境音)の音量とを計測(計算)する。音声応答装置1は、応答音声の音量を決定するための複数の関数(又はテーブル)を保持する。応答音声の音量を決定するための複数の関数は、環境音の大きさと入力音声の大きさとの組み合わせに応じて設定される。音声応答装置1は、マイクで集音した音から計測した入力音声の音量と環境音の音量とに基づいて関数(又はテーブル)を選択する。音声応答装置1は、選択した関数に従って入力音声の音量に応じた応答音声の音量を決定する。音声応答装置は、入力音声の内容に対応して生成した応答内容を、入力音声の音量と環境音の音量とから決定した音量の応答音声としてスピーカ3から出力する。
【0012】
次に、実施形態に係る音声応答装置1の構成について説明する。
図2は、実施形態に係る音声応答装置1の構成例を示すブロック図である。
図2に示すように、音声応答装置1は、プロセッサ11、主記憶装置12、補助記憶装置13、音声処理回路14、マイク2、および、スピーカ3を有する。
【0013】
プロセッサ11は、音声応答装置1全体の制御を司る。プロセッサ11は、例えば、CPUである。プロセッサ11は、プログラムを実行することにより後述する種々の処理を行う。例えば、プロセッサ11は、音声応答装置1の動作制御、音声検知、音声認識、応答文の生成、入力音声の音量計測、環境音の音量計測、応答音声の音量計算および応答波形の生成などの種々の処理を行う。
【0014】
主記憶装置12は、データを記憶するメインメモリである。主記憶装置12は、例えば、RAM(Random Memory)などにより構成する。主記憶装置12は、プロセッサ11が処理中のデータを一時的に格納する。また、主記憶装置12は、プログラムの実行に必要なデータおよびプログラムの実行結果などを格納してもよい。また、主記憶装置12は、データを一時的に保持するためのバッファメモリとしても動作する。
【0015】
例えば、主記憶装置12は、マイクで集音した音から計算した環境音の音量を示す情報を記憶するメモリとして機能する。例えば、主記憶装置12は、マイク2で集音した音を音声処理回路14で処理することで得られた音声のデータを記憶する。さらに、主記憶装置12は、マイクで集音した音に含まれる話者が発した声(入力音声)の音量の計算結果を記憶するようにしても良い。また、主記憶装置12は、入力音声の音量および環境音の音量に応じて決定した応答音声の音量を示す情報を記憶するようにしても良い。
【0016】
補助記憶装置13は、データを記憶するストレージである。補助記憶装置13は、ROM(リードオンリーメモリ)などの書き換え不可の不揮発性メモリ、および、書き換え可能な不揮発性メモリなどを含む。書き換え可能な不揮発性メモリとしては、例えば、HDD(ハードディスクドライブ)、SSD(ソリッドステートドライブ)、EEPROM(登録商標)あるいはフラッシュROMなどで構成される。
【0017】
補助記憶装置13は、プロセッサ11が実行するプログラムおよび制御データなどを記憶する。例えば、補助記憶装置13は、入力音声に応じた応答音声を出力するための音声応答プログラムを記憶する。音声応答プログラムは、音声検知、音声認識、意図解析、応答文の生成、入力音量の計算、環境音量の計算、応答音量の計算および応答波形の生成などの後述するような種々の処理を行うプログラムを含む。なお、後述するプロセッサ11がプログラムを実行することで実施される処理の一部又は全部は、処理回路などのハードウエアによって実行するようにしても良い。
【0018】
また、
図2に示す例において、補助記憶装置13は、環境音の音量(環境音量)を加味して入力音声の音量(入力音量)に応じた応答音声の音量を決定するための関数を選択するための関数テーブル13aを記憶する。関数テーブル13aについては、後で詳細に説明するものとする。
【0019】
マイク2は、音を集音(取得)する。マイク2は、例えば、集音した音をアナログ信号(アナログ波形)として入力し、入力された音のアナログ信号を音声処理回路14へ出力する。
音声処理回路14は、マイク2が集音した音のアナログ信号を入力し、入力した音のアナログ信号をデジタルデータとしての音データを出力する。音声処理回路14は、アナログ波形をデジタル化するADコンバータなどを有する。
なお、マイク2は、音声応答装置1に接続される外部機器であっても良い。マイク2を外部機器とする場合、音声処理回路14は、マイク2を接続する音声入力用のインターフェースを備えるものとすれば良い。
【0020】
スピーカ3は、音声を出力する。スピーカ3は、プロセッサ11から供給される応答波形に基づく応答音声を発する。スピーカ3は、プロセッサ11によって音量が制御される。例えば、スピーカ3は、プロセッサ11が応答音声の音量に応じて振幅を調整した応答波形に基づく応答音声を発する。
なお、スピーカ3は、音声応答装置1に接続される外部機器であっても良い。スピーカ3を外部機器とする場合、音声応答装置1は、スピーカ3に出力すべき音の波形を示す信号を出力するインターフェースを備えるものとすれば良い。
【0021】
次に、実施形態に係る音声応答装置1が応答音声の音量(応答音量)を決定するための関数について説明する。
音声応答装置1は、話者が発した声を認識し、話者が発した言葉(入力文)に対する応答を音声で出力する。音声応答装置1は、話者が発した声に対する応答内容を生成するとともに、入力音声の音量(入力音量)と環境音の音量(環境音量)とに応じて選択される関数を用いて応答音量を決定する。すなわち、音声応答装置1は、入力音量から応答音量を決定するための関数として、環境音の大きさに応じた複数の関数を保持する。音声応答装置1は、複数の関数から環境音の大きさに適した関数を選択し、入力音量から応答音量を決定する。
【0022】
図3および
図4は、入力音声の音量(入力音量)Vに応じた応答音声の音量(応答音量)を決定するための関数(フィルタ)の例を示す図である。
図3は、環境音の音量(環境音量)Sが閾値Ts未満(s<Ts)である場合において、入力音量から応答音量を決定するための関数(第1の関数)の例を示す。また、
図4は、環境音量Sが閾値Ts以上(S≧Ts)である場合において、入力音量から応答音量を決定するための関数(第2の関数)の例を示す。
【0023】
図3に示す例において、関数FAは、環境音量Sが閾値Ts未満(S<Ts)である場合に入力音量から応答音量を決定するための関数である。関数FAは、入力音量Vに対する閾値Tva、Tvb、Tvc、Tcdで特性が変化する。関数FAは、入力音量Vに対する4つの閾値Tva、Tvb、Tvc、Tcdで区切られる5つの区間における関数FAa、FAb、FAc、FAd、FAeからなる。
【0024】
関数FAaは、環境音量Sが閾値Ts未満(S<Ts)で、入力音量Vが閾値Tva未満(V<Tva)である場合に、入力音量から応答音量を決定するための関数である。関数FAbは、環境音量Sが閾値Ts未満(S<Ts)で、入力音量Vが閾値Tva以上閾値Tvb未満(Tva≦V<Tvb)である場合に入力音量から応答音量を決定するための関数である。
【0025】
関数FAcは、環境音量Sが閾値Ts未満(S<Ts)で、入力音量Vが閾値Tvb以上閾値Tvc未満(Tvb≦V<Tvc)である場合に入力音量から応答音量を決定するための関数である。関数FAdは、環境音量Sが閾値Ts未満(S<Ts)で、入力音量Vが閾値Tvc以上閾値Tvd未満(Tvc≦V<Tvd)である場合に入力音量から応答音量を決定するための関数である。関数FAeは、環境音量Sが閾値Ts未満(S<Ts)で、入力音量Vが閾値Tvd以上(Tvd≦V)である場合に入力音量から応答音量を決定するための関数である。
【0026】
図4に示す例において、関数FBは、環境音量Sが閾値Ts以上(Ts≦S)である場合に入力音量から応答音量を決定するための関数である。関数FBは、入力音量Vに対する3つの閾値Tvi、Tvj、Tvkで特性が変化する。関数FBは、入力音量Vに対する3つの閾値Tvi、Tvj、Tvkで区切られる4つの区間における関数FBa、FBb、FBc、FBdからなる。
【0027】
関数FBaは、環境音量Sが閾値Ts以上(Ts≦S)で、入力音量Vが閾値Tvi未満(V<Tvi)である場合に入力音量から応答音量を決定するための関数である。関数FBbは、環境音量Sが閾値Ts以上(Ts≦S)で、入力音量Vが閾値Tvi以上閾値Tvj未満(Tvi≦V<Tvj)である場合に入力音量から応答音量を決定するための関数である。
【0028】
関数FBcは、環境音量Sが閾値Ts以上(Ts≦S)で、入力音量Vが閾値Tvj以上閾値Tvk未満(Tvj≦V<Tvk)である場合に入力音量から応答音量を決定するための関数である。関数FBdは、環境音量Sが閾値Ts以上(Ts≦S)で、入力音量Vが閾値Tvk以上(Tvk≦V)である場合に入力音量から応答音量を決定するための関数である。
【0029】
図5は、実施形態に係る音声応答装置1が環境音量および入力音量の大きさに適合する関数を選択するための関数テーブル13aの構成例を示す図である。
図5に示す関数テーブル13aは、
図3および
図4に示す関数から環境音量および入力音量の大きさに応じて選択する関数を示す。
図5に示す関数テーブル13aは、例えば、
図2に示すように、音声応答装置1における補助記憶装置13に記憶される。音声応答装置1は、関数テーブル13aを参照することにより、環境音量Sと入力音量Vとに応じた1つの関数を選択する。音声応答装置1は、環境音量Sと入力音量Vとに応じて選択した関数を用いて入力音量から応答音量を決定する。
【0030】
例えば、音声応答装置1は、S<TsかつV<Tvaである場合、関数FAaを用いて入力音量から応答音量を決定する。音声応答装置1は、S<TsかつTva≦V<Tvbである場合、関数FAbを用いて入力音量から応答音量を決定する。音声応答装置1は、S<TsかつTvb≦V<Tvcである場合、関数FAcを用いて入力音量から応答音量を決定する。音声応答装置1は、S<TsかつTvc≦V<Tvdである場合、関数FAdを用いて入力音量から応答音量を決定する。音声応答装置1は、S<TsかつTvd≦Vである場合、関数FAeを用いて入力音量から応答音量を決定する。
【0031】
また、音声応答装置1は、Ts≦SかつV<Tviである場合、関数FBaを用いて入力音量から応答音量を決定する。音声応答装置1は、Ts≦SかつTvi≦V<Tvjである場合、関数FBbを用いて入力音量から応答音量を決定する。音声応答装置1は、Ts≦SかつTvj≦V<Tvkである場合、関数FBcを用いて入力音量から応答音量を決定する。音声応答装置1は、Ts≦SかつTvk≦Vである場合、関数FBdを用いて入力音量から応答音量を決定する。
【0032】
次に、実施形態に係る音声応答装置1の動作について説明する。
図6は、実施形態に係る音声応答装置1が話者(ユーザ)の声に対して応答音声を出力する処理の動作例を説明するためのフローチャートである。
音声応答装置1のプロセッサ11は、マイク2が集音する音を入力音の音データとして入力する(ACT11)。マイク2は、集音する音のアナログ波形を示す信号を音声処理回路14へ供給する。音声処理回路14は、マイク2から入力するアナログ波形を示す信号をデジタル化する。音声処理回路14は、デジタル化したデジタル信号を音データとしてプロセッサ11へ供給する。プロセッサ11は、マイク2が集音した音を音声処理回路14によってデジタル化した入力音の音データを取得する。
【0033】
入力音の音データを取得すると、プロセッサ11は、音声検知処理によって入力音の音データにおいて話者が発した声(話者の声)が含まれるかを検知する(ACT12)。プロセッサ11は、音声検知プログラムを実行することにより入力音に話者が発した声が含まれるかを検知する音声検知処理を行う。
【0034】
入力音から話者の声が検知されない場合(ACT12、NO)、プロセッサ11は、入力音の音データから環境音の音量(環境音量)を計算(計測)する(ACT13)。入力音に話者の声が検知されない場合、入力音は、話者の声を含まない環境音(話者の声以外の音)であるものとする。入力音が環境音である場合、プロセッサ11は、入力音の音データから音量を計算する。入力音が環境音である場合、プロセッサ11は、計算した入力音の音量を環境音量Sとして主記憶装置12又は補助記憶装置13に保存する(ACT14)。
【0035】
本実施形態において、プロセッサ11は、話者が声を発した時の環境音量を推定するために話者の声が含まれない期間の入力音(環境音)から計算した音量を環境音量Sとして保存する。このため、プロセッサ11は、既に保存されている環境音量(過去の環境音量)を計算した環境音量Sで上書き保存するようにしても良い。また、プロセッサ11は、現在から所定期間内の環境音量Sを保存するようにしても良い。さらに、プロセッサ11は、現在から所定期間で計算された環境音量の平均値を環境音量Sとして保存するようにしても良い。
【0036】
入力音において話者の声が検知された場合(ACT12、YES)、プロセッサ11は、応答内容(応答文)を生成する処理(ACT15-17)と応答音量を計算する処理(ACT18-19)とを実行する。
【0037】
プロセッサ11は、応答内容を生成する処理として、音声認識処理、内容解析処理、および、応答文の生成などの処理を行う。すなわち、プロセッサ11は、入力音に含まれる話者の声(入力音声)を認識する音声認識を行う(ACT15)。プロセッサ11は、入力音から話者の声を抽出し、抽出した話者の声から話者が発した言葉(入力文)を認識する。例えば、プロセッサ11は、予め設定した言語(単語)の発音を参照することにより、話者が発した言葉を認識する。
【0038】
プロセッサ11は、話者が発した声の音声認識結果としての入力文を得ると、音声認識結果として得られた入力文の意味を解析する意図解析処理を行う(ACT16)。プロセッサ11は、意図解析処理として、入力文に含まれる単語の認識結果などに基づいて当該入力文の意味(入力文に含まれるユーザの意図)を解析する。
【0039】
例えば、プロセッサ11は、入力文が質問文であるか、要望又は希望を述べたものであるか、挨拶であるかなどを判定する。プロセッサ11は、入力文が質問文であると判定した場合、当該入力文に含まれる質問内容を特定する。また、プロセッサ11は、入力文が要望を述べたものであると判定した場合、当該入力文に含まれる要望の内容を特定する。また、プロセッサ11は、入力文が挨拶であると判定した場合、当該入力文に含まれる挨拶の内容を特定する。
【0040】
プロセッサ11は、話者が発した声(入力文)の意味を解析すると、入力文に対する応答内容(応答文)を生成する(ACT17)。例えば、プロセッサ11は、入力文に含まれる質問内容を特定した場合、質問内容に応じた応答文を生成する。また、プロセッサ11は、入力文に含まれる話者の要望を特定した場合、話者の要望に沿った応答文を生成する。また、プロセッサ11は、入力文に含まれる挨拶を特定した場合(入力文が話者からの挨拶であると理解した場合)、話者からの挨拶に対応する挨拶としての応答文を生成する。
【0041】
一方、プロセッサ11は、応答音量を計算する処理として、入力音量Vの計算処理および応答音量の計算処理を実行する。プロセッサ11は、入力音において検知された話者の声(入力音声)の音量Vを計算する(ACT18)。例えば、プロセッサ11は、入力音の音データから話者の声(入力音声)の成分を抽出し、抽出した入力音声の音量(入力音量)Vを計算する。
【0042】
入力音量Vを計算すると、プロセッサ11は、計算した入力音量Vと環境音量Sとに基づいて応答音量を計算する処理を行う(ACT19)。プロセッサ11は、入力音量Vと環境音量Sとに応じて選択する関数に基づいて入力音量に対する応答音量を計算する。応答音量を計算する処理(応答音量の計算処理)については、後で詳細に説明する。
【0043】
プロセッサ11は、ACT17で生成した応答文とACT19で計算した応答音量とに基づいてスピーカ3から発する応答音声となる応答波形を生成する(ACT20)。例えば、プロセッサ11は、ACT17で生成した応答文を応答音声として発するための応答波形を生成する。プロセッサ11は、生成した応答音声を発するための応答波形の振幅をACT19で計算した応答音量に応じて調整する。応答波形を生成すると、プロセッサ11は、生成した応答波形をスピーカ3から出力する(ACT21)。
【0044】
次に、実施形態に係る音声応答装置1における応答音量の計算処理について詳細に説明する。
図7および
図8は、実施形態に係る音声応答装置1における応答音量の計算処理を説明するためのフローチャートである。
応答音量の計算処理において、プロセッサ11は、上述したACT18で計算する現在の入力音量Vを取得する(ACT31)。また、プロセッサ11は、主記憶装置12又は補助記憶装置13に記憶している環境音量Sを取得する(ACT32)。
【0045】
入力音量Vと環境音量Sとを取得すると、プロセッサ11は、
図5に示すような関数テーブルを参照することにより、入力音量Vと環境音量Sとに応じた関数を選択する。
図7および
図8に示す処理例では、プロセッサ11は、
図5に示す関数テーブル13aに従って関数を選択するものとする。
なお、環境音量を加味して入力音量から応答音量を決定するための関数は、
図3および
図4に示すものに限定されるものではなく、運用形態に応じて適宜設定できる。また、環境音量に対する閾値および入力音量に対する閾値も、
図3、
図4および
図5に示すものに限定されるものではなく、関数に応じて適宜設定されるようにして良い。
【0046】
図7および
図8に示す処理例において、プロセッサ11は、
図5に示すようなテーブルを参照し、環境音量Sが閾値Ts未満であるか否かを判断する(ACT33)。
環境音量Sが閾値Ts未満(S<Ts)である場合(ACT33、YES)、プロセッサ11は、環境音量Sが小さい場合の関数FAを適用する。
図3に示す例によれば、関数FAは、閾値Tva、Tvb、Tvc、Tvdで区切られる5つの関数FAa、FAb、FAc、FAd、FAeで構成される。プロセッサ11は、
図5に示すテーブルに基づいて、入力音量Vと閾値Tva、Tvb、Tvc、Tvdとを比較し、関数FAa、FAb、FAc、FAd、FAeから1つの関数を選択する。
【0047】
すなわち、S<Tsである場合(ACT33、YES)、プロセッサ11は、入力音量Vが閾値Tva未満であるか否かを判断する(ACT41)。入力音量Vが閾値Tva未満であると判断した場合(ACT41、YES)、プロセッサ11は、環境音量S<閾値Tsかつ入力音量V<閾値Tvaであると特定する。S<TsかつV<Tvaである場合、プロセッサ11は、関数FAaを選択する(ACT42)。
【0048】
入力音量Vが閾値Tva未満でないと判断した場合(ACT41、NO)、プロセッサ11は、入力音量Vが閾値Tvb未満であるか否かを判断する(ACT43)。入力音量Vが閾値Tvb未満であると判断した場合(ACT43、YES)、プロセッサ11は、環境音量S<閾値Tsかつ閾値Tva≦入力音量V<閾値Tvbであると特定する。S<TsかつTva≦V<Tvbである場合、プロセッサ11は、関数FAbを選択する(ACT44)。
【0049】
入力音量Vが閾値Tvb未満でないと判断した場合(ACT43、NO)、プロセッサ11は、入力音量Vが閾値Tvc未満であるか否かを判断する(ACT45)。入力音量Vが閾値Tvc未満であると判断した場合(ACT45、YES)、プロセッサ11は、環境音量S<閾値Tsかつ閾値Tvb≦入力音量V<閾値Tvcであると特定する。S<TsかつTvb≦V<Tvcである場合、プロセッサ11は、関数FAcを選択する(ACT44)。
【0050】
入力音量Vが閾値Tvc未満でないと判断した場合(ACT45、NO)、プロセッサ11は、入力音量Vが閾値Tvd未満であるか否かを判断する(ACT47)。入力音量Vが閾値Tvd未満であると判断した場合(ACT47、YES)、プロセッサ11は、環境音量S<閾値Tsかつ閾値Tvc≦入力音量V<閾値Tvdであると特定する。S<TsかつTvc≦V<Tvdである場合、プロセッサ11は、関数FAdを選択する(ACT48)。
【0051】
入力音量Vが閾値Tvd未満でないと判断した場合(ACT47、NO)、プロセッサ11は、入力音量Vが閾値Tvd以上であるため、環境音量S<閾値Tsかつ閾値Tvd≦入力音量Vであると特定する。S<TsかつTvd≦Vである場合、プロセッサ11は、関数FAdを選択する(ACT49)。
【0052】
一方、環境音量Sが閾値Ts未満でない場合、つまり、環境音量Sが閾値Ts以上である場合(ACT33、NO)、プロセッサ11は、環境音量Sが大きい場合の関数FBを適用する。
図4に示す例によれば、関数FBは、入力音量Vに対する閾値Tvi、Tvj、Tvkで区切られる4つの関数FBa、FBb、FBc、FBdで構成される。プロセッサ11は、
図5に示す関数テーブル13aに基づいて、入力音量Vと閾値Tvi、Tvj、Tvkとを比較し、関数FBa、FBb、FBc、FBdから1つの関数を選択する。
【0053】
すなわち、S<Tsでない場合(ACT33、NO)、プロセッサ11は、入力音量Vが閾値Tvi未満であるか否かを判断する(ACT51)。入力音量Vが閾値Tvi未満であると判断した場合(ACT51、YES)、プロセッサ11は、環境音量S≧閾値Tsかつ入力音量V<閾値Tviであると特定する。S≧TsかつV<Tviである場合、プロセッサ11は、関数FBaを選択する(ACT52)。
【0054】
入力音量Vが閾値Tvi未満でないと判断した場合(ACT51、NO)、プロセッサ11は、入力音量Vが閾値Tvj未満であるか否かを判断する(ACT53)。入力音量Vが閾値Tvj未満であると判断した場合(ACT53、YES)、プロセッサ11は、環境音量S≧閾値Tsかつ閾値Tvi≦入力音量V<閾値Tvjであると特定する。S≧TsかつTvi≦V<Tvjである場合、プロセッサ11は、関数FBbを選択する(ACT54)。
【0055】
入力音量Vが閾値Tvj未満でないと判断した場合(ACT53、NO)、プロセッサ11は、入力音量Vが閾値Tvk未満であるか否かを判断する(ACT55)。入力音量Vが閾値Tvk未満であると判断した場合(ACT55、YES)、プロセッサ11は、環境音量S≧閾値Tsかつ閾値Tvj≦入力音量V<閾値Tvkであると特定する。S<TsかつTvj≦V<Tvkである場合、プロセッサ11は、関数FBcを選択する(ACT56)。
【0056】
入力音量Vが閾値Tvk未満でないと判断した場合(ACT55、NO)、プロセッサ11は、入力音量Vが閾値Tvk以上であるため、環境音量S≧閾値Tsかつ閾値Tvk≦入力音量Vであると特定する。S≧TsかつTvk≦Vである場合、プロセッサ11は、関数FBdを選択する(ACT57)。
【0057】
環境音量Sおよび入力音量Vに応じた関数を選択すると、プロセッサ11は、選択した関数に基づいて応答音声を決定する(ACT60)。すなわち、プロセッサ11は、選択した関数において入力音量Vに対応する応答音量を計算する。これにより、プロセッサ11は、環境音量を加味して入力音量に応じた応答音量を計算することができる。
【0058】
以上のように、実施形態に係る音声応答装置は、マイクに入力された音においてユーザが発した声が検知する。音声応答装置は、ユーザが発した声に対する応答音声として出力する応答内容(応答文)を生成する。さらに、音声応答装置は、ユーザが発した声の音量としての入力音量とユーザが発した声以外の環境音の音量とに応じて応答音量を計算する。音声応答装置は、計算した応答音量で応答音声をスピーカから出力する。
【0059】
すなわち、実施形態に係る音声応答装置は、環境音の大きさを加味して、入力音量に応じた応答音量の応答音声を出力することができる。これにより、音声応答装置が出力する応答音声の音量に対応して、話者(ユーザ)が発する声の大きさをコントロールすることが期待できる。音声応答装置は、ユーザが発する声の大きさを音声認識に適した音量に導くことができ、精度の高い音声認識を実現できる。
【0060】
また、実施形態に係る音声応答装置は、環境音量の大きさに応じて選択される複数の関数を保持する。音声応答装置は、環境音量が閾値未満である場合には第1の関数に基づいて入力音量から応答音声の音量を決定し、環境音量が閾値未満である場合には第1の関数とは異なる第2の関数に基づいて入力音量から応答音声の音量を決定する、これにより、実施形態に係る音声応答装置は、環境音の大きさに応じた応答音量を設定できる。この結果、音声応答装置は、環境音量が予め予測できないような環境であっても、ユーザが発する声の大きさを音声認識に適した音量に導くことができる。
【0061】
また、実施形態に係る音声応答装置は、環境音量の大きさと入力音量の大きさとに応じて選択される複数の関数を記憶装置に記憶する。音声応答装置は、複数の関数から環境音量と入力音量とに応じて選択する1つの関数に基づいて入力音量から応答音声の音量を決定する。これにより、音声応答装置は、環境音量と入力音量とに応じて関数を選択でき、ユーザが発する声の大きさを音声認識に適した音量に導きやすくできる。
【0062】
なお、上述した実施形態では、装置内のメモリにプロセッサが実行するプログラムが予め記憶されている場合で説明をした。しかし、プロセッサが実行するプログラムは、ネットワークから装置にダウンロードしても良いし、記憶媒体から装置にインストールしてもよい。記憶媒体としては、CD-ROM等のプログラムを記憶でき、かつ装置が読み取り可能な記憶媒体であれば良い。また、予めインストールやダウンロードにより得る機能は、装置内部のOS(オペレーティング・システム)等と協働して実現させるものであってもよい。
【0063】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0064】
1…音声応答装置(音声対話装置)、2…マイク、3…スピーカ、11…プロセッサ、12…主記憶装置、13…補助記憶装置、14…音声処理回路。