(57)【特許請求の範囲】
【請求項１】
入力されたテキストから歌声タグによって指定された歌声データ部分とそれ以外のテキスト部分とを分離する分離工程と、
上記歌声データから歌声韻律データを作成する歌声韻律データ作成工程と、
上記テキスト部分を解析し、当該テキスト部分に所定の単語又は文が存在する場合に、予め人間の発声から抽出された上記所定の単語又は文に対応する自然韻律データを記憶手段から選択する自然韻律データ選択工程と、
上記所定の単語又は文以外の上記テキスト部分について音声記号列を作成する音声記号列作成工程と、
上記音声記号列から韻律データを作成する韻律データ作成工程と、
上記歌声韻律データ、上記自然韻律データ又は上記韻律データに基づいて音声を合成する音声合成工程と
を有することを特徴とする音声合成方法。
【請求項２】
上記歌声データは、少なくとも各音符の高さ及び長さ、その音符に付与される歌詞、休符、速度並びに強弱がタグによって指定されたものであることを特徴とする請求項１記載の音声合成方法。
【請求項３】
上記歌声韻律データ作成工程では、上記歌声韻律データにおける各音韻のピッチ周期及び継続時間長が変更されることによりビブラートが付与されることを特徴とする請求項１記載の音声合成方法。
【請求項４】
上記歌声韻律データ作成工程では、所定の継続時間長以上の音韻に対してビブラートが付与されることを特徴とする請求項３記載の音声合成方法。
【請求項５】
上記歌声韻律データ作成工程では、上記歌声データにおけるタグで指定された部分の音韻に対してビブラートが付与されることを特徴とする請求項３記載の音声合成方法。
【請求項６】
上記歌声韻律データにおける各音韻のピッチを調整するパラメータ調整工程を有することを特徴とする請求項１記載の音声合成方法。
【請求項７】
入力されたテキストから歌声タグによって指定された歌声データ部分とそれ以外のテキスト部分とを分離する分離手段と、
上記歌声データから歌声韻律データを作成する歌声韻律データ作成手段と、
上記テキスト部分を解析し、当該テキスト部分に所定の単語又は文が存在する場合に、予め人間の発声から抽出された上記所定の単語又は文に対応する自然韻律データを記憶手段から選択する自然韻律データ選択手段と、
上記所定の単語又は文以外の上記テキスト部分について音声記号列を作成する音声記号列作成手段と、
上記音声記号列から韻律データを作成する韻律データ作成手段と、
上記歌声韻律データ、上記自然韻律データ又は上記韻律データに基づいて音声を合成する音声合成手段と
を備えることを特徴とする音声合成装置。
【請求項８】
所定の処理をコンピュータに実行させるためのプログラムであって、
入力されたテキストから歌声タグによって指定された歌声データ部分とそれ以外のテキスト部分とを分離する分離工程と、
上記歌声データから歌声韻律データを作成する歌声韻律データ作成工程と、
上記テキスト部分を解析し、当該テキスト部分に所定の単語又は文が存在する場合に、予め人間の発声から抽出された上記所定の単語又は文に対応する自然韻律データを記憶手段から選択する自然韻律データ選択工程と、
上記所定の単語又は文以外の上記テキスト部分について音声記号列を作成する音声記号列作成工程と、
上記音声記号列から韻律データを作成する韻律データ作成工程と、
上記歌声韻律データ、上記自然韻律データ又は上記韻律データに基づいて音声を合成する音声合成工程と
を有することを特徴とするプログラム。
【請求項９】
所定の処理をコンピュータに実行させるためのプログラムが記録されたコンピュータ読み取り可能な記録媒体であって、
入力されたテキストから歌声タグによって指定された歌声データ部分とそれ以外のテキスト部分とを分離する分離工程と、
上記歌声データから歌声韻律データを作成する歌声韻律データ作成工程と、
上記テキスト部分を解析し、当該テキスト部分に所定の単語又は文が存在する場合に、予め人間の発声から抽出された上記所定の単語又は文に対応する自然韻律データを記憶手段から選択する自然韻律データ選択工程と、
上記所定の単語又は文以外の上記テキスト部分について音声記号列を作成する音声記号列作成工程と、
上記音声記号列から韻律データを作成する韻律データ作成工程と、
上記歌声韻律データ、上記自然韻律データ又は上記韻律データに基づいて音声を合成する音声合成工程と
を有することを特徴とするプログラムが記録された記録媒体。
【請求項１０】
供給された入力情報に基づいて動作を行う自律型のロボット装置であって、
入力されたテキストから歌声タグによって指定された歌声データ部分とそれ以外のテキスト部分とを分離する分離手段と、
上記歌声データから歌声韻律データを作成する歌声韻律データ作成手段と、
上記テキスト部分を解析し、当該テキスト部分に所定の単語又は文が存在する場合に、予め人間の発声から抽出された上記所定の単語又は文に対応する自然韻律データを記憶手段から選択する自然韻律データ選択手段と、
上記所定の単語又は文以外の上記テキスト部分について音声記号列を作成する音声記号列作成手段と、
上記音声記号列から韻律データを作成する韻律データ作成手段と、
上記歌声韻律データ、上記自然韻律データ又は上記韻律データに基づいて音声を合成する音声合成手段と
を備えることを特徴とするロボット装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、人間の声に近い自然な音声により文章や歌声を合成するための音声合成方法、音声合成装置、プログラム及び記録媒体、並びに音声を出力するロボット装置に関する。
【０００２】
【従来の技術】
電気的又は磁気的な作用を用いて人間（生物）の動作に似た運動を行う機械装置を「ロボット」という。我が国においてロボットが普及し始めたのは、１９６０年代末からであるが、その多くは、工場における生産作業の自動化・無人化等を目的としたマニピュレータや搬送ロボット等の産業用ロボット（Industrial Robot）であった。
【０００３】
最近では、人間のパートナーとして生活を支援する、すなわち住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボットの開発が進められている。このような実用ロボットは、産業用ロボットとは異なり、人間の生活環境の様々な局面において、個々に個性の相違した人間、又は様々な環境への適応方法を自ら学習する能力を備えている。例えば、犬、猫のように４足歩行の動物の身体メカニズムやその動作を模した「ペット型」ロボット、或いは、２足直立歩行を行う人間等の身体メカニズムや動作をモデルにしてデザインされた「人間型」又は「人間形」ロボット（Humanoid Robot）等のロボット装置は、既に実用化されつつある。
【０００４】
これらのロボット装置は、産業用ロボットと比較して、エンターテインメント性を重視した様々な動作を行うことができるため、エンターテインメントロボットと呼称される場合もある。また、そのようなロボット装置には、外部からの情報や内部の状態に応じて自律的に動作するものがある。
【０００５】
この自律的に動作するロボット装置に用いられる人工知能（ＡＩ：artificial intelligence）は、推論・判断等の知的な機能を人工的に実現したものであり、さらに感情や本能等の機能をも人工的に実現することが試みられている。このような人工知能の外部への表現手段としての視覚的な表現手段や聴覚的な表現手段等のうちで、聴覚的なものの一例として、音声を用いることが挙げられる。
【０００６】
【発明が解決しようとする課題】
ところで、このようなロボット装置に適用する音声合成装置の合成方式としては、テキスト音声合成方式等が挙げられる。しかし、従来のテキストからの音声合成では、音声合成に必要なパラメータは、テキスト解析の結果に応じて自動的に設定される値であったため、例えば歌詞を単純に読み上げることは可能であったが、声の高さや継続時間長を変えるなど、音符情報を考慮することは困難であった。
【０００７】
本発明は、このような従来の実情に鑑みて提案されたものであり、人間の声に近い自然な音声により文章や歌声を合成する音声合成方法、音声合成装置、プログラム及び記録媒体、並びにそのような音声を出力するロボット装置を提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明に係る音声合成方法及び装置は、上述した目的を達成するために、入力されたテキストから歌声タグによって指定された歌声データ部分とそれ以外のテキスト部分とを分離し、上記歌声データについては歌声韻律データを作成し、上記テキスト部分については、解析した結果、当該テキスト部分に所定の単語又は文が存在する場合に、予め人間の発声から抽出された上記所定の単語又は文に対応する自然韻律データを記憶手段から選択し、上記所定の単語又は文以外の上記テキスト部分については音声記号列を作成すると共に当該音声記号列から韻律データを作成し、上記歌声韻律データ、上記自然韻律データ又は上記韻律データに基づいて音声を合成する。
【００１０】
また、本発明に係るプログラムは、上述したような音声合成処理をコンピュータに実行させるものであり、本発明に係る記録媒体は、このプログラムが記録されたコンピュータ読み取り可能なものである。
【００１１】
また、本発明に係るロボット装置は、上述した目的を達成するために、供給された入力情報に基づいて動作を行う自律型のロボット装置であって、入力されたテキストから歌声タグによって指定された歌声データ部分とそれ以外のテキスト部分とを分離する分離手段と、上記歌声データから歌声韻律データを作成する歌声韻律データ作成手段と、上記テキスト部分を解析し、当該テキスト部分に所定の単語又は文が存在する場合に、予め人間の発声から抽出された上記所定の単語又は文に対応する自然韻律データを記憶手段から選択する自然韻律データ選択手段と、上記所定の単語又は文以外の上記テキスト部分について音声記号列を作成する音声記号列作成手段と、上記音声記号列から韻律データを作成する韻律データ作成手段と、上記歌声韻律データ、上記自然韻律データ又は上記韻律データに基づいて音声を合成する音声合成手段とを備える。
【００１２】
【発明の実施の形態】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００１３】
先ず、本実施の形態における音声合成装置の概略構成を図１に示す。ここで、この音声合成装置は、少なくとも感情モデル、音声合成手段及び発音手段を有する例えばロボット装置に適用することを想定しているが、これに限定されず、各種ロボット装置や、ロボット以外の各種コンピュータＡＩ（artificial intelligence)  等への適用も可能であることは勿論である。また、以下では、主として日本語の単語或いは文章を合成する場合について説明するが、これに限定されず、種々の言語に適用可能であることは勿論である。
【００１４】
図１に示すように、音声合成装置２００は、言語処理部２１０と、音声合成部２２０とで構成される。ここで、言語処理部２１０は、タグ処理部２１１と、歌声合成部２１２と、言語解析部２１３と、自然韻律辞書記憶部２１４と、音声記号生成部２１５とを有している。また、音声合成部２２０は、韻律生成部２２１と、韻律データ調整部２２２と、音素片記憶部２２３と、波形生成部２２４とを有している。
【００１５】
言語処理部２１０において、タグ処理部２１１は、入力されたテキストを解析し、歌声のタグが付されている部分については、その部分のテキストを歌声合成部２１２に供給する。また、タグ処理部２１１は、歌声のタグ以外のタグが付されている部分については、通常のテキスト部分とタグとに分割し、テキスト部分を言語解析部２１３に供給すると共に、タグの情報を言語解析部２１３に供給する。入力されたテキストにタグが付されていない場合には、タグ処理部２１１は、入力されたテキストをそのまま言語解析部２１３に供給する。なお、詳細は後述するが、歌声のタグは、開始タグと終了タグとで挟まれた歌声データについて、最終的に合成される音声にメロディを付け、歌声として表現することを指定するものであり、その他のタグは、最終的に合成される音声に様々な感情やキャラクタ性等を付与することを指定するものである。
【００１６】
歌声合成部２１２は、テキスト中において歌声のタグで挟まれた歌声データから歌声韻律データを作成する。ここで、歌声データとは、楽譜における各音符の高さ及び長さ、その音符に付与される歌詞、休符、速度や強弱等の音楽表現がタグによって指定されたものである。歌声合成部２１２は、この歌声データに基づいて、歌詞を表す各音韻のピッチ周期、継続時間長、音量等のパラメータを表現した歌声韻律データを作成する。なお、歌声韻律データを作成する際には、後述するように、ピッチ周期等を短い周期で変化させ、合成される歌声にビブラートを付加するようにしても構わない。歌声合成部２１２は、この歌声韻律データを波形生成部２２４に供給する。
【００１７】
言語解析部２１３は、タグ処理部２１１から供給されたテキスト部分を、図示しない単語辞書記憶部や文法規則記憶部を参照しながら言語処理する。すなわち、単語辞書記憶部には、各単語の品詞情報や、読み、アクセント等の情報が記述された単語辞書が記憶されており、また、文法規則記憶部には、単語辞書記憶部の単語辞書に記述された単語について、単語連鎖に関する制約等の文法規則が記憶されている。そして、言語解析部２１３は、この単語辞書及び文法規則に基づいて、タグ処理部２１１から供給されるテキスト部分の形態素解析や構文解析等の解析を行う。ここで、言語解析部２１３は、自然韻律辞書記憶部２１４の自然韻律辞書に登録されている単語又は文については、タグ情報を参照しながら、この自然韻律辞書に登録されている自然韻律データを選択し、後述する韻律データ調整部２２２に供給する。この自然韻律辞書及び自然韻律データについての詳細は後述する。一方、言語処理部２１３は、自然韻律辞書記憶部２１４の自然韻律辞書に登録されていない単語又は文については、解析結果を音声記号生成部２１５に供給する。
【００１８】
音声記号生成部２１５は、アクセント規則及びフレーズ規則を参照しながら、言語解析部２１３から供給される解析結果に基づいて、テキストに対応する音声記号列を生成する。ここで、アクセント規則とは、アクセントを付与する規則であり、音声記号生成部２１５は、このアクセント規則に従って、音声記号に、アクセントを表すタグを挿入する。また、フレーズ規則とは、フレーズを決定する際の規則であり、音声記号生成部２１５は、このフレーズ規則に従って、音声記号に、フレーズを表すタグを挿入する。
【００１９】
音声合成部２２０において、韻律生成部２２１は、音声記号生成部２１５から供給された音声記号列に基づいて韻律データを作成し、この韻律データを波形合成部２２４に供給する。この韻律生成部２２１は、例えば音声記号列から抽出したアクセント型、文中でのアクセント句の数、文中での当該アクセントの位置、当該アクセント句の音韻数、アクセント句内での当該音韻の位置、当該音韻の種類といった情報を用いて、数量化一類等の統計的手法により当該音韻のピッチ周期、継続時間長、音量等のパラメータを表現した韻律データを生成する。
【００２０】
また、韻律生成部２２１は、アプリケーションによってピッチ周期、話速、音量等が指定されている場合には、これを考慮して韻律データのパラメータの調整を行う。さらに、韻律生成部２２１は、タグ情報によって、韻律データのパラメータの調整を行い、感情或いはキャラクタ性の伴われた音声を合成可能とすることができる。
【００２１】
韻律データ調整部２２２は、音素片記憶部２２３から、標準で出力する際の音声の平均ピッチ周期、平均話速、平均音量等のデータを得て、言語解析部２１２から供給された自然韻律データのパラメータがその平均ピッチ周期等になるように、ピッチ周期、継続時間長、音量の調整を行う。また、韻律データ調整部２２２は、アプリケーションによってピッチ周期、話速、音量等が指定されている場合には、これを考慮して、自然韻律データのパラメータの調整を行う。
【００２２】
波形生成部２２４は、韻律生成部２２１から供給された韻律データ及び韻律データ調整部２２２から供給された自然韻律データ、そして歌声生成部２１２から供給された歌声韻律データを用いて音声波形を生成する。この波形生成部２２４は、音素片記憶部２２３を参照しながら、韻律データ、自然韻律データ又は歌声韻律データに示されるピッチ周期、継続時間長及び音量や、音韻系列等をもとに、なるべくこれに近い音素片データを検索してその部分を切り出して並べ、音声波形データを生成する。すなわち、音素片記憶部２２３には、例えば、ＣＶ（Consonant, Vowel）や、ＶＣＶ、ＣＶＣ等の形で音素片データが記憶されており、波形生成部２２４は、韻律データ、自然韻律データ又は歌声韻律データに基づいて、必要な音素片データを接続し、さらに、ポーズ、アクセント、イントネーション等を適切に付加することで、音声波形データを生成する。
【００２３】
得られた音声波形データは、Ｄ／Ａ（Digital/Analog）変換器やアンプ等を介してスピーカに送られることにより、実際の音声として発せられる。例えば、ロボット装置である場合には、このような処理が、いわゆるバーチャルロボットにおいてなされて、スピーカを介して発話されるようになる。
【００２４】
続いて、以上のような構成を有する音声合成装置２００の動作について、図２のフローチャートを用いて説明する。先ずステップＳ１において、発話するためのテキストが入力され、ステップＳ２において、タグが解析される。なお、入力されたテキストにタグが付されていない場合には、ステップＳ２を省略することができる。
【００２５】
次にステップＳ３において、歌声韻律データが作成される。すなわち、テキスト中において歌声の開始及び終了を示すタグで挟まれた歌声データから、歌詞を表す各音韻のピッチ周期、継続時間長、音量等のパラメータを表現した歌声韻律データが作成される。この際、ピッチ周期等を短い周期で変化させることにより、合成される歌声にビブラートを付与するようにしても構わない。なお、入力されたテキストに歌声のタグが付されていない場合には、ステップＳ３を省略することができる。
【００２６】
続いてステップＳ４において、上述した歌声データ以外のテキスト部分についての言語処理が行われる。すなわち、入力されたテキスト中の歌声データ以外の部分について、上述したように、各単語の品詞情報や、読み、アクセント等の情報が記述された単語辞書や単語連鎖に関する制約等の文法規則に基づいて、形態素解析や構文解析等の解析が行われる。
【００２７】
ステップＳ５では、韻律データ又は自然韻律データが生成される。すなわち、ステップＳ４で言語処理が行われたテキスト部分において、自然韻律辞書に登録されている単語については、自然韻律辞書に登録されている自然韻律データのうち、例えば上述したタグで指定されたものが選択される。また、自然韻律辞書に登録されてない単語については、音声記号列に変換されてから、韻律データが生成される。
【００２８】
ステップＳ６では、韻律データ又は自然韻律データのパラメータが調整される。具体的には、自然韻律データは、自然韻律辞書に登録した際のピッチ周期、継続時間長、音量等となっているため、音素片データから標準で出力する際の音声の平均ピッチ周期、平均話速、平均音量等のデータを得て、自然韻律データのパラメータが調整される。またステップＳ６では、タグ情報に基づいて韻律データのパラメータが調整される。これにより、合成される音声に感情或いはキャラクタ性を伴わせることができる。さらにステップＳ６では、アプリケーションによってピッチ周期、話速、音量等が指定されている場合、これを考慮して、韻律データ又は自然韻律データのパラメータが調整される。
【００２９】
最後にステップＳ７では、韻律データ、自然韻律データ及び歌声韻律データを用いて、音声波形データが生成される。すなわち、韻律データ、自然韻律データ及び歌声韻律データに基づいて、必要な音素片データが接続され、さらに、ポーズ、アクセント、イントネーション等が適切に付加されて、音声波形データが生成される。この音声波形データは、Ｄ／Ａ変換器やアンプ等を介してスピーカに送られることにより、文章或いは歌声が実際の音声として発せられる。
【００３０】
なお、上述のフローチャートにおける各ステップの順番は、説明の便宜上のものであり、必ずしもこの順番で処理が行われることを示したものではない。すなわち、入力されたテキストにおいて歌声のタグで挟まれた部分については、ステップＳ３に示した処理が施され、それ以外の部分については、ステップＳ４乃至ステップＳ６で示した処理が施される。
【００３１】
以上説明したように、本実施の形態における音声合成装置２００は、テキスト中の歌声データ部分については、歌詞を表す各音韻のピッチ周期、継続時間長、音量等のパラメータを表現した歌声韻律データを作成する。また、音声合成装置２００は、予め自然韻律辞書に種々の単語又は文を登録しておき、テキスト中の歌声データ以外の部分の言語処理を行い、自然韻律辞書に登録されている単語又は文については、この自然韻律辞書に登録されている自然韻律データを選択する。一方、登録されていない単語又は文については、通常のテキスト音声合成と同様に、音声記号列を生成してから、韻律データを生成する。そして、韻律データ、自然韻律データ及び歌声韻律データに基づいて、必要な音素片データを接続し、さらに、ポーズ、アクセント、イントネーション等を適切に付加して、音声波形データを生成する。
【００３２】
すなわち、歌声データがテキスト中の他の部分と同じテキスト形式で表現されているため、専用のインターフェースや音声合成エンジンを用いることなく、歌声を発することができる。
【００３３】
また、自然韻律辞書に登録されていない単語又は文の韻律データと登録されている単語又は文の自然韻律データとが、ピッチ周期、継続時間長、音量等のパラメータに基づいて接続されるため、より自然性の高い音声を合成することができる。
【００３４】
以下、具体例を挙げて音声合成装置２００の動作についてさらに詳細に説明するが、説明の便宜上、以下ではテキスト中の歌声データ部分の音声を合成する場合と、それ以外のテキスト部分の音声を合成する場合とを分けて説明する。
【００３５】
先ず、歌声データ部分に対応する歌声韻律データを作成する場合について説明する。なお、ここでは合成する歌声の一例として、昔話「桃太郎」の歌の冒頭部分である「ももたろさんももたろさん、」を用いる。
【００３６】
歌声データは、例えば以下の表に示すように、歌声データの開始を示すタグ￥song￥と終了を示すタグ￥￥song￥によって挟まれた部分として表される。
【００３７】
【表１】
0004150198.tif 000002
【００３８】
この表において、「￥dyna mf￥」は、この歌声の音量がｍｆ（メゾフォルテ）であることを表したものである。また、その次の「￥speed 120￥」は、この歌声が１分間に４分音符１２０個分のテンポであることを表している。また、実際の歌詞は、例えば「￥G4,4+8￥も」というように表される。ここで「Ｇ４」は、音符の高さを示し、「４＋８」は、この音符が４分音符１つと８分音符１つとを足した長さ、すなわち付点４分音符であることを示し、「も」は、この音符の歌詞が「も」であることを示している。また、「￥PP,4￥」は、４分休符を表している。このようにして、楽譜における各音符の高さ及び長さ、その音符に付与される歌詞、休符、速度や強弱等の音楽表現が表現される。
【００３９】
このように表された歌声データは、歌声合成部２１２において歌声韻律データに変換される。この歌声韻律データは、例えば以下の表のように表される。
【００４０】
【表２】
0004150198.tif 000003
【００４１】
この表において、[LABEL]は、各音韻の継続時間長を表したものである。すなわち、「ｍｏ」という音韻は、０サンプルから１０００サンプルまでの１０００サンプルの継続時間長であり、「ｏｏ」という音韻は、１０００サンプルから１４３３７サンプルまでの１３３３７サンプルの継続時間長である。また、[PITCH]は、ピッチ周期を点ピッチで表したものである。すなわち、０サンプル及び１０００サンプルでのピッチ周期は５６サンプルであり、２０００サンプルでのピッチ周期は５９サンプルである。また、[VOLUME]は、各サンプルでの相対的な音量を表したものである。すなわち、デフォルト値を１００％としたときに、０サンプルでは６６％の音量であり、７２６６９サンプルでは５７％の音量である。このようにして、全ての音韻が表現される。
【００４２】
ここで、歌声韻律データを作成する際には、各音韻のピッチ周期や継続時間長を変化させることによって、合成される歌声にビブラートをかけることができる。
【００４３】
具体例として、「Ａ４」の高さの音符を一定時間伸ばす場合について説明する。ビブラートをかけない場合の歌声韻律データは、以下の表のように表される。
【００４４】
【表３】
0004150198.tif 000004
【００４５】
これに対して、ビブラートをかける場合には、歌声データに以下のようなタグが追加される。
【００４６】
【表４】
0004150198.tif 000005
【００４７】
この表において、「￥vib_rat=2000￥」は、この歌声におけるビブラートの幅が２０００サンプルであることを表している。また、「￥vib_dep=6￥」は、ビブラートの高低が６％であることを表している。すなわち、基準となるピッチ周期が±６％の範囲で変化する。また、「￥vib_del=1000￥」は、ビブラートの開始までの遅れが１０００サンプルであることを表している。すなわち、１０００サンプル経過後からビブラートが開始される。また、「￥vib_length=6000￥」は、ビブラート対象となる音符の長さの最小値が６０００サンプルであることを表している。すなわち、６０００サンプル以上の長さの音符に対してのみビブラートがかけられる。
【００４８】
このような歌声データのタグにより、以下に示すような歌声韻律データが作成される。
【００４９】
【表５】
0004150198.tif 000006
【００５０】
なお、上述の例では、歌声データのタグによりビブラートが指定されるものとして説明したが、これに限定されるものではなく、音符の長さが所定の閾値を超えた場合に自動的にビブラートをかけるようにしても構わない。
【００５１】
次に、歌声データ以外のテキスト部分に対応する韻律データ及び自然韻律データを生成する場合について説明する。なお、ここではテキスト部分の一例として「￥happiness￥ ねえ、今日は天気が良いね。」を用い、このテキスト中の「ねえ」の部分が自然韻律辞書に登録されているものとして説明する。ここで、￥happiness￥は、そのテキストを喜び（happiness）の感情を伴わせて合成することを意味するタグである。なお、タグがこの例に限定されないことは勿論であり、その他の感情を指定するものであっても構わない。また、感情に限らず、キャラクタを指定するタグが付されていてもよく、さらには、タグが全く付されていなくても構わない。
【００５２】
通常のタグが付されたテキスト部分は、タグ処理部２１１（図１）において、タグ（￥happiness￥）とテキスト（「ねえ、今日は天気が良いね。」）とに分離され、このタグの情報とテキストとが言語解析部２１３に供給される。
【００５３】
そして、テキスト部分は、言語解析部２１３において、自然韻律辞書記憶部２１４の自然韻律辞書を参照しながら言語解析が行われる。ここで、自然韻律辞書は、例えば図３のように構成される。図３に示すように、登録されている単語毎に、標準の自然韻律データのほか、例えば平静（calm）、怒り（anger）、悲しみ（sadness）、喜び（happiness）、落ち着き（comfort）等の各感情や、各キャラクタに対応する自然韻律データが用意される。
【００５４】
なお、感情の例がこれらに限定されないことは勿論であり、また、各単語について全ての感情に対応する自然韻律データを用意しておかなければならないわけでもない。指定された感情等に対応する自然韻律データが登録されていない場合には、標準の自然韻律データを選択してもよく、また、類似する感情等の自然韻律データを選択するようにしても構わない。例えば、驚きと怖れ、退屈と悲しみなどのある特定の感情に関しては、発せられる音声の音響特性が類似することが知られているため、代替として用いるようにしても構わない。
【００５５】
本具体例では、テキスト部分にタグ（￥happiness￥）が付されているため、喜び（happiness）に対応する「ねえ」の自然韻律データが選択される。この自然韻律データは、例えば以下の表のように表される。
【００５６】
【表６】
0004150198.tif 000007
【００５７】
一方、「今日は天気が良いね。」の部分については、自然韻律辞書に登録されていないため、音声記号生成部２１５に送られ、例えば「Ko'5oowa//te'4xxkiva//yo'2iine..」というような音声記号列に変換される。ここで、タグ「'５」のうちの「’」は、アクセントを表し、続く数字の５は、アクセントの強さを意味する。また、タグ「//」は、アクセント句の区切りを表す。
【００５８】
このようにして生成された音声記号列は、韻律生成部２２１において韻律データに変換される。この韻律データは、上述した自然韻律データと同様な構成を有するものであり、各音韻の継続時間長を表した[LABEL]と、ピッチ周期を点ピッチで表した[PITCH]と、各サンプルでの相対的な音量を表した[VOLUME]とで表現される。
【００５９】
ここで上述したように、このテキスト部分にはタグ（￥happiness￥）が付されているため、「ねえ、」の部分と同様に、「今日は天気が良いね。」の部分についても、喜びの感情を表現する必要がある。
【００６０】
そこで、本実施の形態では、以下の表に示すような、怒り、悲しみ、喜び及び落ち着き等の各感情に対応して予め決定されているパラメータ（少なくとも各音韻の継続時間長（DUR）、ピッチ（PITCH）及び音量（VOLUME）等）の組合せテーブルを各感情の特質に基づいて予め生成しておき、このテーブルを韻律生成部２２１に保持しておく。ここで、以下のテーブルにおけるピッチの単位はヘルツであり、継続時間長の単位はミリ秒である。
【００６１】
【表７】
0004150198.tif 000008
【００６２】
【表８】
0004150198.tif 000009
【００６３】
【表９】
0004150198.tif 000010
【００６４】
【表１０】
0004150198.tif 000011
【００６５】
【表１１】
0004150198.tif 000012
このようにして予め用意しておいた各感情に対応されるパラメータからなるテーブルを実際に判別された感情に応じて切り換え、このテーブルに基づいてパラメータを変更することにより、感情を表現することが可能とされる。
【００６６】
具体的には、欧州特許出願第01401880.1号の明細書及び図面に記載された技術を応用することができる。
【００６７】
例えば発話される単語に含まれる音韻の平均ピッチ周期がMEANPITCHの値に基づいて計算される値になるように各音韻のピッチ周期を変化させ、また、ピッチ周期の分散値がPITCHVARの値に基づいて計算される値になるように制御する。
【００６８】
同様に、発話される単語に含まれる音韻の平均継続時間長がMEANDURの値で計算される値になるように各音韻の継続時間長を変化させ、また、継続時間長の分散値がDURVARの値になるように制御する。
【００６９】
また、各音韻の音量についても、各感情のテーブルにおけるVOLUMEで指定される値に制御する。
【００７０】
さらに、このテーブルに基づいて各アクセント句のcontour（輪郭）を変更することもできる。すなわち、DEFAULTCONTOUR＝risingである場合には、アクセント句のピッチの傾きが上り調子となり、DEFAULTCONTOUR＝fallingである場合には、反対に下り調子となる。
【００７１】
なお、アプリケーションによってピッチ周期、話速、音量等が設定されている場合には、このデータによっても韻律データのピッチ周期、継続時間長、音量といったパラメータの調整が行われる。
【００７２】
一方、「ねえ、」の部分の自然韻律データは、韻律データ調整部２２２において、ピッチ周期、継続時間長、音量といったパラメータの調整が行われる。すなわち、自然韻律データは、自然韻律辞書に登録した際のピッチ周期、継続時間長、音量等となっているため、波形生成部２２４が用いる音素片データから、標準で出力する際の音声の平均ピッチ周期、平均話速、平均音量等のデータを得て、自然韻律データのパラメータの調整が行われる。
【００７３】
また、韻律データの平均ピッチ周期が上述したように喜びの感情に対応したテーブルの平均ピッチ周期となるように変更されているため、自然韻律データについても、このテーブルの平均ピッチ周期となるように調整される。
【００７４】
さらに、アプリケーションによってピッチ周期、話速、音量等が設定されている場合には、このデータによっても自然韻律データのパラメータの調整が行われる。
【００７５】
以上のようにして得られた歌声韻律データと、パラメータの変更された韻律データ及び自然韻律データとは、波形生成部２２４に送られ、これらに基づいて音声波形データが生成される。すなわち、韻律データ、自然韻律データ及び歌声韻律データに基づいて、必要な音素片データが接続され、さらに、ポーズ、アクセント、イントネーション等が適切に付加されて、音声波形データが生成される。この音声波形データは、Ｄ／Ａ変換器やアンプ等を介してスピーカに送られることにより、実際の音声として発せられる。
【００７６】
なお、上述の説明では、歌声合成部２１２は、作成した歌声韻律データを波形生成部２２４に供給するものとして説明したが、これに限定されるものではなく、例えば韻律データ調整部２２２に供給し、パラメータの調整を行うようにしても構わない。これにより、例えば男声の場合にはピッチを１オクターブ下げるなどすることができる。
【００７７】
また、以上の説明では、歌声データ以外のテキスト部分の合成音声に対して、タグで指定された感情又はキャラクタ性を伴わせる例について説明したが、これに限定されるものではなく、外部から与えられた感情状態情報やキャラクタ情報によって指定された感情又はキャラクタ性を合成音声に伴わせるようにしても構わない。
【００７８】
感情を例に挙げれば、例えばロボット装置の場合には、行動モデルとして、内部に確率状態遷移モデル（例えば、後述するように、状態遷移表を有するモデル）を有しており、各状態が認識結果や感情や本能の値によって異なる遷移確率テーブルを持ち、その確率に従って次の状態へ遷移し、この遷移に関連付けられた行動を出力する。
【００７９】
感情による喜びや悲しみの表現行動がこの確率状態遷移モデル（或いは確率遷移表）に記述されており、この表現行動の１つとして、音声による（発話による）感情表現が含まれている。
【００８０】
すなわち、このロボット装置では、感情モデルの感情状態を表すパラメータを行動モデルが参照することにより決定される行動の１つの要素として感情表現があり、行動決定部の一部機能として、感情状態の判別が行われることになる。そして、この判別された感情状態情報が上述した言語解析部２１２及び韻律生成部２２１に与えられる。これにより、その感情に応じた自然韻律データが選択され、また、その感情に応じて韻律データ及び自然韻律データのパラメータが調整される。
【００８１】
以下、このようなロボット装置の一例として、２本足の自律型ロボットに本発明を適用した例について、図面を参照しながら詳細に説明する。この人間型ロボット装置のソフトウェアに感情・本能モデルを導入し、より人間に近い行動を得ることができるようにしている。本実施の形態では実際に動作をするロボットを用いているが、発話はスピーカを持つコンピュータ・システムであれば容易に実現可能であり、人間と機械とのインタラクション（或いは対話）の場で有効な機能である。したがって本発明の適用範囲はロボットシステムに限られるものではない。
【００８２】
具体例として図４に示す人間型のロボット装置は、住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボットであり、内部状態（怒り、悲しみ、喜び、楽しみ等）に応じて行動できるほか、人間が行う基本的な動作を表出できるエンターテインメントロボットである。
【００８３】
図４に示すように、ロボット装置１は、体幹部ユニット２の所定の位置に頭部ユニット３が連結されると共に、左右２つの腕部ユニット４Ｒ／Ｌと、左右２つの脚部ユニット５Ｒ／Ｌが連結されて構成されている（但し、Ｒ及びＬの各々は、右及び左の各々を示す接尾辞である。以下において同じ。）。
【００８４】
このロボット装置１が具備する関節自由度構成を図５に模式的に示す。頭部ユニット３を支持する首関節は、首関節ヨー軸１０１と、首関節ピッチ軸１０２と、首関節ロール軸１０３という３自由度を有している。
【００８５】
また、上肢を構成する各々の腕部ユニット４Ｒ／Ｌは、、肩関節ピッチ軸１０７と、肩関節ロール軸１０８と、上腕ヨー軸１０９と、肘関節ピッチ軸１１０と、前腕ヨー軸１１１と、手首関節ピッチ軸１１２と、手首関節ロール軸１１３と、手部１１４とで構成される。手部１１４は、実際には、複数本の指を含む多関節・多自由度構造体である。ただし、手部１１４の動作は、ロボット装置１の姿勢制御や歩行制御に対する寄与や影響が少ないので、本明細書ではゼロ自由度と仮定する。したがって、各腕部は７自由度を有するとする。
【００８６】
また、体幹部ユニット２は、体幹ピッチ軸１０４と、体幹ロール軸１０５と、体幹ヨー軸１０６という３自由度を有する。
【００８７】
また、下肢を構成する各々の脚部ユニット５Ｒ／Ｌは、股関節ヨー軸１１５と、股関節ピッチ軸１１６と、股関節ロール軸１１７と、膝関節ピッチ軸１１８と、足首関節ピッチ軸１１９と、足首関節ロール軸１２０と、足部１２１とで構成される。本明細書中では、股関節ピッチ軸１１６と股関節ロール軸１１７の交点は、ロボット装置１の股関節位置を定義する。人体の足部１２１は、実際には多関節・多自由度の足底を含んだ構造体であるが、ロボット装置１の足底は、ゼロ自由度とする。したがって、各脚部は、６自由度で構成される。
【００８８】
以上を総括すれば、ロボット装置１全体としては、合計で３＋７×２＋３＋６×２＝３２自由度を有することになる。ただし、エンターテインメント向けのロボット装置１が必ずしも３２自由度に限定されるわけではない。設計・制作上の制約条件や要求仕様等に応じて、自由度すなわち関節数を適宜増減することができることはいうまでもない。
【００８９】
上述したようなロボット装置１が持つ各自由度は、実際にはアクチュエータを用いて実装される。外観上で余分な膨らみを排してヒトの自然体形状に近似させること、２足歩行という不安定構造体に対して姿勢制御を行うことなどの要請から、アクチュエータは小型且つ軽量であることが好ましい。
【００９０】
ロボット装置１の制御システム構成を図６に模式的に示す。図６に示すように、体幹部ユニット２には、ＣＰＵ（Central Processing Unit）１０、ＤＲＡＭ（Dynamic Random Access Memory）１１、フラッシュＲＯＭ（Read ０nly Memory）１２、ＰＣ（Personal Computer）カードインターフェース回路１３及び信号処理回路１４が内部バス１５を介して相互に接続されることにより形成されたコントロール部１６と、このロボット装置１の動力源としてのバッテリ１７とが収納されている。また、体幹部ユニット２には、ロボット装置１の向きや動きの加速度を検出するための角速度センサ１８及び加速度センサ１９なども収納されている。
【００９１】
また、頭部ユニット３には、外部の状況を撮像するための左右の「眼」に相当するＣＣＤ（Charge Coupled Device）カメラ２０Ｒ／Ｌと、そのＣＣＤカメラ２０Ｒ／Ｌからの画像データに基づいてステレオ画像データを作成するための画像処理回路２１と、使用者からの「撫でる」や「叩く」といった物理的な働きかけにより受けた圧力を検出するためのタッチセンサ２２と、各脚部ユニット５Ｒ／Ｌの足底が着床したか否かを検出する接地確認センサ２３Ｒ／Ｌと、姿勢を計測する姿勢センサ２４と、前方に位置する物体までの距離を測定するための距離センサ２５と、外部音を集音するためのマイクロホン２６と、スピーチ等の音声を出力するためのスピーカ２７と、ＬＥＤ（Light Emitting Diode）２８などがそれぞれ所定位置に配置されている。
【００９２】
ここで、接地確認センサ２３Ｒ／Ｌは、例えば足底に設置された近接センサ又はマイクロ・スイッチなどで構成される。また、姿勢センサ２４は、例えば、加速度センサとジャイロ・センサの組み合わせによって構成される。接地確認センサ２３Ｒ／Ｌの出力によって、歩行・走行などの動作期間中において、左右の各脚部ユニット５Ｒ／Ｌが現在立脚又は遊脚何れの状態であるかを判別することができる。また、姿勢センサ２４の出力により、体幹部分の傾きや姿勢を検出することができる。
【００９３】
さらに、体幹部ユニット２、腕部ユニット４Ｒ／Ｌ、脚部ユニット５Ｒ／Ｌの各関節部分などにはそれぞれ上述した自由度数分のアクチュエータ２９１〜２９ｎ及びポテンショメータ３０１〜３０ｎが配設されている。例えば、アクチュエータ２９１〜２９ｎはサーボモータを構成として有している。サーボモータの駆動により、例えば腕部ユニット４Ｒ／Ｌ及び脚部ユニット５Ｒ／Ｌが制御されて、目標の姿勢或いは動作に遷移する。
【００９４】
そして、これら角速度センサ１８、加速度センサ１９、タッチセンサ２２、接地確認センサ２３Ｒ／Ｌ、姿勢センサ２４、距離センサ２５、マイクロホン２６、スピーカ２７及び各ポテンショメータ３０１〜３０ｎなどの各種センサ並びにＬＥＤ２８及び各アクチュエータ２９１ 〜２９ｎは、それぞれ対応するハブ３１１〜３１ｎを介してコントロール部１６の信号処理回路１４と接続され、バッテリ１７及び画像処理回路２１は、それぞれ信号処理回路１４と直接接続されている。
【００９５】
信号処理回路ｌ４は、上述の各センサから供給されるセンサデータや画像データ及び音声データを順次取り込み、これらをそれぞれ内部バス１５を介してＤＲＡＭ１１内の所定位置に順次格納する。また信号処理回路１４は、これと共にバッテリ１７から供給されるバッテリ残量を表すバッテリ残量データを順次取り込み、これをＤＲＡＭ１１内の所定位置に格納する。
【００９６】
このようにしてＤＲＡＭ１１に格納された各センサデータ、画像データ、音声データ及びバッテリ残量データは、この後ＣＰＵ１０がこのロボット装置１の動作制御を行う際に利用される。
【００９７】
実際上ＣＰＵ１０は、ロボット装置１の電源が投入された初期時、体幹部ユニット２の図示しないＰＣカードスロットに装填されたメモリカード３２又はフラッシュＲＯＭ１２に格納された制御プログラムをＰＣカードインターフェース回路１３を介して又は直接読み出し、これをＤＲＡＭ１１に格納する。
【００９８】
また、ＣＰＵ１０は、この後上述のように信号処理回路１４よりＤＲＡＭ１１に順次格納される各センサデータ、画像データ、音声データ及びバッテリ残量データに基づいて自己及び周囲の状況や、使用者からの指示及び働きかけの有無などを判断する。
【００９９】
さらに、ＣＰＵ１０は、この判断結果及びＤＲＡＭ１１に格納した制御プログラムに基づいて続く行動を決定すると共に、当該決定結果に基づいて必要なアクチュエータ２９１〜２９ｎを駆動させることにより、各腕部ユニット４Ｒ／Ｌを上下左右に振らせたり、各脚部ユニット５Ｒ／Ｌを駆動させて歩行させるなどの行動を行わせる。
【０１００】
また、この際ＣＰＵ１０は、必要に応じて音声データを生成し、これを信号処理回路１４を介して音声信号としてスピーカ２７に与えることにより当該音声信号に基づく音声を外部に出力させたり、上述のＬＥＤ２８を点灯、消灯又は点滅させる。
【０１０１】
このようにしてこのロボット装置１においては、自己及び周囲の状況や、使用者からの指示及び働きかけに応じて自律的に行動し得るようになされている。
【０１０２】
ところで、このロボット装置１は、内部状態に応じて自律的に行動することができる。そこで、ロボット装置１における制御プログラムのソフトウェア構成例について、図７乃至図１２を用いて説明する。なお、この制御プログラムは、上述したように、予めフラッシュＲＯＭ１２に格納されており、ロボット装置１の電源投入初期時において読み出される。
【０１０３】
図７において、デバイス・ドライバ・レイヤ４０は、制御プログラムの最下位層に位置し、複数のデバイス・ドライバからなるデバイス・ドライバ・セット４１から構成されている。この場合、各デバイス・ドライバは、ＣＣＤカメラやタイマ等の通常のコンピュータで用いられるハードウェアに直接アクセスすることを許されたオブジェクトであり、対応するハードウェアからの割り込みを受けて処理を行う。
【０１０４】
また、ロボティック・サーバ・オブジェクト４２は、デバイス・ドライバ・レイヤ４０の最下位層に位置し、例えば上述の各種センサやアクチュエータ２８１〜２８ｎ等のハードウェアにアクセスするためのインターフェースを提供するソフトウェア群でなるバーチャル・ロボット４３と、電源の切換えなどを管理するソフトウェア群でなるパワーマネージャ４４と、他の種々のデバイス・ドライバを管理するソフトウェア群でなるデバイス・ドライバ・マネージャ４５と、ロボット装置１の機構を管理するソフトウェア群でなるデザインド・ロボット４６とから構成されている。
【０１０５】
マネージャ・オブジェクト４７は、オブジェクト・マネージャ４８及びサービス・マネージャ４９から構成されている。オブジェクト・マネージャ４８は、ロボティック・サーバ・オブジェクト４２、ミドル・ウェア・レイヤ５０、及びアプリケーション・レイヤ５１に含まれる各ソフトウェア群の起動や終了を管理するソフトウェア群であり、サービス・マネージャ４９は、メモリカードに格納されたコネクションファイルに記述されている各オブジェクト間の接続情報に基づいて各オブジェクトの接続を管理するソフトウェア群である。
【０１０６】
ミドル・ウェア・レイヤ５０は、ロボティック・サーバ・オブジェクト４２の上位層に位置し、画像処理や音声処理などのこのロボット装置１の基本的な機能を提供するソフトウェア群から構成されている。また、アプリケーション・レイヤ５１は、ミドル・ウェア・レイヤ５０の上位層に位置し、当該ミドル・ウェア・レイヤ５０を構成する各ソフトウェア群によって処理された処理結果に基づいてロボット装置１の行動を決定するためのソフトウェア群から構成されている。
【０１０７】
なお、ミドル・ウェア・レイヤ５０及びアプリケーション・レイヤ５１の具体なソフトウェア構成をそれぞれ図８に示す。
【０１０８】
ミドル・ウェア・レイヤ５０は、図８に示すように、騒音検出用、温度検出用、明るさ検出用、音階認識用、距離検出用、姿勢検出用、タッチセンサ用、動き検出用及び色認識用の各信号処理モジュール６０〜６８並びに入力セマンティクスコンバータモジュール６９などを有する認識系７０と、出力セマンティクスコンバータモジュール７８並びに姿勢管理用、トラッキング用、モーション再生用、歩行用、転倒復帰用、ＬＥＤ点灯用及び音再生用の各信号処理モジュール７１〜７７などを有する出力系７９とから構成されている。
【０１０９】
認識系７０の各信号処理モジュール６０〜６８は、ロボティック・サーバ・オブジェクト４２のバーチャル・ロボット４３によりＤＲＡＭから読み出される各センサデータや画像データ及び音声データのうちの対応するデータを取り込み、当該データに基づいて所定の処理を施して、処理結果を入力セマンティクスコンバータモジュール６９に与える。ここで、例えば、バーチャル・ロボット４３は、所定の通信規約によって、信号の授受或いは変換をする部分として構成されている。
【０１１０】
入力セマンティクスコンバータモジュール６９は、これら各信号処理モジュール６０〜６８から与えられる処理結果に基づいて、「うるさい」、「暑い」、「明るい」、「ボールを検出した」、「転倒を検出した」、「撫でられた」、「叩かれた」、「ドミソの音階が聞こえた」、「動く物体を検出した」又は「障害物を検出した」などの自己及び周囲の状況や、使用者からの指令及び働きかけを認識し、認識結果をアプリケーション・レイヤ４１に出力する。
【０１１１】
アプリケーション・レイヤ５１は、図９に示すように、行動モデルライブラリ８０、行動切換モジュール８１、学習モジュール８２、感情モデル８３及び本能モデル８４の５つのモジュールから構成されている。
【０１１２】
行動モデルライブラリ８０には、図１０に示すように、「バッテリ残量が少なくなった場合」、「転倒復帰する」、「障害物を回避する場合」、「感情を表現する場合」、「ボールを検出した場合」などの予め選択されたいくつかの条件項目にそれぞれ対応させて、それぞれ独立した行動モデルが設けられている。
【０１１３】
そして、これら行動モデルは、それぞれ入力セマンティクスコンバータモジュール６９から認識結果が与えられたときや、最後の認識結果が与えられてから一定時間が経過したときなどに、必要に応じて後述のように感情モデル８３に保持されている対応する情動のパラメータ値や、本能モデル８４に保持されている対応する欲求のパラメータ値を参照しながら続く行動をそれぞれ決定し、決定結果を行動切換モジュール８１に出力する。
【０１１４】
なお、この実施の形態の場合、各行動モデルは、次の行動を決定する手法として、図１１に示すような１つのノード（状態）ＮＯＤＥ０〜ＮＯＤＥｎから他のどのノードＮＯＤＥ０〜ＮＯＤＥｎに遷移するかを各ノードＮＯＤＥ０〜ＮＯＤＥｎに間を接続するアークＡＲＣ１〜ＡＲＣｎ１に対してそれぞれ設定された遷移確率Ｐ１〜Ｐｎに基づいて確率的に決定する有限確率オートマトンと呼ばれるアルゴリズムを用いる。
【０１１５】
具体的に、各行動モデルは、それぞれ自己の行動モデルを形成するノードＮＯＤＥ０〜ＮＯＤＥｎにそれぞれ対応させて、これらノードＮＯＤＥ０〜ＮＯＤＥｎ毎に図１２に示すような状態遷移表９０を有している。
【０１１６】
この状態遷移表９０では、そのノードＮＯＤＥ０〜ＮＯＤＥｎにおいて遷移条件とする入力イベント（認識結果）が「入力イベント名」の列に優先順に列記され、その遷移条件についてのさらなる条件が「データ名」及び「データ範囲」の列における対応する行に記述されている。
【０１１７】
したがって、図１２の状態遷移表９０で表されるノードＮＯＤＥ１００では、「ボールを検出（ＢＡＬＬ）」という認識結果が与えられた場合に、当該認識結果とともに与えられるそのボールの「大きさ（SIZE）」が「0から1000」の範囲であることや、「障害物を検出（OBSTACLE）」という認識結果が与えられた場合に、当該認識結果とともに与えられるその障害物までの「距離（DISTANCE）」が「0から100」の範囲であることが他のノードに遷移するための条件となっている。
【０１１８】
また、このノードＮＯＤＥ１００では、認識結果の入力がない場合においても、行動モデルが周期的に参照する感情モデル８３及び本能モデル８４にそれぞれ保持された各情動及び各欲求のパラメータ値のうち、感情モデル８３に保持された「喜び（Joy）」、「驚き（Surprise）」又は「悲しみ（Sadness）」の何れかのパラメータ値が「50から100」の範囲であるときには他のノードに遷移することができるようになっている。
【０１１９】
また、状態遷移表９０では、「他のノードヘの遷移確率」の欄における「遷移先ノード」の行にそのノードＮＯＤＥ０〜ＮＯＤＥｎから遷移できるノード名が列記されているとともに、「入力イベント名」、「データ名」及び「データの範囲」の列に記述された全ての条件が揃ったときに遷移できる他の各ノードＮＯＤＥ０〜ＮＯＤＥｎへの遷移確率が「他のノードヘの遷移確率」の欄内の対応する箇所にそれぞれ記述され、そのノードＮＯＤＥ０〜ＮＯＤＥｎに遷移する際に出力すべき行動が「他のノードヘの遷移確率」の欄における「出力行動」の行に記述されている。なお、「他のノードヘの遷移確率」の欄における各行の確率の和は１００［％］となっている。
【０１２０】
したがって、図１２の状態遷移表９０で表されるノードＮＯＤＥ１００では、例えば「ボールを検出（ＢＡＬＬ）」し、そのボールの「ＳＩＺＥ（大きさ）」が「0から1000」の範囲であるという認識結果が与えられた場合には、「30［％］」の確率で「ノードＮＯＤＥ１２０（node 120）」に遷移でき、そのとき「ＡＣＴＩＯＮ１」の行動が出力されることとなる。
【０１２１】
各行動モデルは、それぞれこのような状態遷移表９０として記述されたノードＮＯＤＥ０〜 ＮＯＤＥｎが幾つも繋がるようにして構成されており、入力セマンティクスコンバータモジュール６９から認識結果が与えられたときなどに、対応するノードＮＯＤＥ０〜ＮＯＤＥｎの状態遷移表を利用して確率的に次の行動を決定し、決定結果を行動切換モジュール８１に出力するようになされている。
【０１２２】
図９に示す行動切換モジュール８１は、行動モデルライブラリ８０の各行動モデルからそれぞれ出力される行動のうち、予め定められた優先順位の高い行動モデルから出力された行動を選択し、当該行動を実行すべき旨のコマンド（以下、行動コマンドという。）をミドル・ウェア・レイヤ５０の出力セマンティクスコンバータモジュール７８に送出する。なお、この実施の形態においては、図１０において下側に表記された行動モデルほど優先順位が高く設定されている。
【０１２３】
また、行動切換モジュール８１は、行動完了後に出力セマンティクスコンバータモジュール７８から与えられる行動完了情報に基づいて、その行動が完了したことを学習モジュール８２、感情モデル８３及び本能モデル８４に通知する。
【０１２４】
一方、学習モジュール８２は、入力セマンティクスコンバータモジュール６９から与えられる認識結果のうち、「叩かれた」や「撫でられた」など、使用者からの働きかけとして受けた教示の認識結果を入力する。
【０１２５】
そして、学習モジュール８２は、この認識結果及び行動切換モジュール７１からの通知に基づいて、「叩かれた（叱られた）」ときにはその行動の発現確率を低下させ、「撫でられた（誉められた）」ときにはその行動の発現確率を上昇させるように、行動モデルライブラリ７０における対応する行動モデルの対応する遷移確率を変更する。
【０１２６】
他方、感情モデル８３は、「喜び（Joy）」、「悲しみ（Sadness）」、「怒り（Anger）」、「驚き（Surprise）」、「嫌悪（Disgust）」及び「恐れ（Fear）」の合計６つの情動について、各情動毎にその情動の強さを表すパラメータを保持している。そして、感情モデル８３は、これら各情動のパラメータ値を、それぞれ入力セマンティクスコンバータモジュール６９から与えられる「叩かれた」及び「撫でられた」などの特定の認識結果や、経過時間及び行動切換モジュール８１からの通知などに基づいて周期的に更新する。
【０１２７】
具体的には、感情モデル８３は、入力セマンティクスコンバータモジュール６９から与えられる認識結果と、そのときのロボット装置１の行動と、前回更新してからの経過時間となどに基づいて所定の演算式により算出されるそのときのその情動の変動量を△Ｅ［ｔ］、現在のその情動のパラメータ値をＥ［ｔ］、その情動の感度を表す係数をｋｅとして、（１）式によって次の周期におけるその情動のパラメータ値Ｅ［ｔ＋１］を算出し、これを現在のその情動のパラメータ値Ｅ［ｔ］と置き換えるようにしてその情動のパラメータ値を更新する。また、感情モデル８３は、これと同様にして全ての情動のパラメータ値を更新する。
【０１２８】
【数１】
0004150198.tif 000013
【０１２９】
なお、各認識結果や出力セマンティクスコンバータモジュール７８からの通知が各情動のパラメータ値の変動量△Ｅ［ｔ］にどの程度の影響を与えるかは予め決められており、例えば「叩かれた」といった認識結果は「怒り」の情動のパラメータ値の変動量△Ｅ［ｔ］に大きな影響を与え、「撫でられた」といった認識結果は「喜び」の情動のパラメータ値の変動量△Ｅ［ｔ］に大きな影響を与えるようになっている。
【０１３０】
ここで、出力セマンティクスコンバータモジュール７８からの通知とは、いわゆる行動のフィードバック情報（行動完了情報）であり、行動の出現結果の情報であり、感情モデル８３は、このような情報によっても感情を変化させる。これは、例えば、「叫ぶ」といった行動により怒りの感情レベルが下がるといったようなことである。なお、出力セマンティクスコンバータモジュール７８からの通知は、上述した学習モジュール８２にも入力されており、学習モジュール８２は、その通知に基づいて行動モデルの対応する遷移確率を変更する。
【０１３１】
なお、行動結果のフィードバックは、行動切換モジュール８１の出力（感情が付加された行動）によりなされるものであってもよい。
【０１３２】
一方、本能モデル８４は、「運動欲（exercise）」、「愛情欲（affection）」、「食欲（appetite）」及び「好奇心（curiosity）」の互いに独立した４つの欲求について、これら欲求毎にその欲求の強さを表すパラメータを保持している。そして、本能モデル８４は、これらの欲求のパラメータ値を、それぞれ入力セマンティクスコンバータモジュール６９から与えられる認識結果や、経過時間及び行動切換モジュール８１からの通知などに基づいて周期的に更新する。
【０１３３】
具体的には、本能モデル８４は、「運動欲」、「愛情欲」及び「好奇心」については、認識結果、経過時間及び出力セマンティクスコンバータモジュール７８からの通知などに基づいて所定の演算式により算出されるそのときのその欲求の変動量をΔＩ［ｋ］、現在のその欲求のパラメータ値をＩ［ｋ］、その欲求の感度を表す係数ｋｉとして、所定周期で（２）式を用いて次の周期におけるその欲求のパラメータ値Ｉ［ｋ＋１］を算出し、この演算結果を現在のその欲求のパラメータ値Ｉ［ｋ］と置き換えるようにしてその欲求のパラメータ値を更新する。また、本能モデル８４は、これと同様にして「食欲」を除く各欲求のパラメータ値を更新する。
【０１３４】
【数２】
0004150198.tif 000014
【０１３５】
なお、認識結果及び出力セマンティクスコンバータモジュール７８からの通知などが各欲求のパラメータ値の変動量△Ｉ［ｋ］にどの程度の影響を与えるかは予め決められており、例えば出力セマンティクスコンバータモジュール７８からの通知は、「疲れ」のパラメータ値の変動量△Ｉ［ｋ］に大きな影響を与えるようになっている。
【０１３６】
なお、本実施の形態においては、各情動及び各欲求（本能）のパラメータ値がそれぞれ０から１００までの範囲で変動するように規制されており、また係数ｋｅ、ｋｉの値も各情動及び各欲求毎に個別に設定されている。
【０１３７】
一方、ミドル・ウェア・レイヤ５０の出力セマンティクスコンバータモジュール７８は、図８に示すように、上述のようにしてアプリケーション・レイヤ５１の行動切換モジュール８１から与えられる「前進」、「喜ぶ」、「話す」又は「トラッキング（ボールを追いかける）」といった抽象的な行動コマンドを出力系７９の対応する信号処理モジュール７１〜７７に与える。
【０１３８】
そしてこれら信号処理モジュール７１〜７７は、行動コマンドが与えられると当該行動コマンドに基づいて、その行動をするために対応するアクチュエータに与えるべきサーボ指令値や、スピーカから出力する音の音声データ及び又はＬＥＤに与える駆動データを生成し、これらのデータをロボティック・サーバ・オブジェクト４２のバーチャル・ロボット４３及び信号処理回路を順次介して対応するアクチュエータ又はスピーカ又はＬＥＤに順次送出する。
【０１３９】
このようにしてロボット装置１は、上述した制御プログラムに基づいて、自己（内部）及び周囲（外部）の状況や、使用者からの指示及び働きかけに応じた自律的な行動ができる。
【０１４０】
このような制御プログラムは、ロボット装置が読取可能な形式で記録された記録媒体を介して提供される。制御プログラムを記録する記録媒体としては、磁気読取方式の記録媒体（例えば、磁気テープ、フレキシブルディスク、磁気カード）、光学読取方式の記録媒体（例えば、ＣＤ−ＲＯＭ、ＭＯ、ＣＤ−Ｒ、ＤＶＤ）等が考えられる。記録媒体には、半導体メモリ（いわゆるメモリカード（矩形型、正方形型など形状は問わない。）、ＩＣカード）等の記憶媒体も含まれる。また、制御プログラムは、いわゆるインターネット等を介して提供されてもよい。
【０１４１】
これらの制御プログラムは、専用の読込ドライバ装置、又はパーソナルコンピュータ等を介して再生され、有線又は無線接続によってロボット装置１に伝送されて読み込まれる。また、ロボット装置１は、半導体メモリ、又はＩＣカード等の小型化された記憶媒体のドライブ装置を備える場合、これら記憶媒体から制御プログラムを直接読み込むこともできる。
【０１４２】
以上のように構成されたロボット装置１において、上述した音声合成のアルゴリズムは、図８中の音再生モジュール７７として実装される。音再生モジュール７７では、上位の部分（例えば、行動モデル）にて決定された音出力コマンド（例えば、「喜びで発話せよ」又は「歌を歌え」など）を受け、実際の音声波形データを生成し、順にバーチャルロボット４３のスピーカデバイスに対してデータを送信する。これによりロボット装置１は、図６に示すスピーカ２７を介して、実際の人間のように感情表現がなされた発話文や歌声を発することができ、エンターテインメント性が向上すると共に、人間との親密性が高められる。
【０１４３】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【０１４４】
例えば、上述の実施の形態では、歌声データがテキスト中の歌声タグによって指定されており、この歌声データがタグ処理部で分離されるものとして説明したが、これに限定されるものではなく、単に歌声を表す所定の書式の歌声データを入力し、この歌声データから作成された歌声韻律データに基づいて音声を合成するようにしても構わない。これにより、より人間の声に近い自然な音声によって歌声を合成することが可能となる。
【０１４５】
【発明の効果】
以上詳細に説明したように、本発明に係る音声合成方法及び装置によれば、入力されたテキストから歌声タグによって指定された歌声データ部分とそれ以外のテキスト部分とを分離し、上記歌声データについては歌声韻律データを作成し、上記テキスト部分については、解析した結果、当該テキスト部分に所定の単語又は文が存在する場合に、予め人間の発声から抽出された上記所定の単語又は文に対応する自然韻律データを記憶手段から選択し、上記所定の単語又は文以外の上記テキスト部分については音声記号列を作成すると共に当該音声記号列から韻律データを作成し、上記歌声韻律データ、上記自然韻律データ又は上記韻律データに基づいて音声を合成することにより、より人間の声に近い自然な音声によって文章や歌声を合成することが可能となる。
【０１４７】
また、本発明に係るプログラムは、上述したような音声合成処理をコンピュータに実行させるものであり、本発明に係る記録媒体は、このプログラムが記録されたコンピュータ読み取り可能なものである。
【０１４８】
このようなプログラム及び記録媒体によれば、入力されたテキストから歌声タグによって指定された歌声データ部分とそれ以外のテキスト部分とを分離し、上記歌声データについては歌声韻律データを作成し、上記テキスト部分については、解析した結果、当該テキスト部分に所定の単語又は文が存在する場合に、予め人間の発声から抽出された上記所定の単語又は文に対応する自然韻律データを記憶手段から選択し、上記所定の単語又は文以外の上記テキスト部分については音声記号列を作成すると共に当該音声記号列から韻律データを作成し、上記歌声韻律データ、上記自然韻律データ又は上記韻律データに基づいて音声を合成することにより、より人間の声に近い自然な音声によって文章や歌声を合成することが可能となる。
【０１４９】
また、本発明に係るロボット装置によれば、供給された入力情報に基づいて動作を行う自律型のロボット装置であって、入力されたテキストから歌声タグによって指定された歌声データ部分とそれ以外のテキスト部分とを分離する分離手段と、上記歌声データから歌声韻律データを作成する歌声韻律データ作成手段と、上記テキスト部分を解析し、当該テキスト部分に所定の単語又は文が存在する場合に、予め人間の発声から抽出された上記所定の単語又は文に対応する自然韻律データを記憶手段から選択する自然韻律データ選択手段と、上記所定の単語又は文以外の上記テキスト部分について音声記号列を作成する音声記号列作成手段と、上記音声記号列から韻律データを作成する韻律データ作成手段と、上記歌声韻律データ、上記自然韻律データ又は上記韻律データに基づいて音声を合成する音声合成手段とを備えることにより、より人間の声に近い自然な音声によって文章や歌声を合成することが可能となり、ロボット装置のエンターテインメント性が向上すると共に、人間との親密性が高められる。
【図面の簡単な説明】
【図１】本実施の形態における音声合成装置の概略構成を説明する図である。
【図２】同音声合成装置の動作を説明するフローチャートである。
【図３】同音声合成装置における自然韻律辞書の構成例を説明する図である。
【図４】本実施の形態におけるロボット装置の外観構成を示す斜視図である。
【図５】同ロボット装置の自由度構成モデルを模式的に示す図である。
【図６】同ロボット装置の回路構成を示すブロック図である。
【図７】同ロボット装置のソフトウェア構成を示すブロック図である。
【図８】同ロボット装置のソフトウェア構成におけるミドル・ウェア・レイヤの構成を示すブロック図である。
【図９】同ロボット装置のソフトウェア構成におけるアプリケーション・レイヤの構成を示すブロック図である。
【図１０】アプリケーション・レイヤの行動モデルライブラリの構成を示すブロック図である。
【図１１】同ロボット装置の行動決定のための情報となる有限確率オートマトンを説明する図である。
【図１２】有限確率オートマトンの各ノードに用意された状態遷移表を示す図である。
【符号の説明】
１  ロボット装置、１０  ＣＰＵ、１４  信号処理回路、２７  スピーカ、８０  行動モデル、８３  感情モデル、２００  音声合成装置、２１０  言語処理部、２１１  タグ処理部、２１２  歌声合成部、２１３  言語解析部、２１４  自然韻律辞書記憶部、２１５  音声記号生成部、２２０  音声合成部、２２１  韻律生成部、２２２  韻律データ調整部、２２３  音素片記憶部、２２４  波形生成部
【図１】
0004150198.tif 000015
【図２】
0004150198.tif 000016
【図３】
0004150198.tif 000017
【図４】
0004150198.tif 000018
【図５】
0004150198.tif 000019
【図６】
0004150198.tif 000020
【図７】
0004150198.tif 000021
【図８】
0004150198.tif 000022
【図９】
0004150198.tif 000023
【図１０】
0004150198.tif 000024
【図１１】
0004150198.tif 000025
【図１２】
0004150198.tif 000026