(57)【要約】【課題】ＭＩＤＩデータ等の演奏データを活用して歌声を合成する。【解決手段】入力された演奏データを音の高さ、長さ、歌詞の音楽情報として解析する（Ｓ２、Ｓ３）。解析された音楽情報に歌詞情報が存在しない場合に任意の音符列に対して任意の歌詞を付与する（Ｓ９、Ｓ１１、Ｓ１２、Ｓ１５）。付与された歌詞に基づき歌声を生成する（Ｓ１７）。【選択図】  図７
2004287097.tif 000002
【特許請求の範囲】
【請求項１】
演奏データを音の高さ、長さ、歌詞の音楽情報として解析する解析工程と、
解析された音楽情報の歌詞情報に基づき音符列に対して歌詞を付与すると共に、歌詞情報が存在しない場合に任意の音符列に対して任意の歌詞を付与する歌詞付与工程と、
付与された歌詞に基づき歌声を生成する歌声生成工程と
を有することを特徴とする歌声合成方法。
【請求項２】
上記演奏データはＭＩＤＩファイルの演奏データであることを特徴とする請求項１記載の歌声合成方法。
【請求項３】
上記歌詞付与工程は外部からの歌詞の指示がない場合にはあらかじめ決められた歌詞を任意の音符列に対して付与することを特徴とする請求項１記載の歌声合成方法。
【請求項４】
上記歌詞付与工程は上記ＭＩＤＩファイルのトラック又はチャンネルに含まれる音符列を歌詞付与の対象とすることを特徴とする請求項２記載の歌声合成方法。
【請求項５】
上記歌詞付与工程は上記トラック又はチャンネルの選択を任意に行うことを特徴とする請求項４記載の歌声合成方法。
【請求項６】
上記歌詞付与工程は演奏データの中で一番初めに現れるトラック又はチャンネルの音符列を歌詞付与の対象とすることを特徴とする請求項４記載の歌声合成方法。
【請求項７】
上記歌詞付与工程は複数のトラック又はチャンネルに対してそれぞれ独立した歌詞を付与することを特徴とする請求項４記載の歌声合成方法。
【請求項８】
上記歌詞付与工程は歌詞付与の結果を保存することを特徴とする請求項２記載の歌声合成方法。
【請求項９】
上記歌詞情報に台詞を表す情報が含まれている場合に該当歌詞の発声のタイミングで歌詞の替わりに台詞を合成音声により読み上げ、歌唱の中に台詞を挿入する台詞挿入工程をさらに有することを特徴とする請求項２記載の歌声合成方法。
【請求項１０】
演奏データを音の高さ、長さ、歌詞の音楽情報として解析する解析手段と、
解析された音楽情報の歌詞情報に基づき音符列に対して歌詞を付与すると共に、歌詞情報が存在しない場合に任意の音符列に対して任意の歌詞を付与する歌詞付与手段と、
付与された歌詞に基づき歌声を生成する歌声生成手段と
を有することを特徴とする歌声合成装置。
【請求項１１】
上記演奏データはＭＩＤＩファイルの演奏データであることを特徴とする請求項１０記載の歌声合成装置。
【請求項１２】
上記歌詞付与手段は外部からの歌詞の指示がない場合にはあらかじめ決められた歌詞を任意の音符列に対して付与することを特徴とする請求項１０記載の歌声合成装置。
【請求項１３】
上記歌詞付与手段は上記ＭＩＤＩファイルのトラック又はチャンネルに含まれる音符列を歌詞付与の対象とすることを特徴とする請求項１１記載の歌声合成装置。
【請求項１４】
上記歌詞情報に台詞を表す情報が含まれている場合に該当歌詞の発声のタイミングで歌詞の替わりに台詞を合成音声により読み上げ、歌唱の中に台詞を挿入する台詞挿入手段をさらに有することを特徴とする請求項１１記載の歌声合成装置。
【請求項１５】
所定の処理をコンピュータに実行させるためのプログラムであって、
入力された演奏データを音の高さ、長さ、歌詞の音楽情報として解析する解析工程と、
解析された音楽情報に歌詞情報が存在しない場合に任意の音符列に対して任意の歌詞を付与する歌詞付与工程と、
付与された歌詞に基づき歌声を生成する歌声生成工程と
を有することを特徴とするプログラム。
【請求項１６】
上記演奏データはＭＩＤＩファイルの演奏データであることを特徴とする請求項１５記載のプログラム。
【請求項１７】
上記歌詞情報に台詞を表す情報が含まれている場合に該当歌詞の発声のタイミングで歌詞の替わりに台詞を合成音声により読み上げ、歌唱の中に台詞を挿入する台詞挿入工程をさらに有することを特徴とする請求項１６記載のプログラム。
【請求項１８】
所定の処理をコンピュータに実行させるためのプログラムが記録されたコンピュータ読取可能な記録媒体であって、
入力された演奏データを音の高さ、長さ、歌詞の音楽情報として解析する解析工程と、
解析された音楽情報の歌詞情報に基づき音符列に対して歌詞を付与すると共に、歌詞情報が存在しない場合に任意の音符列に対して任意の歌詞を付与する歌詞付与工程と、
付与された歌詞に基づき歌声を生成する歌声生成工程と
を有することを特徴とするプログラムが記録された記録媒体。
【請求項１９】
上記演奏データはＭＩＤＩファイルの演奏データであることを特徴とする請求項１８記載の記録媒体。
【請求項２０】
供給された入力情報に基づいて動作を行う自律型のロボット装置であって、
入力された演奏データを音の高さ、長さ、歌詞の音楽情報として解析する解析手段と、
解析された音楽情報の歌詞情報に基づき音符列に対して歌詞を付与すると共に、歌詞情報が存在しない場合に任意の音符列に対して任意の歌詞を付与する歌詞付与手段と、
付与された歌詞に基づき歌声を生成する歌声生成手段と
を有することを特徴とするロボット装置。
【請求項２１】
上記演奏データはＭＩＤＩファイルの演奏データであることを特徴とする請求項２０記載のロボット装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、演奏データから歌声を合成する歌声合成方法、歌声合成装置、プログラム及び記録媒体、並びにロボット装置に関する。
【０００２】
【従来の技術】
コンピュータ等により、与えられた歌唱データから歌声を生成する技術は特許文献１に代表されるように既に知られている。
【０００３】
ＭＩＤＩ（ｍｕｓｉｃａｌ  ｉｎｓｔｒｕｍｅｎｔ  ｄｉｇｉｔａｌ  ｉｎｔｅｒｆａｃｅ）データは代表的な演奏データであり、事実上の業界標準である。代表的には、ＭＩＤＩデータはＭＩＤＩ音源と呼ばれるデジタル音源（コンピュータ音源や電子楽器音源等のＭＩＤＩデータにより動作する音源）を制御して楽音を生成するのに使用される。ＭＩＤＩファイル（例えば、ＳＭＦ（ｓｔａｎｄａｒｄ  ＭＩＤＩ  ｆｉｌｅ））には歌詞データを入れることができ、歌詞付きの楽譜の自動作成に利用される。
【０００４】
また、ＭＩＤＩデータを歌声又は歌声を構成する音素セグメントのパラメータ表現（特殊データ表現）として利用する試みも特許文献２に代表されるように提案されている。
【０００５】
しかし、これらの従来の技術においてはＭＩＤＩデータのデータ形式の中で歌声を表現しようとしているが、あくまでも楽器をコントロールする感覚でのコントロールであり、ＭＩＤＩ本来が持っている歌詞データを利用するものではなかった。
【０００６】
また、ほかの楽器用に作成されたＭＩＤＩデータを、修正を加えることなく歌声にすることはできなかった。
【０００７】
また、電子メールやホームページを読み上げる音声合成ソフトはソニー（株）の「Ｓｉｍｐｌｅ  Ｓｐｅｅｃｈ」をはじめ多くのメーカーから発売されているが、読み上げ方は普通の文章を読み上げるのと同じような口調であった。
【０００８】
ところで、電気的又は磁気的な作用を用いて人間（生物）の動作に似た運動を行う機械装置を「ロボット」という。我が国においてロボットが普及し始めたのは、１９６０年代末からであるが、その多くは、工場における生産作業の自動化・無人化等を目的としたマニピュレータや搬送ロボット等の産業用ロボット（Ｉｎｄｕｓｔｒｉａｌ  Ｒｏｂｏｔ）であった。
【０００９】
最近では、人間のパートナーとして生活を支援する、すなわち住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボットの開発が進められている。このような実用ロボットは、産業用ロボットとは異なり、人間の生活環境の様々な局面において、個々に個性の相違した人間、又は様々な環境への適応方法を自ら学習する能力を備えている。例えば、犬、猫のように４足歩行の動物の身体メカニズムやその動作を模した「ペット型」ロボット、或いは、２足直立歩行を行う人間等の身体メカニズムや動作をモデルにしてデザインされた「人間型」又は「人間形」ロボット（Ｈｕｍａｎｏｉｄ  Ｒｏｂｏｔ）等のロボット装置は、既に実用化されつつある。
【００１０】
これらのロボット装置は、産業用ロボットと比較して、エンターテインメント性を重視した様々な動作を行うことができるため、エンターテインメントロボットと呼称される場合もある。また、そのようなロボット装置には、外部からの情報や内部の状態に応じて自律的に動作するものがある。
【００１１】
この自律的に動作するロボット装置に用いられる人工知能（ＡＩ：ａｒｔｉｆｉｃｉａｌ  ｉｎｔｅｌｌｉｇｅｎｃｅ）は、推論・判断等の知的な機能を人工的に実現したものであり、さらに感情や本能等の機能をも人工的に実現することが試みられている。このような人工知能の外部への表現手段としての視覚的な表現手段や自然言語の表現手段等のうちで、自然言語表現機能の一例として、音声を用いることが挙げられる。
【００１２】
【特許文献１】
特許第３２３３０３６号公報
【特許文献２】
特開平１１−９５７９８号公報
【００１３】
【発明が解決しようとする課題】
以上のように従来の歌声合成は特殊な形式のデータを用いていたり、仮にＭＩＤＩデータを用いていてもその中に埋め込まれている歌詞データを有効に活用できなかったり、ほかの楽器用に作成されたＭＩＤＩデータを鼻歌感覚で歌い上げたりすることはできなかった。
【００１４】
本発明は、このような従来の実情に鑑みて提案されたものであり、例えばＭＩＤＩデータのような演奏データを活用して歌声を合成することが可能な歌声合成方法及び装置を提供することを目的とする。
【００１５】
さらに、本発明の目的は、ＭＩＤＩファイル（代表的にはＳＭＦ）により規定されたＭＩＤＩデータを音声合成により歌い上げることができ、ＭＩＤＩデータの中に歌詞情報があればそれをそのまま利用することも他の歌詞に置き換えることも可能であり、歌詞情報がないＭＩＤＩデータに関しても任意の歌詞を付与して歌い上げることができ、及び／又は、別に用意されたテキストデータにメローディーを付けて替え歌風に歌い上げることが可能な歌声合成方法及び装置を提供することを目的とする。
【００１６】
さらに、本発明の目的は、このような歌声合成機能をコンピュータに実施させるプログラム及び記録媒体を提供することである。
【００１７】
さらに、本発明の目的は、このような歌声合成機能を実現するロボット装置を提供することである。
【００１８】
【課題を解決するための手段】
本発明に係る歌声合成方法は、上記目的を達成するため、演奏データを音の高さ、長さ、歌詞の音楽情報として解析する解析工程と、解析された音楽情報の歌詞情報に基づき音符列に対して歌詞を付与すると共に、歌詞情報が存在しない場合に任意の音符列に対して任意の歌詞を付与する歌詞付与工程と、付与された歌詞に基づき歌声を生成する歌声生成工程とを有することを特徴とする。
【００１９】
また、本発明に係る歌声合成装置は、上記目的を達成するため、演奏データを音の高さ、長さ、歌詞の音楽情報として解析する解析手段と、解析された音楽情報の歌詞情報に基づき音符列に対して歌詞を付与すると共に、歌詞情報が存在しない場合に演奏データ中の任意の音符列に対して任意の歌詞を付与する歌詞付与手段と、付与された歌詞に基づき歌声を生成する歌声生成手段とを有することを特徴とする。
【００２０】
この構成によれば、本発明に係る歌声合成方法及び装置は、演奏データを解析してそれから得られる音の高さ、長さ、強さをもとにした音符情報に対して任意の歌詞を付与することにより歌声情報を生成し、その歌声情報をもとに歌声の生成を行うことができ、演奏データの中に歌詞情報があればその歌詞を歌い上げることが可能なばかりでなく、演奏データ中の任意の音符列に対して自由な歌詞を付与することができる。
【００２１】
上記演奏データはＭＩＤＩファイルの演奏データであることが好ましい。
【００２２】
また、上記歌詞付与工程又は手段は外部からの歌詞の指示がない場合にはあらかじめ決められた歌詞、例えば、「ら」や「ぼん」などの歌詞を演奏データ中の任意の音符列に対して付与することが好ましい。
【００２３】
また、上記ＭＩＤＩファイルのトラック又はチャンネルに含まれる音符列を歌詞付与の対象とすることが好ましい。
【００２４】
これに関連し、上記歌詞付与工程又は手段は上記トラック又はチャンネルの選択を任意に行うことが好ましい。
【００２５】
また、上記歌詞付与工程又は手段は演奏データの中で一番初めに現れるトラック又はチャンネルの音符列を歌詞付与の対象とすることが好ましい。
【００２６】
さらに、上記歌詞付与工程又は手段は複数のトラック又はチャンネルに対してそれぞれ独立した歌詞を付与することが好ましい。これにより、デュエットやトリオ等の歌声合唱が容易に実現できる。
【００２７】
また、歌詞付与の結果を保存することが好ましい。
【００２８】
さらに、上記歌詞情報に台詞を表す情報が含まれている場合に該当歌詞の発声のタイミングで歌詞の替わりに台詞を合成音声により読み上げ、歌唱の中に台詞を挿入する台詞挿入工程又は手段をさらに有することが好ましい。
【００２９】
また、本発明に係るプログラムは、本発明の歌声合成機能をコンピュータに実行させるものであり、本発明に係る記録媒体は、このプログラムが記録されたコンピュータ読み取り可能なものである。
【００３０】
さらに、本発明に係るロボット装置は、上記目的を達成するため、供給された入力情報に基づいて動作を行う自律型のロボット装置であって、入力された演奏データを音の高さ、長さ、歌詞の音楽情報として解析する解析手段と、解析された音楽情報に歌詞情報が存在しない場合に解析された音楽情報中の任意の音符列に対して任意の歌詞を付与する歌詞付与手段と、付与された歌詞に基づき歌声を生成する歌声生成手段とを有することを特徴とする。これにより、ロボットの持っているエンターテインメント性を格段に向上させることができる。
【００３１】
【発明の実施の形態】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００３２】
先ず、本実施の形態における歌声合成装置の概略システム構成を図１に示す。ここで、この歌声合成装置は、少なくとも感情モデル、音声合成手段及び発音手段を有する例えばロボット装置に適用することを想定しているが、これに限定されず、各種ロボット装置や、ロボット以外の各種コンピュータＡＩ（ａｒｔｉｆｉｃｉａｌ
ｉｎｔｅｌｌｉｇｅｎｃｅ）等への適用も可能であることは勿論である。
【００３３】
図１において、ＭＩＤＩデータに代表される演奏データ１を解析する演奏データ解析部２は入力された演奏データ１を解析し演奏データ内にあるトラックやチャンネルの音の高さや長さ、強さを表す楽譜情報４に変換する。
【００３４】
図２に楽譜情報４に変換された演奏データ（ＭＩＤＩデータ）の例を示す。図２において、トラック毎、チャンネル毎にイベントが書かれている。イベントにはノートイベントとコントロールイベントが含まれる。ノートイベントは発生時刻（図中の時間の欄）、高さ、長さ、強さ（ｖｅｌｏｃｉｔｙ）の情報を持つ。したがって、ノートイベントのシーケンスにより音符列又は音列が定義される。コントロールイベントは発生時刻、コントロールのタイプデータ（例えばビブラート、演奏ダイナミクス表現（ｅｘｐｒｅｓｓｉｏｎ））及びコントロールのコンテンツを示すデータを持つ。例えば、ビブラートの場合、コントロールのコンテンツとして、音の振れの大きさを指示する「深さ」、音の揺れの周期を指示する「幅」、音の揺れの開始タイミング（発音タイミングからの遅れ時間）を指示する「遅れ」の項目を有する。特定のトラック、チャンネルに対するコントロールイベントはそのコントロールタイプについて新たなコントロールイベント（コントロールチェンジ）が発生しない限り、そのトラック、チャンネルの音符列の楽音再生に適用される。さらに、ＭＩＤＩファイルの演奏データにはトラック単位で歌詞を記入することができる。図２において、上方に示す「あるうひ」はトラック１に記入された歌詞の一部であり、下方に示す「あるうひ」はトラック２に記入された歌詞の一部である。すなわち図２の例は、解析した音楽情報（楽譜情報）の中に歌詞が埋め込まれた例である。
【００３５】
なお、図２において、時間は「小節：拍：ティック数」で表され、長さは「ティック数」で表され、強さは「０−１２７」の数値で表され、高さは４４０Ｈｚが「Ａ４」で表される。また、ビブラートは、深さ、幅、遅れがそれぞれ「０−６４−１２７」の数値で表される。
【００３６】
図１に戻り、変換された楽譜情報４は歌詞付与部５に渡される。歌詞付与部５では楽譜情報４をもとに音符に対応した音の長さ、高さ、強さ、表情などの情報とともにその音に対する歌詞が付与された歌声情報６の生成を行う。
【００３７】
図３に歌声情報６の例を示す。図３において、「￥ｓｏｎｇ￥」は歌詞情報の開始を示すタグである。タグ「￥ＰＰ，Ｔ１０６７３０７５￥」は１０６７３０７５μｓｅｃの休みを示し、タグ「￥ｔｄｙｎａ  １１０  ６４９０７５￥」は先頭から１０６７３０７５μｓｅｃの全体の強さを示し、タグ「￥ｆｉｎｅ−１００￥」はＭＩＤＩのファインチューンに相当する高さの微調整を示し、タグ「￥ｖｉｂｒａｔｏ  ＮＲＰＮ＿ｄｅｐ＝６４￥」、［￥ｖｉｂｒａｔｏ  ＮＲＰＮ＿ｄｅｌ＝５０￥］、「￥ｖｉｂｒａｔｏ  ＮＲＰＮ＿ｒａｔ＝６４￥」はそれぞれ、ビブラートの深さ、遅れ、幅を示す。また、タグ「￥ｄｙｎａ  １００￥」は音毎の強弱を示し、タグ「￥Ｇ４，Ｔ２８８４６１￥あ」はＧ４の高さで、長さが２８８４６１μｓｅｃの歌詞「あ」を示す。図３の歌声情報は図２に示す楽譜情報（ＭＩＤＩデータの解析結果）から得られたものである。
【００３８】
図２と図３の比較から分かるように、楽器制御用の演奏データ（例えば音符情報）が歌声情報の生成において十分に活用されている。例えば、歌詞「あるうひ」の構成要素「あ」について、「あ」以外の歌唱属性である「あ」の音の発生時刻、長さ、高さ、強さ等について、楽譜情報（図２）中のコントロール情報やノートイベント情報に含まれる発生時刻、長さ、高さ、強さ等が直接的に利用され、次の歌詞要素「る」についても楽譜情報中の同じトラック、チャンネルにおける次のノートイベント情報が直接的に利用され、以下同様である。
【００３９】
図１に戻り、歌声情報６は歌声生成部７に渡され、歌声生成部７においては歌声情報６をもとに歌声波形８の生成を行う。ここで、歌声情報６から歌声波形８を生成する歌声生成部７は例えば図４に示すように構成される。
【００４０】
図４において、歌声韻律生成部７−１は歌声情報６を歌声韻律データに変換する。波形生成部７−２は歌声韻律データを歌声波形８に変換する。
【００４１】
具体例として、「Ａ４」の高さの歌詞要素「ら」を一定時間伸ばす場合について説明する。ビブラートをかけない場合の歌声韻律データは、以下の表のように表される。
【００４２】
【表１】
2004287097.tif 000003
【００４３】
この表において、［ＬＡＢＥＬ］は、各音韻の継続時間長を表したものである。すなわち、「ｒａ」という音韻（音素セグメント）は、０サンプルから１０００サンプルまでの１０００サンプルの継続時間長であり、「ｒａ」に続く最初の「ａａ」という音韻は、１０００サンプルから３９６００サンプルまでの３８６００サンプルの継続時間長である。また、［ＰＩＴＣＨ］は、ピッチ周期を点ピッチで表したものである。すなわち、０サンプル点におけるピッチ周期は５６サンプルである。ここでは「ら」の高さを変えないので全てのサンプルに渡り５６サンプルのピッチ周期が適用される。また、［ＶＯＬＵＭＥ］は、各サンプル点での相対的な音量を表したものである。すなわち、デフォルト値を１００％としたときに、０サンプル点では６６％の音量であり、３９６００サンプル点では５７％の音量である。以下同様にして、４０１００サンプル点では４８％の音量等が続き４２６００サンプル点では３％の音量となる。これにより「ら」の音声が時間の経過と共に減衰することが実現される。
【００４４】
これに対して、ビブラートをかける場合には、例えば、以下に示すような歌声韻律データが作成される。
【００４５】
【表２】
2004287097.tif 000004
【００４６】
この表の［ＰＩＴＣＨ］の欄に示すように、０サンプル点と１０００サンプル点におけるピッチ周期は５０サンプルで同じであり、この間は音声の高さに変化がないが、それ以降は、２０００サンプル点で５３サンプルのピッチ周期、４００９サンプル点で４７サンプルのピッチ周期、６００９サンプル点で５３のピッチ周期というようにピッチ周期が約４０００サンプルの周期（幅）を以て上下（５０±３）に振れている。これにより音声の高さの揺れであるビブラートが実現される。この［ＰＩＴＣＨ］の欄のデータは歌声情報６における対応歌声要素（例えば「ら」）に関する情報、特にノートナンバー（例えばＡ４）とビブラートコントロールデータ（例えば、タグ「￥ｖｉｂｒａｔｏ  ＮＲＰＮ＿ｄｅｐ＝６４￥」、［￥ｖｉｂｒａｔｏ  ＮＲＰＮ＿ｄｅｌ＝５０￥］、「￥ｖｉｂｒａｔｏ  ＮＲＰＮ＿ｒａｔ＝６４￥」）に基づいて生成される。
【００４７】
波形生成部７−２はこのような歌声音韻データに基づき内部の波形メモリ（図示せず）からサンプルを読み出して歌声波形８を生成する。なお、歌声情報６から歌声波形８を生成する歌声生成部７については上記の例に限らず、任意の適当な公知の歌声生成器を使用できる。
【００４８】
図１に戻り、演奏データ１はＭＩＤＩ音源９に渡され、ＭＩＤＩ音源９は演奏データをもとに楽音の生成を行う。この楽音は伴奏波形１０である。
【００４９】
歌声波形８と伴奏波形１０はともに同期を取りミキシングを行うミキシング部１１に渡される。
【００５０】
ミキシング部１１では、歌声波形８と伴奏波形１０との同期を取りそれぞれを重ね合わせて出力波形３として再生を行うことにより、演奏データ１をもとに伴奏を伴った歌声による音楽再生を行う。
【００５１】
ここで、楽譜情報４をもとに歌詞付与部５により歌声情報６に変換する段階において、楽譜情報４において歌詞情報が存在する場合には、情報として存在する歌詞を優先して歌声情報６の付与を行う。上述したように図２は歌詞が付与された状態の楽譜情報４の例であり、図３は図２の楽譜情報４から生成された歌声情報６の例である。
【００５２】
また、歌詞付与部５が楽譜情報４をもとに歌詞の付与を行う際に対象となるのはトラック選択部１４により選択された楽譜情報４のトラックやチャンネルに対応した音符列である。
【００５３】
ここで、楽譜情報４において歌詞がどのトラックやチャンネルにも存在しない場合、歌詞付与部５はトラック選択部１４により選択された音符列に対して歌詞選択部１３によりあらかじめオペレータにより指定された「ら」や「ぼん」などの任意歌詞データ１２をもとに任意の歌詞を付与する。
【００５４】
図５に歌詞が振られていない楽譜情報４の例を、図６には図５の楽譜情報に任意歌詞として「ら」が登録されている場合の歌声情報６の例を示す。
【００５５】
なお、図５において、時間は「小節：拍：ティック数」で表され、長さは「ティック数」で表され、強さは「０−１２７」の数値で表され、高さは４４０Ｈｚが「Ａ４」で表される。
【００５６】
図１に戻り、歌詞選択部１３はこの任意歌詞データ１２としてオペレータによって任意の読みの付与が指定できるが、何も指定されていない場合の初期値の任意歌詞データ１２は「ら」に設定されている。
【００５７】
また、歌詞選択部１３はあらかじめ外部に用意された歌詞データ１５をトラック選択部１４により選択された音符列に対して付与することも可能である。
【００５８】
さらに、歌詞選択部１３はＥ−ｍａｉｌやホームページやワープロで作成した文書などのテキストデータ１６を歌詞生成部１７により読み仮名に変換することにより任意の文字列を歌詞として選択することが可能である。ここで、漢字かな混じりの文字列を読み仮名に変換する技術は「形態素解析」の応用として広く公知である。
【００５９】
また、ここで、対象となるテキストはネットワークを用いて配信されるネットワーク上のテキスト１８であってもかまわない。
【００６０】
本実施の形態によれば、歌詞情報に台詞を表す情報が含まれている場合に該当歌詞の発声のタイミングで歌詞の替わりに台詞を合成音声により読み上げ、歌唱の中に台詞を挿入することができる。
【００６１】
例えば、ＭＩＤＩデータ中に台詞タグ、例えば「／／幸せだなー」がある場合、歌詞付与部５により生成された歌声情報６の歌詞中にその歌詞が台詞であることを表す情報として例えば「￥ＳＰ，Ｔ２３４５６９６￥幸せだなー」が付加される。この場合は台詞部分がテキスト音声合成部１９に渡され台詞波形２０が生成される。この例のように、台詞を表す情報としては「￥ＳＰ，Ｔ  ￥台詞」などのタグを用いて表現することが文字列レベルで容易に可能である。
【００６２】
この際、台詞波形は台詞発話のタイミング情報として、歌声情報における休符情報を流用し、台詞の前に無音の波形を付加することによっても可能である。
【００６３】
トラック選択部１４は楽譜情報４のトラックの数やそれぞれのトラックの中にあるチャンネルの数、歌詞の有無をオペレータに伝え、オペレータによりどのトラック又はチャンネルにどのような歌詞を付与するかを選択することができる。
【００６４】
ここで、トラック選択部１４においてはトラック又はチャンネルに対して歌詞が付与されている場合は歌詞が付与されているトラック又はチャンネルを選択する。
【００６５】
また、歌詞が付与されていないものに対してはオペレータの指示によりどのトラックを又はチャンネルを選択するかを判断する。勿論、歌詞が付与されているトラック又はチャンネルに対してオペレータにより任意の歌詞を付与することも可能である。
【００６６】
歌詞もオペレータの指示もない場合にはデフォルトとして第１トラックの第１チャンネルを対象音符列として歌詞付与部５に知らせる。
【００６７】
以上の説明のように、歌詞付与部５は楽譜情報４をもとにトラック選択部１４により選択されたトラック又はチャンネルが示す音符列に対して歌詞選択部１３により選択された歌詞又はトラック又はチャンネルに記載されている歌詞を用いて歌声情報６の生成を行うが、これらの処理はそれぞれのトラックやチャンネルに対して独立して行なえるものである。
【００６８】
図７は、図１に示す歌声合成装置の全体動作を説明するためのフローチャートである。
【００６９】
この図７において、先ずＭＩＤＩファイルの演奏データ１を入力する（ステップＳ１）。次に演奏データ１を解析し、楽譜データ４を作成する（ステップＳ２、Ｓ３）。次にオペレータに問い合わせオペレータの設定処理（例えば、歌詞の選択、歌詞の対象であるトラック、チャンネルの選択、ミュートするＭＩＤＩトラック、チャンネルの選択等）を行う（ステップＳ４）。なおオペレータが設定しなかった部分についてはデフォルトが後続処理で使用される。
【００７０】
続くステップＳ５〜Ｓ１６は歌詞付加工程を構成する。先ず着目しているトラックについて、外部の歌詞の指定あり（ステップＳ５）のときは、その歌詞を最優先するので、ステップＳ６に進み、Ｅ−ｍａｉｌ等のテキストデータ１６、１８であれば、読みに変換し（ステップＳ７）てからその歌詞を取得し、そうでなければ（例えば歌詞データ１５のときは）直接その外部歌詞を歌詞として取得する（ステップＳ８）。
【００７１】
外部の歌詞の指定がなければ、そのトラックの楽譜情報４内に歌詞があるか検査する（ステップＳ９）。楽譜情報中に存在する歌詞は２番目に優先するので、これが成り立つときは楽譜情報の歌詞を取得する（ステップＳ１０）。
【００７２】
楽譜情報４内に歌詞がなければ任意歌詞の指定があるか検査し（ステップＳ１１）、指定ありなら、その任意歌詞１２を取得する（ステップＳ１２）。
【００７３】
任意歌詞判定ステップＳ１１で不成立の後、又は歌詞取得ステップＳ８、Ｓ１０、Ｓ１２の後、歌詞を割り当てるトラックが選択されているか検査する（ステップＳ１３）。選択されたトラックがなければ先頭のトラックを選択する（ステップＳ１９）。なお詳細には、一番初めに現れるトラックのチャンネルが選択される。
【００７４】
以上で歌詞を割り当てるトラックとチャンネルが決定したので、そのトラックにおけるチャンネルの楽譜情報４を用いて歌詞から歌声情報６を作成する（ステップＳ１５）。
【００７５】
次に、全てのトラックについて処理を完了したかどうか検査し（ステップＳ１６）、完了してなければトラックを次に進めて、ステップＳ５に戻る。
【００７６】
したがって、複数のトラックにそれぞれ歌詞を付加する場合に、互いに独立して歌詞が付加され歌声情報６が作成されることになる。
【００７７】
このように、図７の歌詞付加工程によれば、解析された音楽情報に歌詞情報が存在しない場合に、任意の音符列に対して任意の歌詞が付加される。また、外部からの歌詞の指示がない場合にあらかじめ決められた歌詞（例えば「ら」や「ぼん」）を任意の音符列に対して付与することもできる。また、ＭＩＤＩファイルのトラック又はチャンネルに含まれる音符列を歌詞付与の対象としている。また、歌詞を割り当てるトラック又はチャンネルの選択をオペレータ設定処理Ｓ４等を介して任意に行うことができる。
【００７８】
歌詞付加工程の後、ステップ１７に進み、歌声生成部７により歌声情報６から歌声波形８を作成する。
【００７９】
次に、歌声情報の中に台詞があれば（ステップＳ１８）、テキスト音声合成部１９により台詞波形２０を作成する（ステップＳ１９）。これにより、歌詞情報に台詞を表す情報が含まれている場合には該当歌詞の発声のタイミングで歌詞の替わりに台詞が合成音声により読み上げられ、歌唱の中に台詞が挿入されることになる。
【００８０】
次に、ミュートするＭＩＤＩ音源があるか検査し（ステップＳ２０）、あれば該当するＭＩＤＩトラック、チャンネルをミュートする（ステップＳ２１）。これにより、例えば歌詞を割り当てたトラック、チャンネルの楽音をミュートすることができる。次にＭＩＤＩ音源９によりＭＩＤＩを再生して伴奏波形１０を作成する（ステップＳ２１）。
【００８１】
ここまでの処理で、歌声波形８、台詞波形２０及び伴奏波形１０が得られた。
【００８２】
そこで、ミキシング部１１により、歌声波形８と伴奏波形１０、台詞波形２０との同期を取りそれぞれを重ね合わせて出力波形３として再生を行う（ステップＳ２３、Ｓ２４）。この出力波形３は図示しないサウンドシステムを介して音響信号として出力される。
【００８３】
なお、最後のステップＳ２４又は途中の適当なステップ、例えば歌声波形と台詞波形の生成を終了した段階で、処理結果例えば、歌詞付与の結果と台詞付与の結果を保存することができる。
【００８４】
以上説明した歌声合成機能は例えば、ロボット装置に搭載される。
【００８５】
以下、一構成例として示す２足歩行タイプのロボット装置は、住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボットであり、内部状態（怒り、悲しみ、喜び、楽しみ等）に応じて行動できるほか、人間が行う基本的な動作を表出できるエンターテインメントロボットである。
【００８６】
図８に示すように、ロボット装置６０は、体幹部ユニット６２の所定の位置に頭部ユニット６３が連結されると共に、左右２つの腕部ユニット６４Ｒ／Ｌと、左右２つの脚部ユニット６５Ｒ／Ｌが連結されて構成されている（ただし、Ｒ及びＬの各々は、右及び左の各々を示す接尾辞である。以下において同じ。）。
【００８７】
このロボット装置１が具備する関節自由度構成を図９に模式的に示す。頭部ユニット６３を支持する首関節は、首関節ヨー軸１０１と、首関節ピッチ軸１０２と、首関節ロール軸１０３という３自由度を有している。
【００８８】
また、上肢を構成する各々の腕部ユニット６４Ｒ／Ｌは、、肩関節ピッチ軸１０７と、肩関節ロール軸１０８と、上腕ヨー軸１０９と、肘関節ピッチ軸１１０と、前腕ヨー軸１１１と、手首関節ピッチ軸１１２と、手首関節ロール軸１１３と、手部１１４とで構成される。手部１１４は、実際には、複数本の指を含む多関節・多自由度構造体である。ただし、手部１１４の動作は、ロボット装置６０の姿勢制御や歩行制御に対する寄与や影響が少ないので、本明細書ではゼロ自由度と仮定する。したがって、各腕部は７自由度を有するとする。
【００８９】
また、体幹部ユニット６２は、体幹ピッチ軸１０４と、体幹ロール軸１０５と、体幹ヨー軸１０６という３自由度を有する。
【００９０】
また、下肢を構成する各々の脚部ユニット６５Ｒ／Ｌは、股関節ヨー軸１１５と、股関節ピッチ軸１１６と、股関節ロール軸１１７と、膝関節ピッチ軸１１８と、足首関節ピッチ軸１１９と、足首関節ロール軸１２０と、足部１２１とで構成される。本明細書中では、股関節ピッチ軸１１６と股関節ロール軸１１７の交点は、ロボット装置１の股関節位置を定義する。人体の足部１２１は、実際には多関節・多自由度の足底を含んだ構造体であるが、ロボット装置６０の足底は、ゼロ自由度とする。したがって、各脚部は、６自由度で構成される。
【００９１】
以上を総括すれば、ロボット装置６０全体としては、合計で３＋７×２＋３＋６×２＝３２自由度を有することになる。ただし、エンターテインメント向けのロボット装置１が必ずしも３２自由度に限定されるわけではない。設計・制作上の制約条件や要求仕様等に応じて、自由度すなわち関節数を適宜増減することができることはいうまでもない。
【００９２】
上述したようなロボット装置６０がもつ各自由度は、実際にはアクチュエータを用いて実装される。外観上で余分な膨らみを排してヒトの自然体形状に近似させること、２足歩行という不安定構造体に対して姿勢制御を行うことなどの要請から、アクチュエータは小型且つ軽量であることが好ましい。また、アクチュエータは、ギア直結型で且つサーボ制御系をワンチップ化してモータユニット内に搭載したタイプの小型ＡＣサーボ・アクチュエータで構成することがより好ましい。
【００９３】
図１０には、ロボット装置６０の制御システム構成を模式的に示している。図１０に示すように、制御システムは、ユーザ入力などに動的に反応して情緒判断や感情表現を司る思考制御モジュール２００と、アクチュエータ３５０の駆動などロボット装置１の全身協調運動を制御する運動制御モジュール３００とで構成される。
【００９４】
思考制御モジュール２００は、情緒判断や感情表現に関する演算処理を実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２１１や、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２１２、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２１３、及び、外部記憶装置（ハード・ディスク・ドライブなど）２１４で構成される、モジュール内で自己完結した処理を行うことができる、独立駆動型の情報処理装置である。
【００９５】
この思考制御モジュール２００は、画像入力装置２５１から入力される画像データや音声入力装置２５２から入力される音声データなど、外界からの刺激などに従って、ロボット装置６０の現在の感情や意思を決定する。ここで、画像入力装置２５１は、例えばＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）カメラを複数備えており、また、音声入力装置２５２は、例えばマイクロホンを複数備えている。
【００９６】
また、思考制御モジュール２００は、意思決定に基づいた動作又は行動シーケンス、すなわち四肢の運動を実行するように、運動制御モジュール３００に対して指令を発行する。
【００９７】
一方の運動制御モジュール３００は、ロボット装置６０の全身協調運動を制御するＣＰＵ３１１や、ＲＡＭ３１２、ＲＯＭ３１３、及び外部記憶装置（ハード・ディスク・ドライブなど）３１４で構成される、モジュール内で自己完結した処理を行うことができる、独立駆動型の情報処理装置である。外部記憶装置３１４には、例えば、オフラインで算出された歩行パターンや目標とするＺＭＰ軌道、その他の行動計画を蓄積することができる。ここで、ＺＭＰとは、歩行中の床反力によるモーメントがゼロとなる床面上の点のことであり、また、ＺＭＰ軌道とは、例えばロボット装置１の歩行動作期間中にＺＭＰが動く軌跡を意味する。なお、ＺＭＰの概念並びにＺＭＰを歩行ロボットの安定度判別規範に適用する点については、Ｍｉｏｍｉｒ  Ｖｕｋｏｂｒａｔｏｖｉｃ  著“ＬＥＧＧＥＤ  ＬＯＣＯＭＯＴＩＯＮ  ＲＯＢＯＴＳ”（加藤一郎外著『歩行ロボットと人工の足』（日刊工業新聞社））に記載されている。
【００９８】
運動制御モジュール３００には、図９に示したロボット装置６０の全身に分散するそれぞれの関節自由度を実現するアクチュエータ３５０、体幹部ユニット２の姿勢や傾斜を計測する姿勢センサ３５１、左右の足底の離床又は着床を検出する接地確認センサ３５２，３５３、バッテリなどの電源を管理する電源制御装置３５４などの各種の装置が、バス・インターフェース（Ｉ／Ｆ）３０１経由で接続されている。ここで、姿勢センサ３５１は、例えば加速度センサとジャイロ・センサの組み合わせによって構成され、接地確認センサ３５２，３５３は、近接センサ又はマイクロ・スイッチなどで構成される。
【００９９】
思考制御モジュール２００と運動制御モジュール３００は、共通のプラットフォーム上で構築され、両者間はバス・インターフェース２０１，３０１を介して相互接続されている。
【０１００】
運動制御モジュール３００では、思考制御モジュール２００から指示された行動を体現すべく、各アクチュエータ３５０による全身協調運動を制御する。すなわち、ＣＰＵ３１１は、思考制御モジュール２００から指示された行動に応じた動作パターンを外部記憶装置３１４から取り出し、又は、内部的に動作パターンを生成する。そして、ＣＰＵ３１１は、指定された動作パターンに従って、足部運動、ＺＭＰ軌道、体幹運動、上肢運動、腰部水平位置及び高さなどを設定するとともに、これらの設定内容に従った動作を指示する指令値を各アクチュエータ３５０に転送する。
【０１０１】
また、ＣＰＵ３１１は、姿勢センサ３５１の出力信号によりロボット装置６０の体幹部ユニット６２の姿勢や傾きを検出するとともに、各接地確認センサ３５２，３５３の出力信号により各脚部ユニット６５Ｒ／Ｌが遊脚又は立脚のいずれの状態であるかを検出することによって、ロボット装置６０の全身協調運動を適応的に制御することができる。
【０１０２】
また、ＣＰＵ３１１は、ＺＭＰ位置が常にＺＭＰ安定領域の中心に向かうように、ロボット装置６０の姿勢や動作を制御する。
【０１０３】
さらに、運動制御モジュール３００は、思考制御モジュール２００において決定された意思通りの行動がどの程度発現されたか、すなわち処理の状況を、思考制御モジュール２００に返すようになっている。
【０１０４】
このようにしてロボット装置６０は、制御プログラムに基づいて自己及び周囲の状況を判断し、自律的に行動することができる。
【０１０５】
このロボット装置６０において、上述した歌声合成機能をインプリメントしたプログラム（データを含む）は例えば思考制御モジュール２００のＲＯＭ２１３に置かれる。この場合、歌声合成プログラムの実行は思考制御モジュール２００のＣＰＵ２１１により行われる。
【０１０６】
このようなロボット装置に上記歌声合成機能を組み込むことにより、伴奏に合わせて歌うロボットとしての表現能力が新たに獲得され、エンターテインメント性が広がり、人間との親密性が深められる。
【０１０７】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【０１０８】
例えば、本件出願人が先に提案した特願２００２−７３３８５の明細書及び図面に記載の音声合成方法及び装置等に用いられる歌声合成部及び波形生成部に対応した歌声生成部７に使用可能な歌声情報を例示しているが、この他種々の歌声生成部を用いることができ、この場合、各種の歌声生成部によって歌声生成に必要とされる情報を含むような歌声情報を、上記演奏データから生成するようにすればよいことは勿論である。また、演奏データは、ＭＩＤＩデータに限定されず、種々の規格の演奏データを使用可能である。
【０１０９】
【発明の効果】
以上詳細に説明したように、本発明に係る歌声合成方法及び装置によれば、演奏データを音の高さ、長さ、歌詞の音楽情報として解析し、解析された音楽情報の歌詞情報に基づき音符列に対して歌詞を付与すると共に、歌詞情報が存在しない場合に解析された音楽情報中の任意の音符列に対して任意の歌詞を付与し、付与された歌詞に基づき歌声を生成することにより、演奏データを解析してそれから得られる音の高さ、長さ、強さをもとにした音符情報に対して任意の歌詞を付与して歌声情報を生成し、その歌声情報をもとに歌声の生成を行うことができ、演奏データの中に歌詞情報があればその歌詞を歌い上げることが可能なばかりでなく、演奏データ中の任意の音符列に対して自由な歌詞を付与することができる。したがって、従来、楽器の音のみにより表現していた音楽の作成や再生において特別な情報を加えることがなく歌声の再生を行なえることによりその音楽表現は格段に向上する。
【０１１０】
また、本発明に係るプログラムは、本発明の歌声合成機能をコンピュータに実行させるものであり、本発明に係る記録媒体は、このプログラムが記録されたコンピュータ読み取り可能なものである。
【０１１１】
本発明に係るプログラム及び記録媒体によれば、演奏データを音の高さ、長さ、歌詞の音楽情報として解析し、解析された音楽情報の歌詞情報に基づき音符列に対して歌詞を付与すると共に、歌詞情報が存在しない場合に解析された音楽情報中の任意の音符列に対して任意の歌詞を付与し、付与された歌詞に基づき歌声を生成することにより、演奏データを解析してそれから得られる音の高さ、長さ、強さをもとにした音符情報に対して任意の歌詞を付与して歌声情報を生成し、その歌声情報をもとに歌声の生成を行うことができ、演奏データの中に歌詞情報があればその歌詞を歌い上げることが可能なばかりでなく、演奏データ中の任意の音符列に対して自由な歌詞を付与することができる。
【０１１２】
また、本発明に係るロボット装置は本発明の歌声合成機能を実現する。すなわち、本発明のロボット装置によれば、供給された入力情報に基づいて動作を行う自律型のロボット装置において、入力された演奏データを音の高さ、長さ、歌詞の音楽情報として解析し、解析された音楽情報の歌詞情報に基づき音符列に対して歌詞を付与すると共に、歌詞情報が存在しない場合に解析された音楽情報中の任意の音符列に対して任意の歌詞を付与し、付与された歌詞に基づき歌声を生成することにより、演奏データを解析してそれから得られる音の高さ、長さ、強さをもとにした音符情報に対して任意の歌詞を付与して歌声情報を生成し、その歌声情報をもとに歌声の生成を行うことができ、演奏データの中に歌詞情報があればその歌詞を歌い上げることが可能なばかりでなく、演奏データ中の任意の音符列に対して自由な歌詞を付与することができる。したがって、ロボット装置の表現能力が向上し、エンターテインメント性を高めることができると共に、人間との親密性を深めることができる。
【図面の簡単な説明】
【図１】本実施の形態における歌声合成装置のシステム構成を説明するブロック図である。
【図２】解析結果の楽譜情報の例を示す図である。
【図３】歌声情報の例を示す図である。
【図４】歌声生成部の構成例を説明するブロック図である。
【図５】歌詞が振られていない楽譜情報の例を示す図である。
【図６】歌声情報の例を示す図である。
【図７】本実施の形態における歌声合成装置の動作を説明するフローチャートである。
【図８】本実施の形態におけるロボット装置の外観構成を示す斜視図である。
【図９】同ロボット装置の自由度構成モデルを模式的に示す図である。
【図１０】同ロボット装置のシステム構成を示すブロック図である。
【符号の説明】
２  演奏データ解析部、  ５  歌詞付与部、７    歌声生成部、  １３  歌詞選択部、  １４  トラック選択部、  １００  ロボット装置、  ２１１  ＣＰＵ、  ２１３  ＲＯＭ
【図１】
2004287097.tif 000005
【図２】
2004287097.tif 000006
【図３】
2004287097.tif 000007
【図４】
2004287097.tif 000008
【図５】
2004287097.tif 000009
【図６】
2004287097.tif 000010
【図７】
2004287097.tif 000011
【図８】
2004287097.tif 000012
【図９】
2004287097.tif 000013
【図１０】
2004287097.tif 000014