JP4415573B2 - 歌声合成方法、歌声合成装置、プログラム及び記録媒体並びにロボット装置 - Google Patents
歌声合成方法、歌声合成装置、プログラム及び記録媒体並びにロボット装置 Download PDFInfo
- Publication number
- JP4415573B2 JP4415573B2 JP2003170001A JP2003170001A JP4415573B2 JP 4415573 B2 JP4415573 B2 JP 4415573B2 JP 2003170001 A JP2003170001 A JP 2003170001A JP 2003170001 A JP2003170001 A JP 2003170001A JP 4415573 B2 JP4415573 B2 JP 4415573B2
- Authority
- JP
- Japan
- Prior art keywords
- lyrics
- singing voice
- note
- information
- phrase
- 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
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
本発明は、演奏データから歌声を合成する歌声合成方法、歌声合成装置、プログラム及び記録媒体、並びにロボット装置に関する。
【0002】
【従来の技術】
コンピュータ等により、与えられた歌唱データから歌声を生成する技術は特許文献1に代表されるように既に知られている。
【0003】
MIDI(musical instrument digital interface)データは代表的な演奏データであり、事実上の業界標準である。代表的には、MIDIデータはMIDI音源と呼ばれるデジタル音源(コンピュータ音源や電子楽器音源等のMIDIデータにより動作する音源)を制御して楽音を生成するのに使用される。MIDIファイル(例えば、SMF(standard MIDI file))には歌詞データを入れることができ、歌詞付きの楽譜の自動作成に利用される。
【0004】
また、MIDIデータを歌声又は歌声を構成する音素セグメントのパラメータ表現(特殊データ表現)として利用する試みも特許文献2に代表されるように提案されている。
【0005】
しかし、これらの従来の技術においてはMIDIデータのデータ形式の中で歌声を表現しようとしているが、あくまでも楽器をコントロールする感覚でのコントロールであり、MIDI本来が持っている歌詞データを利用するものではなかった。
【0006】
また、ほかの楽器用に作成されたMIDIデータを、修正を加えることなく歌声にすることはできなかった。
【0007】
また、電子メールやホームページを読み上げる音声合成ソフトはソニー(株)の「Simple Speech」をはじめ多くのメーカーから発売されているが、読み上げ方は普通の文章を読み上げるのと同じような口調であった。
【0008】
ところで、電気的又は磁気的な作用を用いて人間(生物)の動作に似た運動を行う機械装置を「ロボット」という。我が国においてロボットが普及し始めたのは、1960年代末からであるが、その多くは、工場における生産作業の自動化・無人化等を目的としたマニピュレータや搬送ロボット等の産業用ロボット(Industrial Robot)であった。
【0009】
最近では、人間のパートナーとして生活を支援する、すなわち住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボットの開発が進められている。このような実用ロボットは、産業用ロボットとは異なり、人間の生活環境の様々な局面において、個々に個性の相違した人間、又は様々な環境への適応方法を自ら学習する能力を備えている。例えば、犬、猫のように4足歩行の動物の身体メカニズムやその動作を模した「ペット型」ロボット、或いは、2足直立歩行を行う人間等の身体メカニズムや動作をモデルにしてデザインされた「人間型」又は「人間形」ロボット(Humanoid Robot)等のロボット装置は、既に実用化されつつある。
【0010】
これらのロボット装置は、産業用ロボットと比較して、エンターテインメント性を重視した様々な動作を行うことができるため、エンターテインメントロボットと呼称される場合もある。また、そのようなロボット装置には、外部からの情報や内部の状態に応じて自律的に動作するものがある。
【0011】
この自律的に動作するロボット装置に用いられる人工知能(AI:artificial intelligence)は、推論・判断等の知的な機能を人工的に実現したものであり、さらに感情や本能等の機能をも人工的に実現することが試みられている。このような人工知能の外部への表現手段としての視覚的な表現手段や自然言語の表現手段等のうちで、自然言語表現機能の一例として、音声を用いることが挙げられる。
【0012】
【特許文献1】
特許第3233036号公報
【特許文献2】
特開平11−95798号公報
【0013】
【発明が解決しようとする課題】
以上のように従来の歌声合成は特殊な形式のデータを用いていたり、仮にMIDIデータを用いていてもその中に埋め込まれている歌詞データを有効に活用できなかったり、ほかの楽器用に作成されたMIDIデータを鼻歌感覚で歌い上げたりすることはできなかった。
【0014】
本発明は、このような従来の実情に鑑みて提案されたものであり、例えばMIDIデータのような演奏データを活用して歌声を合成することが可能な歌声合成方法及び装置を提供することを目的とする。
【0015】
さらに、本発明の目的は、MIDIファイル(代表的にはSMF)により規定されたMIDIデータを音声合成により歌い上げることができ、MIDIデータの中に歌詞情報があればそれをそのまま利用することも他の歌詞に置き換えることも可能であり、歌詞情報がないMIDIデータに関しても任意の歌詞を付与して歌い上げることができ、及び/又は、別に用意されたテキストデータにメローディーを付けて替え歌風に歌い上げることが可能な歌声合成方法及び装置を提供することを目的とする。
【0016】
さらに、本発明の目的は、このような歌声合成機能をコンピュータに実施させるプログラム及び記録媒体を提供することである。
【0017】
さらに、本発明の目的は、このような歌声合成機能を実現するロボット装置を提供することである。
【0018】
【課題を解決するための手段】
本発明に係る歌声合成方法は、上記目的を達成するため、演奏データを音の高さ、長さ、歌詞の音楽情報として解析する解析工程と、解析された音楽情報の歌詞情報に基づき音符列に対して歌詞を付与すると共に、歌詞情報が存在しない場合に任意の音符列に対して任意の歌詞を付与する歌詞付与工程と、付与された歌詞に基づき歌声を生成する歌声生成工程とを有し、上記歌詞付与工程は、外部からの歌詞として任意のテキストデータを読みに変換した文字列を用いる際に、該文字列の文節の切れ目と上記音符列のフレーズの切れ目とが一致するように、または上記文字列の文節の切れ目と上記音符列の小節の切れ目とが一致するように歌詞の配置を調整し、上記歌詞を上記音符に対応付ける。
【0019】
また、本発明に係る歌声合成装置は、上記目的を達成するため、演奏データを音の高さ、長さ、歌詞の音楽情報として解析する解析手段と、解析された音楽情報の歌詞情報に基づき音符列に対して歌詞を付与すると共に、歌詞情報が存在しない場合に任意の音符列に対して任意の歌詞を付与する歌詞付与手段と、付与された歌詞に基づき歌声を生成する歌声生成手段とを有し、上記歌詞付与手段は、外部からの歌詞として任意のテキストデータを読みに変換した文字列を用いる際に、該文字列の文節の切れ目と上記音符列のフレーズの切れ目とが一致するように、または上記文字列の文節の切れ目と上記音符列の小節の切れ目とが一致するように歌詞の配置を調整し、上記歌詞を上記音符に対応付ける。
【0020】
この構成によれば、本発明に係る歌声合成方法及び装置は、演奏データを解析してそれから得られる音の高さ、長さ、強さをもとにした音符情報に対して任意の歌詞を付与することにより歌声情報を生成し、その歌声情報をもとに歌声の生成を行うことができ、演奏データの中に歌詞情報があればその歌詞を歌い上げることが可能なばかりでなく、演奏データ中の任意の音符列に対して自由な歌詞を付与することができ、外部から与えられた歌詞、例えば任意の漢字かな混じりの文字列のテキストや、インターネット上のホームページなどを記述するHTMLなどにより記載されたタグ付き言語等について、メロディを付けて替え歌風に読み上げるあるいは歌い上げることができる。
【0021】
上記演奏データはMIDIファイルの演奏データであることが好ましい。また、上記外部からの歌詞は、外部から与えられた漢字かな混じりの文字列を、読みに変換することで取得された歌詞であることが挙げられ、例えば形態素解析技術を用いて漢字かな混じりの文字列を読みに変換することができ、読みには単語、文節の区切りが付与される。
【0022】
ここで、上記歌詞付与工程又は手段は、上記外部からの歌詞の文字列の文節の切れ目と上記音符列のフレーズの切れ目とが一致するように、または上記外部からの歌詞の文字列の文節の切れ目と上記音符列の小節の切れ目とが一致するように歌詞の配置を調整し、上記歌詞を上記音符に対応付けることが好ましい。上記フレーズの切れ目は、一定時間以上の長い休符の存在を判断基準として、または4小節を1フレーズのまとまりとして判断することが挙げられる。
【0023】
また、上記歌詞の配置を調整する際に、音符に対応させる歌詞の数の差が所定の文字数を超えた場合は一つの音符に複数の拍の音を入れることにより調整することが挙げられる。また、上記歌詞の配置を調整する際に、音符に対応させる歌詞の数の差が所定の文字数に満たない場合は一つの拍の音の母音を次の音符まで伸ばして調整することが挙げられる。また、上記歌詞の配置を調整する際に、対象となる音符列のフレーズまたは小節の、後方または前方から処理を行い、音符と歌詞の数が等しくなるまで調整することが挙げられる。また、上記歌詞の配置を調整する際に、対象となる音符列のフレーズまたは小節の中の長い音から順に複数の拍を入れる処理を行い、音符と歌詞の数が等しくなるまで調整することが挙げられ、あるいは、対象となる音符列のフレーズまたは小節の中の短い音から順に母音の付与処理を行い、音符と歌詞の数が等しくなるまで調整することが挙げられる。
【0024】
さらに、上記歌詞付与工程又は手段は外部からの歌詞の指示がない場合にはあらかじめ決められた歌詞、例えば、「ら」や「ぼん」などの歌詞を演奏データ中の任意の音符列に対して付与することが好ましい。
【0025】
また、上記MIDIファイルのトラック又はチャンネルに含まれる音符列を歌詞付与の対象とすることが好ましい。
【0026】
これに関連し、上記歌詞付与工程又は手段は上記トラック又はチャンネルの選択を任意に行うことが好ましい。
【0027】
また、上記歌詞付与工程又は手段は演奏データの中で一番初めに現れるトラック又はチャンネルの音符列を歌詞付与の対象とすることが好ましい。
【0028】
さらに、上記歌詞付与工程又は手段は複数のトラック又はチャンネルに対してそれぞれ独立した歌詞を付与することが好ましい。これにより、デュエットやトリオ等の歌声合唱が容易に実現できる。
【0029】
また、歌詞付与の結果を保存することが好ましい。
【0030】
さらに、上記歌詞情報に台詞を表す情報が含まれている場合に該当歌詞の発声のタイミングで歌詞の替わりに台詞を合成音声により読み上げ、歌唱の中に台詞を挿入する台詞挿入工程又は手段をさらに有することが好ましい。
【0031】
また、本発明に係るプログラムは、本発明の歌声合成機能をコンピュータに実行させるものであり、本発明に係る記録媒体は、このプログラムが記録されたコンピュータ読み取り可能なものである。
【0032】
さらに、本発明に係るロボット装置は、上記目的を達成するため、供給された入力情報に基づいて動作を行う自律型のロボット装置であって、入力された演奏データを音の高さ、長さ、歌詞の音楽情報として解析する解析手段と、解析された音楽情報の歌詞情報に基づき音符列に対して歌詞を付与すると共に、歌詞情報が存在しない場合に任意の音符列に対して任意の歌詞を付与する歌詞付与手段と、付与された歌詞に基づき歌声を生成する歌声生成手段とを有し、上記歌詞付与手段は、外部からの歌詞として任意のテキストデータを読みに変換した文字列を用いる際に、該文字列の文節の切れ目と上記音符列のフレーズの切れ目とが一致するように、または上記文字列の文節の切れ目と上記音符列の小節の切れ目とが一致するように歌詞の配置を調整し、上記歌詞を上記音符に対応付ける。これにより、ロボットの持っているエンターテインメント性を格段に向上させることができる。
【0033】
【発明の実施の形態】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【0034】
先ず、本実施の形態における歌声合成装置の概略システム構成を図1に示す。ここで、この歌声合成装置は、少なくとも感情モデル、音声合成手段及び発音手段を有する例えばロボット装置に適用することを想定しているが、これに限定されず、各種ロボット装置や、ロボット以外の各種コンピュータAI(artificial
intelligence)等への適用も可能であることは勿論である。
【0035】
図1において、MIDIデータに代表される演奏データ1を解析する演奏データ解析部2は入力された演奏データ1を解析し演奏データ内にあるトラックやチャンネルの音の高さや長さ、強さを表す楽譜情報4に変換する。
【0036】
図2に楽譜情報4に変換された演奏データ(MIDIデータ)の例を示す。図2において、トラック毎、チャンネル毎にイベントが書かれている。イベントにはノートイベントとコントロールイベントが含まれる。ノートイベントは発生時刻(図中の時間の欄)、高さ、長さ、強さ(velocity)の情報を持つ。したがって、ノートイベントのシーケンスにより音符列又は音列が定義される。コントロールイベントは発生時刻、コントロールのタイプデータ(例えばビブラート、演奏ダイナミクス表現(expression))及びコントロールのコンテンツを示すデータを持つ。例えば、ビブラートの場合、コントロールのコンテンツとして、音の振れの大きさを指示する「深さ」、音の揺れの周期を指示する「幅」、音の揺れの開始タイミング(発音タイミングからの遅れ時間)を指示する「遅れ」の項目を有する。特定のトラック、チャンネルに対するコントロールイベントはそのコントロールタイプについて新たなコントロールイベント(コントロールチェンジ)が発生しない限り、そのトラック、チャンネルの音符列の楽音再生に適用される。さらに、MIDIファイルの演奏データにはトラック単位で歌詞を記入することができる。図2において、上方に示す「あるうひ」はトラック1に記入された歌詞の一部であり、下方に示す「あるうひ」はトラック2に記入された歌詞の一部である。すなわち図2の例は、解析した音楽情報(楽譜情報)の中に歌詞が埋め込まれた例である。なお、本実施の形態では、歌詞は仮名で示されたものとしている。
【0037】
なお、図2において、時間は「小節:拍:ティック数」で表され、長さは「ティック数」で表され、強さは「0−127」の数値で表され、高さは440Hzが「A4」で表される。また、ビブラートは、深さ、幅、遅れがそれぞれ「0−64−127」の数値で表される。
【0038】
図1に戻り、変換された楽譜情報4は歌詞付与部5に渡される。歌詞付与部5では楽譜情報4をもとに音符に対応した音の長さ、高さ、強さ、表情などの情報とともにその音に対する歌詞が付与された歌声情報6の生成を行う。
【0039】
図3に歌声情報6の例を示す。図3において、「¥song¥」は歌詞情報の開始を示すタグである。タグ「¥PP,T10673075¥」は10673075μsecの休みを示し、タグ「¥tdyna 110 649075¥」は先頭から10673075μsecの全体の強さを示し、タグ「¥fine−100¥」はMIDIのファインチューンに相当する高さの微調整を示し、タグ「¥vibrato NRPN_dep=64¥」、[¥vibrato NRPN_del=50¥]、「¥vibrato NRPN_rat=64¥」はそれぞれ、ビブラートの深さ、遅れ、幅を示す。また、タグ「¥dyna 100¥」は音毎の強弱を示し、タグ「¥G4,T288461¥あ」はG4の高さで、長さが288461μsecの歌詞「あ」を示す。図3の歌声情報は図2に示す楽譜情報(MIDIデータの解析結果)から得られたものである。
【0040】
図2と図3の比較から分かるように、楽器制御用の演奏データ(例えば音符情報)が歌声情報の生成において十分に活用されている。例えば、歌詞「あるうひ」の構成要素「あ」について、「あ」以外の歌唱属性である「あ」の音の発生時刻、長さ、高さ、強さ等について、楽譜情報(図2)中のコントロール情報やノートイベント情報に含まれる発生時刻、長さ、高さ、強さ等が直接的に利用され、次の歌詞要素「る」についても楽譜情報中の同じトラック、チャンネルにおける次のノートイベント情報が直接的に利用され、以下同様である。
【0041】
図1に戻り、歌声情報6は歌声生成部7に渡され、歌声生成部7においては歌声情報6をもとに歌声波形8の生成を行う。ここで、歌声情報6から歌声波形8を生成する歌声生成部7は例えば図4に示すように構成される。
【0042】
図4において、歌声韻律生成部7−1は歌声情報6を歌声韻律データに変換する。波形生成部7−2は歌声韻律データを歌声波形8に変換する。
【0043】
具体例として、「A4」の高さの歌詞要素「ら」を一定時間伸ばす場合について説明する。ビブラートをかけない場合の歌声韻律データは、以下の表のように表される。
【0044】
【表1】
【0045】
この表において、[LABEL]は、各音韻の継続時間長を表したものである。すなわち、「ra」という音韻(音素セグメント)は、0サンプルから1000サンプルまでの1000サンプルの継続時間長であり、「ra」に続く最初の「aa」という音韻は、1000サンプルから39600サンプルまでの38600サンプルの継続時間長である。また、[PITCH]は、ピッチ周期を点ピッチで表したものである。すなわち、0サンプル点におけるピッチ周期は50サンプルである。ここでは「ら」の高さを変えないので全てのサンプルに渡り50サンプルのピッチ周期が適用される。また、[VOLUME]は、各サンプル点での相対的な音量を表したものである。すなわち、デフォルト値を100%としたときに、0サンプル点では66%の音量であり、39600サンプル点では57%の音量である。以下同様にして、40100サンプル点では48%の音量等が続き42600サンプル点では3%の音量となる。これにより「ら」の音声が時間の経過と共に減衰することが実現される。
【0046】
これに対して、ビブラートをかける場合には、例えば、以下に示すような歌声韻律データが作成される。
【0047】
【表2】
【0048】
この表の[PITCH]の欄に示すように、0サンプル点と1000サンプル点におけるピッチ周期は50サンプルで同じであり、この間は音声の高さに変化がないが、それ以降は、2000サンプル点で53サンプルのピッチ周期、4009サンプル点で47サンプルのピッチ周期、6009サンプル点で53のピッチ周期というようにピッチ周期が約4000サンプルの周期(幅)を以て上下(50±3)に振れている。これにより音声の高さの揺れであるビブラートが実現される。この[PITCH]の欄のデータは歌声情報6における対応歌声要素(例えば「ら」)に関する情報、特にノートナンバー(例えばA4)とビブラートコントロールデータ(例えば、タグ「¥vibrato NRPN_dep=64¥」、[¥vibrato NRPN_del=50¥]、「¥vibrato NRPN_rat=64¥」)に基づいて生成される。
【0049】
波形生成部7−2はこのような歌声音韻データに基づき内部の波形メモリ(図示せず)からサンプルを読み出して歌声波形8を生成する。なお、歌声情報6から歌声波形8を生成する歌声生成部7については上記の例に限らず、任意の適当な公知の歌声生成器を使用できる。
【0050】
図1に戻り、演奏データ1はMIDI音源9に渡され、MIDI音源9は演奏データをもとに楽音の生成を行う。この楽音は伴奏波形10である。
【0051】
歌声波形8と伴奏波形10はともに同期を取りミキシングを行うミキシング部11に渡される。
【0052】
ミキシング部11では、歌声波形8と伴奏波形10との同期を取りそれぞれを重ね合わせて出力波形3として再生を行うことにより、演奏データ1をもとに伴奏を伴った歌声による音楽再生を行う。
【0053】
ここで、楽譜情報4をもとに歌詞付与部5により歌声情報6に変換する段階において、楽譜情報4において歌詞情報が存在する場合には、情報として存在する歌詞を優先して歌声情報6の付与を行う。上述したように図2は歌詞が付与された状態の楽譜情報4の例であり、図3は図2の楽譜情報4から生成された歌声情報6の例である。
【0054】
また、歌詞付与部5が楽譜情報4をもとに歌詞の付与を行う際に対象となるのはトラック選択部14により選択された楽譜情報4のトラックやチャンネルに対応した音符列である。
【0055】
ここで、楽譜情報4において歌詞がどのトラックやチャンネルにも存在しない場合、歌詞付与部5はトラック選択部14により選択された音符列に対して歌詞選択部13によりあらかじめオペレータにより指定された「ら」や「ぼん」などの任意歌詞データ12をもとに任意の歌詞を付与する。
【0056】
図5に歌詞が振られていない楽譜情報4の例を、図6には図5の楽譜情報に任意歌詞として「ら」が登録されている場合の歌声情報6の例を示す。
【0057】
なお、図5において、時間は「小節:拍:ティック数」で表され、長さは「ティック数」で表され、強さは「0−127」の数値で表され、高さは440Hzが「A4」で表される。
【0058】
図1に戻り、歌詞選択部13はこの任意歌詞データ12としてオペレータによって任意の読みの付与が指定できるが、何も指定されていない場合の初期値の任意歌詞データ12は「ら」に設定されている。
【0059】
また、歌詞選択部13はあらかじめ外部に用意された歌詞データ15をトラック選択部14により選択された音符列に対して付与することも可能である。
【0060】
さらに、歌詞選択部13はE-mailやホームページやワープロで作成した文書などのテキストデータ16を歌詞生成部17により読み仮名に変換することにより任意の文字列を歌詞として選択することが可能である。外部から与えられた漢字かな混じりの文字列にルビが付されている場合は、ルビに相当する漢字部分の読みとしてルビに記載された読みを利用することができる。ここで、漢字かな混じりの文字列を読み仮名に変換する技術は「形態素解析」の応用として広く公知である。このとき、単語、文節の区切りを得ることができ、この単語、文節の区切りは、後述するような歌詞と音符との対応付けを行うために用いられる。漢字かな混じり文字列が読みに変換された一例については、図9と共に後述する。
【0061】
また、ここで、対象となるテキストはネットワークを用いて配信されるネットワーク上のテキスト18であってもかまわない。
【0062】
また、外部から与えられた言語がタグ付き言語の場合に、タグ解析処理手段によりテキスト部分を抽出し、これを読みに変換することで歌詞を取得するようにしてもよい。
【0063】
本実施の形態によれば、歌詞情報に台詞を表す情報が含まれている場合に該当歌詞の発声のタイミングで歌詞の替わりに台詞を合成音声により読み上げ、歌唱の中に台詞を挿入することができる。
【0064】
例えば、MIDIデータ中に台詞タグ、例えば「//幸せだなー」がある場合、歌詞付与部5により生成された歌声情報6の歌詞中にその歌詞が台詞であることを表す情報として例えば「¥SP,T2345696¥幸せだなー」が付加される。この場合は台詞部分がテキスト音声合成部19に渡され台詞波形20が生成される。この例のように、台詞を表す情報としては「¥SP,T ¥台詞」などのタグを用いて表現することが文字列レベルで容易に可能である。
【0065】
この際、台詞波形は台詞発話のタイミング情報として、歌声情報における休符情報を流用し、台詞の前に無音の波形を付加することによっても可能である。
【0066】
トラック選択部14は楽譜情報4のトラックの数やそれぞれのトラックの中にあるチャンネルの数、歌詞の有無をオペレータに伝え、オペレータによりどのトラック又はチャンネルにどのような歌詞を付与するかを選択することができる。
【0067】
ここで、トラック選択部14においてはトラック又はチャンネルに対して歌詞が付与されている場合は歌詞が付与されているトラック又はチャンネルを選択する。
【0068】
また、歌詞が付与されていないものに対してはオペレータの指示によりどのトラックを又はチャンネルを選択するかを判断する。勿論、歌詞が付与されているトラック又はチャンネルに対してオペレータにより任意の歌詞を付与することも可能である。
【0069】
歌詞もオペレータの指示もない場合にはデフォルトとして第1トラックの第1チャンネルを対象音符列として歌詞付与部5に知らせる。
【0070】
以上の説明のように、歌詞付与部5は楽譜情報4をもとにトラック選択部14により選択されたトラック又はチャンネルが示す音符列に対して歌詞選択部13により選択された歌詞又はトラック又はチャンネルに記載されている歌詞を用いて歌声情報6の生成を行うが、これらの処理はそれぞれのトラックやチャンネルに対して独立して行なえるものである。
【0071】
図7は、図1に示す歌声合成装置の全体動作を説明するためのフローチャートである。
【0072】
この図7において、先ずMIDIファイルの演奏データ1を入力する(ステップS1)。次に演奏データ1を解析し、楽譜データ4を作成する(ステップS2、S3)。次にオペレータに問い合わせオペレータの設定処理(例えば、歌詞の選択、歌詞の対象であるトラック、チャンネルの選択、ミュートするMIDIトラック、チャンネルの選択等)を行う(ステップS4)。なおオペレータが設定しなかった部分についてはデフォルトが後続処理で使用される。
【0073】
続くステップS5〜S16は歌詞付加工程を構成する。先ず着目しているトラックについて、外部の歌詞の指定あり(ステップS5)のときは、その歌詞を最優先するので、ステップS6に進み、E-mail等のテキストデータ16、18であれば、読みに変換し(ステップS7)てからその歌詞を取得し、そうでなければ(例えば歌詞データ15のときは)直接その外部歌詞を歌詞として取得する(ステップS8)。
【0074】
外部の歌詞の指定がなければ、そのトラックの楽譜情報4内に歌詞があるか検査する(ステップS9)。楽譜情報中に存在する歌詞は2番目に優先するので、これが成り立つときは楽譜情報の歌詞を取得する(ステップS10)。
【0075】
楽譜情報4内に歌詞がなければ任意歌詞の指定があるか検査し(ステップS11)、指定ありなら、その任意歌詞12を取得する(ステップS12)。
【0076】
任意歌詞判定ステップS11で不成立の後、又は歌詞取得ステップS8、S10、S12の後、歌詞を割り当てるトラックが選択されているか検査する(ステップS13)。選択されたトラックがなければ先頭のトラックを選択する(ステップS19)。なお詳細には、一番初めに現れるトラックのチャンネルが選択される。
【0077】
以上で歌詞を割り当てるトラックとチャンネルが決定したので、そのトラックにおけるチャンネルの楽譜情報4を用いて歌詞から歌声情報6を作成する(ステップS15)。この歌声情報6の作成については、後に図8を参照しながら詳細に説明する。
【0078】
次に、全てのトラックについて処理を完了したかどうか検査し(ステップS16)、完了してなければトラックを次に進めて、ステップS5に戻る。
【0079】
したがって、複数のトラックにそれぞれ歌詞を付加する場合に、互いに独立して歌詞が付加され歌声情報6が作成されることになる。
【0080】
このように、図7の歌詞付加工程によれば、解析された音楽情報に歌詞情報が存在しない場合に、任意の音符列に対して任意の歌詞が付加される。また、外部からの歌詞の指示がない場合にあらかじめ決められた歌詞(例えば「ら」や「ぼん」)を任意の音符列に対して付与することもできる。また、MIDIファイルのトラック又はチャンネルに含まれる音符列を歌詞付与の対象としている。また、歌詞を割り当てるトラック又はチャンネルの選択をオペレータ設定処理S4等を介して任意に行うことができる。
【0081】
歌詞付加工程の後、ステップS17に進み、歌声生成部7により歌声情報6から歌声波形8を作成する。
【0082】
次に、歌声情報の中に台詞があれば(ステップS18)、テキスト音声合成部19により台詞波形20を作成する(ステップS19)。これにより、歌詞情報に台詞を表す情報が含まれている場合には該当歌詞の発声のタイミングで歌詞の替わりに台詞が合成音声により読み上げられ、歌唱の中に台詞が挿入されることになる。
【0083】
次に、ミュートするMIDI音源があるか検査し(ステップS20)、あれば該当するMIDIトラック、チャンネルをミュートする(ステップS21)。これにより、例えば歌詞を割り当てたトラック、チャンネルの楽音をミュートすることができる。次にMIDI音源9によりMIDIを再生して伴奏波形10を作成する(ステップS22)。
【0084】
ここまでの処理で、歌声波形8、台詞波形20及び伴奏波形10が得られた。
【0085】
そこで、ミキシング部11により、歌声波形8と伴奏波形10、台詞波形20との同期を取りそれぞれを重ね合わせて出力波形3として再生を行う(ステップS23、S24)。この出力波形3は図示しないサウンドシステムを介して音響信号として出力される。
【0086】
なお、最後のステップS24又は途中の適当なステップ、例えば歌声波形と台詞波形の生成を終了した段階で、処理結果例えば、歌詞付与の結果と台詞付与の結果を保存することができる。
【0087】
次に、上記図7のステップS15の歌声データの作成について、図8を参照しながら説明する。この歌声データの作成は、主として図1の歌詞付与部5にて行われるものである。
【0088】
この図8において、最初のステップS31では、歌声情報を作成するための歌詞が外部の歌詞か否かを判別する。この外部の歌詞とは、上記図7のステップS5において外部の歌詞の指定があった場合にステップS8で取得された歌詞に相当し、このような外部の歌詞(Yes)の場合にはステップS32に進む。それ以外(No)の場合には、ステップS39に進み、歌詞と音符との対応付けが行われる。
【0089】
ステップS32では、与えられた外部の歌詞が漢字かな混じり文からの読みであるか否かを判別する。ここで、漢字かな混じり文字列から読み(読み仮名)への変換は、上述したように、図1の歌詞生成部17で、例えば形態素解析等の技術を用いて行われた(図7のステップS7)ものであり、図9に漢字かな混じり文字列及び変換された読みの一例を示す。この漢字かな混じり文字列から変換された読みには、文節区切り、単語区切りが付与され、図9の例においては、文節区切りを“〔〕”で示し、単語区切りを“/”で示している。
【0090】
ステップS32でNoと判別された場合は、与えられた外部の歌詞の元のテキスト等が漢字かな混じり文ではなく、かな(仮名)であった場合に相当し、ステップS39に進んで、歌詞と音符との対応付けがなされる。このステップS32でNoと判別される場合とは、例えば替え歌等のように、予め音符との対応がとられたかな文字で表現された歌詞である場合等を想定したものであるが、元のテキスト等が全てかなで表されたものの場合には、替え歌等であるか否かにかかわらずステップS39で進んでそのまま音符に割り付けられることになる。
【0091】
上記ステップS32でYes(漢字かな混じり文からの読み)と判別された場合にはステップS33に進み、このステップS33以降の処理により、上記楽譜情報4中の音符データと歌詞との対応をとって、歌声情報6を作成する。この対応の取り方は、例えば、文字列の文節の切れ目と楽曲のフレーズの切れ目が一致するように歌詞の配置を調整したり、文字列の文節の切れ目と楽曲の小節の切れ目が一致するように歌詞の配置を調整するようにして行われ、さらに、文節内の歌詞の数(例えば音節の数)と小節内の音符の数との多少関係を考慮した対応付けを行うようにしている。このステップS33以降における歌詞と音符との対応の取り方について以下説明する。
【0092】
ステップS33ではフレーズ区切りの取得、次のステップS34では小節区切りの取得を行っており、これは、上記図1の歌詞付与部5において、楽譜情報4からフレーズ、小節の区切りの検出を行なうことに相当する。小節の区切りは、MIDIデータのような演奏データの場合は簡単に検出できることは広く知られている。フレーズに関しては、一定の長さ以上の休符を区切りとして判断し、この長さはオペレータによって指定することも可能である。またフレーズに関しては、4小節を一つのフレーズのまとまりとして処理する方法もある。前記の休符によるフレーズが見つからない場合などはこの方法を用いる。
【0093】
図10は、DTM(Desk Top Music)ソフトウェア分野等で言うところのピアノロール風に表現した楽譜、すなわち横軸に時間を、縦軸に音の高さを表した楽譜の一例を示す図であり、この図10では、フレーズ区切りを二重線で示し、小節区切りを破線で示している。この例では、小節M1,M2,・・・の区切りはMIDIデータから判断したもの、フレーズ区切りは休符により切り出されたものである。
【0094】
ここで、漢字かな混じり文字列が変換された歌詞の場合は、上記図9と共に説明したように文節区切り、単語区切りが付与されていることから、その歌詞に付与された文節区切り、単語区切りを手がかりに、上記楽譜情報の小節、フレーズに収まるように、例えば音符の数と歌詞の数が同じになるように調整する。この調整を行う単位によって、小節の中の音符の数と文節の区切りまでの歌詞の文字数を合わせる方法と、フレーズの中の音符の数と文節の区切りまでの歌詞の文字数を合わせる方法とが挙げられる。また、調整単位内での調整の方法としては、音符の数が読みの数よりも多い場合は歌詞の一部を伸ばし、逆に音符の数のほうが少ない場合は一つの音符に複数の歌詞を付与することが挙げられる。図11には、図9で得られた歌詞を図10の楽譜データに適応させて対応付けした場合の例を示している。
【0095】
先ず、図11の小節M1では、音符の数と歌詞の数(例えば音節の数)が共に「3」で等しく、互いに対応しているので、そのまま当てはめればよい。なお、歌詞のかな文字の「きょ」等は1つ(1音節)としてカウントする。
【0096】
次の小節M2では、歌詞の数(例えば音節の数)「4」よりも音符の数「6」が多いため、この例では、音符の後ろ(時間軸上で後方)の歌詞から順に母音を伸ばす形で複数の音符に一つの歌詞を対応させている。すなわち、小節M2の一番後ろの歌詞である「か」の歌詞の母音「あ」を延ばし「かあ」にし、これでもまだ対応がつかないので、その一つ前の「だ」も「だあ」に変更する。これにより、歌詞を音符に対応付けしている。
【0097】
次に、図11の小節M3でも小節M2と同様に歌詞の数「4」の方が音符の数「5」よりも少ないが、この小節M3では、例えば音符の短い音から順に母音を延ばす対象の音符として処理している。具体的には、小節M3の2つ目、3つ目の音符が一番短い音であり、この場合も後ろから処理を行なうので、母音延ばしの対象になるのは3つ目の音になり、対象となる歌詞は3つ目の音に母音を延ばす歌詞なので、2つ目の歌詞「ぶ」が対象になる。したがって調整は2つ目の歌詞「ぶ」の母音「う」を3つ目の音に対応させ、「きぶんが」が「きぶうんが」になる。
【0098】
上述した小節M2,M3における調整方法は、どちらの考え方を先にやってもよいし複合して行なってもかまわない。
【0099】
次に、小節M4においては、音符の数と歌詞の数は小節の中では同じであるがフレーズ区切りの関係で、最後の音符は次のフレーズのものと判断されるため、小節M4の前部分のフレーズ内では歌詞の数「4」の方が音符の数「3」よりも多い。この図11の例では、後ろのほうの音から順次一つの音に複数の歌詞を重ねて調整を取るようにしている。すなわち、図11の小節M4の前部分のフレーズ内では、最後の音に「ない」と二つの歌詞を当てはめることにより調整をしている。この例では一番最後にその小節内の一番長い音がきているため、一番最後の音に適応したが、後方にある長い音から処理していくことも可能で、この場合は必ずしも一番最後の音に複数の歌詞が適応されるとは限らない。たとえば小節M4のケースで1番目の音が1番長い音であった場合は一番最初の音に「よく」という歌詞が適応され、2番目の音が一番長い場合は「くな」という歌詞が2番目の音に付与される。
【0100】
上述した各小節M2,M3,M4に対する処理は、後ろ(時間軸上で後方)から調べる形で説明したが、前から調べる方法でも実現は可能である。また、これオらをオペレータの指示により選択、組み合わせて行なうことも可能である。また、上記説明では、歌詞の文節を単位として処理する例を示したが、単語を単位として処理を行なうことも可能である。また、フレーズ区切りによる判断、小節区切りによる判断はどちらを先にやっても良く、どちらかを省略することも可能である。さらに、楽曲と歌詞の対象になる読みの調整を行なわず、最初から1対1対応で出力することも可能である。
【0101】
以上説明した本発明の実施の形態をまとめると、漢字かな混じりの文字列を歌詞に変換する際に、文字列の文節の切れ目と楽曲のフレーズの切れ目が一致するように歌詞の配置を調整したり、文字列の文節の切れ目と楽曲の小節の切れ目が一致するように歌詞の配置を調整することが挙げられる。この場合、楽曲のフレーズの切れ目は、一定の時間以上の長い休符の存在を判断基準としたり、4小節を1フレーズのまとまりとして判断することが挙げられる。また、上述の歌詞の配置を調整する際に、音符対応する歌詞の数の差が所定の文字数を超えた場合は、一つの音符に複数の拍の音を入れることにより調整することが挙げられ、音符対応する歌詞の数の差が所定の文字数に満たない場合は、一つの拍の音の母音を次の音符まで伸ばして調整することが挙げられる。また、歌詞の配置を調整する際に、対象となる楽曲のフレーズまたは小節の後方から処理を行い音符と歌詞の数が一緒になるまで調整するか、あるいは、対象となる楽曲のフレーズまたは小節の前方から処理を行い音符と歌詞の数が一緒になるまで調整することが挙げられる。さらに、上述の歌詞の配置を調整する際に、対象となる楽曲のフレーズまたは小節の中の長い音から順に複数の拍を入れる処理を行い音符と歌詞の数が一緒になるまで調整するか、あるいは、対象となる楽曲のフレーズまたは小節の中の短い音から順に母音の付与処理を行い音符と歌詞の数が一緒になるまで調整することが挙げられる。
【0102】
なお、上述した実施の形態では、歌詞付与工程にて用いられる外部からの歌詞として、外部から与えられた漢字かな混じりの文字列を、読みに変換することで取得された歌詞である場合を主として説明したが、この他、外部からの歌詞については、外部から与えられたタグ付き言語を、タグ解析処理手段によりテキスト部分を抽出し、これを読みに変換することで歌詞を取得するようにしてもよく、また、外部から与えられた漢字かな混じりの文字列にルビが付されている場合は、ルビに相当する漢字部分の読みとしてルビに記載された読みを利用するようにしてもよい。
【0103】
以上説明した歌声合成機能は例えば、ロボット装置に搭載される。
【0104】
以下、一構成例として示す2足歩行タイプのロボット装置は、住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボットであり、内部状態(怒り、悲しみ、喜び、楽しみ等)に応じて行動できるほか、人間が行う基本的な動作を表出できるエンターテインメントロボットである。
【0105】
図12に示すように、ロボット装置60は、体幹部ユニット62の所定の位置に頭部ユニット63が連結されると共に、左右2つの腕部ユニット64R/Lと、左右2つの脚部ユニット65R/Lが連結されて構成されている(ただし、R及びLの各々は、右及び左の各々を示す接尾辞である。以下において同じ。)。
【0106】
このロボット装置1が具備する関節自由度構成を図13に模式的に示す。頭部ユニット63を支持する首関節は、首関節ヨー軸101と、首関節ピッチ軸102と、首関節ロール軸103という3自由度を有している。
【0107】
また、上肢を構成する各々の腕部ユニット64R/Lは、肩関節ピッチ軸107と、肩関節ロール軸108と、上腕ヨー軸109と、肘関節ピッチ軸110と、前腕ヨー軸111と、手首関節ピッチ軸112と、手首関節ロール軸113と、手部114とで構成される。手部114は、実際には、複数本の指を含む多関節・多自由度構造体である。ただし、手部114の動作は、ロボット装置60の姿勢制御や歩行制御に対する寄与や影響が少ないので、本明細書ではゼロ自由度と仮定する。したがって、各腕部は7自由度を有するとする。
【0108】
また、体幹部ユニット62は、体幹ピッチ軸104と、体幹ロール軸105と、体幹ヨー軸106という3自由度を有する。
【0109】
また、下肢を構成する各々の脚部ユニット65R/Lは、股関節ヨー軸115と、股関節ピッチ軸116と、股関節ロール軸117と、膝関節ピッチ軸118と、足首関節ピッチ軸119と、足首関節ロール軸120と、足部121とで構成される。本明細書中では、股関節ピッチ軸116と股関節ロール軸117の交点は、ロボット装置1の股関節位置を定義する。人体の足部121は、実際には多関節・多自由度の足底を含んだ構造体であるが、ロボット装置60の足底は、ゼロ自由度とする。したがって、各脚部は、6自由度で構成される。
【0110】
以上を総括すれば、ロボット装置60全体としては、合計で3+7×2+3+6×2=32自由度を有することになる。ただし、エンターテインメント向けのロボット装置1が必ずしも32自由度に限定されるわけではない。設計・制作上の制約条件や要求仕様等に応じて、自由度すなわち関節数を適宜増減することができることはいうまでもない。
【0111】
上述したようなロボット装置60がもつ各自由度は、実際にはアクチュエータを用いて実装される。外観上で余分な膨らみを排してヒトの自然体形状に近似させること、2足歩行という不安定構造体に対して姿勢制御を行うことなどの要請から、アクチュエータは小型且つ軽量であることが好ましい。また、アクチュエータは、ギア直結型で且つサーボ制御系をワンチップ化してモータユニット内に搭載したタイプの小型ACサーボ・アクチュエータで構成することがより好ましい。
【0112】
図14には、ロボット装置60の制御システム構成を模式的に示している。図14に示すように、制御システムは、ユーザ入力などに動的に反応して情緒判断や感情表現を司る思考制御モジュール200と、アクチュエータ350の駆動などロボット装置1の全身協調運動を制御する運動制御モジュール300とで構成される。
【0113】
思考制御モジュール200は、情緒判断や感情表現に関する演算処理を実行するCPU(Central Processing Unit)211や、RAM(Random Access Memory)212、ROM(Read Only Memory)213、及び、外部記憶装置(ハード・ディスク・ドライブなど)214で構成される、モジュール内で自己完結した処理を行うことができる、独立駆動型の情報処理装置である。
【0114】
この思考制御モジュール200は、画像入力装置251から入力される画像データや音声入力装置252から入力される音声データなど、外界からの刺激などに従って、ロボット装置60の現在の感情や意思を決定する。ここで、画像入力装置251は、例えばCCD(Charge Coupled Device)カメラを複数備えており、また、音声入力装置252は、例えばマイクロホンを複数備えている。
【0115】
また、思考制御モジュール200は、意思決定に基づいた動作又は行動シーケンス、すなわち四肢の運動を実行するように、運動制御モジュール300に対して指令を発行する。
【0116】
一方の運動制御モジュール300は、ロボット装置60の全身協調運動を制御するCPU311や、RAM312、ROM313、及び外部記憶装置(ハード・ディスク・ドライブなど)314で構成される、モジュール内で自己完結した処理を行うことができる、独立駆動型の情報処理装置である。外部記憶装置314には、例えば、オフラインで算出された歩行パターンや目標とするZMP軌道、その他の行動計画を蓄積することができる。ここで、ZMPとは、歩行中の床反力によるモーメントがゼロとなる床面上の点のことであり、また、ZMP軌道とは、例えばロボット装置1の歩行動作期間中にZMPが動く軌跡を意味する。なお、ZMPの概念並びにZMPを歩行ロボットの安定度判別規範に適用する点については、Miomir Vukobratovic 著“LEGGED LOCOMOTION ROBOTS”(加藤一郎外著『歩行ロボットと人工の足』(日刊工業新聞社))に記載されている。
【0117】
運動制御モジュール300には、図13に示したロボット装置60の全身に分散するそれぞれの関節自由度を実現するアクチュエータ350、体幹部ユニット2の姿勢や傾斜を計測する姿勢センサ351、左右の足底の離床又は着床を検出する接地確認センサ352,353、バッテリなどの電源を管理する電源制御装置354などの各種の装置が、バス・インターフェース(I/F)301経由で接続されている。ここで、姿勢センサ351は、例えば加速度センサとジャイロ・センサの組み合わせによって構成され、接地確認センサ352,353は、近接センサ又はマイクロ・スイッチなどで構成される。
【0118】
思考制御モジュール200と運動制御モジュール300は、共通のプラットフォーム上で構築され、両者間はバス・インターフェース201,301を介して相互接続されている。
【0119】
運動制御モジュール300では、思考制御モジュール200から指示された行動を体現すべく、各アクチュエータ350による全身協調運動を制御する。すなわち、CPU311は、思考制御モジュール200から指示された行動に応じた動作パターンを外部記憶装置314から取り出し、又は、内部的に動作パターンを生成する。そして、CPU311は、指定された動作パターンに従って、足部運動、ZMP軌道、体幹運動、上肢運動、腰部水平位置及び高さなどを設定するとともに、これらの設定内容に従った動作を指示する指令値を各アクチュエータ350に転送する。
【0120】
また、CPU311は、姿勢センサ351の出力信号によりロボット装置60の体幹部ユニット62の姿勢や傾きを検出するとともに、各接地確認センサ352,353の出力信号により各脚部ユニット65R/Lが遊脚又は立脚のいずれの状態であるかを検出することによって、ロボット装置60の全身協調運動を適応的に制御することができる。
【0121】
また、CPU311は、ZMP位置が常にZMP安定領域の中心に向かうように、ロボット装置60の姿勢や動作を制御する。
【0122】
さらに、運動制御モジュール300は、思考制御モジュール200において決定された意思通りの行動がどの程度発現されたか、すなわち処理の状況を、思考制御モジュール200に返すようになっている。
【0123】
このようにしてロボット装置60は、制御プログラムに基づいて自己及び周囲の状況を判断し、自律的に行動することができる。
【0124】
このロボット装置60において、上述した歌声合成機能をインプリメントしたプログラム(データを含む)は例えば思考制御モジュール200のROM213に置かれる。この場合、歌声合成プログラムの実行は思考制御モジュール200のCPU211により行われる。
【0125】
このようなロボット装置に上記歌声合成機能を組み込むことにより、伴奏に合わせて歌うロボットとしての表現能力が新たに獲得され、エンターテインメント性が広がり、人間との親密性が深められる。
【0126】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【0127】
例えば、本件出願人が先に提案した特願2002−73385の明細書及び図面に記載の音声合成方法及び装置等に用いられる歌声合成部及び波形生成部に対応した歌声生成部7に使用可能な歌声情報を例示しているが、この他種々の歌声生成部を用いることができ、この場合、各種の歌声生成部によって歌声生成に必要とされる情報を含むような歌声情報を、上記演奏データから生成するようにすればよいことは勿論である。また、演奏データは、MIDIデータに限定されず、種々の規格の演奏データを使用可能である。
【0128】
【発明の効果】
以上詳細に説明したように、本発明に係る歌声合成方法及び装置によれば、演奏データを音の高さ、長さ、歌詞の音楽情報として解析し、解析された音楽情報の歌詞情報に基づき音符列に対して歌詞を付与すると共に、歌詞情報が存在しない場合に解析された音楽情報中の任意の音符列に対して任意の歌詞を付与し、付与された歌詞に基づき歌声を生成し、歌詞を付与するために外部からの歌詞を用いる際に、該歌詞の区切りと上記音符列の区切りとの関係に基づき歌詞を音符に対応付けすることにより、演奏データを解析してそれから得られる音の高さ、長さ、強さをもとにした音符情報に対して任意の歌詞を付与して歌声情報を生成し、その歌声情報をもとに歌声の生成を行うことができ、演奏データの中に歌詞情報があればその歌詞を歌い上げることが可能なばかりでなく、演奏データ中の任意の音符列に対して自由な歌詞を付与することができ、外部から与えられた歌詞、例えば任意の漢字かな混じりの文字列のテキストや、インターネット上のホームページなどを記述するHTMLなどにより記載されたタグ付き言語等について、メロディを付けて替え歌風に読み上げるあるいは歌い上げることができる。したがって、従来、楽器の音のみにより表現していた音楽の作成や再生において特別な情報を加えることがなく歌声の再生を行なえることによりその音楽表現は格段に向上すると共に、任意のテキストデータをメロディを付けて歌い上げることにより、エンタテインメント性をさらに向上させることができる。
【0129】
また、本発明に係るプログラムは、本発明の歌声合成機能をコンピュータに実行させるものであり、本発明に係る記録媒体は、このプログラムが記録されたコンピュータ読み取り可能なものである。
【0130】
本発明に係るプログラム及び記録媒体によれば、演奏データを音の高さ、長さ、歌詞の音楽情報として解析し、解析された音楽情報の歌詞情報に基づき音符列に対して歌詞を付与すると共に、歌詞情報が存在しない場合に解析された音楽情報中の任意の音符列に対して任意の歌詞を付与し、付与された歌詞に基づき歌声を生成することにより、演奏データを解析してそれから得られる音の高さ、長さ、強さをもとにした音符情報に対して任意の歌詞を付与して歌声情報を生成し、その歌声情報をもとに歌声の生成を行うことができ、演奏データの中に歌詞情報があればその歌詞を歌い上げることが可能なばかりでなく、演奏データ中の任意の音符列に対して自由な歌詞を付与することができ、外部から与えられた歌詞、例えば任意の漢字かな混じりの文字列のテキストや、インターネット上のホームページなどを記述するHTMLなどにより記載されたタグ付き言語等について、メロディを付けて替え歌風に読み上げるあるいは歌い上げることができる。したがって、従来、楽器の音のみにより表現していた音楽の作成や再生において特別な情報を加えることがなく歌声の再生を行なえることによりその音楽表現は格段に向上すると共に、任意のテキストデータをメロディを付けて歌い上げることにより、エンタテインメント性をさらに向上させることができる。
【0131】
また、本発明に係るロボット装置は本発明の歌声合成機能を実現する。すなわち、本発明のロボット装置によれば、供給された入力情報に基づいて動作を行う自律型のロボット装置において、入力された演奏データを音の高さ、長さ、歌詞の音楽情報として解析し、解析された音楽情報の歌詞情報に基づき音符列に対して歌詞を付与すると共に、歌詞情報が存在しない場合に解析された音楽情報中の任意の音符列に対して任意の歌詞を付与し、付与された歌詞に基づき歌声を生成することにより、演奏データを解析してそれから得られる音の高さ、長さ、強さをもとにした音符情報に対して任意の歌詞を付与して歌声情報を生成し、その歌声情報をもとに歌声の生成を行うことができ、演奏データの中に歌詞情報があればその歌詞を歌い上げることが可能なばかりでなく、演奏データ中の任意の音符列に対して自由な歌詞を付与することができ、外部から与えられた歌詞、例えば任意の漢字かな混じりの文字列のテキストや、インターネット上のホームページなどを記述するHTMLなどにより記載されたタグ付き言語等について、メロディを付けて替え歌風に読み上げるあるいは歌い上げることができる。したがって、従来、楽器の音のみにより表現していた音楽の作成や再生において特別な情報を加えることがなく歌声の再生を行なえることによりその音楽表現は格段に向上すると共に、任意のテキストデータをメロディを付けて歌い上げることにより、エンタテインメント性をさらに向上させることができる。したがって、ロボット装置の表現能力が向上し、エンターテインメント性を高めることができると共に、人間との親密性を深めることができる。
【図面の簡単な説明】
【図1】本実施の形態における歌声合成装置のシステム構成を説明するブロック図である。
【図2】解析結果の楽譜情報の例を示す図である。
【図3】歌声情報の例を示す図である。
【図4】歌声生成部の構成例を説明するブロック図である。
【図5】歌詞が振られていない楽譜情報の例を示す図である。
【図6】歌声情報の例を示す図である。
【図7】本実施の形態における歌声合成装置の動作を説明するためのフローチャートである。
【図8】本実施の形態における歌声合成装置の動作の内の歌声データの作成の一例を説明するためのフローチャートである。
【図9】漢字かな混じり文字列及び変換された読みの一例を示す図である。
【図10】音楽情報の音符列について、横軸に時間を、縦軸に音の高さを表した楽譜の一例を示す図である。
【図11】図9で得られた歌詞を図10の楽譜データに適応させて対応付けした場合の例を示す図である。
【図12】本実施の形態におけるロボット装置の外観構成を示す斜視図である。
【図13】同ロボット装置の自由度構成モデルを模式的に示す図である。
【図14】同ロボット装置のシステム構成を示すブロック図である。
【符号の説明】
1 演奏データ解析部、 5 歌詞付与部、7 歌声生成部、 13 歌詞選択部、 14 トラック選択部、 100 ロボット装置、 211 CPU、 213 ROM
Claims (15)
- 演奏データを音の高さ、長さ、歌詞の音楽情報として解析する解析工程と、
解析された音楽情報の歌詞情報に基づき音符列に対して歌詞を付与すると共に、歌詞情報が存在しない場合に任意の音符列に対して任意の歌詞を付与する歌詞付与工程と、
付与された歌詞に基づき歌声を生成する歌声生成工程とを有し、
上記歌詞付与工程は、外部からの歌詞として任意のテキストデータを読みに変換した文字列を用いる際に、該文字列の文節の切れ目と上記音符列のフレーズの切れ目とが一致するように、または上記文字列の文節の切れ目と上記音符列の小節の切れ目とが一致するように歌詞の配置を調整し、上記歌詞を上記音符に対応付ける
歌声合成方法。 - 上記演奏データはMIDIファイルの演奏データである請求項1記載の歌声合成方法。
- 上記歌詞付与工程にて用いられる外部からの歌詞は、外部から与えられた漢字かな混じりの文字列を、読みに変換することで取得された歌詞である請求項1記載の歌声合成方法。
- 上記歌詞付与工程にて用いられる外部からの歌詞は、外部から与えられたタグ付き言語を、タグ解析処理手段によりテキスト部分を抽出し、これを読みに変換することで取得された歌詞である請求項1記載の歌声合成方法。
- 上記外部から与えられた漢字かな混じりの文字列にルビが付されている場合は、ルビに相当する漢字部分の読みとしてルビに記載された読みを利用する請求項3記載の歌声合成方法。
- 上記フレーズの切れ目は、一定時間以上の長い休符の存在を判断基準として、または4小節を1フレーズのまとまりとして判断する請求項1記載の歌声合成方法。
- 上記歌詞の配置を調整する際に、音符に対応させる歌詞の数の差が所定の文字数を超えた場合は一つの音符に複数の拍の音を入れることにより調整する請求項1記載の歌声合成方法。
- 上記歌詞の配置を調整する際に、音符に対応させる歌詞の数の差が所定の文字数に満たない場合は一つの拍の音の母音を次の音符まで伸ばして調整する請求項1記載の歌声合成方法。
- 上記歌詞の配置を調整する際に、対象となる音符列のフレーズまたは小節の、後方または前方から処理を行い、音符と歌詞の数が等しくなるまで調整する請求項1記載の歌声合成方法。
- 上記歌詞の配置を調整する際に、対象となる音符列のフレーズまたは小節の中の長い音から順に複数の拍を入れる処理を行い、音符と歌詞の数が等しくなるまで調整する請求項1記載の歌声合成方法。
- 上記歌詞の配置を調整する際に、対象となる音符列のフレーズまたは小節の中の短い音から順に母音の付与処理を行い、音符と歌詞の数が等しくなるまで調整する請求項1記載の歌声合成方法。
- 演奏データを音の高さ、長さ、歌詞の音楽情報として解析する解析手段と、
解析された音楽情報の歌詞情報に基づき音符列に対して歌詞を付与すると共に、歌詞情報が存在しない場合に任意の音符列に対して任意の歌詞を付与する歌詞付与手段と、
付与された歌詞に基づき歌声を生成する歌声生成手段とを有し、
上記歌詞付与手段は、外部からの歌詞として任意のテキストデータを読みに変換した文字列を用いる際に、該文字列の文節の切れ目と上記音符列のフレーズの切れ目とが一致するように、または上記文字列の文節の切れ目と上記音符列の小節の切れ目とが一致するように歌詞の配置を調整し、上記歌詞を上記音符に対応付ける
歌声合成装置。 - 所定の処理をコンピュータに実行させるためのプログラムであって、
コンピュータに、
入力された演奏データを音の高さ、長さ、歌詞の音楽情報として解析する解析工程と、
解析された音楽情報に歌詞情報が存在しない場合に任意の音符列に対して任意の歌詞を付与する歌詞付与工程と、
付与された歌詞に基づき歌声を生成する歌声生成工程とを実行させ、
上記歌詞付与工程は、外部からの歌詞として任意のテキストデータを読みに変換した文字列を用いる際に、該文字列の文節の切れ目と上記音符列のフレーズの切れ目とが一致するように、または上記文字列の文節の切れ目と上記音符列の小節の切れ目とが一致するように歌詞の配置を調整し、上記歌詞を上記音符に対応付ける
プログラム。 - 所定の処理をコンピュータに実行させるためのプログラムが記録されたコンピュータ読取可能な記録媒体であって、
コンピュータに、
入力された演奏データを音の高さ、長さ、歌詞の音楽情報として解析する解析工程と、
解析された音楽情報の歌詞情報に基づき音符列に対して歌詞を付与すると共に、歌詞情報が存在しない場合に任意の音符列に対して任意の歌詞を付与する歌詞付与工程と、
付与された歌詞に基づき歌声を生成する歌声生成工程とを実行させ、
上記歌詞付与工程は、外部からの歌詞として任意のテキストデータを読みに変換した文字列を用いる際に、該文字列の文節の切れ目と上記音符列のフレーズの切れ目とが一致するように、または上記文字列の文節の切れ目と上記音符列の小節の切れ目とが一致するように歌詞の配置を調整し、上記歌詞を音符に対応付けする
プログラムが記録されたコンピュータ読取可能な記録媒体。 - 供給された入力情報に基づいて動作を行う自律型のロボット装置であって、
入力された演奏データを音の高さ、長さ、歌詞の音楽情報として解析する解析手段と、
解析された音楽情報の歌詞情報に基づき音符列に対して歌詞を付与すると共に、歌詞情報が存在しない場合に任意の音符列に対して任意の歌詞を付与する歌詞付与手段と、
付与された歌詞に基づき歌声を生成する歌声生成手段とを有し、
上記歌詞付与手段は、外部からの歌詞として任意のテキストデータを読みに変換した文字列を用いる際に、該文字列の文節の切れ目と上記音符列のフレーズの切れ目とが一致するように、または上記文字列の文節の切れ目と上記音符列の小節の切れ目とが一致するように歌詞の配置を調整し、上記歌詞を上記音符に対応付ける
ロボット装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003170001A JP4415573B2 (ja) | 2003-06-13 | 2003-06-13 | 歌声合成方法、歌声合成装置、プログラム及び記録媒体並びにロボット装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003170001A JP4415573B2 (ja) | 2003-06-13 | 2003-06-13 | 歌声合成方法、歌声合成装置、プログラム及び記録媒体並びにロボット装置 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2005004107A JP2005004107A (ja) | 2005-01-06 |
JP2005004107A5 JP2005004107A5 (ja) | 2006-07-27 |
JP4415573B2 true JP4415573B2 (ja) | 2010-02-17 |
Family
ID=34094966
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003170001A Expired - Fee Related JP4415573B2 (ja) | 2003-06-13 | 2003-06-13 | 歌声合成方法、歌声合成装置、プログラム及び記録媒体並びにロボット装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4415573B2 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4277697B2 (ja) * | 2004-01-23 | 2009-06-10 | ヤマハ株式会社 | 歌声生成装置、そのプログラム並びに歌声生成機能を有する携帯通信端末 |
JP4736483B2 (ja) * | 2005-03-15 | 2011-07-27 | ヤマハ株式会社 | 歌データ入力プログラム |
JP5515986B2 (ja) * | 2010-04-05 | 2014-06-11 | ヤマハ株式会社 | 情報編集装置およびプログラム |
JP5549521B2 (ja) * | 2010-10-12 | 2014-07-16 | ヤマハ株式会社 | 音声合成装置およびプログラム |
JP6003115B2 (ja) * | 2012-03-14 | 2016-10-05 | ヤマハ株式会社 | 歌唱合成用シーケンスデータ編集装置および歌唱合成用シーケンスデータ編集方法 |
JP5598516B2 (ja) * | 2012-08-31 | 2014-10-01 | ブラザー工業株式会社 | カラオケ用音声合成システム,及びパラメータ抽出装置 |
JP5935815B2 (ja) * | 2014-01-15 | 2016-06-15 | ヤマハ株式会社 | 音声合成装置およびプログラム |
JP2017532608A (ja) | 2014-08-22 | 2017-11-02 | ザイア インクZya, Inc. | テキストメッセージを音楽組成物に自動的に変換するシステム及び方法 |
CN107248406B (zh) * | 2017-06-29 | 2020-11-13 | 义乌市美杰包装制品有限公司 | 一种自动生成鬼畜类歌曲的方法 |
JP6587007B1 (ja) * | 2018-04-16 | 2019-10-09 | カシオ計算機株式会社 | 電子楽器、電子楽器の制御方法、及びプログラム |
CN108877753B (zh) | 2018-06-15 | 2020-01-21 | 百度在线网络技术(北京)有限公司 | 音乐合成方法及系统、终端以及计算机可读存储介质 |
CN111274891B (zh) * | 2020-01-14 | 2023-05-02 | 成都潜在人工智能科技有限公司 | 一种面向简谱图像的音高及对应歌词提取方法及系统 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3144273B2 (ja) * | 1995-08-04 | 2001-03-12 | ヤマハ株式会社 | 自動歌唱装置 |
JP3405123B2 (ja) * | 1997-05-22 | 2003-05-12 | ヤマハ株式会社 | 音声データ処理装置及びデータ処理プログラムを記録した媒体 |
JP2000105595A (ja) * | 1998-09-30 | 2000-04-11 | Victor Co Of Japan Ltd | 歌唱装置及び記録媒体 |
JP3687375B2 (ja) * | 1998-11-26 | 2005-08-24 | カシオ計算機株式会社 | 音声割当装置及び音声割当方法並びに音声割当処理のプログラムを記録した記録媒体 |
JP2000315081A (ja) * | 2000-01-01 | 2000-11-14 | Yamaha Corp | 自動作曲装置及び方法並びに記憶媒体 |
JP2002041074A (ja) * | 2000-07-28 | 2002-02-08 | Yamaha Corp | ボーカルデータ生成装置および歌唱装置 |
JP2002082665A (ja) * | 2000-09-11 | 2002-03-22 | Toshiba Corp | 歌詞割当装置、歌詞割当方法、及び歌詞割当処理プログラム |
JP2002334086A (ja) * | 2001-05-10 | 2002-11-22 | Sony Corp | 情報処理装置および情報処理方法、記録媒体、並びにプログラム |
JP2002342066A (ja) * | 2001-05-21 | 2002-11-29 | Sharp Corp | 文章読み上げ装置、プログラム、記録媒体及び文章読み上げ方法 |
JP3646680B2 (ja) * | 2001-08-10 | 2005-05-11 | ヤマハ株式会社 | 作詞作曲装置及びプログラム |
JP2003122349A (ja) * | 2001-10-16 | 2003-04-25 | Roland Corp | 歌詞表示装置 |
-
2003
- 2003-06-13 JP JP2003170001A patent/JP4415573B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005004107A (ja) | 2005-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4483188B2 (ja) | 歌声合成方法、歌声合成装置、プログラム及び記録媒体並びにロボット装置 | |
JP3864918B2 (ja) | 歌声合成方法及び装置 | |
JP4150198B2 (ja) | 音声合成方法、音声合成装置、プログラム及び記録媒体、並びにロボット装置 | |
EP1605435B1 (en) | Singing voice synthesizing method, singing voice synthesizing device, program, recording medium, and robot | |
US7412390B2 (en) | Method and apparatus for speech synthesis, program, recording medium, method and apparatus for generating constraint information and robot apparatus | |
JP3858842B2 (ja) | 歌声合成方法及び装置 | |
US20020198717A1 (en) | Method and apparatus for voice synthesis and robot apparatus | |
JP4415573B2 (ja) | 歌声合成方法、歌声合成装置、プログラム及び記録媒体並びにロボット装置 | |
WO2002091356A1 (fr) | Dispositif robot, appareil de reconnaissance de caracteres, procede de lecture de caracteres, programme de commande et support d'enregistrement | |
JP2003084800A (ja) | 音声による感情合成方法及び装置 | |
JP2024108175A (ja) | ロボット、音声合成プログラム、及び音声出力方法 | |
JP2002318594A (ja) | 言語処理装置および言語処理方法、並びにプログラムおよび記録媒体 | |
JP2005004106A (ja) | 信号合成方法及び装置、歌声合成方法及び装置、プログラム及び記録媒体並びにロボット装置 | |
JP2003271172A (ja) | 音声合成方法、音声合成装置、プログラム及び記録媒体、並びにロボット装置 | |
JP2006142407A (ja) | ロボット装置およびロボット装置システム | |
Oudeyer | The synthesis of cartoon emotional speech | |
EP1256932A2 (en) | Method and apparatus for synthesising an emotion conveyed on a sound | |
JP2002346958A (ja) | 脚式移動ロボットのための制御装置及び制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060612 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060612 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090727 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090804 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090928 |
|
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: 20091104 |
|
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: 20091117 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121204 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121204 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131204 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |