(57)【特許請求の範囲】
【請求項１】
第１の音階から構成される第１の旋律データを記憶する記憶手段と、
入力された音声のピッチ周波数を抽出する抽出手段と、
前記抽出手段により抽出された前記ピッチ周波数に基づいて第２の音階を選択する選択手段と、
前記記憶手段により記憶されている前記第１の旋律データを構成する前記第１の音階を、前記選択手段により選択された前記第２の音階に変換して第２の旋律データを生成する生成手段と、
前記生成手段により生成された前記第２の旋律データを再生する再生手段と
を備えることを特徴とするロボット装置。
【請求項２】
前記抽出手段は、所定のキーワードを表わす前記音声のピッチ周波数を抽出する
ことを特徴とする請求項１に記載のロボット装置。
【請求項３】
前記抽出手段は、母音を含む前記音声のピッチ周波数を抽出する
ことを特徴とする請求項１に記載のロボット装置。
【請求項４】
前記抽出手段は、前記音声の所定の期間に検出されたピッチ周波数の平均値を前記ピッチ周波数として抽出する
ことを特徴とする請求項１に記載のロボット装置。
【請求項５】
前記生成手段は、前記第２の音階を、所定の数のオクターブだけさらに遷移させて前記第２の旋律データを生成する
ことを特徴とする請求項１に記載のロボット装置。
【請求項６】
第１の音階から構成される第１の旋律データの記憶を制御する記憶制御ステップと、
入力された音声のピッチ周波数を抽出する抽出ステップと、
前記抽出ステップの処理により抽出された前記ピッチ周波数に基づいて第２の音階を選択する選択ステップと、
前記記憶制御ステップの処理により記憶されている前記第１の旋律データを構成する前記第１の音階を、前記選択ステップの処理により選択された前記第２の音階に変換して第２の旋律データを生成する生成ステップと、
前記生成ステップの処理により生成された前記第２の旋律データの再生を制御する再生制御ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項７】
第１の音階から構成される第１の旋律データの記憶を制御する記憶制御ステップと、
入力された音声のピッチ周波数を抽出する抽出ステップと、
前記抽出ステップの処理により抽出された前記ピッチ周波数に基づいて第２の音階を選択する選択ステップと、
前記記憶制御ステップの処理により記憶されている前記第１の旋律データを構成する前記第１の音階を、前記選択ステップの処理により選択された前記第２の音階に変換して第２の旋律データを生成する生成ステップと、
前記生成ステップの処理により生成された前記第２の旋律データの再生を制御する再生制御ステップと
をコンピュータに実行させるプログラム。
【請求項８】
第１の音階から構成される第１の旋律データを記憶する記憶手段と、
自らの内部状態を管理する管理手段と、
前記管理手段により管理される前記内部状態が変化したとき、前記内部状態の変化に対応する第２の音階を選択する選択手段と、
前記記憶手段により記憶されている前記第１の旋律データを構成する前記第１の音階を、前記選択手段により選択された前記第２の音階に変換して第２の旋律データを生成する生成手段と、
前記生成手段により生成された前記第２の旋律データを再生する再生手段と
を備えることを特徴とするロボット装置。
【請求項９】
前記生成手段は、前記第２の音階を、所定の数のオクターブだけさらに遷移させて前記第２の旋律データを生成する
ことを特徴とする請求項８に記載のロボット装置。
【請求項１０】
第１の音階から構成される第１の旋律データの記憶を制御する記憶制御ステップと、
自らの内部状態を管理する管理ステップと、
前記管理ステップの処理により管理される前記内部状態が変化したとき、前記内部状態の変化に対応する第２の音階を選択する選択ステップと、
前記記憶制御ステップの処理により記憶されている前記第１の旋律データを構成する前記第１の音階を、前記選択ステップの処理により選択された前記第２の音階に変換して第２の旋律データを生成する生成ステップと、
前記生成ステップの処理により生成された前記第２の旋律データの再生を制御する再生制御ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項１１】
第１の音階から構成される第１の旋律データの記憶を制御する記憶制御ステップと、
自らの内部状態を管理する管理ステップと、
前記管理ステップの処理により管理される前記内部状態が変化したとき、前記内部状態の変化に対応する第２の音階を選択する選択ステップと、
前記記憶制御ステップの処理により記憶されている前記第１の旋律データを構成する前記第１の音階を、前記選択ステップの処理により選択された前記第２の音階に変換して第２の旋律データを生成する生成ステップと、
前記生成ステップの処理により生成された前記第２の旋律データの再生を制御する再生制御ステップと
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ロボット装置、記録媒体、並びにプログラムに関し、特に、ユーザからの発話に応じて、より好適な応答を行うことができるようにするロボット装置、記録媒体、並びにプログラムに関する。
【０００２】
【従来の技術】
近年、例えば、周囲の環境や、自らの内部状態に応じて自律的に各種の行動をとる、エンターテイメント用のペットロボットが実現されている。
【０００３】
そして、このようなペットロボットは、例えば、使用者から話しかけられたときに、それに応答する音を出したり、使用者から頭を叩かれたときに怒っていることを表わす音を出すようになされている。また、ユーザがあまり遊んでくれずに、その内部状態が「さみしい」という感情になったとき、「さみしい」ことを表わす（遊んで欲しいことを知らせる）音を出すようになされている。
【０００４】
【発明が解決しようとする課題】
しかしながら、このようにペットロボットから出力される音のデータは、ペットロボットに予め用意されているものであるため、内蔵されている記憶容量などの観点から、その種類が制限されてしまうという課題があった。すなわち、出力される音がパターン化されてしまうことになる。
【０００５】
従って、しばらくの間その行動を観察すれば、ユーザは、次に、ペットロボットから発せられる音を容易に予測できるようになってしまい、ペットロボットとのコミュニケーションが面白みの欠けたものとなってしまう。
【０００６】
本発明はこのような状況に鑑みてなされたものであり、ユーザからの呼びかけに応じて、より好適な応答を行うことができるようにしたものである。
【０００７】
【課題を解決するための手段】
本発明の第１のロボット装置は、第１の音階から構成される第１の旋律データを記憶する記憶手段と、入力された音声のピッチ周波数を抽出する抽出手段と、抽出手段により抽出されたピッチ周波数に基づいて第２の音階を選択する選択手段と、記憶手段により記憶されている第１の旋律データを構成する第１の音階を、選択手段により選択された第２の音階に変換して第２の旋律データを生成する生成手段と、生成手段により生成された第２の旋律データを再生する再生手段とを備えることを特徴とする。
【０００８】
抽出手段は、所定のキーワードを表わす音声のピッチ周波数を抽出するようにすることができる。
【０００９】
抽出手段は、母音を含む音声のピッチ周波数を抽出するようにすることができる。
【００１０】
抽出手段は、音声の所定の期間に検出されたピッチ周波数の平均値をピッチ周波数として抽出するようにすることができる。
【００１１】
生成手段は、第２の音階を、所定の数のオクターブだけ遷移させて第２の旋律データを生成するようにすることができる。
【００１３】
本発明の第１の記録媒体のプログラムは、第１の音階から構成される第１の旋律データの記憶を制御する記憶制御ステップと、入力された音声のピッチ周波数の抽出を制御する抽出ステップと、抽出ステップの処理により抽出されたピッチ周波数に基づいて第２の音階を選択する選択ステップと、記憶制御ステップの処理により記憶されている第１の旋律データを構成する第１の音階を、選択ステップの処理により選択された第２の音階に変換して第２の旋律データを生成する生成ステップと、生成ステップの処理により生成された第２の旋律データの再生を制御する再生制御ステップとを含むことを特徴とする。
【００１４】
本発明の第１のプログラムは、第１の音階から構成される第１の旋律データの記憶を制御する記憶制御ステップと、入力された音声のピッチ周波数の抽出を制御する抽出ステップと、抽出ステップの処理により抽出されたピッチ周波数に基づいて第２の音階を選択する選択ステップと、記憶制御ステップの処理により記憶されている第１の旋律データを構成する第１の音階を、選択ステップの処理により選択された第２の音階に変換して第２の旋律データを生成する生成ステップと、生成ステップの処理により生成された第２の旋律データの再生を制御する再生制御ステップとを含むことを特徴とする。
【００１５】
本発明の第２のロボット装置は、第１の音階から構成される第１の旋律データを記憶する記憶手段と、自らの内部状態を管理する管理手段と、管理手段により管理される内部状態が変化したとき、内部状態の変化に対応する第２の音階を選択する選択手段と、記憶手段により記憶されている第１の旋律データを構成する第１の音階を、選択手段により選択された第２の音階に変換して第２の旋律データを生成する生成手段と、生成手段により生成された第２の旋律データを再生する再生手段とを備えることを特徴とする。
【００１６】
生成手段は、第２の音階を、所定の数のオクターブだけ遷移させて第２の旋律データを生成するようにすることができる。
【００１８】
本発明の第２の記録媒体のプログラムは、第１の音階から構成される第１の旋律データの記憶を制御する記憶制御ステップと、自らの内部状態を管理する管理ステップと、管理ステップの処理により管理される内部状態が変化したとき、内部状態の変化に対応する第２の音階を選択する選択ステップと、記憶制御ステップの処理により記憶されている第１の旋律データを構成する第１の音階を、選択ステップの処理により選択された第２の音階に変換して第２の旋律データを生成する生成ステップと、生成ステップの処理により生成された第２の旋律データの再生を制御する再生制御ステップとを含むことを特徴とする。
【００１９】
本発明の第２のプログラムは、第１の音階から構成される第１の旋律データの記憶を制御する記憶制御ステップと、自らの内部状態を管理する管理ステップと、管理ステップの処理により管理される内部状態が変化したとき、内部状態の変化に対応する第２の音階を選択する選択ステップと、記憶制御ステップの処理により記憶されている第１の旋律データを構成する第１の音階を、選択ステップの処理により選択された第２の音階に変換して第２の旋律データを生成する生成ステップと、生成ステップの処理により生成された第２の旋律データの再生を制御する再生制御ステップとを含むことを特徴とする。
【００２０】
本発明の第１のロボット装置、並びにプログラムにおいては、第１の音階から構成される第１の旋律データが記憶され、入力された音声のピッチ周波数が抽出され、抽出されたピッチ周波数に基づいて第２の音階が選択される。また、記憶されている第１の旋律データを構成する第１の音階が、選択された第２の音階に変換されて第２の旋律データが生成され、第２の旋律データが再生される。
【００２１】
本発明の第２のロボット装置、並びにプログラムにおいては、第１の音階から構成される第１の旋律データが記憶され、自らの内部状態が管理され、管理される内部状態が変化したとき、内部状態の変化に対応する第２の音階が選択される。また、記憶されている第１の旋律データを構成する第１の音階が、選択された第２の音階に変換されて第２の旋律データが生成され、生成された第２の旋律データが再生される。
【００２２】
【発明の実施の形態】
図１は、本発明を適用したペットロボット１の外観構成の例を示す斜視図である。
【００２３】
図に示すように、例えば、ペットロボット１は、四つ足の犬形状のものとされており、胴体部ユニット２の前後左右に、それぞれ脚部ユニット３Ａ，３Ｂ，３Ｃ，３Ｄが連結されるとともに、胴体部ユニット２の前端部と後端部に、それぞれ頭部ユニット４と尻尾部ユニット５が連結されている。
【００２４】
尻尾部ユニット５は、胴体部ユニット２の上面に設けられたベース部５Ｂから、２自由度をもって、湾曲または揺動自在に引き出されている。
【００２５】
このような外観構成を有するペットロボット１には、後に詳述するように、例えば、ユーザから「おはよう」などと呼びかけられた場合に、それに応答するための旋律（メロディ）データが用意されている。そして、ペットロボット１は、ユーザからの音声を分析し、その分析結果に基づいて、用意されている旋律データを変換し、変換後に得られた旋律データを再生する。すなわち、ユーザ毎、或いはその発話毎に旋律データが変換されて、出力されることになる。
【００２６】
従って、１種類の旋律データであっても、毎回、ユーザからの発話に応じた旋律データに変換されるため、ユーザの歌いかけに対応した音が、ペットロボット１から出力されることになる。これにより、ペットロボット１との相互理解度が深まり、コミュニケーションに飽きてしまうといったことを抑制することができ、より好適なコミュニケーションを図ることができる。
【００２７】
図２は、図１のペットロボット１の内部構成の例を示すブロック図である。
【００２８】
胴体部ユニット２には、ペットロボット１の全体を制御するコントローラ１０が格納されている。このコントローラ１０には、基本的に、CPU(Central Processing Unit)１０Ａ、およびCPU１０Ａが各部を制御するためのプログラムが記憶されているメモリ１０Ｂが設けられている。
【００２９】
また、胴体部ユニット２には、コントローラ１０の他、例えば、ペットロボット１の動力源となるバッテリ（図示せず）等も格納されている。
【００３０】
図２に示すように、頭部ユニット４には、外部からの刺激を感知するセンサとしての、音を感知する「耳」に相当するマイクロフォン１１、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)イメージセンサなどから構成され、光を感知する「目」に相当するカメラ１２、およびユーザがふれることによる圧力等を感知する触覚に相当するタッチセンサ１３が、それぞれ所定の位置に設けられている。また、頭部ユニット４には、ペットロボット１の「口」に相当するスピーカ１４が、所定の位置に設置されている。
【００３１】
脚部ユニット３Ａ乃至３Ｄのそれぞれの関節部分、脚部ユニット３Ａ乃至３Ｄのそれぞれと胴体部ユニット２の連結部分、頭部ユニット４と胴体部ユニット２の連結部分、並びに尻尾部ユニット５と胴体部ユニット２の連結部分などには、アクチュエータが設置されている。アクチュエータは、コントローラ１０からの指示に基づいて各部を動作させる。
【００３２】
図２の例においては、脚部ユニット３Ａには、アクチュエータ３ＡＡ1乃至３ＡＡkが設けられ、脚部ユニット３Ｂには、アクチュエータ３ＢＡ1乃至３ＢＡkが設けられている。また、脚部ユニット３Ｃには、アクチュエータ３ＣＡ1乃至３ＣＡkが設けられ、脚部ユニット３Ｄには、アクチュエータ３ＤＡ1乃至３ＤＡkが設けられている。さらに、頭部ユニット４には、アクチュエータ４Ａ1乃至４ＡLが設けられており、尻尾部ユニット５には、アクチュエータ５Ａ1および５Ａ2がそれぞれ設けられている。
【００３３】
頭部ユニット４に設置されるマイクロフォン１１は、ユーザからの発話を含む周囲の音声（音）を集音し、得られた音声信号をコントローラ１０に出力する。カメラ１２は、周囲の状況を撮像し、得られた画像信号を、コントローラ１０に出力する。タッチセンサ１３は、例えば、頭部ユニット４の上部に設けられており、ユーザからの「撫でる」や「叩く」といった物理的な働きかけにより受けた圧力を検出し、その検出結果を圧力検出信号としてコントローラ１０に出力する。
【００３４】
コントローラ１０は、マイクロフォン１１、カメラ１２、およびタッチセンサ１３から与えられる音声信号、画像信号、圧力検出信号に基づいて、周囲の状況や、ユーザからの指令、ユーザからの働きかけなどの有無を判断し、その判断結果に基づいて、ペットロボット１が次にとる行動を決定する。そして、コントローラ１０は、その決定に基づいて、必要なアクチュエータを駆動させ、これにより、頭部ユニット４を上下左右に振らせたり、尻尾部ユニット５を動かせたり、脚部ユニット３Ａ乃至３Ｄのそれぞれを駆動して、ペットロボット１を歩行させるなどの行動をとらせる。
【００３５】
その他にも、コントローラ１０は、ペットロボット１の「目」の位置に設けられたLED(Light Emitting Diode)４１（図３参照）を点灯、消灯または点滅させるなどの処理を行う。
【００３６】
図３は、図２のコントローラ１０の機能的構成例を示すブロック図である。なお、図３に示す各機能は、メモリ１０Bに記憶されている制御プログラムをCPU１０Aが実行することで実現される。
【００３７】
マイクロフォン１１からの音声信号は、AD(Analog Digital)変換部２１に供給される。AD変換部２１は、マイクロフォン１１から供給されてきた音声信号をサンプリング、および量子化し、音声データに変換する。AD変換部２１により取得された音声データは、音声特徴量分析部２２、および音声ピッチ分析部２８に供給される。
【００３８】
音声特徴量分析部２２は、入力される音声データについて、適当なフレーム毎に、例えば、MFCC(Mel Frequency Cepstrum Coefficient)分析を行い、その分析結果を、特徴パラメータ（特徴ベクトル）として、音声区間検出部２３に出力する。なお、音声特徴量分析部２２では、その他、例えば、線形予測係数、ケプストラム係数、線スペクトル対、所定の周波数帯域ごとのパワー（フィルタバンクの出力）等を、特徴パラメータとして抽出することが可能である。
【００３９】
音声区間検出部２３は、音声特徴量分析部２２から供給される特徴パラメータに基づいて、例えば、所定の閾値以上の値をとるパワーが所定の期間継続して検出されたか否かに基づいて音声区間を検出する。そして、音声区間検出部２３は、検出した音声区間情報を、音声特徴量分析部２２から供給されてきた特徴パラメータとともに音声認識部２４に出力する。また、音声区間検出部２３により検出された音声区間情報は、音声ピッチ分析部２８にも供給されている。
【００４０】
音声認識部２４は、音声認識する音声の言語における個々の音素や音節などの音響的な特徴を表す音響モデル、認識対象の各単語について、その発音に関する情報（音韻情報）が記述された単語辞書、および、単語辞書に登録されている各単語が、どのように連鎖する（つながる）のかを記述した文法規則を記憶している。ここで、文法規則としては、例えば、文脈自由文法（CFG）や、統計的な単語連鎖確率（N-gram）などに基づく規則を用いることができる。
【００４１】
そして、音声認識部２４は、音声特徴量分析部２２からの特徴パラメータを用いて、そのような音響モデル、単語辞書、および文法規則を必要に応じて参照しながら、マイクロフォン１１に入力された音声を、例えば、連続分布HMM(Hidden Markov Model)法に基づいて音声認識する。
【００４２】
具体的には、音声認識部２４は、単語辞書を参照し、音響モデルを接続することで、単語の音響モデル（単語モデル）を構成する。また、音声認識部２４は、幾つかの単語モデルを、文法規則を参照することにより接続し、そのようにして接続された単語モデルと特徴パラメータに基づき、連続分布HMM法によって、マイクロフォン１１に入力された音声を認識する。即ち、音声認識部２４は、音声特徴量分析部２２（音声区間検出部２３）が出力する時系列の特徴パラメータが観測されるスコア（尤度）が最も高い単語モデルの系列を検出し、その単語モデルの系列に対応する単語列を、音声の認識結果として出力する。
【００４３】
つまり、音声認識部２４は、接続された単語モデルに対応する単語列について、音声特徴量分析部２２からの特徴パラメータの出現確率を累積し、その累積値をスコアとして、そのスコアを最も高くする単語列を、音声認識結果として出力する。
【００４４】
例えば、音声認識部２４は、「歩け」、「伏せ」、「ボールを追いかけろ」等の指令その他を、音声認識情報として、本能・感情管理部２６、行動管理部２７に通知する。また、音声認識部２４は、所定のキーワードを認識したとき、それを旋律生成部３２等に通知する。
【００４５】
カメラ１２により撮像された画像信号、およびタッチセンサ１３により検出された圧力検出信号は、センサデータ処理部２５に出力される。センサデータ処理部２５には、カメラ１２から供給されてきた画像信号に基づいて画像認識を行う画像認識部、およびタッチセンサ１３から供給されてきた圧力検出信号を処理するタッチセンサ入力処理部（いずれも図示せず）が設けられている。
【００４６】
この画像認識部は、カメラ１２から与えられる画像信号を用いて、画像認識を行い、その処理の結果、例えば、「赤い丸いもの」や、「地面に対して垂直な、かつ、所定の高さ以上の平面」等を検出したときには、「ボールがある」や、「壁がある」等の画像認識結果を画像認識情報として、本能・感情管理部２６、および行動管理部２７に出力する。
【００４７】
タッチセンサ入力処理部は、タッチセンサ１３から与えられる圧力検出信号を処理し、その処理の結果、所定の閾値以上で、かつ、短時間の圧力を検出したときには、「叩かれた（しかられた）」と認識し、所定の閾値未満で、かつ、長時間の圧力を検出したときには、「なでられた（ほめられた）」と認識して、その認識結果を、状態認識情報として、本能・感情管理部２６、および行動管理部２７に出力する。
【００４８】
本能・感情管理部２６は、ペットロボット１の本能、または感情を表わすパラメータを管理し、本能の状態、または感情の状態を所定のタイミングで行動管理部２７に出力する。
【００４９】
図４は、図３の本能・感情管理部２６の機能構成例を模式的に示す図であり、図４に示すように、本能・感情管理部２６は、ペットロボット１の感情を表現する感情モデル５１と、本能を表現する本能モデル５２を記憶し、管理している。
【００５０】
感情モデル５１は、例えば、「うれしさ」、「悲しさ」、「怒り」、「驚き」、「恐れ」、「嫌悪」等の感情の状態（度合い）を、所定の範囲（例えば、０乃至１００等）の感情パラメータによってそれぞれ表し、音声認識部２４、およびセンサデータ処理部２５からの出力や時間経過等に基づいて、その値を変化させる。
【００５１】
この例においては、感情モデル５１は、「うれしさ」を表わす感情ユニット５１Ａ、「悲しさ」を表わす感情ユニット５１Ｂ、「怒り」を表わす感情ユニット５１Ｃ、「驚き」を表わす感情ユニット５１Ｄ、「恐れ」を表わす感情ユニット５１Ｅ、および、「嫌悪」を表わす感情ユニット５１Ｆから構成されている。
【００５２】
本能モデル５２は、例えば、「食欲」、「睡眠欲」、「運動欲」等の本能による欲求の状態（度合い）を、所定の範囲の本能パラメータによってそれぞれ表し、音声認識部２４、およびセンサデータ処理部２５からの出力や時間経過等に基づいて、その値を変化させる。また、本能モデル５２は、行動履歴に基づいて「運動欲」を表わすパラメータを高めたり、或いは、バッテリー残量に基づいて「食欲」を表わすパラメータを高めたりする。
【００５３】
この例においては、本能モデル５２は、「運動欲」を表わす本能ユニット５２Ａ、「愛情欲」を表わす本能ユニット５２Ｂ、「食欲」を表わす本能ユニット５２Ｃ、「好奇心」を表わす本能ユニット５２Ｄ、および「睡眠欲」を表わす本能ユニット５２Ｅから構成されている。
【００５４】
本能・感情管理部２６は、このような感情ユニット５１Ａ乃至５１Ｆと本能ユニット５２Ａ乃至５２Ｅのパラメータを変化させることにより、ペットロボット１の感情と本能の状態を表現し、その変化をモデル化している。
【００５５】
また、感情ユニット５１Ａ乃至５１Ｆと本能ユニット５２Ａ乃至５２Ｅのパラメータは、外部からの入力だけでなく、図の矢印で示すように、それぞれのユニット同士が相互に影響しあうことによっても変化される。
【００５６】
例えば、「うれしさ」を表現する感情ユニット５１Ａと「悲しさ」を表現する感情ユニット５１Ｂが相互抑制的に結合することにより、本能・感情管理部２６は、ユーザにほめてもらったときには「うれしさ」を表現する感情ユニット５１Ａのパラメータを大きくするとともに、「悲しさ」を表現する感情ユニット５１Ｂのパラメータを小さくするなどして、表現する感情を変化させる。
【００５７】
また、感情モデル５１を構成する各ユニット同士、および本能モデル５２を構成する各ユニット同士だけでなく、双方のモデルを超えて、それぞれのユニットのパラメータが変化される。
【００５８】
例えば、図に示すように、本能モデル５２の「愛情欲」を表わす本能ユニット５２Ｂや、「食欲」を表わす本能ユニット５２Ｃのパラメータの変化に応じて、感情モデル５１の「悲しさ」を表現する感情ユニット５１Ｂや「怒り」を表現する感情ユニット５１Ｃのパラメータが変化される。
【００５９】
具体的には、「食欲」を表わす本能ユニット５２Ｃのパラメータが大きくなったとき、感情モデル５１の「悲しさ」を表現する感情ユニット５１Ｂや、「怒り」を表現する感情ユニット５１Ｃのパラメータが大きくなる。
【００６０】
なお、より詳細には、感情モデル５１や本能モデル５２だけでなく、成長モデルが本能・感情管理部２６に用意され、その成長段階によって、感情モデル５１や本能モデル５２の各ユニットのパラメータが変化される。この成長モデルは、例えば、「幼年期」、「青年期」、「熟年期」、「老年期」等の成長の状態（度合い）を、所定の範囲の値によってそれぞれ表し、音声認識部２４、およびセンサデータ処理部２５からの出力や時間経過等に基づいて、その値を変化させる。
【００６１】
本能・感情管理部２６は、感情モデル、本能モデル等のパラメータで表される感情、本能等の状態を、内部情報として行動管理部２７に出力する。
【００６２】
なお、本能・感情管理部２６には、音声認識部２４、およびセンサデータ処理部２５から認識情報が供給される他に、行動管理部２７から、ペットロボット１の現在、または過去の行動、具体的には、例えば、「長時間歩いた」などの行動の内容を示す行動情報が供給されるようになされている。そして、本能・感情管理部２６は、同一の認識情報等が与えられた場合であっても、行動情報により示されるペットロボット１の行動に応じて、異なる内部情報を生成する。
【００６３】
例えば、ペットロボット１がユーザに挨拶をし、ユーザに頭を撫でられた場合には、ユーザに挨拶をしたという行動情報と、頭を撫でられたという認識情報が本能・感情管理部２６に供給される。このとき、本能・感情管理部２６においては、「うれしさ」を表す感情ユニット５１Ａの値が増加される。
【００６４】
図３の説明に戻り、行動管理部２７は、音声認識部２４、およびセンサデータ処理部２５から供給されてきた情報と、本能・感情管理部２６から供給されてきた内部情報、および時間経過等に基づいて次の行動を決定し、決定した行動を表わす情報をコマンド生成部２９に通知する。
【００６５】
図５は、図３の行動管理部２７の機能構成例を示す模式図である。
【００６６】
行動管理部２７は、行動モデルライブラリ６１と行動選択部６２から構成されており、行動モデルライブラリ６１は、予め設定された条件（トリガ）に対応させて、図に示すように、各種の行動モデルを有している。
【００６７】
図の例においては、行動モデルライブラリ６１には、ボールを検出した場合にとる行動を示すボール対応行動モデル６１Ａ、ボールを見失った場合などにとる行動を示す自律検索行動モデル６１Ｂ、上述した感情モデル５１の変化を検出した場合にとる行動を示す感情表現行動モデル６１Ｃが用意されている。また、障害物を検出した場合にとる行動を示す障害物回避行動モデル６１Ｄ、転倒したことを検出した場合にとる行動を示す転倒復帰行動モデル６１Ｅ、およびバッテリー残量が少なくなった場合にとる行動を示すバッテリー管理行動モデル６１Ｆが用意されている。
【００６８】
そして、行動選択部６２は、音声認識部２４、センサデータ処理部２５等から供給される情報と、本能・感情管理部２６から供給される内部情報、および時間経過等を参照し、ペットロボット１が次にとる行動を行動モデルライブラリ６１に用意されている行動モデルから選択する。
【００６９】
なお、行動選択部６２は、現在のペットロボット１の状態を表わすノードから、どの状態を表わすノードに遷移するのかを、それぞれのノード間を結ぶアークに設定されている遷移確率に基づいて決定する、図６に示すような有限確率オートマトンを用いて選択する。
【００７０】
図６に示す有限確率オートマトンは、例えば、現在の状態がノード０（NODE0）である場合、確率P1でノード１（NODE1）に遷移し、確率P2でノード２（NODE2）に遷移し、確率Pnでノードｎ（NODEn）に遷移することを示している。また、この有限確率オートマトンは、確率Pn-1でノード０（NODE0）に遷移すること、すなわち、いずれのノードにも遷移しないことを示している。
【００７１】
そして、行動モデルライブラリ６１に規定されるそれぞれの行動モデルは、複数の状態を表わすノードから構成されており、それぞれのノードには、他のノードに遷移する確率が記述された状態遷移表が設定されている。
【００７２】
図７は、行動モデルライブラリ６１に規定される、所定の行動モデルに属するノード１００（NODE100）の状態遷移表の例を示す図である。
【００７３】
図７においては、他のノード（または自らのノード）に遷移する条件としての入力イベントが「入力イベント名」の欄に記載されており、遷移する条件として規定される「入力イベント名」についての、さらなる条件が「データ名」、および「データ範囲」の欄に記載されている。
【００７４】
図の例において、ID「１」が設定されている情報は、「ボールを検出した」（入力イベント名「BALL」）ことに関する情報が行動管理部２７に通知され、かつ、検出されたボールの大きさが「０乃至１０００」の範囲であるとき、「３０パーセント」の確率でノード１００からノード１２０に遷移することを示している。
【００７５】
また、ID「２」が設定されている情報は、「頭を軽く叩かれた」（入力イベント名「PAT」）ことに関する情報が行動管理部２７に通知されてきたとき、「４０パーセント」の確率でノード１００からノード１５０に遷移することを示している。
【００７６】
さらに、ID「３」が設定されている情報は、「頭を強く叩かれた」（入力イベント名「HIT」）ことに関する情報が行動管理部２７に通知されてきたとき、「２０パーセント」の確率でノード１００からノード１５０に遷移することを示している。
【００７７】
ID「４」が設定されている情報は、「障害物を検出した」（入力イベント名「OBSTACLE」）ことに関する情報が行動管理部２７に通知され、かつ、その障害物までの距離が「０乃至１００」の範囲であることが通知されてきたとき、「１００パーセント」の確率でノード１００からノード１０００に遷移することを示している。
【００７８】
また、この例においては、音声認識部２４やセンサデータ処理部２５等からの入力がない場合であっても、感情モデル５１や本能モデル５２のパラメータに応じて他のノードに遷移するようになされている。
【００７９】
例えば、ID５が設定されている情報は、感情モデル５１の「うれしさ（JOY）」を表わす感情ユニット５１Ａのパラメータが「５０乃至１００」の範囲にあるとき、「５パーセント」の確率でノード１２０に遷移し、「３０パーセント」の確率でノード１５０に遷移することを示している。
【００８０】
ID６が設定されている情報は、感情モデル５１の「驚き（SURPRISE）」を表わす感情ユニット５１Ｄのパラメータが「５０乃至１００」の範囲にあるとき、「１５パーセント」の確率でノード１０００に遷移することを示しており、ID７が設定されている情報は、感情モデル５１の「悲しみ（SUDNESS）」を表わす感情ユニット５１Ｂのパラメータが「５０乃至１００」の範囲にあるとき、「５０パーセント」の確率でノード１２０に遷移することを示している。
【００８１】
また、図７の状態遷移表には、それぞれのノードに遷移したとき、そこで出力される行動が「出力行動」の欄に記述されており、例えば、ノード１２０に遷移したとき、そこで出力される行動は「ACTION１」であり、ノード１５０に遷移したとき、そこで出力される行動は「ACTION２」であり、ノード１０００に遷移したとき、そこで出力される行動は「MOVE BACK」（後退）であるとされている。
【００８２】
行動選択部６２は、このような状態遷移表を参照することで状態を遷移させ、そのノードに設定されている行動を指示する情報を、本能・感情管理部２６、コマンド生成部２９等に出力する。
【００８３】
そして、例えば、行動管理部２７により管理され、遷移したノードに規定されている行動が「こんにちはを話す」である場合、コマンド生成部２９は、行動管理部２７からの指示に基づいて発話コマンドを生成し、音声合成部３４に出力する。
【００８４】
また、遷移したノードに規定されている行動が「後退する」である場合、コマンド生成部２９は、行動管理部２７からの指示に基づいて、それを実行させるコマンドを生成し、制御部３１に出力する。また、コマンド生成部２９は、ペットロボット１の「目」の位置に設けられているLED４１を点灯、消灯または点滅させるとき、それを指示するコマンドを生成し、LED制御部３０に出力する。
【００８５】
LED制御部３０は、コマンド生成部２９から供給されてきたコマンドに基づいてLED４１を制御する。
【００８６】
制御部３１は、コマンド生成部２９から供給されるコマンドに基づいて、アクチュエータ３ＡＡ1乃至５Ａ2を制御し、ペットロボット１の姿勢を現在の姿勢から次の姿勢に遷移させる。
【００８７】
ここで、現在の姿勢から次に遷移可能な姿勢は、例えば、胴体や手や足の形状、重さ、各部の結合状態のようなペットロボット１の物理的形状と、関節が曲がる方向や角度のようなアクチュエータ３ＡＡ1乃至５Ａ2の機構とによって決定される。
【００８８】
なお、姿勢には、現在の姿勢から直接遷移可能な姿勢と、直接遷移できない姿勢がある。例えば、４本足のペットロボット１は、手足を大きく投げ出して寝転んでいる状態から、伏せた状態へ直接遷移することはできるが、立った状態へ直接遷移することはできず、一旦、手足を胴体近くに引き寄せて伏せた姿勢になり、それから立ち上がるという２段階の動作が必要である。また、安全に実行できない姿勢も存在する。例えば、ペットロボット１は、４本足で立っている姿勢から、両前足を挙げてバンザイをしようとすると、簡単に転倒してしまう。
【００８９】
このため、制御部３１は、直接遷移可能な姿勢をあらかじめ登録しておき、コマンド生成部２９から供給されるコマンドが、直接遷移可能な姿勢を示す場合には、それに基づいて対応するアクチュエータを駆動する。
【００９０】
一方、コマンド生成部２９から供給されるコマンドが、直接遷移不可能な姿勢を示す場合には、制御部３１は、遷移可能な他の姿勢に一旦遷移した後に、目的の姿勢まで遷移させるように、対応するアクチュエータを駆動する。これによりペットロボット１が、遷移不可能な姿勢を無理に実行しようとする事態や、転倒するような事態を回避することができる。
【００９１】
旋律生成部３２は、音声認識部２４からキーワードが認識されたことが通知されてきたとき、そのキーワードのピッチ周波数を分析することを音声ピッチ分析部２８に指示する。そして、旋律生成部３２は、キーワードの音声が分析され、ピッチ周波数に基づいて選択された音階が音声ピッチ分析部２８から通知されてきたとき、旋律データ記憶部３３から所定の旋律データを読み出し、通知されてきた音階に基づいて、その旋律データを変換する。
【００９２】
すなわち、旋律データ記憶部３３には、ペットロボット１から出力される音（メロディ）の旋律データが、例えば、MIDI形式で複数用意されている。
【００９３】
旋律生成部３２は、例えば、旋律データの各音階に、音声ピッチ分析部２８から供給されてきた音階で置換するなどの処理を施し、新たな旋律データを生成する。旋律生成部３２により生成された旋律データは、音声合成部３４に出力される。
【００９４】
音声ピッチ分析部２８は、旋律生成部３２から指示されたとき、AD変換部２１から供給されてきたキーワードの入力音声を分析し、個々の時刻のピッチ周波数を算出する。例えば、音声ピッチ分析部２８は、ピッチ周波数に対応する時間シフト量を変量とし、自己相関係数が最大の値をとる時間シフト量に基づいて、入力音声の個々の時刻におけるピッチ周波数を算出する。例えば、音声ピッチ分析部２８による入力音声のサンプリング周波数が１６ｋHzであり、自己相関係数が最大の値をとる時間シフト量が１１８である場合、音声ピッチ分析部２８は、ピッチ周波数ｆ（Hz）をｆPITCH＝１６０００／１１８＝１３５．５９Hzと算出する。
【００９５】
そして、音声ピッチ分析部２８は、算出したピッチ周波数に基づいて、音階を選択するための所定のピッチ周波数を抽出し、抽出したピッチ周波数に対応する音階を選択する。音声ピッチ分析部２８は、例えば、所定の期間の平均値からなるピッチ周波数を複数抽出し、それに基づいて複数の音階を選択する。音声ピッチ分析部２８により選択された音階は、旋律生成部３２に通知され、旋律データを変換するために利用される。
【００９６】
音声合成部３４は、コマンド生成部２９から所定の発話コマンドと、その発話の内容を示すテキストデータが供給されてきたとき、内部に有する音声合成用辞書を参照し、そのテキストデータに対応する、例えば、WAVフォーマットなどによる音声データを生成する。
【００９７】
より詳細には、この音声合成用辞書には、各単語の品詞情報や、読み、アクセント等の情報が記述された単語辞書、その単語辞書に記述された単語について、単語連鎖に関する制約等の生成用文法規則、音声情報としての音素片データが記憶された音声情報辞書が格納されている。
【００９８】
音声合成部３４は、単語辞書、および生成用文法規則に基づいて、入力されるテキストの形態素解析や、構文解析等のテキスト解析（言語解析）を行い、音声合成に必要な情報を抽出する。音声合成に必要な情報としては、例えば、ポーズの位置や、アクセント、イントネーション、パワー等を制御するための韻律情報、各単語の発音を表す音韻情報などがある。
【００９９】
音声合成部３４は、抽出した各種の情報に基づいて、音声情報辞書を参照しながら、必要な音素片データを接続し、さらに、音素片データの波形を加工することによって、ポーズ、アクセント、イントネーション等を適切に付加し、供給されてきたテキストデータに対応する音声データを生成する。
【０１００】
音声合成部３４により生成された音声データは、DA変換部３５においてディジタルアナログ変換され、スピーカ１４から出力される。
【０１０１】
また、音声合成部３４は、旋律生成部３２から旋律データが供給されてきたとき、それを再生し、スピーカ１４から出力させる。
【０１０２】
次に、以上のような構成を有するペットロボット１の動作について説明する。
【０１０３】
始めに、図８のフローチャートを参照して、入力音声に基づいて選択した音階を利用して旋律データを生成し、それを再生するペットロボット１の処理について説明する。
【０１０４】
ステップＳ１において、音声認識部２４は、音声認識の結果、キーワードを検出したか否かを判定し、キーワードを検出したと判定するまで待機する。例えば、ユーザにより発話された音声は、上述したようにマイクロフォン１１により集音され、各処理が施された後、音声認識部２４に供給されている。
【０１０５】
音声認識部２４は、複数のキーワードを記憶しており、それに基づいて、入力されてきた音声がキーワードであるか否かを判定する。このキーワードは、例えば、周波数変化が比較的少なく、ピッチ周波数を抽出しやすい母音（例えば、「あ」の音）からなるものとしてもよい。
【０１０６】
そして、音声認識部２４は、ステップＳ１において、キーワードを検出したと判定した場合、ステップＳ２に進み、それを行動管理部２７、および旋律生成部３２に通知する。
【０１０７】
ステップＳ３において、旋律生成部３２は、音声ピッチ分析部２８に対して、検出されたキーワードの分析を行うことを指示する。
【０１０８】
音声ピッチ分析部２８は、ステップＳ４において、旋律生成部３２からの指示に応じて、AD変換部２１から供給されるキーワードの波形の分析を行い、ピッチ周波数を抽出する。
【０１０９】
図９は、ピッチ周波数を抽出する音声ピッチ分析部２８の処理を説明する図である。なお、図９においては、キーワードとして「ららら」が検出された場合の例とされている。
【０１１０】
そして、図９の上方に示す図は、縦軸を音声の振幅、横軸を時刻とするキーワード「ららら」の波形を表わしている。また、図９の下方に示す図の縦軸はキーワード「ららら」のピッチ周波数を表わしており、横軸は時刻を表わしている。
【０１１１】
音声ピッチ分析部２８は、図９の上方に示すようなキーワード「ららら」の波形が供給されてきたとき、それぞれの時刻のピッチ周波数を、上述したように時間シフト量とサンプリング周波数に基づいて算出する。
【０１１２】
そして、音声ピッチ分析部２８は、例えば、それぞれの「ら」の音の音声区間（ｔ1，ｔ2，ｔ3）を３等分し、３等分した音声区間のうち、中央の区間の平均のピッチ周波数をそれぞれ抽出する。この音声区間に関する情報は、音声区間検出部２３により検出され、供給されてきたものである。
【０１１３】
図の例においては、音声区間ｔ1が音声区間ｔ11，ｔ12，ｔ13とそれぞれ３等分され、同様に、音声区間ｔ2が音声区間ｔ21，ｔ22，ｔ23とされ、音声区間ｔ3が音声区間ｔ31，ｔ32，ｔ33とされている。
【０１１４】
そして、音声区間ｔ12の区間におけるピッチ周波数の平均値が１３１とされ、音声区間ｔ22の区間におけるピッチ周波数の平均値が１４８とされ、音声区間ｔ32の区間におけるピッチ周波数の平均値が１６３とされている。
【０１１５】
なお、このように、キーワードのそれぞれの音の中央の区間におけるピッチ周波数の平均値を算出し、それを抽出するだけでなく、様々な方法によりピッチ周波数を抽出することもできる。ピッチ周波数の抽出方法としては、例えば、キーワードのそれぞれの音の平均のピッチ周波数を抽出するようにしてもよいし、所定の区間における最大のピッチ周波数を抽出するようにしてもよい。また、それぞれの音の中央の時刻におけるピッチ周波数を抽出するようにしてもよい。
【０１１６】
そして、音声ピッチ分析部２８は、ステップＳ５において、このようにして抽出したピッチ周波数に基づいて所定の音階を選択する。
【０１１７】
図１０は、音声ピッチ分析部２８が管理する、ピッチ周波数と音階の対応例を示す図である。図１０の対応例は、「Ａ４」を「４４０Hz」の音としたものであり、「C１」から「B７」までの音階と、それぞれの周波数が示されている。
【０１１８】
従って、音声ピッチ分析部２８は、例えば、図９を参照して説明したように、「ららら」のキーワードから「１３１Hz，１４８Hz，１６３Hz」のピッチ周波数を抽出した場合、それぞれのピッチ周波数に対応する「Ｃ３，Ｄ３，Ｅ３」の音階を選択する。すなわち、音声ピッチ分析部２８は、抽出したピッチ周波数に、最も近い周波数の音階を選択する。
【０１１９】
なお、ペットロボット１は、図１０に示した周波数のうち、認識の容易さから、例えば、８０Hz乃至４００Hzの範囲のピッチ周波数を抽出するようになされている。
【０１２０】
このようにして音声ピッチ分析部２８により選択された音階は、旋律生成部３２に通知される。
【０１２１】
一方、行動管理部２７は、ステップＳ６において、音声認識部２４からキーワードが検出されたことが通知されてきたとき、旋律生成部３２に対して、旋律データの生成を指示する。また、旋律生成部３２に対しては、その指示とともに、変換する旋律データの識別情報も通知されている。
【０１２２】
ステップＳ７において、旋律生成部３２は、行動管理部２７から通知されてきた識別情報に対応する旋律データを旋律データ記憶部３３から読み出し、音声ピッチ分析部２８から供給されてきた音階に基づいて、新たな旋律データを生成する。
【０１２３】
図１１は、旋律データ記憶部３３に記憶されている旋律データを楽譜上に表わしたものの例を示す図であり、この旋律データ１−１の音階１乃至９はそれぞれ「Ｃ３，Ｃ３，Ｅ３，Ｇ３，Ｃ３，Ｃ３，Ｅ３，Ｇ３，Ｃ３（＋１２）」である。なお、音階９は、音階１（「Ｃ３」）を基準として、例えば、ピアノ上などで１２鍵盤だけ上の音であることを示している。このように、旋律データを構成する音階の種類が、キーワードにより抽出された音階の数以上あるとき、旋律データを構成する所定の音階は、他の音階を基準として表わされる。
【０１２４】
そして、旋律生成部３２は、新たな旋律データを生成するために、始めに、図１２に示すように、各音階を所定の文字に置換する。なお、この処理は、説明の便宜上用いたものであり、実際には、旋律データ１−１から旋律データ１−３（図１３）に直接変換されるようにしてもよい。
【０１２５】
例えば、旋律生成部３２は、旋律データ１−１の「Ｃ３」を「Ｘ」に、「Ｄ３」を「Ｙ」に、「Ｅ３」を「Ｚ」にそれぞれ置換する。これにより、旋律データ１−１は、旋律データ１−２に示すように「Ｘ，Ｘ，Ｙ，Ｚ，Ｘ，Ｘ，Ｙ，Ｚ，Ｘ（＋１２）」となる。
【０１２６】
また、旋律生成部３２は、旋律データ１−２の各文字に対して、音声ピッチ分析部２８により選択された音階を対応付ける。図１３は、音声ピッチ分析部２８により選択された音階が対応付けられて、新たな旋律データが生成される処理を説明する図である。
【０１２７】
例えば、上述したように、キーワード「ららら」に基づいて「Ｃ３，Ｄ３，Ｅ３」の音階が音声ピッチ分析部２８により選択された場合、旋律生成部３２は、旋律データ１−２の「Ｘ，Ｙ，Ｚ」に「Ｃ３，Ｄ３，Ｅ３」をそれぞれ対応付ける。そして、旋律生成部３２は、図に示すように「Ｃ３，Ｃ３，Ｄ３，Ｅ３，Ｃ３，Ｃ３，Ｄ３，Ｅ３，Ｃ３（＋１２）」の音階の並びからなる旋律データ１−３を生成する。すなわち、この時点において、キーワード「ららら」から抽出されたピッチ周波数に基づいて、予め用意されている旋律データ１−１が旋律データ１−３に変換されている（音階３および４、並びに音階７および８が他の音階にそれぞれ変換されている）。
【０１２８】
さらに、旋律生成部３２は、以上のようにして生成した旋律データが比較的低い音の場合、生成した旋律データの各音を所定の数のオクターブだけ高音に遷移し、新たな旋律データを生成する。当然、生成した旋律データが比較的高い音の場合、数オクターブだけ下げるようにしてもよい。
【０１２９】
図１４は、旋律データの各音階を、例えば、それぞれ３オクターブだけ遷移させて新たな旋律データを生成する旋律生成部３２の処理を説明する図である。
【０１３０】
図に示すように、旋律データ１−３のそれぞれの音階が３オクターブだけ高音に遷移しており、「Ｃ６，Ｃ６，Ｄ６，Ｅ６，Ｃ６，Ｃ６，Ｄ６，Ｅ６，Ｃ６（＋１２）」の音階の並びからなる旋律データ１−４が生成されている。すなわち、予め用意されている旋律データ１−１から、旋律データ１−４が新たに生成されている。
【０１３１】
そして、旋律生成部３２により生成された旋律データは、音声合成部３４に出力される。
【０１３２】
音声合成部３４は、ステップＳ８において、旋律生成部３２から供給されてきた旋律データを再生し、スピーカ１４から出力させる。なお、出力される音の長さは、旋律データ記憶部３３に予め記憶されている旋律データの通りでもよいし、上述したようにして抽出されたピッチ周波数や、ピッチ周波数が検出された時刻、或いは検出区間の範囲などに基づいて変換されるようにしてもよい。
【０１３３】
図１５は、旋律データ記憶部３３に記憶されている他の旋律データと、その変換処理を説明する図である。
【０１３４】
図１５において、旋律データ２−１の音の並びは「Ｃ３，Ｅ３，Ｇ３，Ｅ３，Ｇ３，Ｃ３（−５），Ｅ３，Ｇ３，Ｅ３，Ｇ３」とされている。そして、上述したように、キーワード「ららら」から「Ｃ３，Ｄ３，Ｅ３」の音階が選択された場合、旋律データ２−１の「Ｃ３，Ｅ３，Ｇ３」がそれぞれ「Ｃ３，Ｄ３，Ｅ３」に変換され（矢印▲１▼の処理）、「Ｃ３，Ｄ３，Ｅ３，Ｄ３，Ｅ３，Ｃ３（−５），Ｄ３，Ｅ３，Ｄ３，Ｅ３」の音の並びからなる旋律データ２−２に変換される。すなわち、この時点において、旋律データ２−１を構成する音階２乃至５、および音階７乃至１０が他の音階にそれぞれ変換されている。
【０１３５】
また、旋律データ２−２の各音は、旋律生成部３２により、それぞれ３オクターブだけ高音に遷移され（矢印▲２▼の処理）、「Ｃ６，Ｄ６，Ｅ６，Ｄ６，Ｅ６，Ｃ６（−５），Ｄ６，Ｅ６，Ｄ６，Ｅ６」の音の並びからなる旋律データ２−３が生成されている。そして、この旋律データ２−３が再生され、対応する音が出力される。
【０１３６】
図１６は、旋律データ記憶部３３に記憶されているさらに他の旋律データと、その変換処理を説明する図である。
【０１３７】
図１６において、旋律データ３−１の音の並びは「Ｃ３，Ｅ３，Ｇ３，Ｃ３（＋１２），Ｃ３，Ｅ３，Ｇ３，Ｃ３（＋１２），Ｃ３（−５），Ｃ３（−１）」とされている。そして、上述したように、キーワード「ららら」から「Ｃ３，Ｄ３，Ｅ３」の音階が選択された場合、旋律データ３−１の「Ｃ３，Ｅ３，Ｇ３」がそれぞれ「Ｃ３，Ｄ３，Ｅ３」に変換され（矢印
【外１】
0004178777.tif 000002
の処理）、「Ｃ３，Ｄ３，Ｅ３，Ｃ３（＋１２），Ｃ３，Ｄ３，Ｅ３，Ｃ３（＋１２），Ｃ３（−５），Ｃ３（−１）」の音の並びからなる旋律データ２−２に変換される。すなわち、この時点において、旋律データ２−１を構成する音階２および３、並びに音階６および７が他の音階にそれぞれ変換されている。
【０１３８】
また、旋律データ３−２の各音は、旋律生成部３２により、それぞれ３オクターブだけ高音に遷移され（矢印
【外２】
0004178777.tif 000003
の処理）、「Ｃ６，Ｄ６，Ｅ６，Ｃ６（＋１２），Ｃ６，Ｄ６，Ｅ６，Ｃ６（＋１２），Ｃ６（−５），Ｃ６（−１）」の音の並びからなる旋律データ３−３が生成される。そして、この旋律データ３−３が再生され、対応する音が出力されることになる。
【０１３９】
以上のように、予め用意されている旋律データを、キーワードの入力音声から抽出したピッチ周波数に基づいて変換することにより、仮に同じキーワードを複数のユーザが順次発話した場合であっても、同じ旋律データから、それぞれ異なる音が出力されることになる。
【０１４０】
従って、ペットロボット１から出力される音が予測のつかないものとなるため、ペットロボット１とのコミュニケーションが、より面白みのあるものとなる。
【０１４１】
以上においては、抽出したピッチ周波数に対応する音階を選択し、その音階に基づいて変換した後に得られる旋律データを、所定の数のオクターブだけ遷移させるとしたが、当然、反対に、抽出したピッチ周波数に対応する音階を選択し、その音階を所定の数のオクターブだけ遷移させたものを用いて、予め用意されている旋律データを変換するようにしてもよい。
【０１４２】
この場合、例えば、キーワード「ららら」のピッチ周波数に基づいて選択された「Ｃ３，Ｄ３，Ｅ３」の音階は、それぞれ３オクターブだけ高音に遷移されて「Ｃ６，Ｄ６，Ｅ６」の音階とされる。そして、例えば、図１１の旋律データ１−１の「Ｃ３，Ｅ３，Ｇ３」がそれぞれ「Ｃ６，Ｄ６，Ｅ６」により変換されて、「Ｃ６，Ｃ６，Ｄ６，Ｅ６，Ｃ６，Ｃ６，Ｄ６，Ｅ６，Ｃ６（＋１２）」の音の並びからなる旋律データ１−４が生成される。
【０１４３】
また、ピッチ周波数に基づいて選択した音階を、単に所定の数のオクターブだけ遷移させるだけでなく、ペットロボット１による発話の周波数領域内の音に遷移させるようにしてもよい。
【０１４４】
図１７は、ピッチ周波数に基づいて選択された音階を、所定の周波数の範囲に遷移させる処理を説明する図である。
【０１４５】
図１７Ａは、ピッチ周波数に基づいて選択された音階の例を示す図であり、上述したように、キーワード「ららら」に基づいて、「Ｃ３，Ｄ３，Ｅ３」の音階が選択されている。そして、選択された音階が、常に、ペットロボット１の標準発話域の範囲内にあるように、図１７Ｂに示すように遷移される。
【０１４６】
例えば、この例においては、選択した音階の中央の音「Ｄ３」が「Ｃ６」の音に遷移されている。
【０１４７】
従って、このようにペットロボット１の標準発話域に遷移された音階「Ｂ５，Ｃ６，Ｄ６」に基づいて旋律データが変換された場合、旋律データ１−１は、「Ｂ５，Ｂ５，Ｃ６，Ｄ６，Ｂ５，Ｂ５，Ｃ６，Ｄ６，Ｂ５（＋１２）」の音の並びからなる旋律データに変換される。すなわち、変換された旋律データの各音階は、いずれも図１７に示すペットロボット１の標準発話領域「Ｆ５」乃至「Ｆ６」の範囲内のものとなる。
【０１４８】
このように、ピッチ周波数に基づいて選択した音階を様々な領域に遷移することにより、ペットロボット１から出力される音を制御することができる。これにより、入力された音声の高低が、直接ペットロボット１から出力される音に現れることを抑制することができる。すなわち、このような周波数領域の遷移を行わない場合、高い声が入力された場合、それに応じて高音がペットロボット１から出力されることになる。
【０１４９】
以上においては、音声のピッチ周波数に対応する音階に基づいて旋律データを変換するとしたが、様々な情報に基づいて旋律データを変換し、それを出力させることもできる。
【０１５０】
次に、図１８のフローチャートを参照して、感情の変化に基づいて選択した音階を利用して旋律データを生成し、それを再生するペットロボット１の処理について説明する。
【０１５１】
行動管理部２７は、ステップＳ２１において、本能・感情管理部２６から通知されてくる内部情報に基づいて、ペットロボット１の感情の変化を検出したか否かを判定し、検出したと判定するまで待機する。
【０１５２】
そして、行動管理部２７は、ステップＳ２１において、感情の変化を検出したと判定した場合、ステップＳ２２に進み、ペットロボット１の感情が変化したことを表わす情報を、変換する旋律データの識別情報とともに旋律生成部３２に通知する。
【０１５３】
旋律生成部３２は、ステップＳ２３において、行動管理部２７から感情が変化したことが通知されてきたとき、旋律データを変換するために用いる音階を、変化した感情に基づいて選択する。
【０１５４】
図１９は、変化したペットロボット１の感情と、音階の対応例を示す図であり、このような対応が旋律生成部３２に予め用意されている。
【０１５５】
この例においては、旋律生成部３２は、感情が「JOY（うれしさ）」に変化したとき、「Ｃ，Ｅ，Ｇ」の音階を選択し、感情が「SAD（悲しさ）」に変化したとき、「Ｃ，Ｄ♯，Ｇ」の音階を選択し、感情が「ANGRY（怒り）」に変化したとき、「Ｃ，Ｃ，Ｆ」の音階を選択するとされている。また、旋律生成部３２は、感情が「SURPRISE（驚き）」に変化したとき、「Ｃ，Ｄ♯，Ｆ♯」の音階を選択し、感情が「DISGUST（嫌悪）」に変化したとき、「Ｃ，Ｆ♯，Ｃ」の音階を選択し、感情が「FEAR（おそれ）」に変化したとき、「Ｃ，Ｃ♯，Ｃ」の音階を選択するとされている。
【０１５６】
例えば、「JOY（うれしさ）」にメジャーな音を対応付け、「SAD（悲しさ）」にマイナーな音を対応付けることにより、ペットロボット１の感情がうれしいときには、一般的に明るい感じがする音が出力されることになり、悲しいときには、一般的に暗く悲しげな感じがする音が出力されることになる。従って、ペットロボット１の感情を表現することができる。
【０１５７】
さらに、感情値が大きいときには、音程を上げると自然なので、感情値が１０のときは音程を＋１０シフトすることも考えられる。
【０１５８】
そして、ステップＳ２４において、旋律生成部３２は、行動管理部２７から指示された旋律データを旋律データ記憶部３３から読み出し、選択した音階に基づいて、その旋律データを変換する。
【０１５９】
図２０は、旋律データの変換処理を説明する図である。
【０１６０】
図２０においては、図１１に示した旋律データ１−１を変換する場合の例とされ、また、旋律生成部３２に対して、感情が「ANGRY（怒り）」に変化したことが通知されてきた場合の例とされている。
【０１６１】
従って、旋律生成部３２は、図１９に示したような対応テーブルから、「Ｃ，Ｃ，Ｆ」の音階を選択し、それに基づいて旋律データ１−１を変換する。例えば、旋律生成部３２は、出力される音がペットロボット１の標準発話域内のものとなるように、選択した音階「Ｃ，Ｃ，Ｆ」を「Ｃ６，Ｃ６，Ｆ６」とし、旋律データ１−１の「Ｃ３，Ｅ３，Ｇ３」を、それぞれ「Ｃ６，Ｃ６，Ｆ６」で変換する。
【０１６２】
そして、以上のような変換により「Ｃ６，Ｃ６，Ｃ６，Ｆ６，Ｃ６，Ｃ６，Ｃ６，Ｆ６，Ｃ６（＋１２）」の音の並びからなる旋律データ１−５が生成される。
【０１６３】
また、例えば、ペットロボット１の感情が「SAD（悲しさ）」に変化したことが通知されてきた場合、旋律生成部３２は、「Ｃ，Ｄ♯，Ｇ」の音階を選択し、出力される音がペットロボット１の標準発話域内のものとなるように、その音階を「Ｃ６，Ｄ６♯，Ｇ６」とする。そして、旋律生成部３２は、「Ｃ６，Ｄ６♯，Ｇ６」の音階を用いて旋律データ１−１を変換し、「Ｃ６，Ｃ６，Ｄ６♯，Ｇ６，Ｃ６，Ｃ６，Ｄ６♯，Ｇ６，Ｃ６（＋１２）」の音の並びからなる新たな旋律データを生成する。
【０１６４】
このようにして生成された旋律データは、音声合成部３４に供給され、ステップＳ２５において、音声合成部３４により再生される。
【０１６５】
以上のように、ペットロボット１により検出された様々な情報に基づいて、予め用意されている旋律データを変換し、新たな旋律データを生成することができる。例えば、カメラ１２により撮像された画像に含まれる、所定の色（光）の割合を抽出し、それに基づいて音階を選択するようにしてもよいし、タッチセンサ１３により検出された外部からの圧力のレベルに基づいて、音階を選択し、それを利用して新たな旋律データを生成するようにしてもよい。また、マイクロフォン１１により集音された音声などの音量に基づいて新たな旋律データを生成することもできる。
【０１６６】
これにより、ユーザの予測のできない、無数のパターンの音（メロディ）をペットロボット１に出力させることができる。また、予め用意しておく旋律データの数を減らすことが可能となる。
【０１６７】
上述した各種の処理は、図１に示したような動物型のロボットに実行させるだけでなく、例えば、２足歩行が可能な人間型のロボットや、コンピュータ内で活動する仮想ロボット等に実行させるようにしてもよい。
【０１６８】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。この場合、そのソフトウェアを実行させる情報処理装置は、例えば、図２１に示されるようなパーソナルコンピュータにより構成される。
【０１６９】
図２１において、CPU７１は、ROM（Read Only Memory）７２に記憶されているプログラム、または、記憶部７８からRAM（Random Access Memory）７３にロードされたプログラムに従って各種の処理を実行する。RAM７３にはまた、CPU７１が各種の処理を実行する上において必要なデータなどが適宜記憶される。
【０１７０】
CPU７１、ROM７２、およびRAM７３は、バス７４を介して相互に接続されている。このバス７４にはまた、入出力インタフェース７５も接続されている。
【０１７１】
入出力インタフェース７５には、キーボード、マウスなどよりなる入力部７６、CRT(Cathode Ray Tube)，LCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部７７、ハードディスクなどより構成される記憶部７８、モデム、ターミナルアダプタなどより構成される通信部７９が接続されている。通信部７９は、ネットワークを介しての通信処理を行う。
【０１７２】
入出力インタフェース７５にはまた、必要に応じてドライブ８０が接続され、磁気ディスク８１、光ディスク８２、光磁気ディスク８３、或いは半導体メモリ８４などが適宜装着される。
【０１７３】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、図２１に示すような汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【０１７４】
この記録媒体は、図２１に示すように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク８１（フロッピディスクを含む）、光ディスク８２（CD-ROM(Compact Disk-Read Only Memory)，DVD(Digital Versatile Disk)を含む）、光磁気ディスク８３（MD（登録商標）(Mini-Disk)を含む）、もしくは半導体メモリ８４などよりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM７２や、記憶部７８に含まれるハードディスクなどで構成される。
【０１７５】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１７６】
【発明の効果】
本発明の第１のロボット装置、並びにプログラムによれば、ユーザからの発話に応じて、より好適な応答を行うことができる。
【０１７７】
本発明の第２のロボット装置、並びにプログラムによれば、ユーザが予測のできない音を発生することができる。
【図面の簡単な説明】
【図１】本発明を適用したペットロボットの外観の例を示す斜視図である。
【図２】図１のペットロボットの内部構成の例を示すブロック図である。
【図３】図１のペットロボットの機能構成の例を示すブロック図である。
【図４】図３の本能・感情管理部の機能の例を模式的に示す図である。
【図５】図３の行動管理部の機能の例を模式的に示す図である。
【図６】有限オートマトンの例を示す図である。
【図７】状態の遷移確率の例を示す図である
【図８】図１のペットロボットの処理を説明するフローチャートである。
【図９】ピッチ周波数を抽出する処理を説明する図である。
【図１０】音階とピッチ周波数との対応例を示す図である
【図１１】旋律データの例を示す図である。
【図１２】旋律データを変換する処理を説明する図である。
【図１３】旋律データを変換する他の処理を説明する図である。
【図１４】旋律データを変換するさらに他の処理を説明する図である。
【図１５】他の旋律データを変換する処理を説明する図である。
【図１６】さらに他の旋律データを変換する処理を説明する図である。
【図１７】音階の遷移を説明する図である。
【図１８】図１のペットロボットの他の処理を説明するフローチャートである。
【図１９】感情と音階の対応例を示す図である。
【図２０】旋律データを変換する処理を説明する図である。
【図２１】パーソナルコンピュータの例を示すブロック図である。
【符号の説明】
１０  コントローラ，  １１  マイクロフォン，  １４  スピーカ，  ２１  AD変換部，  ２２  音声特徴量分析部，  ２３  音声区間検出部，  ２４  音声認識部，  ２６  本能・感情管理部，  ２７  行動管理部，  ２８  音声ピッチ分析部，  ３２  旋律生成部，  ３３  旋律データ記憶部，  ３４  音声合成部，  ３５  DA変換部，  ８１  磁気ディスク，  ８２  光ディスク，  ８３  光磁気ディスク，  ８４  半導体メモリ
【図１】
0004178777.tif 000004
【図２】
0004178777.tif 000005
【図３】
0004178777.tif 000006
【図４】
0004178777.tif 000007
【図５】
0004178777.tif 000008
【図６】
0004178777.tif 000009
【図７】
0004178777.tif 000010
【図８】
0004178777.tif 000011
【図９】
0004178777.tif 000012
【図１０】
0004178777.tif 000013
【図１１】
0004178777.tif 000014
【図１２】
0004178777.tif 000015
【図１３】
0004178777.tif 000016
【図１４】
0004178777.tif 000017
【図１５】
0004178777.tif 000018
【図１６】
0004178777.tif 000019
【図１７】
0004178777.tif 000020
【図１８】
0004178777.tif 000021
【図１９】
0004178777.tif 000022
【図２０】
0004178777.tif 000023
【図２１】
0004178777.tif 000024