JP4178777B2 - Robot apparatus, recording medium, and program - Google Patents
Robot apparatus, recording medium, and program Download PDFInfo
- Publication number
- JP4178777B2 JP4178777B2 JP2001266703A JP2001266703A JP4178777B2 JP 4178777 B2 JP4178777 B2 JP 4178777B2 JP 2001266703 A JP2001266703 A JP 2001266703A JP 2001266703 A JP2001266703 A JP 2001266703A JP 4178777 B2 JP4178777 B2 JP 4178777B2
- Authority
- JP
- Japan
- Prior art keywords
- melody data
- scale
- unit
- voice
- melody
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、ロボット装置、記録媒体、並びにプログラムに関し、特に、ユーザからの発話に応じて、より好適な応答を行うことができるようにするロボット装置、記録媒体、並びにプログラムに関する。
【0002】
【従来の技術】
近年、例えば、周囲の環境や、自らの内部状態に応じて自律的に各種の行動をとる、エンターテイメント用のペットロボットが実現されている。
【0003】
そして、このようなペットロボットは、例えば、使用者から話しかけられたときに、それに応答する音を出したり、使用者から頭を叩かれたときに怒っていることを表わす音を出すようになされている。また、ユーザがあまり遊んでくれずに、その内部状態が「さみしい」という感情になったとき、「さみしい」ことを表わす(遊んで欲しいことを知らせる)音を出すようになされている。
【0004】
【発明が解決しようとする課題】
しかしながら、このようにペットロボットから出力される音のデータは、ペットロボットに予め用意されているものであるため、内蔵されている記憶容量などの観点から、その種類が制限されてしまうという課題があった。すなわち、出力される音がパターン化されてしまうことになる。
【0005】
従って、しばらくの間その行動を観察すれば、ユーザは、次に、ペットロボットから発せられる音を容易に予測できるようになってしまい、ペットロボットとのコミュニケーションが面白みの欠けたものとなってしまう。
【0006】
本発明はこのような状況に鑑みてなされたものであり、ユーザからの呼びかけに応じて、より好適な応答を行うことができるようにしたものである。
【0007】
【課題を解決するための手段】
本発明の第1のロボット装置は、第1の音階から構成される第1の旋律データを記憶する記憶手段と、入力された音声のピッチ周波数を抽出する抽出手段と、抽出手段により抽出されたピッチ周波数に基づいて第2の音階を選択する選択手段と、記憶手段により記憶されている第1の旋律データを構成する第1の音階を、選択手段により選択された第2の音階に変換して第2の旋律データを生成する生成手段と、生成手段により生成された第2の旋律データを再生する再生手段とを備えることを特徴とする。
【0008】
抽出手段は、所定のキーワードを表わす音声のピッチ周波数を抽出するようにすることができる。
【0009】
抽出手段は、母音を含む音声のピッチ周波数を抽出するようにすることができる。
【0010】
抽出手段は、音声の所定の期間に検出されたピッチ周波数の平均値をピッチ周波数として抽出するようにすることができる。
【0011】
生成手段は、第2の音階を、所定の数のオクターブだけ遷移させて第2の旋律データを生成するようにすることができる。
【0013】
本発明の第1の記録媒体のプログラムは、第1の音階から構成される第1の旋律データの記憶を制御する記憶制御ステップと、入力された音声のピッチ周波数の抽出を制御する抽出ステップと、抽出ステップの処理により抽出されたピッチ周波数に基づいて第2の音階を選択する選択ステップと、記憶制御ステップの処理により記憶されている第1の旋律データを構成する第1の音階を、選択ステップの処理により選択された第2の音階に変換して第2の旋律データを生成する生成ステップと、生成ステップの処理により生成された第2の旋律データの再生を制御する再生制御ステップとを含むことを特徴とする。
【0014】
本発明の第1のプログラムは、第1の音階から構成される第1の旋律データの記憶を制御する記憶制御ステップと、入力された音声のピッチ周波数の抽出を制御する抽出ステップと、抽出ステップの処理により抽出されたピッチ周波数に基づいて第2の音階を選択する選択ステップと、記憶制御ステップの処理により記憶されている第1の旋律データを構成する第1の音階を、選択ステップの処理により選択された第2の音階に変換して第2の旋律データを生成する生成ステップと、生成ステップの処理により生成された第2の旋律データの再生を制御する再生制御ステップとを含むことを特徴とする。
【0015】
本発明の第2のロボット装置は、第1の音階から構成される第1の旋律データを記憶する記憶手段と、自らの内部状態を管理する管理手段と、管理手段により管理される内部状態が変化したとき、内部状態の変化に対応する第2の音階を選択する選択手段と、記憶手段により記憶されている第1の旋律データを構成する第1の音階を、選択手段により選択された第2の音階に変換して第2の旋律データを生成する生成手段と、生成手段により生成された第2の旋律データを再生する再生手段とを備えることを特徴とする。
【0016】
生成手段は、第2の音階を、所定の数のオクターブだけ遷移させて第2の旋律データを生成するようにすることができる。
【0018】
本発明の第2の記録媒体のプログラムは、第1の音階から構成される第1の旋律データの記憶を制御する記憶制御ステップと、自らの内部状態を管理する管理ステップと、管理ステップの処理により管理される内部状態が変化したとき、内部状態の変化に対応する第2の音階を選択する選択ステップと、記憶制御ステップの処理により記憶されている第1の旋律データを構成する第1の音階を、選択ステップの処理により選択された第2の音階に変換して第2の旋律データを生成する生成ステップと、生成ステップの処理により生成された第2の旋律データの再生を制御する再生制御ステップとを含むことを特徴とする。
【0019】
本発明の第2のプログラムは、第1の音階から構成される第1の旋律データの記憶を制御する記憶制御ステップと、自らの内部状態を管理する管理ステップと、管理ステップの処理により管理される内部状態が変化したとき、内部状態の変化に対応する第2の音階を選択する選択ステップと、記憶制御ステップの処理により記憶されている第1の旋律データを構成する第1の音階を、選択ステップの処理により選択された第2の音階に変換して第2の旋律データを生成する生成ステップと、生成ステップの処理により生成された第2の旋律データの再生を制御する再生制御ステップとを含むことを特徴とする。
【0020】
本発明の第1のロボット装置、並びにプログラムにおいては、第1の音階から構成される第1の旋律データが記憶され、入力された音声のピッチ周波数が抽出され、抽出されたピッチ周波数に基づいて第2の音階が選択される。また、記憶されている第1の旋律データを構成する第1の音階が、選択された第2の音階に変換されて第2の旋律データが生成され、第2の旋律データが再生される。
【0021】
本発明の第2のロボット装置、並びにプログラムにおいては、第1の音階から構成される第1の旋律データが記憶され、自らの内部状態が管理され、管理される内部状態が変化したとき、内部状態の変化に対応する第2の音階が選択される。また、記憶されている第1の旋律データを構成する第1の音階が、選択された第2の音階に変換されて第2の旋律データが生成され、生成された第2の旋律データが再生される。
【0022】
【発明の実施の形態】
図1は、本発明を適用したペットロボット1の外観構成の例を示す斜視図である。
【0023】
図に示すように、例えば、ペットロボット1は、四つ足の犬形状のものとされており、胴体部ユニット2の前後左右に、それぞれ脚部ユニット3A,3B,3C,3Dが連結されるとともに、胴体部ユニット2の前端部と後端部に、それぞれ頭部ユニット4と尻尾部ユニット5が連結されている。
【0024】
尻尾部ユニット5は、胴体部ユニット2の上面に設けられたベース部5Bから、2自由度をもって、湾曲または揺動自在に引き出されている。
【0025】
このような外観構成を有するペットロボット1には、後に詳述するように、例えば、ユーザから「おはよう」などと呼びかけられた場合に、それに応答するための旋律(メロディ)データが用意されている。そして、ペットロボット1は、ユーザからの音声を分析し、その分析結果に基づいて、用意されている旋律データを変換し、変換後に得られた旋律データを再生する。すなわち、ユーザ毎、或いはその発話毎に旋律データが変換されて、出力されることになる。
【0026】
従って、1種類の旋律データであっても、毎回、ユーザからの発話に応じた旋律データに変換されるため、ユーザの歌いかけに対応した音が、ペットロボット1から出力されることになる。これにより、ペットロボット1との相互理解度が深まり、コミュニケーションに飽きてしまうといったことを抑制することができ、より好適なコミュニケーションを図ることができる。
【0027】
図2は、図1のペットロボット1の内部構成の例を示すブロック図である。
【0028】
胴体部ユニット2には、ペットロボット1の全体を制御するコントローラ10が格納されている。このコントローラ10には、基本的に、CPU(Central Processing Unit)10A、およびCPU10Aが各部を制御するためのプログラムが記憶されているメモリ10Bが設けられている。
【0029】
また、胴体部ユニット2には、コントローラ10の他、例えば、ペットロボット1の動力源となるバッテリ(図示せず)等も格納されている。
【0030】
図2に示すように、頭部ユニット4には、外部からの刺激を感知するセンサとしての、音を感知する「耳」に相当するマイクロフォン11、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)イメージセンサなどから構成され、光を感知する「目」に相当するカメラ12、およびユーザがふれることによる圧力等を感知する触覚に相当するタッチセンサ13が、それぞれ所定の位置に設けられている。また、頭部ユニット4には、ペットロボット1の「口」に相当するスピーカ14が、所定の位置に設置されている。
【0031】
脚部ユニット3A乃至3Dのそれぞれの関節部分、脚部ユニット3A乃至3Dのそれぞれと胴体部ユニット2の連結部分、頭部ユニット4と胴体部ユニット2の連結部分、並びに尻尾部ユニット5と胴体部ユニット2の連結部分などには、アクチュエータが設置されている。アクチュエータは、コントローラ10からの指示に基づいて各部を動作させる。
【0032】
図2の例においては、脚部ユニット3Aには、アクチュエータ3AA1乃至3AAkが設けられ、脚部ユニット3Bには、アクチュエータ3BA1乃至3BAkが設けられている。また、脚部ユニット3Cには、アクチュエータ3CA1乃至3CAkが設けられ、脚部ユニット3Dには、アクチュエータ3DA1乃至3DAkが設けられている。さらに、頭部ユニット4には、アクチュエータ4A1乃至4ALが設けられており、尻尾部ユニット5には、アクチュエータ5A1および5A2がそれぞれ設けられている。
【0033】
頭部ユニット4に設置されるマイクロフォン11は、ユーザからの発話を含む周囲の音声(音)を集音し、得られた音声信号をコントローラ10に出力する。カメラ12は、周囲の状況を撮像し、得られた画像信号を、コントローラ10に出力する。タッチセンサ13は、例えば、頭部ユニット4の上部に設けられており、ユーザからの「撫でる」や「叩く」といった物理的な働きかけにより受けた圧力を検出し、その検出結果を圧力検出信号としてコントローラ10に出力する。
【0034】
コントローラ10は、マイクロフォン11、カメラ12、およびタッチセンサ13から与えられる音声信号、画像信号、圧力検出信号に基づいて、周囲の状況や、ユーザからの指令、ユーザからの働きかけなどの有無を判断し、その判断結果に基づいて、ペットロボット1が次にとる行動を決定する。そして、コントローラ10は、その決定に基づいて、必要なアクチュエータを駆動させ、これにより、頭部ユニット4を上下左右に振らせたり、尻尾部ユニット5を動かせたり、脚部ユニット3A乃至3Dのそれぞれを駆動して、ペットロボット1を歩行させるなどの行動をとらせる。
【0035】
その他にも、コントローラ10は、ペットロボット1の「目」の位置に設けられたLED(Light Emitting Diode)41(図3参照)を点灯、消灯または点滅させるなどの処理を行う。
【0036】
図3は、図2のコントローラ10の機能的構成例を示すブロック図である。なお、図3に示す各機能は、メモリ10Bに記憶されている制御プログラムをCPU10Aが実行することで実現される。
【0037】
マイクロフォン11からの音声信号は、AD(Analog Digital)変換部21に供給される。AD変換部21は、マイクロフォン11から供給されてきた音声信号をサンプリング、および量子化し、音声データに変換する。AD変換部21により取得された音声データは、音声特徴量分析部22、および音声ピッチ分析部28に供給される。
【0038】
音声特徴量分析部22は、入力される音声データについて、適当なフレーム毎に、例えば、MFCC(Mel Frequency Cepstrum Coefficient)分析を行い、その分析結果を、特徴パラメータ(特徴ベクトル)として、音声区間検出部23に出力する。なお、音声特徴量分析部22では、その他、例えば、線形予測係数、ケプストラム係数、線スペクトル対、所定の周波数帯域ごとのパワー(フィルタバンクの出力)等を、特徴パラメータとして抽出することが可能である。
【0039】
音声区間検出部23は、音声特徴量分析部22から供給される特徴パラメータに基づいて、例えば、所定の閾値以上の値をとるパワーが所定の期間継続して検出されたか否かに基づいて音声区間を検出する。そして、音声区間検出部23は、検出した音声区間情報を、音声特徴量分析部22から供給されてきた特徴パラメータとともに音声認識部24に出力する。また、音声区間検出部23により検出された音声区間情報は、音声ピッチ分析部28にも供給されている。
【0040】
音声認識部24は、音声認識する音声の言語における個々の音素や音節などの音響的な特徴を表す音響モデル、認識対象の各単語について、その発音に関する情報(音韻情報)が記述された単語辞書、および、単語辞書に登録されている各単語が、どのように連鎖する(つながる)のかを記述した文法規則を記憶している。ここで、文法規則としては、例えば、文脈自由文法(CFG)や、統計的な単語連鎖確率(N-gram)などに基づく規則を用いることができる。
【0041】
そして、音声認識部24は、音声特徴量分析部22からの特徴パラメータを用いて、そのような音響モデル、単語辞書、および文法規則を必要に応じて参照しながら、マイクロフォン11に入力された音声を、例えば、連続分布HMM(Hidden Markov Model)法に基づいて音声認識する。
【0042】
具体的には、音声認識部24は、単語辞書を参照し、音響モデルを接続することで、単語の音響モデル(単語モデル)を構成する。また、音声認識部24は、幾つかの単語モデルを、文法規則を参照することにより接続し、そのようにして接続された単語モデルと特徴パラメータに基づき、連続分布HMM法によって、マイクロフォン11に入力された音声を認識する。即ち、音声認識部24は、音声特徴量分析部22(音声区間検出部23)が出力する時系列の特徴パラメータが観測されるスコア(尤度)が最も高い単語モデルの系列を検出し、その単語モデルの系列に対応する単語列を、音声の認識結果として出力する。
【0043】
つまり、音声認識部24は、接続された単語モデルに対応する単語列について、音声特徴量分析部22からの特徴パラメータの出現確率を累積し、その累積値をスコアとして、そのスコアを最も高くする単語列を、音声認識結果として出力する。
【0044】
例えば、音声認識部24は、「歩け」、「伏せ」、「ボールを追いかけろ」等の指令その他を、音声認識情報として、本能・感情管理部26、行動管理部27に通知する。また、音声認識部24は、所定のキーワードを認識したとき、それを旋律生成部32等に通知する。
【0045】
カメラ12により撮像された画像信号、およびタッチセンサ13により検出された圧力検出信号は、センサデータ処理部25に出力される。センサデータ処理部25には、カメラ12から供給されてきた画像信号に基づいて画像認識を行う画像認識部、およびタッチセンサ13から供給されてきた圧力検出信号を処理するタッチセンサ入力処理部(いずれも図示せず)が設けられている。
【0046】
この画像認識部は、カメラ12から与えられる画像信号を用いて、画像認識を行い、その処理の結果、例えば、「赤い丸いもの」や、「地面に対して垂直な、かつ、所定の高さ以上の平面」等を検出したときには、「ボールがある」や、「壁がある」等の画像認識結果を画像認識情報として、本能・感情管理部26、および行動管理部27に出力する。
【0047】
タッチセンサ入力処理部は、タッチセンサ13から与えられる圧力検出信号を処理し、その処理の結果、所定の閾値以上で、かつ、短時間の圧力を検出したときには、「叩かれた(しかられた)」と認識し、所定の閾値未満で、かつ、長時間の圧力を検出したときには、「なでられた(ほめられた)」と認識して、その認識結果を、状態認識情報として、本能・感情管理部26、および行動管理部27に出力する。
【0048】
本能・感情管理部26は、ペットロボット1の本能、または感情を表わすパラメータを管理し、本能の状態、または感情の状態を所定のタイミングで行動管理部27に出力する。
【0049】
図4は、図3の本能・感情管理部26の機能構成例を模式的に示す図であり、図4に示すように、本能・感情管理部26は、ペットロボット1の感情を表現する感情モデル51と、本能を表現する本能モデル52を記憶し、管理している。
【0050】
感情モデル51は、例えば、「うれしさ」、「悲しさ」、「怒り」、「驚き」、「恐れ」、「嫌悪」等の感情の状態(度合い)を、所定の範囲(例えば、0乃至100等)の感情パラメータによってそれぞれ表し、音声認識部24、およびセンサデータ処理部25からの出力や時間経過等に基づいて、その値を変化させる。
【0051】
この例においては、感情モデル51は、「うれしさ」を表わす感情ユニット51A、「悲しさ」を表わす感情ユニット51B、「怒り」を表わす感情ユニット51C、「驚き」を表わす感情ユニット51D、「恐れ」を表わす感情ユニット51E、および、「嫌悪」を表わす感情ユニット51Fから構成されている。
【0052】
本能モデル52は、例えば、「食欲」、「睡眠欲」、「運動欲」等の本能による欲求の状態(度合い)を、所定の範囲の本能パラメータによってそれぞれ表し、音声認識部24、およびセンサデータ処理部25からの出力や時間経過等に基づいて、その値を変化させる。また、本能モデル52は、行動履歴に基づいて「運動欲」を表わすパラメータを高めたり、或いは、バッテリー残量に基づいて「食欲」を表わすパラメータを高めたりする。
【0053】
この例においては、本能モデル52は、「運動欲」を表わす本能ユニット52A、「愛情欲」を表わす本能ユニット52B、「食欲」を表わす本能ユニット52C、「好奇心」を表わす本能ユニット52D、および「睡眠欲」を表わす本能ユニット52Eから構成されている。
【0054】
本能・感情管理部26は、このような感情ユニット51A乃至51Fと本能ユニット52A乃至52Eのパラメータを変化させることにより、ペットロボット1の感情と本能の状態を表現し、その変化をモデル化している。
【0055】
また、感情ユニット51A乃至51Fと本能ユニット52A乃至52Eのパラメータは、外部からの入力だけでなく、図の矢印で示すように、それぞれのユニット同士が相互に影響しあうことによっても変化される。
【0056】
例えば、「うれしさ」を表現する感情ユニット51Aと「悲しさ」を表現する感情ユニット51Bが相互抑制的に結合することにより、本能・感情管理部26は、ユーザにほめてもらったときには「うれしさ」を表現する感情ユニット51Aのパラメータを大きくするとともに、「悲しさ」を表現する感情ユニット51Bのパラメータを小さくするなどして、表現する感情を変化させる。
【0057】
また、感情モデル51を構成する各ユニット同士、および本能モデル52を構成する各ユニット同士だけでなく、双方のモデルを超えて、それぞれのユニットのパラメータが変化される。
【0058】
例えば、図に示すように、本能モデル52の「愛情欲」を表わす本能ユニット52Bや、「食欲」を表わす本能ユニット52Cのパラメータの変化に応じて、感情モデル51の「悲しさ」を表現する感情ユニット51Bや「怒り」を表現する感情ユニット51Cのパラメータが変化される。
【0059】
具体的には、「食欲」を表わす本能ユニット52Cのパラメータが大きくなったとき、感情モデル51の「悲しさ」を表現する感情ユニット51Bや、「怒り」を表現する感情ユニット51Cのパラメータが大きくなる。
【0060】
なお、より詳細には、感情モデル51や本能モデル52だけでなく、成長モデルが本能・感情管理部26に用意され、その成長段階によって、感情モデル51や本能モデル52の各ユニットのパラメータが変化される。この成長モデルは、例えば、「幼年期」、「青年期」、「熟年期」、「老年期」等の成長の状態(度合い)を、所定の範囲の値によってそれぞれ表し、音声認識部24、およびセンサデータ処理部25からの出力や時間経過等に基づいて、その値を変化させる。
【0061】
本能・感情管理部26は、感情モデル、本能モデル等のパラメータで表される感情、本能等の状態を、内部情報として行動管理部27に出力する。
【0062】
なお、本能・感情管理部26には、音声認識部24、およびセンサデータ処理部25から認識情報が供給される他に、行動管理部27から、ペットロボット1の現在、または過去の行動、具体的には、例えば、「長時間歩いた」などの行動の内容を示す行動情報が供給されるようになされている。そして、本能・感情管理部26は、同一の認識情報等が与えられた場合であっても、行動情報により示されるペットロボット1の行動に応じて、異なる内部情報を生成する。
【0063】
例えば、ペットロボット1がユーザに挨拶をし、ユーザに頭を撫でられた場合には、ユーザに挨拶をしたという行動情報と、頭を撫でられたという認識情報が本能・感情管理部26に供給される。このとき、本能・感情管理部26においては、「うれしさ」を表す感情ユニット51Aの値が増加される。
【0064】
図3の説明に戻り、行動管理部27は、音声認識部24、およびセンサデータ処理部25から供給されてきた情報と、本能・感情管理部26から供給されてきた内部情報、および時間経過等に基づいて次の行動を決定し、決定した行動を表わす情報をコマンド生成部29に通知する。
【0065】
図5は、図3の行動管理部27の機能構成例を示す模式図である。
【0066】
行動管理部27は、行動モデルライブラリ61と行動選択部62から構成されており、行動モデルライブラリ61は、予め設定された条件(トリガ)に対応させて、図に示すように、各種の行動モデルを有している。
【0067】
図の例においては、行動モデルライブラリ61には、ボールを検出した場合にとる行動を示すボール対応行動モデル61A、ボールを見失った場合などにとる行動を示す自律検索行動モデル61B、上述した感情モデル51の変化を検出した場合にとる行動を示す感情表現行動モデル61Cが用意されている。また、障害物を検出した場合にとる行動を示す障害物回避行動モデル61D、転倒したことを検出した場合にとる行動を示す転倒復帰行動モデル61E、およびバッテリー残量が少なくなった場合にとる行動を示すバッテリー管理行動モデル61Fが用意されている。
【0068】
そして、行動選択部62は、音声認識部24、センサデータ処理部25等から供給される情報と、本能・感情管理部26から供給される内部情報、および時間経過等を参照し、ペットロボット1が次にとる行動を行動モデルライブラリ61に用意されている行動モデルから選択する。
【0069】
なお、行動選択部62は、現在のペットロボット1の状態を表わすノードから、どの状態を表わすノードに遷移するのかを、それぞれのノード間を結ぶアークに設定されている遷移確率に基づいて決定する、図6に示すような有限確率オートマトンを用いて選択する。
【0070】
図6に示す有限確率オートマトンは、例えば、現在の状態がノード0(NODE0)である場合、確率P1でノード1(NODE1)に遷移し、確率P2でノード2(NODE2)に遷移し、確率Pnでノードn(NODEn)に遷移することを示している。また、この有限確率オートマトンは、確率Pn-1でノード0(NODE0)に遷移すること、すなわち、いずれのノードにも遷移しないことを示している。
【0071】
そして、行動モデルライブラリ61に規定されるそれぞれの行動モデルは、複数の状態を表わすノードから構成されており、それぞれのノードには、他のノードに遷移する確率が記述された状態遷移表が設定されている。
【0072】
図7は、行動モデルライブラリ61に規定される、所定の行動モデルに属するノード100(NODE100)の状態遷移表の例を示す図である。
【0073】
図7においては、他のノード(または自らのノード)に遷移する条件としての入力イベントが「入力イベント名」の欄に記載されており、遷移する条件として規定される「入力イベント名」についての、さらなる条件が「データ名」、および「データ範囲」の欄に記載されている。
【0074】
図の例において、ID「1」が設定されている情報は、「ボールを検出した」(入力イベント名「BALL」)ことに関する情報が行動管理部27に通知され、かつ、検出されたボールの大きさが「0乃至1000」の範囲であるとき、「30パーセント」の確率でノード100からノード120に遷移することを示している。
【0075】
また、ID「2」が設定されている情報は、「頭を軽く叩かれた」(入力イベント名「PAT」)ことに関する情報が行動管理部27に通知されてきたとき、「40パーセント」の確率でノード100からノード150に遷移することを示している。
【0076】
さらに、ID「3」が設定されている情報は、「頭を強く叩かれた」(入力イベント名「HIT」)ことに関する情報が行動管理部27に通知されてきたとき、「20パーセント」の確率でノード100からノード150に遷移することを示している。
【0077】
ID「4」が設定されている情報は、「障害物を検出した」(入力イベント名「OBSTACLE」)ことに関する情報が行動管理部27に通知され、かつ、その障害物までの距離が「0乃至100」の範囲であることが通知されてきたとき、「100パーセント」の確率でノード100からノード1000に遷移することを示している。
【0078】
また、この例においては、音声認識部24やセンサデータ処理部25等からの入力がない場合であっても、感情モデル51や本能モデル52のパラメータに応じて他のノードに遷移するようになされている。
【0079】
例えば、ID5が設定されている情報は、感情モデル51の「うれしさ(JOY)」を表わす感情ユニット51Aのパラメータが「50乃至100」の範囲にあるとき、「5パーセント」の確率でノード120に遷移し、「30パーセント」の確率でノード150に遷移することを示している。
【0080】
ID6が設定されている情報は、感情モデル51の「驚き(SURPRISE)」を表わす感情ユニット51Dのパラメータが「50乃至100」の範囲にあるとき、「15パーセント」の確率でノード1000に遷移することを示しており、ID7が設定されている情報は、感情モデル51の「悲しみ(SUDNESS)」を表わす感情ユニット51Bのパラメータが「50乃至100」の範囲にあるとき、「50パーセント」の確率でノード120に遷移することを示している。
【0081】
また、図7の状態遷移表には、それぞれのノードに遷移したとき、そこで出力される行動が「出力行動」の欄に記述されており、例えば、ノード120に遷移したとき、そこで出力される行動は「ACTION1」であり、ノード150に遷移したとき、そこで出力される行動は「ACTION2」であり、ノード1000に遷移したとき、そこで出力される行動は「MOVE BACK」(後退)であるとされている。
【0082】
行動選択部62は、このような状態遷移表を参照することで状態を遷移させ、そのノードに設定されている行動を指示する情報を、本能・感情管理部26、コマンド生成部29等に出力する。
【0083】
そして、例えば、行動管理部27により管理され、遷移したノードに規定されている行動が「こんにちはを話す」である場合、コマンド生成部29は、行動管理部27からの指示に基づいて発話コマンドを生成し、音声合成部34に出力する。
【0084】
また、遷移したノードに規定されている行動が「後退する」である場合、コマンド生成部29は、行動管理部27からの指示に基づいて、それを実行させるコマンドを生成し、制御部31に出力する。また、コマンド生成部29は、ペットロボット1の「目」の位置に設けられているLED41を点灯、消灯または点滅させるとき、それを指示するコマンドを生成し、LED制御部30に出力する。
【0085】
LED制御部30は、コマンド生成部29から供給されてきたコマンドに基づいてLED41を制御する。
【0086】
制御部31は、コマンド生成部29から供給されるコマンドに基づいて、アクチュエータ3AA1乃至5A2を制御し、ペットロボット1の姿勢を現在の姿勢から次の姿勢に遷移させる。
【0087】
ここで、現在の姿勢から次に遷移可能な姿勢は、例えば、胴体や手や足の形状、重さ、各部の結合状態のようなペットロボット1の物理的形状と、関節が曲がる方向や角度のようなアクチュエータ3AA1乃至5A2の機構とによって決定される。
【0088】
なお、姿勢には、現在の姿勢から直接遷移可能な姿勢と、直接遷移できない姿勢がある。例えば、4本足のペットロボット1は、手足を大きく投げ出して寝転んでいる状態から、伏せた状態へ直接遷移することはできるが、立った状態へ直接遷移することはできず、一旦、手足を胴体近くに引き寄せて伏せた姿勢になり、それから立ち上がるという2段階の動作が必要である。また、安全に実行できない姿勢も存在する。例えば、ペットロボット1は、4本足で立っている姿勢から、両前足を挙げてバンザイをしようとすると、簡単に転倒してしまう。
【0089】
このため、制御部31は、直接遷移可能な姿勢をあらかじめ登録しておき、コマンド生成部29から供給されるコマンドが、直接遷移可能な姿勢を示す場合には、それに基づいて対応するアクチュエータを駆動する。
【0090】
一方、コマンド生成部29から供給されるコマンドが、直接遷移不可能な姿勢を示す場合には、制御部31は、遷移可能な他の姿勢に一旦遷移した後に、目的の姿勢まで遷移させるように、対応するアクチュエータを駆動する。これによりペットロボット1が、遷移不可能な姿勢を無理に実行しようとする事態や、転倒するような事態を回避することができる。
【0091】
旋律生成部32は、音声認識部24からキーワードが認識されたことが通知されてきたとき、そのキーワードのピッチ周波数を分析することを音声ピッチ分析部28に指示する。そして、旋律生成部32は、キーワードの音声が分析され、ピッチ周波数に基づいて選択された音階が音声ピッチ分析部28から通知されてきたとき、旋律データ記憶部33から所定の旋律データを読み出し、通知されてきた音階に基づいて、その旋律データを変換する。
【0092】
すなわち、旋律データ記憶部33には、ペットロボット1から出力される音(メロディ)の旋律データが、例えば、MIDI形式で複数用意されている。
【0093】
旋律生成部32は、例えば、旋律データの各音階に、音声ピッチ分析部28から供給されてきた音階で置換するなどの処理を施し、新たな旋律データを生成する。旋律生成部32により生成された旋律データは、音声合成部34に出力される。
【0094】
音声ピッチ分析部28は、旋律生成部32から指示されたとき、AD変換部21から供給されてきたキーワードの入力音声を分析し、個々の時刻のピッチ周波数を算出する。例えば、音声ピッチ分析部28は、ピッチ周波数に対応する時間シフト量を変量とし、自己相関係数が最大の値をとる時間シフト量に基づいて、入力音声の個々の時刻におけるピッチ周波数を算出する。例えば、音声ピッチ分析部28による入力音声のサンプリング周波数が16kHzであり、自己相関係数が最大の値をとる時間シフト量が118である場合、音声ピッチ分析部28は、ピッチ周波数f(Hz)をfPITCH=16000/118=135.59Hzと算出する。
【0095】
そして、音声ピッチ分析部28は、算出したピッチ周波数に基づいて、音階を選択するための所定のピッチ周波数を抽出し、抽出したピッチ周波数に対応する音階を選択する。音声ピッチ分析部28は、例えば、所定の期間の平均値からなるピッチ周波数を複数抽出し、それに基づいて複数の音階を選択する。音声ピッチ分析部28により選択された音階は、旋律生成部32に通知され、旋律データを変換するために利用される。
【0096】
音声合成部34は、コマンド生成部29から所定の発話コマンドと、その発話の内容を示すテキストデータが供給されてきたとき、内部に有する音声合成用辞書を参照し、そのテキストデータに対応する、例えば、WAVフォーマットなどによる音声データを生成する。
【0097】
より詳細には、この音声合成用辞書には、各単語の品詞情報や、読み、アクセント等の情報が記述された単語辞書、その単語辞書に記述された単語について、単語連鎖に関する制約等の生成用文法規則、音声情報としての音素片データが記憶された音声情報辞書が格納されている。
【0098】
音声合成部34は、単語辞書、および生成用文法規則に基づいて、入力されるテキストの形態素解析や、構文解析等のテキスト解析(言語解析)を行い、音声合成に必要な情報を抽出する。音声合成に必要な情報としては、例えば、ポーズの位置や、アクセント、イントネーション、パワー等を制御するための韻律情報、各単語の発音を表す音韻情報などがある。
【0099】
音声合成部34は、抽出した各種の情報に基づいて、音声情報辞書を参照しながら、必要な音素片データを接続し、さらに、音素片データの波形を加工することによって、ポーズ、アクセント、イントネーション等を適切に付加し、供給されてきたテキストデータに対応する音声データを生成する。
【0100】
音声合成部34により生成された音声データは、DA変換部35においてディジタルアナログ変換され、スピーカ14から出力される。
【0101】
また、音声合成部34は、旋律生成部32から旋律データが供給されてきたとき、それを再生し、スピーカ14から出力させる。
【0102】
次に、以上のような構成を有するペットロボット1の動作について説明する。
【0103】
始めに、図8のフローチャートを参照して、入力音声に基づいて選択した音階を利用して旋律データを生成し、それを再生するペットロボット1の処理について説明する。
【0104】
ステップS1において、音声認識部24は、音声認識の結果、キーワードを検出したか否かを判定し、キーワードを検出したと判定するまで待機する。例えば、ユーザにより発話された音声は、上述したようにマイクロフォン11により集音され、各処理が施された後、音声認識部24に供給されている。
【0105】
音声認識部24は、複数のキーワードを記憶しており、それに基づいて、入力されてきた音声がキーワードであるか否かを判定する。このキーワードは、例えば、周波数変化が比較的少なく、ピッチ周波数を抽出しやすい母音(例えば、「あ」の音)からなるものとしてもよい。
【0106】
そして、音声認識部24は、ステップS1において、キーワードを検出したと判定した場合、ステップS2に進み、それを行動管理部27、および旋律生成部32に通知する。
【0107】
ステップS3において、旋律生成部32は、音声ピッチ分析部28に対して、検出されたキーワードの分析を行うことを指示する。
【0108】
音声ピッチ分析部28は、ステップS4において、旋律生成部32からの指示に応じて、AD変換部21から供給されるキーワードの波形の分析を行い、ピッチ周波数を抽出する。
【0109】
図9は、ピッチ周波数を抽出する音声ピッチ分析部28の処理を説明する図である。なお、図9においては、キーワードとして「ららら」が検出された場合の例とされている。
【0110】
そして、図9の上方に示す図は、縦軸を音声の振幅、横軸を時刻とするキーワード「ららら」の波形を表わしている。また、図9の下方に示す図の縦軸はキーワード「ららら」のピッチ周波数を表わしており、横軸は時刻を表わしている。
【0111】
音声ピッチ分析部28は、図9の上方に示すようなキーワード「ららら」の波形が供給されてきたとき、それぞれの時刻のピッチ周波数を、上述したように時間シフト量とサンプリング周波数に基づいて算出する。
【0112】
そして、音声ピッチ分析部28は、例えば、それぞれの「ら」の音の音声区間(t1,t2,t3)を3等分し、3等分した音声区間のうち、中央の区間の平均のピッチ周波数をそれぞれ抽出する。この音声区間に関する情報は、音声区間検出部23により検出され、供給されてきたものである。
【0113】
図の例においては、音声区間t1が音声区間t11,t12,t13とそれぞれ3等分され、同様に、音声区間t2が音声区間t21,t22,t23とされ、音声区間t3が音声区間t31,t32,t33とされている。
【0114】
そして、音声区間t12の区間におけるピッチ周波数の平均値が131とされ、音声区間t22の区間におけるピッチ周波数の平均値が148とされ、音声区間t32の区間におけるピッチ周波数の平均値が163とされている。
【0115】
なお、このように、キーワードのそれぞれの音の中央の区間におけるピッチ周波数の平均値を算出し、それを抽出するだけでなく、様々な方法によりピッチ周波数を抽出することもできる。ピッチ周波数の抽出方法としては、例えば、キーワードのそれぞれの音の平均のピッチ周波数を抽出するようにしてもよいし、所定の区間における最大のピッチ周波数を抽出するようにしてもよい。また、それぞれの音の中央の時刻におけるピッチ周波数を抽出するようにしてもよい。
【0116】
そして、音声ピッチ分析部28は、ステップS5において、このようにして抽出したピッチ周波数に基づいて所定の音階を選択する。
【0117】
図10は、音声ピッチ分析部28が管理する、ピッチ周波数と音階の対応例を示す図である。図10の対応例は、「A4」を「440Hz」の音としたものであり、「C1」から「B7」までの音階と、それぞれの周波数が示されている。
【0118】
従って、音声ピッチ分析部28は、例えば、図9を参照して説明したように、「ららら」のキーワードから「131Hz,148Hz,163Hz」のピッチ周波数を抽出した場合、それぞれのピッチ周波数に対応する「C3,D3,E3」の音階を選択する。すなわち、音声ピッチ分析部28は、抽出したピッチ周波数に、最も近い周波数の音階を選択する。
【0119】
なお、ペットロボット1は、図10に示した周波数のうち、認識の容易さから、例えば、80Hz乃至400Hzの範囲のピッチ周波数を抽出するようになされている。
【0120】
このようにして音声ピッチ分析部28により選択された音階は、旋律生成部32に通知される。
【0121】
一方、行動管理部27は、ステップS6において、音声認識部24からキーワードが検出されたことが通知されてきたとき、旋律生成部32に対して、旋律データの生成を指示する。また、旋律生成部32に対しては、その指示とともに、変換する旋律データの識別情報も通知されている。
【0122】
ステップS7において、旋律生成部32は、行動管理部27から通知されてきた識別情報に対応する旋律データを旋律データ記憶部33から読み出し、音声ピッチ分析部28から供給されてきた音階に基づいて、新たな旋律データを生成する。
【0123】
図11は、旋律データ記憶部33に記憶されている旋律データを楽譜上に表わしたものの例を示す図であり、この旋律データ1−1の音階1乃至9はそれぞれ「C3,C3,E3,G3,C3,C3,E3,G3,C3(+12)」である。なお、音階9は、音階1(「C3」)を基準として、例えば、ピアノ上などで12鍵盤だけ上の音であることを示している。このように、旋律データを構成する音階の種類が、キーワードにより抽出された音階の数以上あるとき、旋律データを構成する所定の音階は、他の音階を基準として表わされる。
【0124】
そして、旋律生成部32は、新たな旋律データを生成するために、始めに、図12に示すように、各音階を所定の文字に置換する。なお、この処理は、説明の便宜上用いたものであり、実際には、旋律データ1−1から旋律データ1−3(図13)に直接変換されるようにしてもよい。
【0125】
例えば、旋律生成部32は、旋律データ1−1の「C3」を「X」に、「D3」を「Y」に、「E3」を「Z」にそれぞれ置換する。これにより、旋律データ1−1は、旋律データ1−2に示すように「X,X,Y,Z,X,X,Y,Z,X(+12)」となる。
【0126】
また、旋律生成部32は、旋律データ1−2の各文字に対して、音声ピッチ分析部28により選択された音階を対応付ける。図13は、音声ピッチ分析部28により選択された音階が対応付けられて、新たな旋律データが生成される処理を説明する図である。
【0127】
例えば、上述したように、キーワード「ららら」に基づいて「C3,D3,E3」の音階が音声ピッチ分析部28により選択された場合、旋律生成部32は、旋律データ1−2の「X,Y,Z」に「C3,D3,E3」をそれぞれ対応付ける。そして、旋律生成部32は、図に示すように「C3,C3,D3,E3,C3,C3,D3,E3,C3(+12)」の音階の並びからなる旋律データ1−3を生成する。すなわち、この時点において、キーワード「ららら」から抽出されたピッチ周波数に基づいて、予め用意されている旋律データ1−1が旋律データ1−3に変換されている(音階3および4、並びに音階7および8が他の音階にそれぞれ変換されている)。
【0128】
さらに、旋律生成部32は、以上のようにして生成した旋律データが比較的低い音の場合、生成した旋律データの各音を所定の数のオクターブだけ高音に遷移し、新たな旋律データを生成する。当然、生成した旋律データが比較的高い音の場合、数オクターブだけ下げるようにしてもよい。
【0129】
図14は、旋律データの各音階を、例えば、それぞれ3オクターブだけ遷移させて新たな旋律データを生成する旋律生成部32の処理を説明する図である。
【0130】
図に示すように、旋律データ1−3のそれぞれの音階が3オクターブだけ高音に遷移しており、「C6,C6,D6,E6,C6,C6,D6,E6,C6(+12)」の音階の並びからなる旋律データ1−4が生成されている。すなわち、予め用意されている旋律データ1−1から、旋律データ1−4が新たに生成されている。
【0131】
そして、旋律生成部32により生成された旋律データは、音声合成部34に出力される。
【0132】
音声合成部34は、ステップS8において、旋律生成部32から供給されてきた旋律データを再生し、スピーカ14から出力させる。なお、出力される音の長さは、旋律データ記憶部33に予め記憶されている旋律データの通りでもよいし、上述したようにして抽出されたピッチ周波数や、ピッチ周波数が検出された時刻、或いは検出区間の範囲などに基づいて変換されるようにしてもよい。
【0133】
図15は、旋律データ記憶部33に記憶されている他の旋律データと、その変換処理を説明する図である。
【0134】
図15において、旋律データ2−1の音の並びは「C3,E3,G3,E3,G3,C3(−5),E3,G3,E3,G3」とされている。そして、上述したように、キーワード「ららら」から「C3,D3,E3」の音階が選択された場合、旋律データ2−1の「C3,E3,G3」がそれぞれ「C3,D3,E3」に変換され(矢印▲1▼の処理)、「C3,D3,E3,D3,E3,C3(−5),D3,E3,D3,E3」の音の並びからなる旋律データ2−2に変換される。すなわち、この時点において、旋律データ2−1を構成する音階2乃至5、および音階7乃至10が他の音階にそれぞれ変換されている。
【0135】
また、旋律データ2−2の各音は、旋律生成部32により、それぞれ3オクターブだけ高音に遷移され(矢印▲2▼の処理)、「C6,D6,E6,D6,E6,C6(−5),D6,E6,D6,E6」の音の並びからなる旋律データ2−3が生成されている。そして、この旋律データ2−3が再生され、対応する音が出力される。
【0136】
図16は、旋律データ記憶部33に記憶されているさらに他の旋律データと、その変換処理を説明する図である。
【0137】
図16において、旋律データ3−1の音の並びは「C3,E3,G3,C3(+12),C3,E3,G3,C3(+12),C3(−5),C3(−1)」とされている。そして、上述したように、キーワード「ららら」から「C3,D3,E3」の音階が選択された場合、旋律データ3−1の「C3,E3,G3」がそれぞれ「C3,D3,E3」に変換され(矢印
【外1】
の処理)、「C3,D3,E3,C3(+12),C3,D3,E3,C3(+12),C3(−5),C3(−1)」の音の並びからなる旋律データ2−2に変換される。すなわち、この時点において、旋律データ2−1を構成する音階2および3、並びに音階6および7が他の音階にそれぞれ変換されている。
【0138】
また、旋律データ3−2の各音は、旋律生成部32により、それぞれ3オクターブだけ高音に遷移され(矢印
【外2】
の処理)、「C6,D6,E6,C6(+12),C6,D6,E6,C6(+12),C6(−5),C6(−1)」の音の並びからなる旋律データ3−3が生成される。そして、この旋律データ3−3が再生され、対応する音が出力されることになる。
【0139】
以上のように、予め用意されている旋律データを、キーワードの入力音声から抽出したピッチ周波数に基づいて変換することにより、仮に同じキーワードを複数のユーザが順次発話した場合であっても、同じ旋律データから、それぞれ異なる音が出力されることになる。
【0140】
従って、ペットロボット1から出力される音が予測のつかないものとなるため、ペットロボット1とのコミュニケーションが、より面白みのあるものとなる。
【0141】
以上においては、抽出したピッチ周波数に対応する音階を選択し、その音階に基づいて変換した後に得られる旋律データを、所定の数のオクターブだけ遷移させるとしたが、当然、反対に、抽出したピッチ周波数に対応する音階を選択し、その音階を所定の数のオクターブだけ遷移させたものを用いて、予め用意されている旋律データを変換するようにしてもよい。
【0142】
この場合、例えば、キーワード「ららら」のピッチ周波数に基づいて選択された「C3,D3,E3」の音階は、それぞれ3オクターブだけ高音に遷移されて「C6,D6,E6」の音階とされる。そして、例えば、図11の旋律データ1−1の「C3,E3,G3」がそれぞれ「C6,D6,E6」により変換されて、「C6,C6,D6,E6,C6,C6,D6,E6,C6(+12)」の音の並びからなる旋律データ1−4が生成される。
【0143】
また、ピッチ周波数に基づいて選択した音階を、単に所定の数のオクターブだけ遷移させるだけでなく、ペットロボット1による発話の周波数領域内の音に遷移させるようにしてもよい。
【0144】
図17は、ピッチ周波数に基づいて選択された音階を、所定の周波数の範囲に遷移させる処理を説明する図である。
【0145】
図17Aは、ピッチ周波数に基づいて選択された音階の例を示す図であり、上述したように、キーワード「ららら」に基づいて、「C3,D3,E3」の音階が選択されている。そして、選択された音階が、常に、ペットロボット1の標準発話域の範囲内にあるように、図17Bに示すように遷移される。
【0146】
例えば、この例においては、選択した音階の中央の音「D3」が「C6」の音に遷移されている。
【0147】
従って、このようにペットロボット1の標準発話域に遷移された音階「B5,C6,D6」に基づいて旋律データが変換された場合、旋律データ1−1は、「B5,B5,C6,D6,B5,B5,C6,D6,B5(+12)」の音の並びからなる旋律データに変換される。すなわち、変換された旋律データの各音階は、いずれも図17に示すペットロボット1の標準発話領域「F5」乃至「F6」の範囲内のものとなる。
【0148】
このように、ピッチ周波数に基づいて選択した音階を様々な領域に遷移することにより、ペットロボット1から出力される音を制御することができる。これにより、入力された音声の高低が、直接ペットロボット1から出力される音に現れることを抑制することができる。すなわち、このような周波数領域の遷移を行わない場合、高い声が入力された場合、それに応じて高音がペットロボット1から出力されることになる。
【0149】
以上においては、音声のピッチ周波数に対応する音階に基づいて旋律データを変換するとしたが、様々な情報に基づいて旋律データを変換し、それを出力させることもできる。
【0150】
次に、図18のフローチャートを参照して、感情の変化に基づいて選択した音階を利用して旋律データを生成し、それを再生するペットロボット1の処理について説明する。
【0151】
行動管理部27は、ステップS21において、本能・感情管理部26から通知されてくる内部情報に基づいて、ペットロボット1の感情の変化を検出したか否かを判定し、検出したと判定するまで待機する。
【0152】
そして、行動管理部27は、ステップS21において、感情の変化を検出したと判定した場合、ステップS22に進み、ペットロボット1の感情が変化したことを表わす情報を、変換する旋律データの識別情報とともに旋律生成部32に通知する。
【0153】
旋律生成部32は、ステップS23において、行動管理部27から感情が変化したことが通知されてきたとき、旋律データを変換するために用いる音階を、変化した感情に基づいて選択する。
【0154】
図19は、変化したペットロボット1の感情と、音階の対応例を示す図であり、このような対応が旋律生成部32に予め用意されている。
【0155】
この例においては、旋律生成部32は、感情が「JOY(うれしさ)」に変化したとき、「C,E,G」の音階を選択し、感情が「SAD(悲しさ)」に変化したとき、「C,D♯,G」の音階を選択し、感情が「ANGRY(怒り)」に変化したとき、「C,C,F」の音階を選択するとされている。また、旋律生成部32は、感情が「SURPRISE(驚き)」に変化したとき、「C,D♯,F♯」の音階を選択し、感情が「DISGUST(嫌悪)」に変化したとき、「C,F♯,C」の音階を選択し、感情が「FEAR(おそれ)」に変化したとき、「C,C♯,C」の音階を選択するとされている。
【0156】
例えば、「JOY(うれしさ)」にメジャーな音を対応付け、「SAD(悲しさ)」にマイナーな音を対応付けることにより、ペットロボット1の感情がうれしいときには、一般的に明るい感じがする音が出力されることになり、悲しいときには、一般的に暗く悲しげな感じがする音が出力されることになる。従って、ペットロボット1の感情を表現することができる。
【0157】
さらに、感情値が大きいときには、音程を上げると自然なので、感情値が10のときは音程を+10シフトすることも考えられる。
【0158】
そして、ステップS24において、旋律生成部32は、行動管理部27から指示された旋律データを旋律データ記憶部33から読み出し、選択した音階に基づいて、その旋律データを変換する。
【0159】
図20は、旋律データの変換処理を説明する図である。
【0160】
図20においては、図11に示した旋律データ1−1を変換する場合の例とされ、また、旋律生成部32に対して、感情が「ANGRY(怒り)」に変化したことが通知されてきた場合の例とされている。
【0161】
従って、旋律生成部32は、図19に示したような対応テーブルから、「C,C,F」の音階を選択し、それに基づいて旋律データ1−1を変換する。例えば、旋律生成部32は、出力される音がペットロボット1の標準発話域内のものとなるように、選択した音階「C,C,F」を「C6,C6,F6」とし、旋律データ1−1の「C3,E3,G3」を、それぞれ「C6,C6,F6」で変換する。
【0162】
そして、以上のような変換により「C6,C6,C6,F6,C6,C6,C6,F6,C6(+12)」の音の並びからなる旋律データ1−5が生成される。
【0163】
また、例えば、ペットロボット1の感情が「SAD(悲しさ)」に変化したことが通知されてきた場合、旋律生成部32は、「C,D♯,G」の音階を選択し、出力される音がペットロボット1の標準発話域内のものとなるように、その音階を「C6,D6♯,G6」とする。そして、旋律生成部32は、「C6,D6♯,G6」の音階を用いて旋律データ1−1を変換し、「C6,C6,D6♯,G6,C6,C6,D6♯,G6,C6(+12)」の音の並びからなる新たな旋律データを生成する。
【0164】
このようにして生成された旋律データは、音声合成部34に供給され、ステップS25において、音声合成部34により再生される。
【0165】
以上のように、ペットロボット1により検出された様々な情報に基づいて、予め用意されている旋律データを変換し、新たな旋律データを生成することができる。例えば、カメラ12により撮像された画像に含まれる、所定の色(光)の割合を抽出し、それに基づいて音階を選択するようにしてもよいし、タッチセンサ13により検出された外部からの圧力のレベルに基づいて、音階を選択し、それを利用して新たな旋律データを生成するようにしてもよい。また、マイクロフォン11により集音された音声などの音量に基づいて新たな旋律データを生成することもできる。
【0166】
これにより、ユーザの予測のできない、無数のパターンの音(メロディ)をペットロボット1に出力させることができる。また、予め用意しておく旋律データの数を減らすことが可能となる。
【0167】
上述した各種の処理は、図1に示したような動物型のロボットに実行させるだけでなく、例えば、2足歩行が可能な人間型のロボットや、コンピュータ内で活動する仮想ロボット等に実行させるようにしてもよい。
【0168】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。この場合、そのソフトウェアを実行させる情報処理装置は、例えば、図21に示されるようなパーソナルコンピュータにより構成される。
【0169】
図21において、CPU71は、ROM(Read Only Memory)72に記憶されているプログラム、または、記憶部78からRAM(Random Access Memory)73にロードされたプログラムに従って各種の処理を実行する。RAM73にはまた、CPU71が各種の処理を実行する上において必要なデータなどが適宜記憶される。
【0170】
CPU71、ROM72、およびRAM73は、バス74を介して相互に接続されている。このバス74にはまた、入出力インタフェース75も接続されている。
【0171】
入出力インタフェース75には、キーボード、マウスなどよりなる入力部76、CRT(Cathode Ray Tube),LCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部77、ハードディスクなどより構成される記憶部78、モデム、ターミナルアダプタなどより構成される通信部79が接続されている。通信部79は、ネットワークを介しての通信処理を行う。
【0172】
入出力インタフェース75にはまた、必要に応じてドライブ80が接続され、磁気ディスク81、光ディスク82、光磁気ディスク83、或いは半導体メモリ84などが適宜装着される。
【0173】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、図21に示すような汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【0174】
この記録媒体は、図21に示すように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク81(フロッピディスクを含む)、光ディスク82(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク83(MD(登録商標)(Mini-Disk)を含む)、もしくは半導体メモリ84などよりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM72や、記憶部78に含まれるハードディスクなどで構成される。
【0175】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0176】
【発明の効果】
本発明の第1のロボット装置、並びにプログラムによれば、ユーザからの発話に応じて、より好適な応答を行うことができる。
【0177】
本発明の第2のロボット装置、並びにプログラムによれば、ユーザが予測のできない音を発生することができる。
【図面の簡単な説明】
【図1】本発明を適用したペットロボットの外観の例を示す斜視図である。
【図2】図1のペットロボットの内部構成の例を示すブロック図である。
【図3】図1のペットロボットの機能構成の例を示すブロック図である。
【図4】図3の本能・感情管理部の機能の例を模式的に示す図である。
【図5】図3の行動管理部の機能の例を模式的に示す図である。
【図6】有限オートマトンの例を示す図である。
【図7】状態の遷移確率の例を示す図である
【図8】図1のペットロボットの処理を説明するフローチャートである。
【図9】ピッチ周波数を抽出する処理を説明する図である。
【図10】音階とピッチ周波数との対応例を示す図である
【図11】旋律データの例を示す図である。
【図12】旋律データを変換する処理を説明する図である。
【図13】旋律データを変換する他の処理を説明する図である。
【図14】旋律データを変換するさらに他の処理を説明する図である。
【図15】他の旋律データを変換する処理を説明する図である。
【図16】さらに他の旋律データを変換する処理を説明する図である。
【図17】音階の遷移を説明する図である。
【図18】図1のペットロボットの他の処理を説明するフローチャートである。
【図19】感情と音階の対応例を示す図である。
【図20】旋律データを変換する処理を説明する図である。
【図21】パーソナルコンピュータの例を示すブロック図である。
【符号の説明】
10 コントローラ, 11 マイクロフォン, 14 スピーカ, 21 AD変換部, 22 音声特徴量分析部, 23 音声区間検出部, 24 音声認識部, 26 本能・感情管理部, 27 行動管理部, 28 音声ピッチ分析部, 32 旋律生成部, 33 旋律データ記憶部, 34 音声合成部, 35 DA変換部, 81 磁気ディスク, 82 光ディスク, 83 光磁気ディスク, 84 半導体メモリ[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a robot apparatus. , A robot apparatus that enables a more suitable response to a recording medium and a program, in particular, according to an utterance from a user. , The present invention relates to a recording medium and a program.
[0002]
[Prior art]
In recent years, for example, an entertainment pet robot has been realized that autonomously performs various actions in accordance with the surrounding environment and its internal state.
[0003]
Such a pet robot, for example, makes a sound that responds when spoken by the user, or a sound that indicates angry when the user hits the head. ing. Further, when the user does not play much and the feeling of the internal state becomes "Sad", a sound indicating "Sad" (notifying that he wants to play) is made.
[0004]
[Problems to be solved by the invention]
However, since the sound data output from the pet robot is prepared in advance in the pet robot, there is a problem that the type is limited from the viewpoint of the built-in storage capacity. there were. That is, the output sound will be patterned.
[0005]
Therefore, if the behavior is observed for a while, the user can easily predict the sound emitted from the pet robot next, and the communication with the pet robot becomes less interesting. .
[0006]
The present invention has been made in view of such a situation, and can provide a more suitable response in response to a call from a user.
[0007]
[Means for Solving the Problems]
The first robot apparatus of the present invention is extracted by the storage means for storing the first melody data composed of the first scale, the extraction means for extracting the pitch frequency of the input voice, and the extraction means. The selection means for selecting the second scale based on the pitch frequency and the first scale constituting the first melody data stored in the storage means are converted into the second scale selected by the selection means. And generating means for generating the second melody data, and reproducing means for reproducing the second melody data generated by the generating means.
[0008]
The extracting means can extract the pitch frequency of the voice representing the predetermined keyword.
[0009]
The extraction means can extract the pitch frequency of the voice including vowels.
[0010]
The extraction means can extract an average value of pitch frequencies detected during a predetermined period of the voice as the pitch frequency.
[0011]
The generating means can generate the second melody data by shifting the second scale by a predetermined number of octaves.
[0013]
The program of the first recording medium of the present invention includes a storage control step for controlling storage of the first melody data composed of the first scale, and an extraction step for controlling extraction of the pitch frequency of the input voice. The selection step for selecting the second scale based on the pitch frequency extracted by the processing of the extraction step, and the first scale constituting the first melody data stored by the processing of the storage control step are selected. A generation step for generating the second melody data by converting to the second scale selected by the step processing, and a reproduction control step for controlling the reproduction of the second melody data generated by the generation step processing It is characterized by including.
[0014]
The first program of the present invention includes a storage control step for controlling the storage of the first melody data composed of the first scale, an extraction step for controlling the extraction of the pitch frequency of the input voice, and an extraction step. The selection step of selecting the second scale based on the pitch frequency extracted by the processing of the step, and the first scale constituting the first melody data stored by the processing of the storage control step, processing of the selection step Including a generation step of generating second melody data by converting to the second scale selected by the step, and a reproduction control step of controlling the reproduction of the second melody data generated by the processing of the generation step. Features.
[0015]
The second robot apparatus of the present invention has a storage means for storing the first melody data composed of the first scale, a management means for managing its own internal state, and an internal state managed by the management means. When changing, the selecting means for selecting the second scale corresponding to the change of the internal state, and the first scale constituting the first melody data stored in the storing means is selected by the selecting means. And generating means for generating second melody data by converting into two scales, and reproducing means for reproducing the second melody data generated by the generating means.
[0016]
The generating means can generate the second melody data by shifting the second scale by a predetermined number of octaves.
[0018]
The program of the second recording medium of the present invention includes a storage control step for controlling storage of the first melody data composed of the first scale, a management step for managing its own internal state, and processing of the management step When the internal state managed by the control changes, the selection step of selecting the second scale corresponding to the change of the internal state, and the first melody data stored in the first melody data stored by the processing of the storage control step A generation step for converting the musical scale to the second musical scale selected by the processing of the selection step to generate second melody data, and reproduction for controlling the reproduction of the second melody data generated by the processing of the generation step And a control step.
[0019]
The second program of the present invention is managed by the storage control step for controlling the storage of the first melody data composed of the first scale, the management step for managing its own internal state, and the processing of the management step. When the internal state changes, the selection step of selecting the second scale corresponding to the change of the internal state, and the first scale constituting the first melody data stored by the processing of the storage control step, A generation step for generating the second melody data by converting to the second scale selected by the process of the selection step, and a reproduction control step for controlling the reproduction of the second melody data generated by the process of the generation step; It is characterized by including.
[0020]
First robot apparatus of the present invention , In the program, the first melody data composed of the first scale is stored, the pitch frequency of the input voice is extracted, and the second scale is selected based on the extracted pitch frequency. Further, the first musical scale constituting the stored first musical melody data is converted into the selected second musical scale to generate second melody data, and the second melody data is reproduced.
[0021]
Second robot apparatus of the present invention , In the program, the first melody data composed of the first scale is stored, and the internal state is managed. When the managed internal state changes, the second melody corresponding to the change in the internal state is stored. A scale is selected. In addition, the first scale constituting the stored first melody data is converted to the selected second scale to generate the second melody data, and the generated second melody data is reproduced. Is done.
[0022]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is a perspective view showing an example of an external configuration of a
[0023]
As shown in the figure, for example, the
[0024]
The
[0025]
In the
[0026]
Therefore, even if one type of melody data is converted into melody data corresponding to the utterance from the user each time, the sound corresponding to the user's singing is output from the
[0027]
FIG. 2 is a block diagram showing an example of the internal configuration of the
[0028]
The
[0029]
In addition to the
[0030]
As shown in FIG. 2, the
[0031]
The joint portions of the
[0032]
In the example of FIG. 2, the
[0033]
The
[0034]
Based on the audio signal, image signal, and pressure detection signal given from the
[0035]
In addition, the
[0036]
FIG. 3 is a block diagram illustrating a functional configuration example of the
[0037]
The audio signal from the
[0038]
The voice feature
[0039]
Based on the feature parameters supplied from the voice feature
[0040]
The
[0041]
Then, the
[0042]
Specifically, the
[0043]
That is, the
[0044]
For example, the
[0045]
The image signal captured by the
[0046]
This image recognition unit performs image recognition using an image signal given from the
[0047]
The touch sensor input processing unit processes the pressure detection signal given from the
[0048]
The instinct /
[0049]
FIG. 4 is a diagram schematically illustrating an example of a functional configuration of the instinct /
[0050]
The emotion model 51 includes, for example, emotion states (degrees) such as “joyfulness”, “sadness”, “anger”, “surprise”, “fear”, “disgust”, etc. within a predetermined range (for example, 0 to 100) and the like, and the values are changed based on the output from the
[0051]
In this example, the emotion model 51 includes an
[0052]
The instinct model 52 represents, for example, the state (degree) of desires based on instinct such as “appetite”, “sleep desire”, “exercise desire”, etc., by a predetermined range of instinct parameters. The value is changed based on the output from the
[0053]
In this example, the instinct model 52 includes an
[0054]
The instinct /
[0055]
Further, the parameters of the
[0056]
For example, when the
[0057]
Further, the parameters of each unit are changed not only between each unit constituting the emotion model 51 and each unit constituting the instinct model 52 but also across both models.
[0058]
For example, as shown in the figure, “sadness” of the emotion model 51 is expressed in accordance with changes in the parameters of the instinct unit 52B representing “loving desire” of the instinct model 52 and the instinct unit 52C representing “appetite”. The parameters of the
[0059]
Specifically, when the parameter of the instinct unit 52C representing “appetite” increases, the parameters of the
[0060]
More specifically, not only the emotion model 51 and the instinct model 52 but also a growth model is prepared in the instinct /
[0061]
The instinct /
[0062]
In addition to the recognition information supplied from the
[0063]
For example, when the
[0064]
Returning to the description of FIG. 3, the
[0065]
FIG. 5 is a schematic diagram illustrating a functional configuration example of the
[0066]
The
[0067]
In the example shown in the figure, the behavior model library 61 includes a ball-corresponding
[0068]
Then, the action selection unit 62 refers to the information supplied from the
[0069]
In addition, the action selection unit 62 determines which state represents a transition from the node representing the current state of the
[0070]
In the finite probability automaton shown in FIG. 6, for example, the current state is node 0 (NODE 0 ), The probability P 1 At node 1 (NODE 1 ) And the probability P 2 At node 2 (NODE 2 ) And the probability P n At node n (NODE n ). This finite probability automaton has a probability P n-1 At node 0 (NODE 0 ), That is, no transition to any node.
[0071]
Each behavior model defined in the behavior model library 61 is composed of nodes representing a plurality of states, and each node has a state transition table in which the probability of transition to another node is described. Has been.
[0072]
FIG. 7 shows a node 100 (NODE belonging to a predetermined behavior model defined in the behavior model library 61. 100 It is a figure which shows the example of the state transition table of ().
[0073]
In FIG. 7, an input event as a condition for transitioning to another node (or its own node) is described in the “input event name” column, and the “input event name” defined as the transition condition is Further conditions are described in the columns “Data Name” and “Data Range”.
[0074]
In the example of the figure, the information for which the ID “1” is set is that information related to “ball detected” (input event name “BALL”) is notified to the
[0075]
The information set with the ID “2” is “40%” when information regarding “tapping the head” (input event name “PAT”) is notified to the
[0076]
Further, the information set with the ID “3” is “20%” when the
[0077]
In the information set with the ID “4”, the information regarding “detected obstacle” (input event name “OBSTACLE”) is notified to the
[0078]
Further, in this example, even when there is no input from the
[0079]
For example, when the parameter of the
[0080]
When the parameter of the emotion unit 51D representing “SURPRISE” of the emotion model 51 is in the range of “50 to 100”, the information in which the
[0081]
In the state transition table of FIG. 7, the behavior output when the transition is made to each node is described in the “output behavior” column. For example, when the transition is made to the
[0082]
The action selection unit 62 refers to such a state transition table to change the state, and outputs information indicating the action set in the node to the instinct /
[0083]
Then, for example, is managed by the
[0084]
In addition, when the action specified for the transitioned node is “retreat”, the
[0085]
The
[0086]
Based on the command supplied from the
[0087]
Here, the posture that can be transitioned from the current posture is, for example, the physical shape of the
[0088]
Note that there are postures that can be directly transitioned from the current posture and postures that cannot be directly transitioned. For example, a four-
[0089]
For this reason, the
[0090]
On the other hand, when the command supplied from the
[0091]
When the melody generation unit 32 is notified from the
[0092]
That is, in the melody
[0093]
For example, the melody generation unit 32 performs processing such as replacing each scale of the melody data with a scale supplied from the voice
[0094]
When instructed by the melody generator 32, the
[0095]
Then, the voice
[0096]
When a predetermined utterance command and text data indicating the content of the utterance are supplied from the
[0097]
More specifically, in this speech synthesis dictionary, a word dictionary in which information such as part-of-speech information of each word, information of reading, accent, etc. is described, and generation of constraints on word chain for the words described in the word dictionary A speech information dictionary storing phoneme segment data as speech grammar rules and speech information is stored.
[0098]
The
[0099]
The
[0100]
The voice data generated by the
[0101]
When the melody data is supplied from the melody generation unit 32, the
[0102]
Next, the operation of the
[0103]
First, the process of the
[0104]
In step S1, the
[0105]
The
[0106]
If the
[0107]
In step S3, the melody generation unit 32 instructs the voice
[0108]
In step S4, the voice
[0109]
FIG. 9 is a diagram for explaining the processing of the voice
[0110]
The diagram shown in the upper part of FIG. 9 represents the waveform of the keyword “Larala” with the vertical axis representing the amplitude of the voice and the horizontal axis representing the time. In addition, the vertical axis of the diagram shown in the lower part of FIG. 9 represents the pitch frequency of the keyword “Larala”, and the horizontal axis represents time.
[0111]
The voice
[0112]
Then, the voice
[0113]
In the example of the figure, the voice section t 1 Is the voice interval t 11 , T 12 , T 13 Are divided into three equal parts, and similarly, the voice interval t 2 Is the voice interval t twenty one , T twenty two , T twenty three And the voice interval t Three Is the voice interval t 31 , T 32 , T 33 It is said that.
[0114]
And the voice interval t 12 The average value of the pitch frequency in the section is 131, and the voice section t twenty two The average value of the pitch frequency in the section is 148, and the voice section t 32 The average value of the pitch frequency in this section is 163.
[0115]
As described above, the average value of the pitch frequencies in the central section of each sound of the keyword is not only calculated and extracted, but the pitch frequencies can be extracted by various methods. As a pitch frequency extraction method, for example, an average pitch frequency of each sound of a keyword may be extracted, or a maximum pitch frequency in a predetermined section may be extracted. Alternatively, the pitch frequency at the center time of each sound may be extracted.
[0116]
Then, in step S5, the voice
[0117]
FIG. 10 is a diagram illustrating a correspondence example between the pitch frequency and the scale managed by the voice
[0118]
Therefore, for example, as described with reference to FIG. 9, when the pitch frequency of “131 Hz, 148 Hz, 163 Hz” is extracted from the keyword “Larala”, the voice
[0119]
Note that the
[0120]
The scale selected by the voice
[0121]
On the other hand, the
[0122]
In step S7, the melody generation unit 32 reads out melody data corresponding to the identification information notified from the
[0123]
FIG. 11 is a diagram showing an example of the melody data stored in the melody
[0124]
Then, in order to generate new melody data, the melody generation unit 32 first replaces each scale with a predetermined character as shown in FIG. This process is used for convenience of explanation, and in actuality, the melody data 1-1 may be directly converted into the melody data 1-3 (FIG. 13).
[0125]
For example, the melody generation unit 32 replaces “C3”, “D3” with “Y”, and “E3” with “Z” in the melody data 1-1. As a result, the melody data 1-1 becomes “X, X, Y, Z, X, X, Y, Z, X (+12)” as shown in the melody data 1-2.
[0126]
The melody generation unit 32 associates the scale selected by the voice
[0127]
For example, as described above, when the scale of “C3, D3, E3” is selected by the voice
[0128]
Further, when the melody data generated as described above is a relatively low tone, the melody generation unit 32 generates a new melody data by shifting each tone of the generated melody data to a high tone by a predetermined number of octaves. To do. Of course, when the generated melody data has a relatively high sound, it may be lowered by a few octaves.
[0129]
FIG. 14 is a diagram for explaining the processing of the melody generation unit 32 for generating new melody data by shifting each scale of the melody data by, for example, 3 octaves.
[0130]
As shown in the figure, each scale of the melody data 1-3 has shifted to a high tone by 3 octaves, and the scale of “C6, C6, D6, E6, C6, C6, D6, E6, C6 (+12)”. The melody data 1-4 consisting of these sequences is generated. That is, melody data 1-4 is newly generated from melody data 1-1 prepared in advance.
[0131]
The melody data generated by the melody generation unit 32 is output to the
[0132]
In step S <b> 8, the
[0133]
FIG. 15 is a diagram for explaining other melody data stored in the melody
[0134]
In FIG. 15, the sound arrangement of the melody data 2-1 is “C3, E3, G3, E3, G3, C3 (−5), E3, G3, E3, G3”. Then, as described above, when the scale “C3, D3, E3” is selected from the keyword “Larala”, “C3, E3, G3” in the melody data 2-1 becomes “C3, D3, E3”, respectively. Converted (process of arrow (1)) and converted into melody data 2-2 consisting of a sequence of sounds of “C3, D3, E3, D3, E3, C3 (−5), D3, E3, D3, E3”. The That is, at this time, scales 2 to 5 and
[0135]
Further, each sound of the melody data 2-2 is shifted to a high tone by 3 octaves by the melody generation unit 32 (processing of arrow (2)), and “C6, D6, E6, D6, E6, C6 (−5”). ), D6, E6, D6, E6 ", melody data 2-3 is generated. And this melody data 2-3 is reproduced | regenerated and a corresponding sound is output.
[0136]
FIG. 16 is a diagram for explaining still another melody data stored in the melody
[0137]
In FIG. 16, the arrangement of sounds in the melody data 3-1 is “C3, E3, G3, C3 (+12), C3, E3, G3, C3 (+12), C3 (−5), C3 (−1)”. Has been. Then, as described above, when the scale of “C3, D3, E3” is selected from the keyword “Larala”, “C3, E3, G3” of the melody data 3-1 becomes “C3, D3, E3”, respectively. Converted (arrow
[Outside 1]
), Melody data 2-2 consisting of a sequence of sounds "C3, D3, E3, C3 (+12), C3, D3, E3, C3 (+12), C3 (-5), C3 (-1)" Is converted to That is, at this time, scales 2 and 3 and
[0138]
Each sound of the melody data 3-2 is shifted to a high tone by 3 octets by the melody generator 32 (arrows).
[Outside 2]
Melody data 3-3 consisting of a sequence of sounds "C6, D6, E6, C6 (+12), C6, D6, E6, C6 (+12), C6 (-5), C6 (-1)" Is generated. Then, this melody data 3-3 is reproduced and the corresponding sound is output.
[0139]
As described above, the melody data prepared in advance is converted based on the pitch frequency extracted from the input voice of the keyword, so that even if a plurality of users utter the same keyword, the same melody Different sounds are output from the data.
[0140]
Therefore, since the sound output from the
[0141]
In the above, the scale corresponding to the extracted pitch frequency is selected, and the melody data obtained after conversion based on the scale is shifted by a predetermined number of octaves. A melody data prepared in advance may be converted by selecting a scale corresponding to the frequency and using the scale shifted by a predetermined number of octaves.
[0142]
In this case, for example, the scale of “C3, D3, E3” selected based on the pitch frequency of the keyword “Larala” is shifted to a high tone by 3 octaves to be the scale of “C6, D6, E6”. . Then, for example, “C3, E3, G3” of the melody data 1-1 in FIG. 11 is converted by “C6, D6, E6”, respectively, and “C6, C6, D6, E6, C6, C6, D6, E6” are converted. , C6 (+12) "melody data 1-4 is generated.
[0143]
Further, the scale selected based on the pitch frequency may be shifted not only to a predetermined number of octaves but also to a sound within the frequency range of the utterance by the
[0144]
FIG. 17 is a diagram illustrating a process of transitioning a scale selected based on the pitch frequency to a predetermined frequency range.
[0145]
FIG. 17A is a diagram illustrating an example of a scale selected based on the pitch frequency. As described above, the scale of “C3, D3, E3” is selected based on the keyword “Larala”. Then, transition is made as shown in FIG. 17B so that the selected scale is always within the standard utterance range of the
[0146]
For example, in this example, the sound “D3” at the center of the selected scale is changed to the sound “C6”.
[0147]
Therefore, when the melody data is converted based on the scale “B5, C6, D6” shifted to the standard utterance range of the
[0148]
Thus, the sound output from the
[0149]
In the above description, the melody data is converted based on the scale corresponding to the pitch frequency of the voice. However, the melody data can be converted based on various information and output.
[0150]
Next, processing of the
[0151]
In step S21, the
[0152]
If the
[0153]
In step S23, the melody generation unit 32 selects a scale to be used for converting the melody data based on the changed emotion when it is notified from the
[0154]
FIG. 19 is a diagram showing an example of correspondence between the changed emotion of the
[0155]
In this example, when the emotion changes to “JOY”, the melody generation unit 32 selects the scale of “C, E, G”, and the emotion changes to “SAD (sadness)”. When the scale of “C, D #, G” is selected and the emotion changes to “ANGRY”, the scale of “C, C, F” is selected. The melody generation unit 32 selects the scale of “C, D #, F #” when the emotion changes to “SURPRISE (surprise)”, and when the emotion changes to “DISGUST (disgust)” The scale of “C, F #, C” is selected, and when the emotion changes to “FEAR”, the scale of “C, C #, C” is selected.
[0156]
For example, when a major sound is associated with “JOY” and a minor sound is associated with “SAD (sadness)”, when the
[0157]
Furthermore, when the emotion value is large, it is natural to raise the pitch, so when the emotion value is 10, the pitch can be shifted by +10.
[0158]
In step S24, the melody generation unit 32 reads out the melody data instructed from the
[0159]
FIG. 20 is a diagram for explaining melody data conversion processing.
[0160]
FIG. 20 shows an example in which the melody data 1-1 shown in FIG. 11 is converted, and the melody generation unit 32 is notified that the emotion has changed to “ANGRY (angry)”. This is an example.
[0161]
Therefore, the melody generation unit 32 selects the scale of “C, C, F” from the correspondence table as shown in FIG. 19 and converts the melody data 1-1 based on the scale. For example, the melody generation unit 32 sets the selected scale “C, C, F” to “C6, C6, F6” so that the output sound is within the standard utterance range of the
[0162]
Then, melody data 1-5 including a sequence of sounds “C6, C6, C6, F6, C6, C6, C6, F6, C6 (+12)” is generated by the above-described conversion.
[0163]
Further, for example, when it is notified that the emotion of the
[0164]
The melody data generated in this way is supplied to the
[0165]
As described above, based on various information detected by the
[0166]
This allows the
[0167]
The various processes described above are not only executed by an animal-type robot as shown in FIG. 1, but are also executed by, for example, a humanoid robot capable of bipedal walking, a virtual robot active in a computer, or the like. You may do it.
[0168]
The series of processes described above can be executed by hardware, but can also be executed by software. In this case, the information processing apparatus that executes the software is configured by a personal computer as shown in FIG. 21, for example.
[0169]
In FIG. 21, the
[0170]
The
[0171]
The input /
[0172]
A
[0173]
When a series of processing is executed by software, a program constituting the software is installed from a network or a recording medium into a general-purpose personal computer as shown in FIG.
[0174]
As shown in FIG. 21, the recording medium is distributed to provide a program to the user separately from the apparatus main body, and includes a magnetic disk 81 (including a floppy disk) on which the program is recorded, an optical disk 82 (CD -Package media including ROM (compact disk-read only memory), DVD (digital versatile disk), magneto-optical disk 83 (including MD (registered trademark) (mini-disk)), or semiconductor memory 84 In addition to being configured, it is configured by a
[0175]
In the present specification, the step of describing the program recorded in the recording medium is not limited to the processing performed in time series according to the described order, but is not necessarily performed in time series, either in parallel or individually. The process to be executed is also included.
[0176]
【The invention's effect】
First robot apparatus of the present invention , And according to the program , A more suitable response can be performed according to the utterance from the user.
[0177]
Second robot apparatus of the present invention , And according to the program , Sound that the user cannot predict can be generated.
[Brief description of the drawings]
FIG. 1 is a perspective view showing an example of the appearance of a pet robot to which the present invention is applied.
FIG. 2 is a block diagram showing an example of an internal configuration of the pet robot of FIG. 1;
FIG. 3 is a block diagram illustrating an example of a functional configuration of the pet robot of FIG. 1;
4 is a diagram schematically illustrating an example of a function of an instinct / emotion management unit in FIG. 3;
FIG. 5 is a diagram schematically illustrating an example of a function of the behavior management unit in FIG. 3;
FIG. 6 is a diagram illustrating an example of a finite automaton.
FIG. 7 is a diagram illustrating an example of a state transition probability
FIG. 8 is a flowchart for explaining processing of the pet robot of FIG. 1;
FIG. 9 is a diagram illustrating processing for extracting a pitch frequency.
FIG. 10 is a diagram illustrating an example of correspondence between a musical scale and a pitch frequency.
FIG. 11 is a diagram illustrating an example of melody data.
FIG. 12 is a diagram for explaining processing for converting melody data;
FIG. 13 is a diagram illustrating another process for converting melody data.
FIG. 14 is a diagram illustrating still another process for converting melody data.
FIG. 15 is a diagram illustrating a process for converting other melody data.
FIG. 16 is a diagram illustrating a process for converting other melody data.
FIG. 17 is a diagram for explaining musical scale transition;
18 is a flowchart for explaining another process of the pet robot of FIG. 1. FIG.
FIG. 19 is a diagram illustrating an example of correspondence between emotions and musical scales.
FIG. 20 is a diagram for explaining processing for converting melody data;
FIG. 21 is a block diagram illustrating an example of a personal computer.
[Explanation of symbols]
10 controllers, 11 microphones, 14 speakers, 21 AD conversion units, 22 speech feature analysis units, 23 speech segment detection units, 24 speech recognition units, 26 instinct / emotion management units, 27 behavior management units, 28 speech pitch analysis units, 32 melody generation unit, 33 melody data storage unit, 34 speech synthesis unit, 35 DA conversion unit, 81 magnetic disk, 82 optical disk, 83 magneto-optical disk, 84 semiconductor memory
Claims (11)
入力された音声のピッチ周波数を抽出する抽出手段と、
前記抽出手段により抽出された前記ピッチ周波数に基づいて第2の音階を選択する選択手段と、
前記記憶手段により記憶されている前記第1の旋律データを構成する前記第1の音階を、前記選択手段により選択された前記第2の音階に変換して第2の旋律データを生成する生成手段と、
前記生成手段により生成された前記第2の旋律データを再生する再生手段と
を備えることを特徴とするロボット装置。Storage means for storing first melody data composed of a first scale;
Extraction means for extracting the pitch frequency of the input voice;
Selecting means for selecting a second scale based on the pitch frequency extracted by the extracting means;
Generation means for converting the first scale constituting the first melody data stored in the storage means into the second scale selected by the selection means to generate second melody data When,
Reproducing means for reproducing the second melody data generated by the generating means. A robot apparatus comprising:
ことを特徴とする請求項1に記載のロボット装置。The robot apparatus according to claim 1, wherein the extraction unit extracts a pitch frequency of the voice representing a predetermined keyword.
ことを特徴とする請求項1に記載のロボット装置。The robot apparatus according to claim 1, wherein the extraction unit extracts a pitch frequency of the voice including vowels.
ことを特徴とする請求項1に記載のロボット装置。The robot apparatus according to claim 1, wherein the extraction unit extracts an average value of pitch frequencies detected during a predetermined period of the voice as the pitch frequency.
ことを特徴とする請求項1に記載のロボット装置。 2. The robot apparatus according to claim 1, wherein the generation unit further generates the second melody data by further shifting the second scale by a predetermined number of octaves .
入力された音声のピッチ周波数を抽出する抽出ステップと、
前記抽出ステップの処理により抽出された前記ピッチ周波数に基づいて第2の音階を選択する選択ステップと、
前記記憶制御ステップの処理により記憶されている前記第1の旋律データを構成する前記第1の音階を、前記選択ステップの処理により選択された前記第2の音階に変換して第2の旋律データを生成する生成ステップと、
前記生成ステップの処理により生成された前記第2の旋律データの再生を制御する再生制御ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。A storage control step for controlling storage of the first melody data composed of the first scale;
An extraction step for extracting the pitch frequency of the input voice;
A selection step of selecting a second scale based on the pitch frequency extracted by the processing of the extraction step;
Second melody data obtained by converting the first scale constituting the first melody data stored by the process of the storage control step into the second scale selected by the process of the selection step. A generation step for generating
And a reproduction control step for controlling reproduction of the second melody data generated by the processing of the generation step. A recording medium on which a computer-readable program is recorded.
入力された音声のピッチ周波数を抽出する抽出ステップと、
前記抽出ステップの処理により抽出された前記ピッチ周波数に基づいて第2の音階を選択する選択ステップと、
前記記憶制御ステップの処理により記憶されている前記第1の旋律データを構成する前記第1の音階を、前記選択ステップの処理により選択された前記第2の音階に変換して第2の旋律データを生成する生成ステップと、
前記生成ステップの処理により生成された前記第2の旋律データの再生を制御する再生制御ステップと
をコンピュータに実行させるプログラム。A storage control step for controlling storage of the first melody data composed of the first scale;
An extraction step for extracting the pitch frequency of the input voice;
A selection step of selecting a second scale based on the pitch frequency extracted by the processing of the extraction step;
Second melody data obtained by converting the first scale constituting the first melody data stored by the process of the storage control step into the second scale selected by the process of the selection step. A generation step for generating
A reproduction control step for controlling reproduction of the second melody data generated by the processing of the generation step.
自らの内部状態を管理する管理手段と、
前記管理手段により管理される前記内部状態が変化したとき、前記内部状態の変化に対応する第2の音階を選択する選択手段と、
前記記憶手段により記憶されている前記第1の旋律データを構成する前記第1の音階を、前記選択手段により選択された前記第2の音階に変換して第2の旋律データを生成する生成手段と、
前記生成手段により生成された前記第2の旋律データを再生する再生手段と
を備えることを特徴とするロボット装置。Storage means for storing first melody data composed of a first scale;
Management means to manage its own internal state,
Selection means for selecting a second scale corresponding to the change in the internal state when the internal state managed by the management means has changed;
Generation means for converting the first scale constituting the first melody data stored in the storage means into the second scale selected by the selection means to generate second melody data When,
Reproducing means for reproducing the second melody data generated by the generating means. A robot apparatus comprising:
ことを特徴とする請求項8に記載のロボット装置。The robot apparatus according to claim 8 , wherein the generation unit generates the second melody data by further shifting the second scale by a predetermined number of octaves.
自らの内部状態を管理する管理ステップと、
前記管理ステップの処理により管理される前記内部状態が変化したとき、前記内部状態の変化に対応する第2の音階を選択する選択ステップと、
前記記憶制御ステップの処理により記憶されている前記第1の旋律データを構成する前記第1の音階を、前記選択ステップの処理により選択された前記第2の音階に変換して第2の旋律データを生成する生成ステップと、
前記生成ステップの処理により生成された前記第2の旋律データの再生を制御する再生制御ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。A storage control step for controlling storage of the first melody data composed of the first scale;
Management steps to manage their internal state,
A selection step of selecting a second scale corresponding to the change of the internal state when the internal state managed by the process of the management step changes;
Second melody data obtained by converting the first scale constituting the first melody data stored by the process of the storage control step into the second scale selected by the process of the selection step. A generation step for generating
And a reproduction control step for controlling reproduction of the second melody data generated by the processing of the generation step. A recording medium on which a computer-readable program is recorded.
自らの内部状態を管理する管理ステップと、
前記管理ステップの処理により管理される前記内部状態が変化したとき、前記内部状態の変化に対応する第2の音階を選択する選択ステップと、
前記記憶制御ステップの処理により記憶されている前記第1の旋律データを構成する前記第1の音階を、前記選択ステップの処理により選択された前記第2の音階に変換して第2の旋律データを生成する生成ステップと、
前記生成ステップの処理により生成された前記第2の旋律データの再生を制御する再生制御ステップと
をコンピュータに実行させるプログラム。A storage control step for controlling storage of the first melody data composed of the first scale;
Management steps to manage their internal state,
A selection step of selecting a second scale corresponding to the change of the internal state when the internal state managed by the process of the management step changes;
Second melody data obtained by converting the first scale constituting the first melody data stored by the process of the storage control step into the second scale selected by the process of the selection step. A generation step for generating
A reproduction control step for controlling reproduction of the second melody data generated by the processing of the generation step.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001266703A JP4178777B2 (en) | 2001-09-04 | 2001-09-04 | Robot apparatus, recording medium, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001266703A JP4178777B2 (en) | 2001-09-04 | 2001-09-04 | Robot apparatus, recording medium, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003076398A JP2003076398A (en) | 2003-03-14 |
JP4178777B2 true JP4178777B2 (en) | 2008-11-12 |
Family
ID=19092949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001266703A Expired - Fee Related JP4178777B2 (en) | 2001-09-04 | 2001-09-04 | Robot apparatus, recording medium, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4178777B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4628803B2 (en) * | 2005-01-25 | 2011-02-09 | 本田技研工業株式会社 | Voice recognition type device controller |
CN115691497B (en) * | 2023-01-04 | 2023-03-31 | 深圳市大晶光电科技有限公司 | Voice control method, device, equipment and medium |
-
2001
- 2001-09-04 JP JP2001266703A patent/JP4178777B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003076398A (en) | 2003-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100814569B1 (en) | Robot control apparatus | |
US7065490B1 (en) | Voice processing method based on the emotion and instinct states of a robot | |
US7228276B2 (en) | Sound processing registering a word in a dictionary | |
JP4150198B2 (en) | Speech synthesis method, speech synthesis apparatus, program and recording medium, and robot apparatus | |
JP2002268699A (en) | Device and method for voice synthesis, program, and recording medium | |
WO2002077970A1 (en) | Speech output apparatus | |
WO2002082423A1 (en) | Word sequence output device | |
JP2001188779A (en) | Device and method for processing information and recording medium | |
JP2002318594A (en) | Language processing system and language processing method as well as program and recording medium | |
JP4178777B2 (en) | Robot apparatus, recording medium, and program | |
JP4587009B2 (en) | Robot control apparatus, robot control method, and recording medium | |
JP4016316B2 (en) | Robot apparatus, robot control method, recording medium, and program | |
JP4706893B2 (en) | Voice recognition apparatus and method, program, and recording medium | |
JP2002268663A (en) | Voice synthesizer, voice synthesis method, program and recording medium | |
JP2002258886A (en) | Device and method for combining voices, program and recording medium | |
JP4656354B2 (en) | Audio processing apparatus, audio processing method, and recording medium | |
JP2004170756A (en) | Unit and method for robot control, recording medium, and program | |
JP2003271172A (en) | Method and apparatus for voice synthesis, program, recording medium and robot apparatus | |
WO1999046732A1 (en) | Moving picture generating device and image control network learning device | |
JP4742415B2 (en) | Robot control apparatus, robot control method, and recording medium | |
JP2004309523A (en) | System and method for sharing operation pattern of robot device, and robot device | |
JP4639533B2 (en) | Voice recognition apparatus, voice recognition method, program, and recording medium | |
JP2002318590A (en) | Device and method for synthesizing voice, program and recording medium | |
JP2002304187A (en) | Device and method for synthesizing voice, program and recording medium | |
JP2001212779A (en) | Behavior controller, behavior control method, and recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050905 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080402 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080415 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080430 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080805 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080818 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110905 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120905 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |