(57)【要約】【課題】コーパスを作成するための労力を低減させる。【解決手段】コマンド出力装置１０は、ユーザによって発話された発話音声に応じたコマンドを出力する装置である。コマンド出力装置１０は、発話音声に基づいた音声信号を検出する音声検出部１１と、音声信号における音の高さの変化を検出する音程分析部１２と、音程分析部１２によって検出された音の高さの変化に基づいてコマンドを生成するコマンド生成部１３と、コマンドを出力する出力部１４と、を備える。【選択図】図１
2019184819.tif 000002
【特許請求の範囲】
【請求項１】
ユーザによって発話された発話音声に応じたコマンドを出力するコマンド出力装置であって、
前記発話音声に基づいた音声信号を検出する音声検出部と、
前記音声検出部によって検出された前記音声信号における音の高さの変化を検出する音程分析部と、
前記音程分析部によって検出された音の高さの変化に基づいて、前記コマンドを生成するコマンド生成部と、
前記コマンド生成部によって生成された前記コマンドを出力する出力部と、
を備えるコマンド出力装置。
【請求項２】
前記音程分析部は、前記音声信号における音の高さの変化に基づいて、前記音声信号に対して音の高さの変化の傾向を示す音程符号を割り当て、
前記コマンド生成部は、前記音程分析部によって割り当てられた前記音程符号に応じて前記コマンドを生成する、請求項１に記載のコマンド出力装置。
【請求項３】
前記音程分析部は、前記音声信号を一定の時間間隔で分割して得られる分割信号毎に音の高さの変化を検出するとともに、前記分割信号毎の音の高さの変化に基づいて前記音声信号に対して前記音程符号を割り当てる、請求項２に記載のコマンド出力装置。
【請求項４】
前記発話音声に応じたテキストデータを生成する音声認識部をさらに備え、
前記コマンド生成部は、前記音声認識部によって生成された前記テキストデータに応じた前記音程符号と、前記音程分析部によって割り当てられた前記音程符号とを比較する、請求項２又は請求項３に記載のコマンド出力装置。
【請求項５】
前記音程分析部は、前記音声信号の周波数の時間変化に基づいて前記音声信号における音の高さの変化を検出する、請求項１〜請求項４のいずれか一項に記載のコマンド出力装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コマンド出力装置に関する。
【背景技術】
【０００２】
ユーザによって発話された発話音声に応じたコマンドを出力するコマンド出力装置が知られている（例えば、特許文献１参照）。特許文献１に記載の音声操作認識装置（コマンド出力装置）では、音声認識部に入力される入力音声の音声データと、音声辞書（コーパス）に登録された音声データとが比較され、最も類似度が高い語彙データを抽出する音声マッチング処理が実行される。抽出された語彙データに基づいた制御コマンドが出力される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２８００４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載のコマンド出力装置では、音声認識の認識対象となる各単語（各音素）について、その単語を発話した時の発話音声の周波数スペクトルに現れる特徴を抽出することによって得られる音声データがコーパスに予め登録されている。コーパスは、例えば、各音素と各音素の特徴を示す音声データとを対応付けた音響モデル、及びテキストデータと品詞情報とを含む言語モデルによって構成される。人により発話音声の特徴は異なるので、音声認識の精度を向上させるために、各音素に対して複数の音声データを収集することが望まれる。また、ユーザの発話音声の言語が異なると、言語ごとにコーパスを準備する必要がある。
【０００５】
本発明は、コーパスを作成するための労力を低減させることが可能なコマンド出力装置を提供する。
【課題を解決するための手段】
【０００６】
本発明の一側面に係るコマンド出力装置は、ユーザによって発話された発話音声に応じたコマンドを出力する装置である。このコマンド出力装置は、発話音声に基づいた音声信号を検出する音声検出部と、音声検出部によって検出された音声信号における音の高さの変化を検出する音程分析部と、音程分析部によって検出された音の高さの変化に基づいて、コマンドを生成するコマンド生成部と、コマンド生成部によって生成されたコマンドを出力する出力部と、を備える。
【０００７】
このコマンド出力装置では、ユーザの発話音声に基づいた音声信号における音の高さの変化に基づいてコマンドが出力される。従って、ユーザの発話音声を特定のテキストデータに変換することなくコマンドが出力される。また、例えば、音の高さの変化の傾向が同じであれば同一のコマンドが出力されるので、ユーザの発話音声の言語ごとにコーパスを準備する必要がない。その結果、コーパスを作成するための労力を低減させることが可能となる。
【発明の効果】
【０００８】
本発明によれば、コーパスを作成するための労力を低減させることが可能となる。
【図面の簡単な説明】
【０００９】
【図１】図１は、一実施形態に係るコマンド出力装置の機能構成を示す図である。
【図２】図２は、コマンド対応テーブルの一例を示す。
【図３】図３は、図１に示されたコマンド出力装置が行うコマンド出力方法の一連の処理を示すフローチャートである。
【図４】図４は、各コマンドに対するテキストの割当例を示す図である。
【図５】図５は、第１変形例に係るコマンド出力装置の機能構成を示す図である。
【図６】図６は、図５に示されたコマンド出力装置が行うコマンド出力方法の一連の処理を示すフローチャートである。
【図７】図７は、コマンド出力装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
【００１１】
図１は、一実施形態に係るコマンド出力装置の機能構成を示す図である。図１に示されるコマンド出力装置１０は、ユーザが発話した音声である発話音声に応じたコマンド（命令）を出力する装置である。具体的には、コマンド出力装置１０は、ユーザの発話音声の音の高さの変化を検出し、検出結果に応じたコマンドを制御対象の装置に出力する。コマンド出力装置１０は、ユーザと制御対象の装置との間の情報のやり取りを行う音声ユーザインタフェース（ＵＩ；User  Interface）として機能する。例えば、ユーザは、計算機、自動販売機、又は車両等が備えるコンピュータにコマンド出力装置１０を介してコマンド（指示）を入力する。言い換えると、制御対象の装置がディスプレイ、キーボード、マウス、又はタッチパネル等の入力装置を備えていなくても、ユーザはコマンド出力装置１０を介して制御対象の装置に指示することができる。例えば、コマンド出力装置１０から出力されるコマンドは、制御対象の装置に応じて予め定められる。
【００１２】
図１に示されるように、コマンド出力装置１０は、機能的には、音声検出部１１と、音程分析部１２と、コマンド生成部１３と、出力部１４と、を備える。コマンド出力装置１０には、マイクロフォン等の入力装置を介してユーザの発話音声が電気信号として入力される。なお、コマンド出力装置１０には、ユーザの発話音声が存在しない状態でも、入力装置を介して電気信号が入力される。
【００１３】
音声検出部１１は、ユーザの発話音声に基づいた音声信号を検出する。具体的には、音声検出部１１は、入力装置を介してコマンド出力装置１０に入力される電気信号からユーザの発話音声に基づいた音声信号を検出する。音声信号は、コマンド出力装置１０によって識別される識別対象となる信号である。まず、音声検出部１１は、発話音声の入力の開始を検出する。音声検出部１１は、例えば、電気信号の振幅が所定閾値を超えた場合にユーザの発話音声の入力が開始されたと判断する。そして、音声検出部１１は、発話音声の入力の開始から所定時間が経過するまでにコマンド出力装置１０に入力される電気信号を識別対象の音声信号として検出する。所定時間は、例えば、後述の音程符号の割当が可能な長さに定められる。このように、本実施形態では、音声信号は、ユーザの発話音声の長さにかかわらず一定の長さを有する。音声検出部１１は、検出した音声信号を音程分析部１２に出力する。
【００１４】
音程分析部１２は、音声信号における音の高さの変化を検出する。本実施形態では、音程分析部１２は、音声検出部１１によって検出された音声信号の音程を分析することによって、音声信号に対して音程符号を割り当てる。音程は、例えば、音の高さ（高低）の変化によって示される。つまり、音程分析部１２は、音声信号が示す音の高さの変化を検出することによって、音声信号の音程を分析する。また、音の高さの変化は音の周波数の時間変化によって示されるので、本実施形態では、音程分析部１２は、音声信号の周波数の時間変化を検出することによって、音声信号の音程を分析する。音程分析部１２は、音声信号を一定の時間間隔で分割することで得られる分割信号毎に音の高さの変化を検出する。例えば、音声信号を３個の分割信号に分割する場合、音声信号の長さは３秒に設定され、各分割信号の長さは１秒に設定される。音程分析部１２は、音声信号の開始から一定の時間間隔で順に音声信号を分割することによって、時間順に連続して配列された複数の分割信号を生成する。音程分析部１２は、各分割信号が示す音の高さの変化に基づいて音声信号に対して音程符号を割り当てる。
【００１５】
詳細に説明すると、音程分析部１２は、時間順に配列された複数（ここでは３個）の分割信号それぞれに対して、音声信号の開始部分に対応する最初の分割信号から順に音程を分析する。つまり、音程分析部１２は、分割信号における周波数（基本周波数）の時間変化を検出することによって、分割信号の音程を最初の分割信号から順に分析する。音程分析部１２は、例えば、波形処理、相関処理又はスペクトル処理によって分割信号の周波数を抽出する。これらの波形処理、相関処理及びスペクトル処理は公知であるので、ここでは詳細な説明を省略する。
【００１６】
そして、音程分析部１２は、例えば、分割信号のうちの前半部分及び後半部分それぞれにおける中間の時間での周波数に基づいて、分割信号が示す音の高さの変化の傾向である変化傾向を判別する。変化傾向は、例えば、音の高さが略一定である傾向を示す一定傾向、音の高さが上昇する傾向を示す上昇傾向、及び音の高さが下降する傾向を示す下降傾向を含む。具体的には、音程分析部１２は、分割信号の前半部分における中間の時間での周波数である第１周波数と、分割信号の後半部分における中間の時間での周波数である第２周波数と、を比較する。音程分析部１２は、第２周波数と第１周波数との差（絶対値）が、所定の閾値以下であれば、当該分割信号が示す音の高さの変化傾向は一定傾向であると判別する。音程分析部１２は、第２周波数と第１周波数との差が所定の閾値よりも大きく、かつ、第２周波数が第１周波数よりも大きい場合に、当該分割信号が示す音の高さの変化傾向は上昇傾向であると判別する。音程分析部１２は、第２周波数と第１周波数との差が所定の閾値よりも大きく、かつ、第２周波数が第１周波数よりも小さい場合に、当該分割信号が示す音の高さの変化傾向は下降傾向であると判別する。
【００１７】
音程分析部１２は、分割信号が示す音の高さの変化に基づいて分割信号に対して符号を割り当てる。本実施形態では、音程分析部１２は、音の高さの変化傾向が一定傾向であると判別された分割信号に「右向き矢印」（図２参照）を符号として割り当てる。音程分析部１２は、音の高さの変化傾向が上昇傾向であると判別された分割信号に対して「上向き矢印」（図２参照）を符号として割り当てる。音程分析部１２は、音の高さの変化傾向が下降傾向であると判別された分割信号に対して「下向き矢印」を符号として割り当てる。時間順に配列された複数の分割信号に対して最初の分割信号から順に割り当てた符号の組合せによって、音声信号に対して割り当てられる音程符号が定められる。音声信号は時間順に並んだ複数の分割信号によって構成されるので、音程符号は、音声信号における音の高さの変化の傾向（変化傾向）を示している。なお、以降の説明では説明の便宜のために、「右向き矢印」で示される符号を「右」とし、「上向き矢印」で示される符号を「上」とし、「下向き矢印」で示される符号を「下」として表記する。
【００１８】
例えば、３個の分割信号のうちの１番目の分割信号により示される音の高さの変化傾向が一定傾向であると判別され、２番目の分割信号により示される音の高さの変化傾向が一定傾向であると判別され、３番目の分割信号により示される音の高さの変化傾向が上昇傾向であると判別された場合、音程分析部１２は、音声信号に対して「右、右、上」から構成される音程符号を割り当てる。
【００１９】
例えば、１〜３番目の分割信号により示される音の高さの変化傾向がいずれも上昇傾向であると判別された場合、音程分析部１２は、音声信号に対して「上、上、上」から構成される音程符号を割り当てる。１〜３番目の分割信号により示される音の高さの変化傾向がいずれも一定傾向であると判別された場合、音程分析部１２は、音声信号に対して「右、右、右」から構成される音程符号を割り当てる。音程分析部１２は、音程符号を示す情報である符号情報をコマンド生成部１３に出力する。
【００２０】
コマンド生成部１３は、音の高さの変化に基づいてコマンドを生成する。本実施形態では、コマンド生成部１３は、音程分析部１２によって割り当てられた音程符号に応じてコマンドを生成する。具体的には、コマンド生成部１３は、音程分析部１２から符号情報を受け取ると、例えば、コマンド対応テーブルを参照することによって、符号情報に応じたコマンドを示す情報であるコマンド情報を取得する。そして、コマンド生成部１３は、コマンド情報に応じたコマンドを生成する。
【００２１】
図２は、コマンド対応テーブルの一例を示す。コマンド対応テーブルは、コマンド生成部１３に予め記憶されている。コマンド対応テーブルは、符号情報とコマンド情報とを対応付けたテーブルである。なお、図２では、説明のために各コマンドの意味もテーブル内に示されている。コマンド対応テーブルでは、「右、右、上」から構成される音程符号が、コマンド「ＡＧＡＩＮ」に対応付けられている。また、「上、上、上」から構成される音程符号が、コマンド「ＣＡＮＣＥＬ」に対応付けられている。「右、右、右」から構成される音程符号が、コマンド「ＮＥＸＴ」に対応付けられている。
【００２２】
コマンド「ＡＧＡＩＮ」は、この例では「もう一度言って」を意味する。例えば、制御対象の装置からユーザに質問された後に、制御対象の装置にコマンド「ＡＧＡＩＮ」が入力されると、制御対象の装置は再度、質問を繰り返す。コマンド「ＣＡＮＣＥＬ」は、この例では「ＳＴＯＰ、中止」を意味する。例えば、制御対象の装置にコマンド「ＣＡＮＣＥＬ」が入力されると、制御対象の装置は、実行中の処理を停止する。コマンド「ＮＥＸＴ」は、この例では「どうぞ、続けて、次」を意味する。例えば、制御対象の装置が処理を一時停止してユーザに処理を継続するかどうかを質問した場合に、制御対象の装置にコマンド「ＮＥＸＴ」が入力されると、制御対象の装置は、一時停止していた処理を再開する。
【００２３】
この例では、音程分析部１２によって割り当てられた音程符号が「右、右、上」である場合、コマンド生成部１３は、コマンド「ＡＧＡＩＮ」を生成する。音程分析部１２によって割り当てられた音程符号が「上、上、上」である場合、コマンド生成部１３は、コマンド「ＣＡＮＣＥＬ」を生成する。音程分析部１２によって割り当てられた音程符号が「右、右、右」である場合、コマンド生成部１３は、コマンド「ＮＥＸＴ」を生成する。コマンド生成部１３は、生成したコマンドを出力部１４に出力する。
【００２４】
出力部１４は、コマンドを出力する。例えば、出力部１４は、コマンド生成部１３からコマンドを受け取ると、制御対象の装置にコマンドを出力する。制御対象の装置は、コマンドを受けると、コマンドに対応する指示内容を実行する。
【００２５】
コマンド出力装置１０では、音程符号に応じてコマンドが生成されることで、ユーザの発話音声により示される音の高さの変化傾向に応じたコマンドが生成される。また、このように生成されたコマンドがコマンド出力装置１０から制御対象の装置に出力されることで、ユーザからの指示がコマンド出力装置１０を介して制御対象の装置に入力される。すなわち、ユーザの発話音声の内容が音の高さの変化傾向によって識別され、ユーザの発話音声に応じたコマンドがコマンド出力装置１０から制御対象の装置に出力される。
【００２６】
次に、図３を参照してコマンド出力装置１０が行うコマンド出力方法について説明する。図３は、図１に示されたコマンド出力装置が行うコマンド出力方法の一連の処理を示すフローチャートである。図３に示される一連の処理は、例えば、コマンド出力装置１０が入力装置を介してユーザの発話音声の入力を受けることによって開始される。
【００２７】
本処理では、まず、音声検出部１１は、発話音声に基づいた音声信号を検出する（ステップＳ０１）。具体的には、音声検出部１１は、入力装置を介してコマンド出力装置１０に入力される電気信号からユーザの発話音声の入力の開始を検出する。そして、音声検出部１１は、発話音声の入力の開始から所定時間が経過するまでにコマンド出力装置１０に入力される電気信号を、識別対象の音声信号として検出する。そして、音声検出部１１は、検出した音声信号を音程分析部１２に出力する。
【００２８】
続いて、音程分析部１２は、音声信号の音程を分析する（ステップＳ０２）。具体的には、音程分析部１２は、音声検出部１１から音声信号を受け取ると、音声信号を一定の時間間隔で分割することで得られる複数の分割信号それぞれの音程を分析する。ここでは、音程分析部１２は、分割信号の周波数の時間変化を検出することによって、分割信号が示す音の高さの変化傾向を判別する。
【００２９】
続いて、音程分析部１２は、分割信号それぞれの音の高さの変化に基づいて、音声信号に対して音程符号を割り当てる（ステップＳ０３）。具体的には、音程分析部１２は、分割信号が示す音の高さの変化傾向に応じて分割信号に符号を割り当てる。時間順に配列された複数の分割信号に最初の分割信号から順に割り当てた符号の組合せによって、音声信号に対して割り当てられる音程符号が定められる。そして、音程分析部１２は、割り当てた音程符号を示す符号情報をコマンド生成部１３に出力する。
【００３０】
続いて、コマンド生成部１３は、音程符号に応じたコマンドを生成する（ステップＳ０４）。本実施形態では、コマンド生成部１３は、音程分析部１２から符号情報を受け取ると、コマンド対応テーブルを参照することによって、符号情報に対応付けられたコマンド情報を取得する。そして、コマンド生成部１３は、コマンド情報に応じたコマンドを生成する。そして、コマンド生成部１３は、生成したコマンドを出力部１４に出力する。
【００３１】
続いて、出力部１４は、コマンドを出力する（ステップＳ０５）。例えば、出力部１４は、コマンド生成部１３からコマンドを受け取ると、当該コマンドを制御対象の装置に出力する。そして、制御対象の装置は、コマンドを受けると、コマンドが示す指示内容を実行する。以上のようにして、コマンド出力装置１０が実行する一連の処理が終了する。
【００３２】
次に、図４を参照してコマンド出力装置１０の使用例について説明する。図４は、各コマンドに対するテキストの割当例を示す図である。コマンド出力装置１０では、音の高さの変化傾向に応じたコマンドが出力されるので、ユーザは、制御対象の装置に指示する際に、特定のテキスト（単語）を発話する必要はない。しかしながら、ユーザが各コマンドに応じた音の高さの変化傾向を覚えることは容易ではない場合もあるので、コマンド出力装置１０では、各コマンドに対して入力テキストが割り当てられている。図４には、日本語話者及び英語話者用の入力テキストの例が示されている。
【００３３】
図４の入力テキストの例では、各コマンドの内容に近い意味を有する入力テキストが割り当てられる。また、コマンドに応じた音程符号が示す音の高さの変化傾向に合わせてユーザが発話しやすい入力テキストが割り当てられる。例えば、図４のテーブルのような各コマンドに応じた音の高さの変化傾向及び割り当てられた入力テキストがコマンド出力装置１０の出力装置（ディスプレイ）に表示されている状態で、ユーザは、コマンド出力装置１０を介して制御対象の装置に指示する。なお、時間順に配列された複数の分割信号それぞれの開始のタイミングである開始タイミングが、コマンド出力装置１０の出力装置によってユーザに示されてもよい。例えば、コマンド出力装置１０の出力装置は、開始タイミング（例えば１秒毎）に合わせて点滅するランプを備えてもよく、開始タイミングに合わせてクリック音を鳴らしてもよい。
【００３４】
図４に示されるように、コマンド「ＡＧＡＩＮ」に対して日本語話者用に「もーいっかい」が割り当てられ、英語話者用に「Please  say  again？」が割り当てられる。コマンド「ＣＡＮＣＥＬ」に対して日本語話者用に「ちょちょちょ！」が割り当てられ、英語話者用に「Stop,  stop,  stop!」が割り当てられる。コマンド「ＮＥＸＴ」に対して日本語話者用に「どうぞ」が割り当てられ、英語話者用に「OK,  go  ahead」が割り当てられる。ユーザは、各コマンドに応じて割り当てられた入力テキストを、音程符号が示す音の高さの変化傾向に合わせて発話することによって、コマンド出力装置１０を介して所望のコマンドを制御対象の装置に入力する。
【００３５】
例えば、日本語話者であるユーザは、制御対象の装置からの質問を再度確認したい場合に、「もーいっかい」を音程符号「右、右、上」が示す音の高さの変化傾向に合わせて発話した発話音声を入力装置に入力する。一方、英語話者であるユーザは、制御対象の装置からの質問を再度確認したい場合に、「Please  say  again？」を音程符号「右、右、上」が示す音の高さの変化傾向に合わせて発話した発話音声を入力装置に入力する。なお、ユーザは、例えばコマンド「ＡＧＡＩＮ」を制御対象の装置に入力したい場合に、必ずしも「もーいっかい」と発話する必要はない。ユーザは、音の高さの変化を音程符号「右、右、上」が示す音の高さの変化傾向に合わせて発話すれば、どのようなテキストを発話してもよい。
【００３６】
以上説明したように、コマンド出力装置１０では、ユーザの発話音声に基づいた音声信号における音の高さの変化に基づいて、コマンドが出力される。例えば、コマンド出力装置１０では、音の高さの変化傾向に応じてコマンドが出力される。従って、ユーザの発話音声を特定のテキストデータに変換することなくコマンドが出力される。また、ユーザの発話音声の言語が異なっても音の高さの変化傾向が同じであれば、同一のコマンドが出力される。例えば、音の高さの変化が音程符号「右、右、上」に対応する音の高さの変化傾向と一致すれば、ユーザが「もーいっかい」及び「Please  say  again？」のどちらを発話しても、コマンド「ＡＧＡＩＮ」が出力される。つまり、コマンド出力装置１０では、異なる言語ごとにコーパスを準備する必要がない。従って、コーパスを作成するための労力を低減させることが可能となる。その結果、コマンドを出力するために消費される各種ハードウェア資源を効率的に利用することが可能となる。また、コーパスのためのメモリ容量を低減させることが可能となる。
【００３７】
コマンド出力装置１０では、音声信号に対して音の高さの変化傾向を示す音程符号が割り当てられ、音程符号に応じてコマンドが出力される。従って、音程符号によって音声信号が識別されるので、音の高さの変化に基づいたコマンドを容易に生成することが可能となる。
【００３８】
分割信号により示される音の高さの変化に基づいて音声信号に対して音程符号が割り当てられる。分割信号の数に応じて、分割信号に対して割り当てられる符号によって構成される音程符号の種類が増加するので、コマンド出力装置１０を介して出力されるコマンドの種別を増やすことが可能となる。
【００３９】
周波数の時間変化によって音の高さの変化が示されるので、周波数の時間変化の傾向を判別することによって、音声信号が示す音の高さの変化傾向を判別することが可能となる。
【００４０】
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されない。
【００４１】
図５は、第１変形例に係るコマンド出力装置の機能構成を示す図である。図５に示されるコマンド出力装置１０Ａは、音声認識部１５をさらに備える点及びコマンド生成部１３が行う処理においてコマンド出力装置１０と主に相違する。コマンド出力装置１０Ａでも、コマンド出力装置１０と同様に各コマンド（各音程符号）に対して入力テキストが割り当てられている（図４参照）。本変形例では、ユーザは入力テキストどおりに発話することによってコマンド出力装置１０Ａに発話音声を入力することが要求される。
【００４２】
コマンド出力装置１０Ａでは、音声検出部１１は検出した音声信号を音程分析部１２及び音声認識部１５に出力する。音声認識部１５は、音声信号に応じたテキストデータを生成する。音声認識部１５は、公知の音声認識技術により、音声信号に応じたテキストデータを生成する。例えば、音声認識部１５は、ユーザにより「もーいっかい」と発話された発話音声に基づく音声信号を音声認識することによって、テキストデータ「もーいっかい」を生成する。
【００４３】
そして、音声認識部１５は、生成したテキストデータに対応する音程符号を示す情報である比較情報を取得する。例えば、音声認識部１５には、テキストデータと比較情報とを対応付けたテーブルが予め記憶されており、音声認識部１５は、当該テーブルを参照することによって、テキストデータに対応する比較情報を取得する。音声認識部１５は、例えば、テキストデータである「もーいっかい」に対応する「右、右、上」から構成される音程符号を示す情報を比較情報として取得する。
【００４４】
なお、音声認識部１５による音声認識によって、発話音声から精度よくテキストデータを生成する必要はなく、音声認識部１５は入力テキストに対応付けられた音程符号を示す比較情報を取得できればよい。例えば、音声認識部１５は、生成したテキストデータに含まれる文字（単語）が所定の割合で入力テキストに一致した場合に、当該入力テキストに対応付けられた音程符号を示す比較情報を取得すればよい。音声認識部１５は、取得した比較情報をコマンド生成部１３に出力する。
【００４５】
コマンド生成部１３は、音程分析部１２から符号情報を受け取り、音声認識部１５から比較情報を受け取る。そして、コマンド生成部１３は、符号情報と比較情報とを比較する。具体的には、コマンド生成部１３は、符号情報と比較情報とが一致するかどうかを判断する。コマンド生成部１３は、符号情報と比較情報とが互いに一致する場合、符号情報に応じたコマンドを生成する。一方、コマンド生成部１３は、符号情報と比較情報とが互いに異なる場合、例えば、符号情報に応じたコマンドを生成することなく、コマンド出力装置１０が備えるディスプレイ等の出力装置を介してユーザに発話音声の再入力を要求する。
【００４６】
例えば、ユーザによって「もーいっかい」と発話された発話音声がコマンド出力装置１０に入力された場合、音程分析部１２によって割り当てられた音程符号が「右、右、上」であり、かつ、音声認識部１５により出力される比較情報によって示される音程符号が「右、右、上」であれば、コマンド生成部１３は、コマンド「ＡＧＡＩＮ」を生成する。
【００４７】
一方、「ちょちょちょ！」を「右、右、上」から構成される音程符号が示す音の高さの変化傾向で発話された発話音声がコマンド出力装置１０に入力されたとする。この場合、音程分析部１２によって「右、右、上」から構成される音程符号を示す符号情報が出力され、かつ、音声認識部１５によって「上、上、上」から構成される音程符号を示す比較情報が出力される。そして、コマンド生成部１３は、符号情報と比較情報とが互いに異なるので、出力装置を介してユーザに再入力を要求する。なお、コマンド生成部１３は、符号情報と比較情報とが互いに異なる場合に、ユーザに再入力を要求せずに、比較情報に応じてコマンドを生成してもよい。
【００４８】
次に、図６を参照してコマンド出力装置１０Ａが行う音声認識方法について説明する。図６は、コマンド出力装置１０Ａが行う音声認識方法の一連の処理を示すフローチャートである。図６に示される一連の処理は、例えば、コマンド出力装置１０Ａが入力装置を介してユーザの発話音声の入力を受けることによって開始される。
【００４９】
本処理では、まず、音声検出部１１は、ステップＳ０１と同様に、発話音声に基づいた音声信号を検出する（ステップＳ１１）。そして、音声検出部１１は、検出した音声信号を音程分析部１２及び音声認識部１５に出力する。続いて、音程分析部１２は、音声検出部１１から音声信号を受け取ると、ステップＳ０２と同様に、音声信号の音程を分析する（ステップＳ１２）。そして、音程分析部１２は、ステップＳ０３と同様に、音声信号に対して音程符号を割り当てる（ステップＳ１３）。そして、音程分析部１２は、割り当てた音程符号を示す符号情報をコマンド生成部１３に出力する。
【００５０】
続いて、音声認識部１５は、音声信号に応じたテキストデータを生成する（ステップＳ１４）。具体的には、音声認識部１５は、音声検出部１１から音声信号を受け取ると、公知の音声認識技術により、音声信号に応じたテキストデータを生成する。そして、音声認識部１５は、生成したテキストデータに対応する音程符号を示す比較情報を取得する。例えば、音声認識部１５には、テキストデータと比較情報とを対応付けたテーブルが予め記憶されており、音声認識部１５は、当該テーブルを参照することによって、テキストデータに対応する比較情報を取得する。そして、音声認識部１５は、取得した比較情報をコマンド生成部１３に出力する。
【００５１】
続いて、コマンド生成部１３は、符号情報と比較情報とを比較する（ステップＳ１５）。具体的には、コマンド生成部１３は、音程分析部１２から符号情報を受け取り、音声認識部１５から比較情報を受け取ると、符号情報が比較情報と一致するかどうかを判断する。符号情報が比較情報と一致しないと判断された場合（ステップＳ１５：ＮＯ）、コマンド生成部１３は、出力装置を介してユーザに発話音声の再入力を要求する（ステップＳ１６）。そして、ユーザによって発話音声が再入力されると、ステップＳ１１〜Ｓ１５の処理が再び実行される。
【００５２】
一方、ステップＳ１５において、符号情報が比較情報と一致すると判断された場合（ステップＳ１５：ＹＥＳ）、コマンド生成部１３は、ステップＳ０４と同様に符号情報に応じたコマンドを生成する（ステップＳ１７）。そして、コマンド生成部１３は、生成したコマンドを出力部１４に出力する。続いて、出力部１４は、コマンド生成部１３からコマンドを受け取ると、ステップＳ０５と同様に、制御対象の装置にコマンドを出力する（ステップＳ１８）。制御対象の装置は、コマンドを受けると、コマンドが示す指示内容を実行する。以上のようにして、コマンド出力装置１０Ａが実行する一連の処理が終了する。なお、ステップＳ１２及びステップＳ１３を含む一連の処理と、ステップＳ１４の処理とでは、順序が入れ替えられてもよく、互いに並行して処理が行われてもよい。
【００５３】
コマンド出力装置１０Ａにおいても、コマンド出力装置１０と同様の効果が奏される。また、コマンド出力装置１０Ａでは、音声認識部１５によって発話音声に応じたテキストデータが生成され、テキストデータに応じた音程符号を示す比較情報と、音程分析部１２によって割り当てられた音程符号を示す符号情報とが比較される。従って、音程符号の割当の信頼度を向上させることができる。
【００５４】
ユーザによって入力される発話音声の言語は、日本語及び英語に限られない。日本語及び英語以外の言語によってユーザの発話音声が入力されてもよい。
【００５５】
音声検出部１１は、ユーザの発話音声の入力の開始及び入力の終了を検出することによって、発話音声の入力の開始から終了までの間にコマンド出力装置１０に入力される電気信号を識別対象の音声信号として検出してもよい。
【００５６】
コマンド出力装置１０では、音程符号を介さずに、音の高さの変化に基づいてコマンドが生成されてもよい。音程分析部１２は、音の高さの変化を示す情報をコマンド生成部１３に出力してもよく、コマンド生成部１３は、音の高さの変化を示す情報に基づいてコマンドを生成してもよい。例えば、音程分析部１２は、分割信号それぞれの第１周波数及び第２周波数を示す周波数情報をコマンド生成部１３に出力してもよく、コマンド生成部１３は、周波数情報に応じてコマンドを生成してもよい。
【００５７】
音程符号に、発話音声の入力がない状態を示す「空白」が符号として含まれてもよい。例えば、音程分析部１２は、分割信号の振幅が、発話音声の入力の開始を検出する際に使用される閾値以下であると判別することによって、当該分割信号に対して符号として「空白」を割り当ててもよい。
【００５８】
なお、上記実施形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック（構成部）は、ハードウェア及び／又はソフトウェアの任意の組み合わせによって実現される。また、各機能ブロックの実現手段は特に限定されない。すなわち、各機能ブロックは、物理的及び／又は論理的に結合した１つの装置により実現されてもよいし、物理的及び／又は論理的に分離した２つ以上の装置を直接的及び／又は間接的に（例えば、有線及び／又は無線）で接続し、これら複数の装置により実現されてもよい。
【００５９】
例えば、本発明の一実施形態におけるコマンド出力装置１０，１０Ａは、本実施形態のコマンド出力装置１０，１０Ａの処理を行うコンピュータとして機能してもよい。図７は、本実施形態に係るコマンド出力装置１０，１０Ａのハードウェア構成の一例を示す図である。上述のコマンド出力装置１０，１０Ａは、物理的には、プロセッサ１００１、メモリ１００２、ストレージ１００３、通信装置１００４、入力装置１００５、出力装置１００６、バス１００７などを含むコンピュータ装置として構成されてもよい。
【００６０】
なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。コマンド出力装置１０，１０Ａのハードウェア構成は、図に示した各装置を１つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
【００６１】
コマンド出力装置１０，１０Ａにおける各機能は、プロセッサ１００１、メモリ１００２などのハードウェア上に所定のソフトウェア（プログラム）を読み込ませることで、プロセッサ１００１が演算を行い、通信装置１００４による通信、並びにメモリ１００２及びストレージ１００３におけるデータの読み出し及び／又は書き込みを制御することで実現される。
【００６２】
プロセッサ１００１は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ１００１は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置（ＣＰＵ：Central  Processing  Unit）で構成されてもよい。例えば、コマンド出力装置１０，１０Ａの各機能は、プロセッサ１００１で実現されてもよい。
【００６３】
また、プロセッサ１００１は、プログラム（プログラムコード）、ソフトウェアモジュール、及びデータを、ストレージ１００３及び／又は通信装置１００４からメモリ１００２に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施形態で説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、コマンド出力装置１０，１０Ａの各機能は、メモリ１００２に格納され、プロセッサ１００１で動作する制御プログラムによって実現されてもよい。上述の各種処理は、１つのプロセッサ１００１で実行される旨を説明してきたが、２以上のプロセッサ１００１により同時又は逐次に実行されてもよい。プロセッサ１００１は、１以上のチップで実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されても良い。
【００６４】
メモリ１００２は、コンピュータ読み取り可能な記録媒体であり、例えば、ＲＯＭ（Read  Only  Memory）、ＥＰＲＯＭ（Erasable  Programmable  ＲＯＭ）、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable ＲＯＭ）、ＲＡＭ（Random  Access  Memory）などの少なくとも１つで構成されてもよい。メモリ１００２は、レジスタ、キャッシュ、メインメモリ（主記憶装置）などと呼ばれてもよい。メモリ１００２は、本発明の一実施形態に係る方法を実施するために実行可能なプログラム（プログラムコード）、ソフトウェアモジュールなどを保存することができる。
【００６５】
ストレージ１００３は、コンピュータ読み取り可能な記録媒体であり、例えば、ＣＤ−ＲＯＭ（Compact  Disc  ＲＯＭ）などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク（例えば、コンパクトディスク、デジタル多用途ディスク、Ｂｌｕ−ｒａｙ（登録商標）ディスク）、スマートカード、フラッシュメモリ（例えば、カード、スティック、キードライブ）、フロッピー（登録商標）ディスク、磁気ストリップなどの少なくとも１つで構成されてもよい。ストレージ１００３は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ１００２及び／又はストレージ１００３を含むデータベース、サーバその他の適切な媒体であってもよい。
【００６６】
通信装置１００４は、有線及び／又は無線ネットワークを介してコンピュータ間の通信を行うためのハードウェア（送受信デバイス）であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。例えば、コマンド出力装置１０，１０Ａの各機能は、通信装置１００４で実現されてもよい。
【００６７】
入力装置１００５は、外部からの入力を受け付ける入力デバイス（例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど）である。出力装置１００６は、外部への出力を実施する出力デバイス（例えば、ディスプレイ、スピーカー、ＬＥＤランプなど）である。なお、入力装置１００５及び出力装置１００６は、一体となった構成（例えば、タッチパネル）であってもよい。
【００６８】
また、プロセッサ１００１及びメモリ１００２などの各装置は、情報を通信するためのバス１００７で接続される。バス１００７は、単一のバスで構成されてもよいし、装置間で異なるバスで構成されてもよい。
【００６９】
また、コマンド出力装置１０，１０Ａは、マイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ：Digital  Signal  Processor）、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＰＬＤ（Programmable  Logic  Device）、ＦＰＧＡ（Field  Programmable  Gate  Array）などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ１００１は、これらのハードウェアの少なくとも１つで実装されてもよい。
【００７０】
以上、本実施形態について詳細に説明したが、当業者にとっては、本実施形態が本明細書中に説明した実施形態に限定されるものではないということは明らかである。本実施形態は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本明細書の記載は、例示説明を目的とするものであり、本実施形態に対して何ら制限的な意味を有するものではない。
【００７１】
本明細書で説明した各態様／実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本明細書で説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。
【００７２】
入出力された情報等は特定の場所（例えば、メモリ）に保存されてもよいし、管理テーブルで管理されてもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
【００７３】
判定は、１ビットで表される値（０か１か）によって行われてもよいし、真偽値（Boolean：true又はfalse）によって行われてもよいし、数値の比較（例えば、所定の値との比較）によって行われてもよい。
【００７４】
本明細書で説明した各態様／実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知（例えば、「Ｘであること」の通知）は、明示的に行うものに限られず、暗黙的に（例えば、当該所定の情報の通知を行わないことによって）行われてもよい。
【００７５】
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
【００７６】
なお、本明細書で説明した用語及び／又は本明細書の理解に必要な用語については、同一の又は類似する意味を有する用語と置き換えてもよい。
【００７７】
また、本明細書で説明した情報、パラメータなどは、絶対値で表されてもよいし、所定の値からの相対値で表されてもよいし、対応する別の情報で表されてもよい。
【００７８】
上述したパラメータに使用する名称はいかなる点においても限定的なものではない。さらに、これらのパラメータを使用する数式等は、本明細書で明示的に開示したものと異なる場合もある。
【００７９】
本明細書で使用する「判断（determining）」、「決定（determining）」という用語は、多種多様な動作を包含する場合がある。「判断」、「決定」は、例えば、判定（judging）、計算（calculating）、算出（computing）、処理（processing）、導出（deriving）、調査（investigating）、探索（looking  up）（例えば、テーブル、データベース又は別のデータ構造での探索）、確認（ascertaining）した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、受信（receiving）（例えば、情報を受信すること）、送信（transmitting）（例えば、情報を送信すること）、入力（input）、出力（output）、アクセス（accessing）（例えば、メモリ中のデータにアクセスすること）した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、解決（resolving）、選択（selecting）、選定（choosing）、確立（establishing）、比較（comparing）などした事を「判断」「決定」したとみなす事を含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなす事を含み得る。
【００８０】
本明細書で使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
【００８１】
本明細書で「第１の」、「第２の」などの呼称を使用した場合においては、その要素へのいかなる参照も、それらの要素の量又は順序を全般的に限定するものではない。これらの呼称は、２つ以上の要素間を区別する便利な方法として本明細書で使用され得る。したがって、第１及び第２の要素への参照は、２つの要素のみがそこで採用され得ること、又は何らかの形で第１の要素が第２の要素に先行しなければならないことを意味しない。
【００８２】
「含む（include）」、「含んでいる（including）」、及びそれらの変形が、本明細書あるいは特許請求の範囲で使用されている限り、これら用語は、用語「備える（comprising）」と同様に、包括的であることが意図される。さらに、本明細書あるいは特許請求の範囲において使用されている用語「又は（or）」は、排他的論理和ではないことが意図される。
【００８３】
本明細書において、文脈又は技術的に明らかに１つのみしか存在しない装置である場合以外は、複数の装置をも含むものとする。本開示の全体において、文脈から明らかに単数を示したものではなければ、複数のものを含むものとする。
【符号の説明】
【００８４】
１０，１０Ａ…コマンド出力装置、１１…音声検出部、１２…音程分析部、１３…コマンド生成部、１４…出力部、１００１…プロセッサ、１００２…メモリ、１００３…ストレージ、１００４…通信装置、１００５…入力装置、１００６…出力装置、１００７…バス。
【図１】
2019184819.tif 000003
【図２】
2019184819.tif 000004
【図３】
2019184819.tif 000005
【図４】
2019184819.tif 000006
【図５】
2019184819.tif 000007
【図６】
2019184819.tif 000008
【図７】
2019184819.tif 000009