(57)【特許請求の範囲】
【請求項１】
少なくとも音韻を表わす音韻情報と音高を表わす音高情報と歌唱開始時刻を表わす時刻情報とを含む演奏データを入力する入力ステップと、
前記演奏データ間の接続状態が立ち上がり部であるか遷移部であるかを示す接続状態情報及び前記音韻情報が切り替わる音韻変化時点における音韻の変化のしかたに関する音韻状態情報を取得する音韻状態情報取得ステップと、
前記接続状態情報及び前記音韻状態情報に基づき、前記演奏データに含まれる音高を変換するための変化曲線を表すピッチモデルの付与を開始する位置を決定する開始位置決定ステップと、
該音韻変化時点に先行する時点又は後続する時点における音高情報を取得する音高情報取得ステップと、
前記音高情報取得ステップで取得された音高情報に基づき生成した前記ピッチモデルを、前記決定したピッチモデルの付与を開始する位置を開始点として、前記音韻変化時点における音高変化曲線に付与するピッチモデル付与ステップと
を備えたことを特徴とする歌唱合成方法。
【請求項２】
前記ピッチモデル付与ステップは、前記音高情報取得ステップで取得された音高情報の大きさに応じて付与する前記ピッチモデルにおける音高の傾きの大きさを変化させる請求項１に記載の歌唱合成方法。
【請求項３】
母音部分の歌唱開始時刻を、前記演奏データのノートオン信号の発生時刻と一致させて合成歌唱音声として出力するステップを備えた請求項1又は２に記載の歌唱合成方法。
【請求項４】
前記音韻変化時点に先行する時点又は後続する時点における歌唱音速さ情報を取得する歌唱音速さ情報取得ステップを備え、前記ピッチモデル付与ステップは、前記歌唱音速さ情報をも参照して前記ピッチモデルを付与する請求項１乃至３のいずれか１項に記載の歌唱合成方法。
【請求項５】
前記ピッチモデル付与ステップにより傾きを付与された音高変化曲線にゆらぎを付加するゆらぎ付加ステップを更に備えた請求項１乃至４のいずれか１項に記載の歌唱合成方法。
【請求項６】
前記ピッチモデル付与ステップは、前記音韻状態情報及び前記音高情報の大きさが異なる毎に異なるパラメータを対応させて記憶するテーブルに基づき前記ピッチモデルを付与する請求項１乃至４のいずれか1項に記載の歌唱合成方法。
【請求項７】
前記テーブルをユーザが編集可能とした請求項６に記載の歌唱合成方法。
【請求項８】
少なくとも音韻を表わす音韻情報と音高を表わす音高情報と歌唱開始時刻を表わす時刻情報とを含む演奏データを入力する入力ステップと、
前記演奏データ間の接続状態が立ち上がり部であるか遷移部であるかを示す接続状態情報及び前記音韻情報が切り替わる音韻変化時点における音韻の変化のしかたに関する音韻状態情報を取得する音韻状態情報取得ステップと、
前記接続状態情報及び前記音韻状態情報に基づき、前記演奏データに含まれる音高を変換するための変化曲線を表すピッチモデルの付与を開始する位置を決定する開始位置決定ステップと、
該音韻変化時点に先行する時点又は後続する時点における音高情報を取得する音高情報取得ステップと、
前記音高情報取得ステップで取得された音高情報に基づき生成された前記ピッチモデルを、前記決定したピッチモデルの付与を開始する位置を開始点として、前記音韻変化時点における音高変化曲線に付与するピッチモデル付与ステップと
をコンピュータに実行させるように構成されたことを特徴とする歌唱合成用プログラム。
【請求項９】
前記ピッチモデル付与ステップは、前記音高情報の大きさに応じて付与する前記ピッチモデルにおける音高の傾きの大きさを変化させる請求項９又は８に記載の歌唱合成用プログラム。
【請求項１０】
母音部分の歌唱開始時刻を、前記演奏データのノートオン信号の発生時刻と一致させて合成歌唱音声として出力するステップを更に実行させるようにされた請求項８又は９に記載の歌唱合成用プログラム。
【請求項１１】
前記音韻変化時点に先行する時点又は後続する時点における歌唱音速さ情報を取得する歌唱音速さ情報取得ステップを更に実行させるように構成され、
前記ピッチモデル付与ステップは、前記歌唱音速さ情報をも参照して前記ピッチモデルを付与する請求項８乃至１０のいずれか１項に記載の歌唱合成用プログラム。
【請求項１２】
前記ピッチモデル付与ステップにより前記ピッチモデルを付与された音高変化曲線にゆらぎを付加するゆらぎ付加ステップを更に実行させるように構成された請求項８乃至１１のいずれか１項に記載の歌唱合成用プログラム。
【請求項１３】
前記ピッチモデル付与ステップは、前記音韻状態情報及び前記音高情報の大きさが異なる毎に異なるパラメータを対応させて記憶するテーブルに基づき前記ピッチモデルを付与する請求項８乃至１２に記載の歌唱合成用プログラム。
【請求項１４】
少なくとも音韻を表わす音韻情報と音高を表わす音高情報と歌唱開始時刻を表わす時刻情報とを含む演奏データを入力する入力手段と、
前記演奏データ間の接続状態が立ち上がり部であるか遷移部であるかを示す接続状態情報及び前記音韻情報が切り替わる音韻変化時点における音韻の変化のしかたに関する音韻状態情報を取得する音韻状態情報取得手段と、
前記接続状態情報及び前記音韻状態情報に基づき、前記演奏データに含まれる音高を変換するための変化曲線を表すピッチモデルの付与を開始する位置を決定する開始位置決定手段と、
該音韻変化時点に先行する時点又は後続する時点における音高情報を取得する音高情報取得手段と、
前記音高情報取得手段で取得された音高情報に基づき生成したピッチモデルを、前記決定したピッチモデルの付与を開始する位置を開始点として、前記音韻変化時点における音高変化曲線に付与するピッチモデル付与手段と
を備えたことを特徴とする歌唱合成装置。
【請求項１５】
前記ピッチモデル付与手段は、前記音高情報取得手段により取得された前記音高情報の大きさに応じて付与する前記ピッチモデルにおける音高の傾きの大きさを変化させる請求項１４に記載の歌唱合成装置。
【請求項１６】
母音部分の歌唱開始時刻を、前記演奏データのノートオン信号の発生時刻と一致させて合成歌唱音声として出力する出力手段を備えた請求項１４又は１５に記載の歌唱合成装置。
【請求項１７】
前記音韻変化時点に先行する時点又は後続する時点における歌唱音速さ情報を取得する歌唱音速さ情報取得手段を備え、
前記ピッチモデル付与手段は、前記歌唱音速さ情報をも参照して前記ピッチモデルを付与する請求項１４乃至１６のいずれか１項に記載の歌唱合成装置。
【請求項１８】
前記ピッチモデル付与手段により前記ピッチモデルを付与された音高変化曲線にゆらぎを付加するゆらぎ付加手段を更に備えた請求項１６乃至２０のいずれか１項に記載の歌唱合成装置。
【請求項１９】
前記ピッチモデル付与手段は、前記音韻状態情報及び前記音高情報の大きさが異なる毎に異なるパラメータを対応させて記憶するテーブルに基づき前記傾きを付与する請求項１４乃至１８のいずれか1項に記載の歌唱合成装置。
【請求項２０】
前記テーブルをユーザが編集可能とした請求項１９に記載の歌唱合成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、リアルタイムに入力される演奏データに基づいて歌唱を合成する歌唱合成装置、方法及びプログラムに係るものである。
【０００２】
【従来の技術】
従来の歌唱合成装置においては、人間の実際の歌声から取得したデータを、例えばテンプレートデータとしてデータベースとして保存しておき、入力された演奏データ（音符、歌詞、表情等）の内容に合致したデータをデータベースより読み出す。そして、この演奏データとテンプレートデータに基づいて、歌唱合成スコアと呼ばれるデータを作成する。
この歌唱合成スコアとは、歌唱音声のデータを、音韻、音高（ピッチ）、音韻遷移（無音から有声音へ、或いはその逆への遷移、伸ばし音など）、状態遷移などのパラメータごとに時系列的に記憶させたものである。例えば、音韻データは音韻トラックに、音高データは音高トラックに記憶される。
この歌唱合成スコアに、さらに各種の音源制御情報を付加することにより、本物の人の歌声に近い歌唱音声を合成している。
【０００３】
【発明が解決しようとする課題】
従来の歌唱合成装置は、音高トラックを形成する場合、受信したＭＩＤＩデータをそのまま音高トラックの形式に変換するものであった。
このため、音韻が変化する前後において音高が階段状に、不連続に変化し、このため合成される歌唱音声が不自然なものとして聞こえてしまう。この不自然さを解消するためには、ピッチベンダを使用して音高の変化を逐一調整するなどの作業が必要となっていた。
【０００４】
本発明は、この点に鑑み、自然な歌唱音声を簡易に合成することのできる歌唱合成方法、歌唱合成装置及びプログラムを提供することを目的とする。
【０００５】
【課題を解決するための手段】
上記目的の達成のため、本出願に係る第１発明は、少なくとも音韻を表わす音韻情報と音高を表わす音高情報と歌唱開始時刻を表わす時刻情報とを含む演奏データを入力する入力ステップと、前記演奏データ間の接続状態が立ち上がり部であるか遷移部であるかを示す接続状態情報及び前記音韻情報が切り替わる音韻変化時点における音韻の変化のしかたに関する音韻状態情報を取得する音韻状態情報取得ステップと、前記接続状態情報及び前記音韻状態情報に基づき、前記演奏データに含まれる音高を変換するための変化曲線を表すピッチモデルの付与を開始する位置を決定する開始位置決定ステップと、該音韻変化時点に先行する時点又は後続する時点における音高情報を取得する音高情報取得ステップと、前記音高情報取得ステップで取得された音高情報に基づき生成した前記ピッチモデルを、前記決定したピッチモデルの付与を開始する位置を開始点として、前記音韻変化時点における音高変化曲線に付与するピッチモデル付与ステップとを備えたことを特徴とする歌唱合成方法である。
【０００６】
この第１発明によれば、音韻情報が切り替わる音韻変化時点における音韻の変化のしかたに関する音韻状態情報と、該音韻変化時点に先行する時点又は後続する時点における音高情報とが取得される。ピッチモデル付与ステップにおいて、これらの情報に基づき、前記音韻変化時点における音高変化曲線にピッチモデルが付与される。音韻変化時点における音高の状態に応じた傾きが付与されるので、出力される合成歌唱音声の自然性が高まる。
【０００８】
前記ピッチモデル付与ステップは、前記音高情報取得ステップで取得された音高情報の大きさに応じて付与する前記ピッチモデルにおける音高の傾きの大きさを変化させるのが好適である。
【０００９】
上記第１発明において、母音部分の歌唱開始時刻を、前記演奏データのノートオン信号の発生時刻と一致させて合成歌唱音声として出力するステップを更に備えるようにすることができる。
【００１０】
上記第１発明において前記音韻変化時点に先行する時点又は後続する時点における歌唱音速さ情報を取得する歌唱音速さ情報取得ステップを備え、前記ピッチモデル付与ステップは、前記歌唱音速さ情報をも参照して前記ピッチモデルを付与するように構成することができる。
【００１１】
また、上記第１発明において、前記ピッチモデル付与ステップにより傾きを付与された音高変化曲線にゆらぎを付加するゆらぎ付加ステップを更に備えるようにすることもできる。
【００１２】
前記ピッチモデル付与ステップは、前記音韻状態情報及び前記音高情報の大きさが異なる毎に異なるパラメータを対応させて記憶するテーブルに基づき前記ピッチモデルを付与するようにすることもできる。前記テーブルをユーザが編集することを可能としてもよい。
【００１３】
また、上記の各歌唱合成方法のステップをコンピュータプログラムにより実行させるようにしてもよい。
【００１４】
上記目的達成のため、本出願に係る第２発明は、少なくとも音韻を表わす音韻情報と音高を表わす音高情報と歌唱開始時刻を表わす時刻情報とを含む演奏データを入力する入力手段と、前記演奏データ間の接続状態が立ち上がり部であるか遷移部であるかを示す接続状態情報及び前記音韻情報が切り替わる音韻変化時点における音韻の変化のしかたに関する音韻状態情報を取得する音韻状態情報取得手段と、
前記接続状態情報及び前記音韻状態情報に基づき、前記演奏データに含まれる音高を変換するための変化曲線を表すピッチモデルの付与を開始する位置を決定する開始位置決定手段と、該音韻変化時点に先行する時点又は後続する時点における音高情報を取得する音高情報取得手段と、前記音高情報取得手段で取得された音高情報に基づき生成したピッチモデルを、前記決定したピッチモデルの付与を開始する位置を開始点として、前記音韻変化時点における音高変化曲線に付与するピッチモデル付与手段とを備えたことを特徴とする歌唱合成装置である。
【００１５】
前記ピッチモデル付与手段は、前記音高情報取得手段により取得された前記音高情報の大きさに応じて付与する前記ピッチモデルにおける音高の傾きの大きさを変化させるようにしてもよい。
【００１６】
前記第２発明において、母音部分の歌唱開始時刻を、前記演奏データのノートオン信号の発生時刻と一致させて合成歌唱音声として出力する出力手段を更に備えることができる。
【００１７】
前記第２発明において、前記音韻変化時点に先行する時点又は後続する時点における歌唱音速さ情報を取得する歌唱音速さ情報取得手段を備え、前記ピッチモデル付与手段は、前記歌唱音速さ情報をも参照して前記ピッチモデルを付与するようにすることもできる。
【００１８】
前記第２発明において、前記ピッチモデル付与手段により前記ピッチモデルを付与された音高変化曲線にゆらぎを付加するゆらぎ付加手段を更に備えるようにしてもよい。
また、前記第２発明において、前記ピッチモデル付与手段は、前記音韻状態情報及び前記音高情報の大きさが異なる毎に異なるパラメータを対応させて記憶するテーブルに基づき前記傾きを付与するようにするのが好適である。
また、前記テーブルをユーザが編集可能としてもよい。
【００１９】
【発明の実施の形態】
以下、本発明の実施の形態を説明する。以下では、日本語の歌唱音声を合成するものとして説明する。一般に日本語の場合、出現する音素は、▲１▼子音と母音の組み合わせ、▲２▼母音のみ、▲３▼有声子音（鼻音、半母音）のみ、のいずれかとなる。ただし、▲３▼有声子音のみの場合は、有声子音の歌唱開始タイミングが▲２▼母音のみの場合と類似しているので、以下に説明する本実施の形態では、▲３▼は▲２▼とみなして▲２▼と同一の処理を受けるものとする。
【００２０】
〔第１の実施の形態〕
図１は、この発明の実施の形態に係る歌唱合成装置の全体構成を示すものである。ＭＩＤＩ（Musical  Instrument  Digital  Interface）機器３９と、このＭＩＤＩ機器３９にＭＩＤＩインターフェース３０を介して接続されたコンピュータシステムＣＳと、音源回路２８と、サウンドシステム３８とから構成されている。コンピュータシステムＣＳは、ＣＰＵ１２、ＲＯＭ１４，ＲＡＭ１６、検出回路２０、操作子群３４、表示回路２２、表示器３６、外部記憶装置２４、タイマ２６等を備えている。
【００２１】
ＣＰＵ１２は、コンピュータシステムＣＳ全体の制御を司る部分である。ＲＯＭ１４は、楽音発生、歌唱合成等の各種プログラムを記憶している。ＣＰＵ１２は、これらのプログラムをＲＯＭ１４から適宜読み込んで各種処理を実行する。ＲＡＭ１６は、ＣＰＵ１２の各種処理に際して作業領域を提供するための記憶部であり、例えばＭＩＤＩ機器３９から読み込まれた演奏データを書き込むための受信バッファとして機能する。
【００２２】
検出回路２０は、パネル等の操作子群３４からの操作情報を検出するものであり、また、表示回路２２は、表示器３６の表示動作を制御することにより各種の表示を可能にするものである。
外部記憶装置２４は、ハードディスク、フロッピーディスク、ＣＤ、ＤＶＤ、光磁気ディスクドライブなどの記録媒体をドライブするためコンピュータシステムＣＳに外付けされた記憶装置であり、その記憶内容をＲＡＭ１６へ転送する他、ハードディスクなどの書き込み可能な記録媒体の場合には、逆にＲＡＭ１６からデータの転送を受けることもできる。この外部記憶装置は、ＲＯＭ１４の代わりにプログラム記録手段として使用することも出来る。
【００２３】
タイマ２６は、テンポデータＴＭの指示するテンポに対応した周期でテンポクロック信号ＴＣＬを発生するものである。テンポクロック信号ＴＣＬは、ＣＰＵ１２に割込み命令信号として供給される。ＣＰＵ１２は、テンポクロック信号ＴＣＬに基づく割込み処理により歌唱合成を行う。テンポデータＴＭにより指示されるテンポは、操作子群３４を操作するなどにより変更することができる。なお、テンポクロック信号ＴＣＬの周期は、一例としては１ms程度である。
【００２４】
音源回路２８は、多数の楽音発生チャンネル及び多数の歌唱合成チャンネルを含んでいる。歌唱合成チャンネルは、フォルマント合成方式により歌唱音声を合成するようになっている。後述する歌唱合成処理では、歌唱合成チャンネルから歌唱音声信号が発生される。発生に係る楽音信号及び歌唱音声信号は、サウンドシステム３８により音響に変換される。フォルマント合成方式の代わりに、波形処理方式等の他の方式を用いてもよい。
【００２５】
ＭＩＤＩインターフェース３０は、この歌唱合成装置とは別体のＭＩＤＩ機器３９との間でＭＩＤＩデータを送受信するためのインターフェースである。
【００２６】
次に、図２を用いて、上記の歌唱合成装置の構成において、本実施の形態に係る歌唱合成処理を実行する手順の概略を説明する。図２において、左側のブロック４０−４８は歌唱合成処理の手順を示しており、また、右側に示された歌唱合成ＤＢ１４Ａは、ＲＯＭ１４などにより構成され、ＭＩＤＩ機器３９等により入力された演奏データの内容に応じたデータ変換を行うための各種のテンプレートデータを記憶する部分を示す。歌唱合成ＤＢ１４Ａは、例えば音韻に関するデータを記憶する音韻ＤＢ１４ａ、先行音韻から後続音韻への音韻遷移に関する情報を記憶する音韻遷移ＤＢ１４ｂ、状態遷移（アタック、リリース等）に関するデータを記憶する状態遷移ＤＢ１４ｃ、ビブラート情報を記憶するビブラートＤＢ１４ｄ等を備えている。
【００２７】
また、複数の矢印は、どのようなデータがどの手順において歌唱合成ＤＢから読み出されるのかを示している。
【００２８】
この歌唱合成処理の手順（ステップ４０−４８）を、順に説明する。最初に、演奏データがＭＩＤＩ機器３９より入力され、受信バッファとしてのＲＡＭ１６がこれを受信する（ステップ４０）。演奏データの内容については後述する。図３に示すように、演奏データＳ１−Ｓ３は、実歌唱時刻Ｔ１、Ｔ２、Ｔ３よりも早い時刻ｔ１、ｔ２、ｔ３において送信される。
【００２９】
続くステップ４２では、歌唱合成スコアを形成する。歌唱合成スコアとは、受信された演奏データを、音韻、音高などのパラメータごとのトラックにより時系列的に表現したデータ配列である。歌唱合成スコアの内容については後述する。歌唱合成スコアを形成するには、歌唱合成ＤＢ中の音韻ＤＢ１４ａ、音韻遷移ＤＢ１４ｂ等より、受信した演奏データに対応した音韻データ、音韻遷移時間長データ等を獲得する。ここで音韻遷移時間長データとは、複数の音韻間の遷移時間の長さを示すデータである。
【００３０】
ステップ４４では、歌唱合成エンジンによる歌唱合成を行う。このステップでは、まず、音源制御情報を音韻ＤＢ１４ａ、音韻遷移ＤＢ１４ｂ、状態遷移ＤＢ１４ｃ及びビブラートＤＢ１４ｄから獲得する。ここで音源制御情報とは、音源回路２８において所望の歌唱音声を合成するために必要なフォルマント周波数の情報、及びフォルマントレベルの制御パラメータの情報等を含むものである。
そして、この獲得した音源制御情報と、歌唱合成スコア、演奏データに基づき、歌唱合成を行い、歌唱順に歌唱音声信号を出力する。
【００３１】
この歌唱音声信号は音源回路２８によりＤＡ変換され（ステップ４６）、サウンドシステム３８において歌唱音声として出力される（ステップ４８）。このとき、歌唱音声ＳＳ１の子音「ｓ」を実歌唱時刻Ｔ１より早い時刻Ｔ１１に発生開始させ、ＳＳ１の母音「ａ」を実歌唱時刻Ｔ１に発生開始させる。また、歌唱音声ＳＳ３の子音「ｔ」を実歌唱時刻Ｔ３より早い時刻Ｔ３１に発生開始させ、その母音「ａ」を実歌唱時刻Ｔ３に発生開始させる。また、歌唱音声ＳＳ２の母音「ｉ」は実歌唱時刻Ｔ２に発生開始させる。このように、歌唱音声が子音と母音の組合せからなる場合、その子音を実歌唱時刻に先行させて発音させる。これにより、歌唱音声が伴奏に対し遅れて発音される感じがなくなり、自然な歌唱音声が発生される。
【００３２】
次に、ステップ４０で入力される演奏データ内に含まれる情報の内容を図４を用いて説明する。演奏データは、１音節を歌唱するために必要な演奏情報、具体的には、ノート情報、歌唱音速さ情報、音韻トラック情報等を含んでいる。
ノート情報には、実歌唱開始時刻を表わすノートオン（Note  on）情報、実歌唱長を表わすデュレーション（Duration）情報、歌唱音高を表わす歌唱音高情報（Note、ピッチ（pitch）情報とも呼ばれる）等が含まれる。音韻トラック情報には、後述する音韻トラックＴｐを形成するための情報、例えば、歌唱音韻を表わす音韻（PhUState）情報、歌唱子音伸縮率を表わす子音修正（Consonant  Modification）情報等が含まれる。上述の通り、本実施の形態では、▲３▼有声子音（鼻音、半母音）のみからなる音韻を、▲２▼母音のみからなる音韻とみなして処理を行う。音韻（PhUState）情報としては、▲２▼母音のみからなる音韻の場合には、PhUState=Vowelという情報が、▲１▼子音と母音の組合せからなる音韻の場合には、PhUState =Consonant_Vowel  という情報が与えられるものとする。
演奏データには、この他、遷移トラックＴｒを形成するための遷移トラック情報、ビブラートトラックＴｂを形成するためのビブラートトラック情報等を含めることもできる。
【００３３】
次に、図５を参照して、音韻ＤＢ１４ａの記憶情報について説明する。
音韻ＤＢ１４ａには、図５に示すように、音韻（PhU）と音高（Pitch）の組合せごとに異なる値の音源制御情報Control11、Control12・・・が記憶されており、処理中の演奏データ（以下、現演奏データという）に合致するものが適宜読み出されるようになっている。例えば、現演奏データの音韻がａで、音高（ピッチ）がＰ１１の場合には、音源制御情報としてControl11が読み出され、後述する音韻トラックＴｐの形成に使用される。
【００３４】
次に、図６を参照して、音韻遷移ＤＢ１４ｂの記憶情報について説明する。音韻遷移ＤＢ１４ｂには、例えば図６に示すように、先行音韻PhU１、後続音韻PhU２及び音高Pitchの組合せに対応して、異なる音韻遷移時間長（Duration11、12・・・）及び音源制御情報（Control11、Control12・・・）が記憶されている。例えば、先行音韻がａ、後続音韻がｉ、音高pitchがP11の場合には、音韻遷移時間長としてそれぞれDuration11、Control11という値が読み出される。なお、図６中のPhU2の欄において、Mとは母音の「う」を、Aspirationとは呼気音を表わしている。
【００３５】
次に、図７を参照して、状態遷移ＤＢ１４ｃの記憶内容を説明する。状態遷移ＤＢ１４ｃは、遷移状態、状態タイプ、音韻、音高の組合せに対応して、異なる状態遷移時間長、音源制御情報が記憶されている。遷移状態としては、アタック（Attack）、ノート遷移（Note  Transition、以下「NｔN」と称す）及びリリース（Release）があり、状態タイプとしては、「Normal」「Sexy」「Sharp」「Soft」等がある。状態遷移時間長とは、これらアタック、ノート遷移又はリリース遷移状態の継続時間の長さを示すものである。このＤＢ１４ｃの内容は、後述する歌唱合成スコアの遷移トラックＴｒの形成に使用される。
【００３６】
次に、図８を参照して、ビブラートＤＢ１４ｄの記憶内容について説明する。
ビブラートトラック１４ｄでは、「Normal」「Sexy」「Enka」等の各ビブラートタイプ、音韻、音高の組合せごとに異なる音源制御情報が記憶されており、後述する歌唱合成スコアのビブラートトラックＴｂの形成に使用される。
【００３７】
図９は、ステップ４２において形成される歌唱合成スコアの形成例、及びステップ４４における歌唱音声の合成例を示すものである。
歌唱合成スコアＳＣは、ＲＡＭ１６内に形成されるもので、音韻トラックＴｐ、音高トラックＴｉを備えている。この他、図９に示すように、状態の遷移データを有する遷移トラックＴｒと、ビブラート情報を有するビブラートトラックＴｂなどを備える。
【００３８】
例えば、・・・・「さ（ｓａ）：Ｃ３：Ｔ１・・・」「い（ｉ）：Ｄ３：Ｔ２・・・」「た（ｔａ）：Ｅ３：ｔ３・・・」を演奏データとして入力するものとすると、音韻トラックＴｐには、図９、１０に示すように、音韻の種類を示す音韻情報として、Sil、Sil_s、s_a、a・・・a_Sil、Sil等のアイテムが保持される。Silは無音を、Sil_ｓは無音から子音ｓへの音素遷移を示している。図１０に示すように、各音韻情報Sil、Sil_s、s_a、a・・・は、開始時刻情報（Begin Time）、継続時間情報（Duration）、音韻情報（PhU）から構成される。ただし、音韻遷移部を示すアイテムは、音韻情報として、先行音韻情報（PhU１）と後続音韻情報（PhU２）との２種類を有する。
【００３９】
音高トラックＴｉには、図９に示すような音高変化曲線９０が記憶される。音高変化曲線は、演奏データからの歌唱音高情報（Ｃ３，Ｄ３，Ｅ３等）、に基づき形成される定常部９１と、後述するピッチモデルにより形成される傾き部９２とを備えている。
また、歌唱合成スコアＳＣには、この音韻トラックＴｐ、音高トラックＴｉの他、図９に示すように、状態の遷移データを有する遷移トラックＴｒと、ビブラート情報を有するビブラートトラックＴｂなどを備える。
【００４０】
次に、図２に示す各ステップ４０−４８の詳細な処理内容を説明する。
〔ステップ４０（演奏データ入力）〕
まず、ステップ４０における演奏データ入力の詳細な手順を図１１により説明する。
【００４１】
ステップ４０−１では初期化処理を行う。ここでは、ＲＡＭ１６内の受信回数カウンタＮをゼロにセットする。
【００４２】
ステップ４０−２では、ｎ＝Ｎ番目の演奏データを受信し、受信バッファとしてのＲＡＭ１６内に書き込む。
ステップ４０−３では、このｎ＝Ｎ番目の演奏データがデータエンド（データの終端）であるか否かが判定される。データエンドである場合（ＹＥＳ）には、ステップ４０−６に移動して終端処理を実行する。データエンドでない場合（ＮＯ）には、ステップ４０−４に移行する。
【００４３】
ステップ４０−４では、受信されたｎ＝Ｎ番目の演奏データに基づいて歌唱合成スコアを形成する。ステップ４０−５では、カウンタＮの値を１増加させてＮ＋１としてステップ４０−２に戻り、次の演奏データを受信する。このようにして演奏データがデータエンドとなるまで繰り返すことにより、すべての演奏データについての歌唱合成スコアＳＣがＲＡＭ１６の受信バッファに入力される。
【００４４】
［ステップ４２（歌唱合成スコア形成）］
次に、ステップ４２の歌唱合成スコアの形成手順の詳細を図１２を用いて説明する。
まず、ステップ４２−１で、ＣＰＵ１２がＲＡＭ１６の受信バッファより演奏データを受信する。ステップ４２−２では、受信された演奏データのうち、歌唱合成スコア形成に必要なものを抽出する。ステップ４２−３では、管理データを作成する。管理データは、後続の演奏データを処理する際、先行する演奏データの内容に合わせたデータ処理をするために使用される各種のデータであり、後述するように、例えば音韻状態（PhUState）、音素（phoneme）、音高（pitch）、現ノートオン（Current  Note  On）、現ノートデュレーション（Current  Note  Duration）、フルデュレーション（Full  Duration）、イベント状態（EventState）などの情報を含んでいる。情報の内容、管理データの作成の詳細な手順については次で述べる。
【００４５】
次に、ステップ４２−４では、演奏データ、前ステップで作成された管理データ、及び先行演奏データについて形成され保存された歌唱合成スコアに基づいて音韻トラックＴｐを形成する。続くステップ４２−５では、演奏データ、前ステップで作成された管理データ、及び先行演奏データについて形成され保存された歌唱合成スコアに基づいて音高トラックＴｉを形成する。
同様にして、続くステップ４２−６、７では、演奏データ、前ステップで作成された管理データ、及び先行演奏データについて形成され保存された歌唱合成スコアに基づいて遷移トラックＴｒ、ビブラートトラックＴｂを形成する。
そして、ステップ４２−８では、後続の演奏データのためのスコアデータを形成し保存する。これを全演奏データについて完了させると、歌唱合成スコアが完成する。
【００４６】
〔ステップ４２−３（管理データ作成）〕
次に、図１２のステップ４２−３に示す管理データの作成の詳細な手順を、図１３に基づいて説明する。
最初に、ステップ４２−３．１において、演奏データを受信し、続くステップ４２−３．２においてこの演奏データに含まれる音韻の特性を分析する。具体的には、演奏データに含まれる音韻が▲１▼子音＋母音か、又は▲２▼母音のみ（鼻音のみ）かを分析し、その結果PhUStateを保存する。▲１▼の場合はPhUState＝Consonant_ Vowelと、▲２▼の場合はPhUState＝Vowelとする。
【００４７】
次に、ステップ４２−３．３で、演奏データ中の音高を分析し、その結果Pitchを保存する。
続くステップ４２−３．４で、演奏データの速さを分析し、その結果Velocityを保存する。
続くステップ４２−３．５で、演奏データに含まれる実歌唱時刻を分析し、得られた実歌唱開始時刻Current Note Onを保存する（図１４参照）。このとき、図１４に示すように、乱数等によって与えられるΔｔだけCurrent Note Oｎを更新することで、歌唱開始時刻にゆらぎを与えることができる。
【００４８】
また、実歌唱長を現ノートデュレーション（Current Note Duration）とし、
実歌唱開始時刻から実歌唱長だけ経過した時間を、現ノートオフCurrent  Note Offとする（図１４参照）。
【００４９】
続くステップ４２−３．６では、管理データに基づき現演奏データの実歌唱時刻を分析する。まず、先行演奏データの並び替えを済ませた受信ナンバーPrevious  Event  Number、先行演奏データについて形成され保存された歌唱合成スコアのデータPrevious Score Data、先行演奏データの実歌唱終了時刻を表わす先行ノートオフ情報等を取得する。これらの情報に基づき、先行演奏データ、現演奏データの接続状況を分析し、その結果Event Stateを保存する。
図１４（a）に示すcase１のように、無音が挿入されず先行演奏データと現演奏データが連続する場合にはEvent State＝Transitionとする。一方、図１４（ｂ）のcase２のように、先行演奏データと現演奏データとの間に無音が挿入される場合には、Event State＝Attackとする。
【００５０】
次に、歌唱合成スコアＳＣを構成する各トラックを形成するための詳細な手順を説明する。ただし、状態遷移トラックＴｒ、ビブラートトラックＴｂの形成処理については、本発明との関連が薄いため、説明を省略し、音韻トラックＴｐ、音高トラックＴｉの形成処理のみについて説明する。
【００５１】
［ステップ４２−４（音韻トラックＴｐ形成）］
次に、図１２のステップ４２−４に示す音韻トラックＴｐの形成処理の詳細な手順を、図１５に示すフローチャートにより説明する。
最初に、ステップ４２−４．１において、演奏データ、管理データ、歌唱合成スコアを受信する。続くステップ４２−４．２では、管理データに基づき、音韻遷移ＤＢ１４ｂより音韻遷移時間長データを獲得する。この音韻遷移時間長データの獲得方法の詳細手順については次項で述べる。
【００５２】
次に、ステップ４２−４．３において、管理データ中のEvent StateがAttackであるか否かが判定される。判定が肯定的（YES）である場合には、ステップ４４−４．４のSilence歌唱長算出の手順に移行する。Silence歌唱長の意義については後述する。一方、判定が否定的（NO）、すなわち、EventState＝Transitionである場合には、ステップ４４−４．５の先行Vowel歌唱長算出の手順に移行する。先行Vowel歌唱長の意義については後述する。
【００５３】
ステップ４４−４．４又は５の処理が完了すると、ステップ４２−４．６のVowel歌唱長を算出する処理に移行する。詳細は後述する。
【００５４】
次に、上述したステップ４２−４．２（音韻遷移時間長の獲得）の詳細な手順を図１６に示すフローチャートにより説明する。
最初に、ステップ４−２．１で管理データ及び歌唱合成スコアのデータを受信する。続くステップ４−２．２で、ＲＡＭ１６に記憶されている全ての遷移時間長データ（後述のステップ４−２．６、７、９〜１２で獲得される音韻遷移時間長）を初期化する。
【００５５】
次に、ステップ４−２．３では、管理データに基づいてV_Sil（母音から無音へ）の音韻遷移時間長をＤＢ１４ｂから獲得する。この手順は、一般に日本語が母音で終わることから必要となるものである。一例として、管理データの音韻が母音「a」であり、その音高がＰ１であったとすると、音韻遷移ＤＢ１４ｂからは、「a_Sil」と「P１」に対応した音韻遷移時間長が獲得される。
【００５６】
次に、ステップ４−２．４において、管理データに基づいてEventState＝Attackであるか否かが判定される。判定が肯定的（ＹＥＳ）であれば、ステップ４−２．５へ移行し、否定的（ＮＯ）であればステップ４−２．８へ移行する。
ステップ４−２．５では、管理データに基づいて、PhUState＝Consonant_Vowelか否かが判定される。この判定結果が肯定的（ＹＥＳ）であれば、ステップ４−２．６に移行し、否定的（NＯ）であればステップ４−２．１１へ移行する。
同様にステップ４−２．８では、管理データに基づいて、PhUState＝Consonant_Vowelか否かが判定される。この判定結果が肯定的（ＹＥＳ）であれば、ステップ４−２．９に移行し、否定的（NＯ）であればステップ４−２．１２へ移行する。
【００５７】
要するに、このステップ４−２．４、４−２．５、４−２．８では、
受信された管理データに係る音韻が、
（ａ）その音韻が立ち上がり部分(attack)にあり、その音韻が子音と母音の組合せである場合
（ｂ）その音韻が立ち上がり部分(attack)にあり、その音韻が母音のみ（又は有声子音のみ）である場合
（ｃ）その音韻が遷移部分(transition)にあり、その音韻が子音と母音の組合せである場合
（ｄ）その音韻が遷移部分(transition)にあり、その音韻が母音である場合の４つの場合に分け、それぞれに必要なデータを獲得させるようにしているものである。
【００５８】
上記（ａ）の場合には、ステップ４−２．６へ移行する。ステップ４−２．６では、管理データに基づいてＤＢ１４ｂから無音から子音への音韻遷移時間長Silence_Consonantを獲得する。獲得の具体的な方法は、ステップ４−２．３における方法と同様である。続くステップ４−２．７では、管理データに基づいてＤＢ１４ｂから子音から母音への音韻遷移時間長Consonant_Vowelを獲得する。獲得の具体的な方法は、ステップ４−２．３における方法と同様である。これにより（ａ）の場合の音韻遷移長データの獲得が完了する。
【００５９】
上記（ｂ）の場合には、ステップ４−２．１１へ移行して、管理データに基づいて、無音から母音への音韻遷移時間長Silence_Vowelを獲得する。獲得の具体的な方法は、ステップ４−２．３における方法と同様である。
上記（ｃ）の場合には、ステップ４−２．９に移行する。一般に日本語の場合、遷移部分の直前の音素は母音であるので、ステップ４−２．９では、管理データ及び歌唱合成スコアに基づいて、先行母音から子音への音韻遷移長ｐVowel_Consonantを獲得する。獲得の具体的な方法は、ステップ４−２．３における方法と同様である。続いて、ステップ４−２．１０において、管理データ及び子音データに基づいて、子音から母音への音韻遷移長Consonant_Vowelを獲得して、必要なデータの獲得が完了する。
【００６０】
上記（ｄ）の場合には、ステップ４．２−１２に移行し、管理データに基づいて、先行母音から母音への音韻遷移時間長pVowel_Vowelを獲得する。獲得の具体的な方法は、ステップ４−２．３における方法と同様である。
【００６１】
次に、図１５に示すステップ４２−４．４のSilence歌唱長を算出する手法を図１７〜１８により説明する。
図１７はSilence歌唱長の算出の手順を示すフローチャートであり、図１８は、Silence歌唱長の概念を説明するものである。
Silence歌唱長とは、図１８に示すように、EventState＝Attackにおいて、
無音部の一部をなす部分の長さを示している。すなわち、無音時間は、
▲１▼先行母音から無音への音韻遷移時間長の無音部
▲２▼Silence歌唱長
▲３▼無音から子音又は母音への音韻遷移時間長の無音部
の３つの合計からなる。
【００６２】
従って、Silence歌唱長は、演奏データ、管理データ、歌唱合成スコアから得られる無音時間の長さ、及び上記▲１▼、▲３▼の情報に基づき演算することができる。
図１８に示すように、Silence歌唱長の大きさは、接続される先行音韻と後続音韻の音韻の種類によって異なる。
【００６３】
次に、Silence歌唱長の算出の手順を図１７に基づいて説明する。最初に、ステップ４．４−１において演奏データ、管理データ、歌唱合成スコアのデータを受信する。続くステップ４．４−２では、管理データの音韻状態PhUStateがConsonant_Vowelか否かが判定される。判定結果が肯定的（ＹＥＳ）であればステップ４．４−３に移行する。判定結果が否定的（ＮＯ）であれば、ステップ４．４−３はスキップしてステップ４．４−４に移行する。
【００６４】
ステップ４．４−３では、子音歌唱時間を算出する。子音歌唱時間とは、この後続の音韻中に子音が含まれる場合において、その子音の発音が継続される時間を意味する。この子音歌唱時間は、後続音韻の種類によって異なる。これを図１８に基づいて説明する。図１８（Ａ）は、先行母音(「あ」)−無音−子音「さ」と発音させる場合の音韻トラックＴｐの状態を、同図（Ｂ）は、先行母音(「あ」)−無音−子音「ぱ」と発音させる場合の音韻トラックＴｐの状態を、同図（Ｃ）は、先行母音(「あ」)−無音−後続母音「い」と発音させる場合の音韻トラックＴｐの状態を示している。図１８からわかるように、（Ｂ）の場合は子音歌唱時間が短く、（Ｃ）の場合には当然ながら子音歌唱時間は無い。従って、後続音韻が母音のみの場合には、ステップ４．４−２によりステップ４．４−３がスキップされる。
【００６５】
次に、ステップ４．４−４において、Silence歌唱長の大きさを算出する。なお、子音歌唱時間は、演奏データに含まれる歌唱子音伸縮率（Consonant  Modulation）によって変化する。図１９は、このことを説明するための図である。
図１９（Ａ）は、歌唱子音伸縮率が１より大きい場合である。この場合、無音から子音への音韻遷移Sil_Cの子音長と、子音から母音への音韻遷移Ｃ_Vの子音長との和に歌唱子音伸縮率を掛け合わせたものをConsonant歌唱長として加算することにより、子音歌唱時間を伸長する。
【００６６】
一方、図１９（Ｂ）は、歌唱子音伸縮率が１より小さい場合である。この場合、
Sil_Cの子音長と、子音から母音への音韻遷移Ｃ_Vの子音長との双方に歌唱子音伸縮率を掛け合わせることにより、子音歌唱時間を短縮する。
【００６７】
〔ステップ４２−４−５（先行Vowel歌唱長算出）〕
次に、ステップ４２−４−５における先行Vowel歌唱長の算出の手法を、図２０及び図２１を用いて詳細に説明する。この先行Vowel歌唱長とは、先行音韻と後続音韻が無音を挟まず連続している状態（EventState＝Transition）の場合において、その先行音韻の母音部分の歌唱時間（以下、先行母音歌唱時間と称す）を伸縮するために設定される時間の長さを意味する。
【００６８】
先行音韻と後続音韻との間の時間から、後続音韻の子音部分が歌唱される時間（以下、子音歌唱時間と称す）を差し引いた部分が先行母音歌唱時間である（図２１参照）。従って、設定されるべき先行母音歌唱時間の長さは、子音歌唱時間に基づいて決定される。なお、本実施の形態では、この先行母音歌唱時間の長さの決定は、この先行母音歌唱時間の一部としての先行Vowel歌唱長を伸縮することにより行われる。
【００６９】
例えば、図２１（Ａ）は、先行音韻ｐＶ「ａ」に続いて、後続音韻として「ｓａ」（子音と母音の組合せ）が発音された場合を、同（Ｂ）は先行音韻ｐＶ「ａ」に続いて、後続音韻「ｐａ」（子音と母音の組合せ）が発音された場合を、同（Ｃ）は先行音韻ｐＶ「ａ」に続いて、後続音韻「ｉ」（母音のみ）が発音された場合を示している。
前２者の場合には、子音歌唱時間が存在するが、（Ａ）のそれのほうが（Ｂ）のそれよりも長い。このため、先行母音歌唱時間も、（Ａ）の場合の方が（Ｂ）の場合に比して短くなる。（Ｃ）の場合には、子音歌唱時間が存在しないので、先行母音歌唱時間は最大となる。
【００７０】
なお、子音歌唱時間は、演奏データに含まれる歌唱子音伸縮率（Consonant  Modulation）によって変化する。図２２は、このことを説明するための図である。
図２２（Ａ）は、歌唱子音伸縮率が１より大きい場合である。この場合、先行音韻から後続音韻（この図では子音と母音の組合せ）への音韻遷移pV_Cの子音長と、子音から母音への音韻遷移Ｃ_Vの子音長との和に歌唱子音伸縮率を掛け合わせたものをConsonant歌唱長として加算することにより、子音歌唱時間を伸長する。
一方、図２２（Ｂ）は、歌唱子音伸縮率が１より小さい場合である。この場合、
pV_Cの子音長と、子音から母音への音韻遷移Ｃ_Vの子音長との双方に歌唱子音伸縮率を掛け合わせることにより、子音歌唱時間を短縮する。
【００７１】
ステップ４２−４．６のVowel歌唱長算出の処理を図２３及び図２４を用いて説明する。Vowel歌唱長は、「次の演奏データとの間に無音が挿入される」という仮定の下、仮定が真実であった場合に後続音韻の母音の後に接続され、真実でなかった場合には破棄されるものである。
Vowel歌唱長を算出するには、まず、演奏データ、管理データ、歌唱合成スコアのデータを受信し（ステップ４．６−１）、これらの受信データに基づいてVowel歌唱長を算出する（ステップ４．６−２）。この算出方法を図２４により説明する。最初に、現演奏データ（X_V、なお、Xは無音、子音、先行母音のいずれでも可）と次の演奏データ（図示せず）との間に無音（Sil）が挿入される、と仮定する。
【００７２】
この仮定の下では、X_Vから無音Silまでの間の母音Vの歌唱時間（母音歌唱時間）は、▲１▼X_Vの母音Vの歌唱時間長、▲２▼Vowel歌唱長、▲３▼V_Silの母音Vの歌唱時間長の和となる。V_Sil内のVとSilの境界が実歌唱終了時刻（Current Note Off）と一致させた後、これにより決定した母音歌唱時間に基づき、Vowel歌唱長が算出される。
【００７３】
次の演奏データを受信したとき、現演奏データとの間の接続状態（EventState）が判明し、上記の仮定が真実であったか否かが明らかになる。
真実であった場合（EventState＝Attack）には、算出されたVowel歌唱長は更新されずそのまま使用される。真実でなかった場合（EventState＝Transition）には、前述のステップ４．５−４によって先行Vowel歌唱長が算出される。
【００７４】
〔ピッチモデル形成〕
次に、ピッチモデルを形成する手順について、図２５〜４１を用いて説明する。
本実施の形態においてピッチモデルとは、音高トラックＴｉにおいて、音高の不連続な変化を連続的な変化に変換するための連続曲線モデルのことである。
音韻の変化の前後においては音高変化曲線が不連続となっているので、この音韻変化点においてピッチモデルを音高トラックＴｉに付与することにより、音高の変化が滑らかとなり、合成される歌唱音声の自然性が高められる。
【００７５】
本実施の形態のピッチモデルは、その付与される位置との関係により、立ち上がり部ピッチモデル、遷移部ピッチモデル、立下り部ピッチモデルの３つに大別される。
【００７６】
立ち上がり部ピッチモデルとは、音韻が無音から有声音に遷移するAttack部分において、音高をある値から該有声音の音高（以下、これをカレントピッチ（Current Pitch）という）へ緩やかに移行させる曲線であり、基本的には正の傾きを有する。
【００７７】
遷移部ピッチモデルとは、音韻がある有声音から別の有声音へ遷移するtransition部分において、音高を先行音韻の音高から後続音韻の音高へと緩やかに移行させる曲線モデルである。
【００７８】
立下がり部ピッチモデルとは、音韻がある有声音から無音に遷移するrelease部分において、音高をカレントピッチからある値へ緩やかに移行させる曲線である。
【００７９】
図２５は、このピッチモデルの形成手順を示すフローチャートである。
演奏データ、管理データ及び歌唱合成スコアを取得した後、ステップ５０において、その取得されたデータ部分のEventState＝Attackであるか否かが判断される。
判定が肯定的（YES）であればステップ５１へ、否定的（NO）であればステップ５２へ移行する。ステップ５１では、立ち上がり部ピッチモデルを算出する。
ステップ５２では、遷移部ピッチモデルを算出する。
【００８０】
このステップ５１又は５２が終了すると、次にステップ５３において立下り部ピッチモデルを形成する。なお、処理中の現演奏データに係る音韻と、後続の演奏データに係る音韻との間に無音が存在しない場合には、この立下り部ピッチモデルは不要となり破棄される。
【００８１】
ステップ５１−５３が完了すると、ステップ５４により、作成されたピッチモデルが音高トラックＴｉに記憶されている音高変化曲線に付与され、これにより音韻の変化する時点における音高の変化が自然なものとなる。
【００８２】
以下、ステップ５１、５２，５３での処理の詳細を説明する。
【００８３】
〔ステップ５１（立ち上がり部ピッチモデル形成）〕
このステップ５１では、無音（Sil）に続く音素が、無声子音か、有声子音か、母音のみか、３音素連鎖かにより、ピッチモデルを付与する位置を変化させている。これを図２６−２９により説明する。
ここで、図２６−２９において、１０３は音韻データ列を示しており、Silは無音、Cは子音、Vは母音を表わしている。Sil、C、Vを囲む実線は音韻の境界を、点線は音素の境界を示している。例えば、左から2番目のSilと左から3番目のCとは、実線の長方形で囲われ、１つの音韻遷移（無音から無声子音への遷移）を構成していることを示しており、また、SilとCの間の点線は、無音と無声子音の境界を示している。
【００８４】
図２６は、無音から無声子音と母音の組合せ（例：ｓａ）に遷移する場合に付与される立ち上がり部ピッチモデルの例である。この場合、無声子音C_Vの子音部Cが終了した時点をピッチモデルの始点とし、所定の傾きを付与してカレントピッチへ接続させる。なお、ピッチモデルには、その始端部と終端部にそれぞれオーバーシュート部１０１、１０２が付加されている。オーバーシュート部１０１、１０２の高さはvalue1、value２により規定される。また、オーバーシュート部１０１，１０２の幅は、それぞれDuration1、Duration2により規定される。
また、オーバーシュート部１０２の始端部からオーバーシュート部１０１の始端部までの長さをSlope  Durationと称する。この点は、遷移部ピッチモデル、立下り部ピッチモデルでも同様である。
【００８５】
図２７は、無音から有声子音と母音の組合せ（例：ｇａ）に遷移する場合に付与される立ち上がり部ピッチモデルの例である。この場合、無声から有声子音への遷移部Sil_Cの子音部Ｃの発音が開始された時点をピッチモデルの始点とし、所定の傾きを付与してカレントピッチへ接続させる。
【００８６】
図２８は無音から母音（例：ａ）に遷移する場合に付与される立ち上がり部ピッチモデルの例である。この場合、母音V（例えばａ）の発音が開始された時点をピッチモデルの始点とし、所定の傾きを付与してカレントピッチへ接続させる
【００８７】
図２９は無音Silから３音素連鎖Sil_CVに遷移する場合に付与される立ち上がり部ピッチモデルの例である。この場合には、オーバーシュート部１０２の始端部を３音素連鎖のSilとＣＶの境界位置に合わせ、オーバーシュート部１０１の始端部を3音素連鎖の終端部に合わせる。
【００８８】
このように、本実施の形態では、音韻が変化する時点において、前後の音韻がどのように変化するかによって、ピッチモデルを付与する位置を変化させている。これにより、合成される歌唱音声の自然性が高められる。
【００８９】
また、このステップ５１では、カレントピッチの大きさにより、付与するピッチモデルの形状を変化させている。基本的には、カレントピッチが小さい場合には緩いカーブのピッチモデルを、カレントピッチが大きい場合には比較的急なカーブのピッチモデルを付与するようにする。このため、例えば、図３０に示すように、ピッチモデル付与用のパラメータ群を記憶したテーブルを、異なるカレントピッチごとに予めＲＯＭ１４等に保存しておく。すなわち、このパラメータ群は、図３０に示すように、現演奏データの音高（カレントピッチ（Current  Pitch））がＰ０（最小），・・・ＰＮ（最大）と異なる毎に異なる値のValue1、Value2、Duration1、Duration2、Slope Durationを保持している。
【００９０】
また、Slope Durationの部分を所定の間隔（例：0.00、0.10、0.25、・・・1.00）で分割し、各分割点での縦軸方向の大きさをPositionで示している。このPositionも、カレントピッチの値が異なる毎に異なる値を与えられている。Positionの値Ｐ０（０），Ｐ０（１）・・・Ｐ０（ｊ）（又はＰＮ（０），ＰＮ（１），・・・ＰＮ（ｊ））は、図３１に示すように、各分割点における音高と、カレントピッチＰ０（又はＰＮ）との差を示している。
【００９１】
なお、図３０に示すパラメータを、外部記憶装置２４等に記憶させておくこともできる。例えば、ユーザが任意に編集したテ−ブルをＣＤ−ＲＯＭ等に記憶させて、これを外部記憶装置２４から読み込むことによりピッチモデルを形成するようにしてもよい。また、ユーザが編集したテーブルをＭＩＤＩインターフェース３０により、外部から取得してもよい。
【００９２】
次に、このステップ５１の具体的な手順を説明する。
まず、現演奏データの音韻状態PhUStateに基づき、ピッチモデルの付与を開始する位置を決定する。
次に、現演奏データに基づきカレントピッチのデータを読み出して、このカレントピッチに合致するパラメータをＲＯＭ１４に記憶されたテーブル（図３０）から読み出す。
【００９３】
カレントピッチの大きさがＲＯＭ１４に記憶されたテーブル（図３０）の最大値ＰＮよりも大きい場合には、カレントピッチはＰＮであるとみなして、対応するパラメータを読み出してピッチモデルを作成する。
逆に、カレントピッチの大きさがテーブル（図３０）の最小値Ｐ０よりも小さい場合には、カレントピッチはＰ０であるとみなして対応するパラメータを読出し、ピッチモデルを作成する。
【００９４】
また、カレントピッチの大きさが、テーブル（図３０）の飛び飛びの値PMとPM−1との間の大きさである場合には、これらＰＭに関するパラメータと、PM−1に関するパラメータを補完して新しいパラメータを生成した後、生成したパラメータに基づいてピッチモデルを作成する。
【００９５】
こうしてピッチモデルの形状が決定すると、このピッチモデルをすでに決定された開始位置に当てはめ、これにより音高変化曲線になだらかな変化を加える。
【００９６】
〔ステップ５２（遷移部ピッチモデル形成）〕
次に、ステップ５２の遷移部ピッチモデルの形成の具体的な処理を説明する。ステップ５１の立ち上がり部ピッチモデルの形成では、現演奏データのカレントピッチのみに基づきピッチモデルを決定していた。これに対し、このステップ５２では、遷移部に先行する先行演奏データの音高（Previous  Pitch）と、後続の現演奏データの音高（Current  Pitch）との差に基づき、ピッチモデルの形成を行う。
【００９７】
また、このステップ５２でも、現演奏データの音韻の種類（無声子音、有声子音、母音のみ、３音素連鎖など）に応じて、ピッチモデルの付与を開始する位置を変化させている。
例えば、現演奏データが無声子音と母音の組合せである場合には、図３２に示すように、その無声子音の開始時間をピッチモデルの開始時間とする。すなわち、オーバーシュート部１０２の終端部が、無声子音の開始時間に合致するように、遷移部ピッチモデルの位置を合わせこむ。
【００９８】
また、現演奏データが有声子音と母音の組合せである場合には、さらに当該有声子音部分の長さC_V.Fromが十分な長さを有している場合（図３３）と、十分な長さを有していない場合（図３４）とで処理を異ならせている。前者の場合には、図３３に示すようにオーバーシュート部１０２の終端部を後続音韻（C_V）の子音Ｃの開始位置に合わせるとともに、オーバーシュート部１０１の始端部を後続音韻（C_V）の子音Ｃと母音Ｖの境界位置に合わせる。
【００９９】
一方、後者の場合には、図３４に示すように、オーバーシュート部１０１の始端部を後続音韻（C_V）の子音Ｃと母音Ｖの境界位置に合わせるが、オーバーシュート部１０２の終端部の位置は、ＲＯＭ１４に記憶されたテ−ブル内のSlope Durationに基づいて決定する。すなわち、オーバーシュート部１０１の始端部からSlope Durationの長さの分だけ左方向へ移動した位置をオーバーシュート部１０２の終端部とする。
【０１００】
また、現演奏データが母音のみからなる場合には、図３５に示すように、先行音韻の母音ｐＶと後続音韻の母音Ｖへの音韻遷移部のｐＶとＶの境界位置をオーバーシュート部１０１の始端部とする。オーバーシュート部１０２の終端位置はテ−ブル内のSlope Durationにより決定する。
【０１０１】
また、先行演奏データの音高と、後続の現演奏データの音高とが同一である場合には、図３６に示すように、オーバーシュート部１０２のデータvalue２、Duration２のデータのみを利用し、オーバーシュート部１０２のみを付加する。図３６において、（ａ）は現演奏データが子音と母音の組合せである場合を示し、（ｂ）は現演奏データが母音のみである場合を示しているが、どちらも処理の内容は同一である。
【０１０２】
また、3音素連鎖の場合には、図３７に示すように、オーバーシュート部１０１の始端部を３音素連鎖（ＶＣＶ）のＶとＣＶの境界位置に合わせる。
【０１０３】
図３８は、上述のような遷移部ピッチモデル付与用のパラメータ群を記憶したテーブルであり、図３０に示す立ち上がり部ピッチモデル付与用のパラメータ群を記憶したテーブルと同様、異なるカレントピッチごとに予めＲＯＭ１４等に保存される。
前述したように、遷移部ピッチモデルは、前述のように先行演奏データの音高Previous  pitchとカレントピッチ（CurrentPitch）の差ΔNによって決定される。
ΔNがＲＯＭ１４にパラメータ群として保存されている最大値ΔNmaxよりも大きい場合には、ΔN＝ΔNmaxであるとみなして、対応するパラメータを読み出してピッチモデルを作成する。
逆に、ΔNが最小値ΔNminよりも小さい場合には、ΔN＝ΔNminであるとみなして対応するパラメータを読出し、ピッチモデルを作成する。
【０１０４】
また、ΔNが、保存されている飛び飛びの値ΔNｍとΔNｍ-1との間の大きさである場合には、これらΔNｍに関するパラメータと、ΔNｍ-1に関するパラメータを補間して新しいパラメータを生成した後、生成したパラメータに基づいてピッチモデルを作成する。
【０１０５】
遷移部ピッチモデル付与用のテーブルは（図３８）は、異なるΔN毎に異なる値のValue1、Value2、Duration1、Duration2、Slope  Durationを保持している。
また、Slope  Durationの部分を所定の間隔（例：0.00、0.10、0.25、・・・1.00）で分割し、各分割点での縦軸方向の大きさをPositionで示している。このPositionも、差ΔNの値が異なる毎に異なる値を与えられている。図３９は、テーブル（図３８）で与えられるパラメータの意義を表わしている。
【０１０６】
〔ステップ５３（立下り部ピッチモデル形成）〕
このステップ５３では、ステップ５１とは逆に、有声音から無音へ音韻が変化する場合の立下り部におけるピッチモデルを形成する。
ステップ５１の立ち上がりピッチモデル形成の場合には、無音に続く音韻の種類によりピッチモデルの形成位置を変化させていた。これに対し、このステップ５３では、母音と無音の接続のみを考慮すれば十分である。一般に日本語の場合、無音の前には母音が存在するためである。
【０１０７】
図４０は無音から母音（例：ａ）に遷移する場合に付与される立ち下がり部ピッチモデルの例である。この場合、図４０（ａ）に示すように、母音（例えばａ）の発音が終了し無音部に移行した時点をピッチモデルの終点とし、所定の傾きを付与してカレントピッチへ接続させる。
【０１０８】
このステップ５３では、ステップ５１と同様に、カレントピッチの大きさにより、付与するピッチモデルの形状を変化させる。このため、図４０（ｂ）に示すような立下がりピッチモデル付与用のパラメータ群を記憶したテーブルを、異なるカレントピッチごとに予めＲＯＭ１４等に保存しておく。内容は図３０の立ち上がり部ピッチモデル付与用のパラメータ群と同様である。
【０１０９】
次に、このステップ５３の具体的な手順を説明する。
まず、現演奏データに基づきカレントピッチのデータを読み出して、このカレントピッチに合致するパラメータをＲＯＭ１４から読み出す。カレントピッチの大きさがＲＯＭ１４に保存されている最大値ＰＮよりも大きい場合には、カレントピッチはＰＮであるとみなして、対応するパラメータを読み出してピッチモデルを作成する。
【０１１０】
逆に、カレントピッチの大きさが最小値Ｐ０よりも小さい場合には、カレントピッチはＰ０であるとみなして対応するパラメータを読出し、ピッチモデルを作成する。
【０１１１】
また、カレントピッチの大きさが、保存されている飛び飛びの値PMとPM−1との間の大きさである場合には、これらＰＭに関するパラメータと、PM−1に関するパラメータを補間して新しいパラメータを生成した後、生成したパラメータに基づいてピッチモデルを作成する。こうしてピッチモデルの形状が決定すると、このピッチモデルをすでに決定された開始位置に当てはめ、これにより音高変化曲線になだらかな変化を加える。
【０１１２】
（第2の実施の形態）
次に、本発明の第２の実施の形態を図４２、４３により説明する。装置全体の構成、処理の概略等は、図１，２等に示すのと同一である。第１の実施の形態では、カレントピッチの大きさの変化に応じてピッチモデルの形状を変化させていたが、この変形例では、カレントピッチに加えて歌唱音速さ（ＭＩＤＩのベロシティ（Velocity）と同義）を参照してピッチモデルを形成してもよい。この第2の実施の形態のピッチモデルを形成するためのパラメータ群の一例を図４２に示す。図４２に示すように、この第２の実施の形態では、カレントピッチ（Ｐ0、・・・ＰＮ）及び歌唱音速さVelocity（Ve0、・・・Vej）の組合せによりValue1、Value2、Duration1、Duration2、Slope Duration、Position等のパラメータの値を変化させている。
【０１１３】
この第２の実施の形態によると、例えばカレントピッチが等しくても歌唱音速さVelocityが異なれば、付与されるピッチモデルの形状が変化することになる。図４３は、カレントピッチがP０で歌唱音速さVelocityがVe0の場合において付与されるピッチモデル１０４と、カレントピッチが同じくP０で歌唱音速さがVej（＞Ve0）の場合において付与されるピッチモデル１０５とを示している。図４３に示すように、歌唱音速さVelocityが大きい場合には、より傾きの大きいピッチモデルが付与される。これにより、より自然な歌唱音を合成することができる。
【０１１４】
(変形例)
この発明は、上記した実施の形態に限定されるものではなく、種々の改変形態で実施可能なものである。例えば、次のような変更が可能である。
（１）上記実施の形態では、カレントピッチ又は歌唱音速さに合致したパラメータ群をＲＯＭ１４から読出し、この読出し値に基づきピッチモデルを形成していた。このため、カレントピッチ等が等しい限り、付与されるピッチモデルの形状は、歌唱位置の如何に拘わらず一定となる。この読出し値に、乱数等によって与えられる値を加算して、ピッチモデルの形状にゆらぎを与えることができる。
【０１１５】
例えば、図４４に示すように、読み出されたValue1、Value2、Duration１、Duration2、Slope Durationの値V1-n、V2-n、D1-n、D２-n等に、乱数等によって与えられる値ΔV1、ΔV2、ΔD1、ΔD2等を加算することにより、同じ条件の下でも異なる形状のピッチモデルを形成させることができる。これにより、より自然な歌唱合成が可能になる。
【０１１６】
（２）上記した実施の形態では、歌唱合成スコアの形成が完了した後、歌唱合成スコアに従って歌唱音声を合成するようにしたが、歌唱合成スコアを形成しつつ形成済みの歌唱合成スコアに従って歌唱音声を合成するようにしてもよい。このためには、例えば演奏データの受信を割込み処理により優先的に行いつつ受信済みの演奏データに基づいて歌唱合成スコアを形成すればよい。
【０１１７】
（３）上記した実施の形態では、歌唱合成スコアを音韻トラックＴｐ、音高トラックＴｉ、遷移トラックＴｒ、ビブラートトラックＴｂの４トラックで構成したが、トラック数はこれに限られない。例えば、音韻トラックＴｐに音高情報も記憶させて音韻トラックＴｐと音高トラックＴｉとを合体させてもよいし、全てのトラックを統合して1トラックとしてもよい。
【０１１８】
【発明の効果】
以上説明したように、本発明によれば、音韻変化時点における音高の変化曲線に適当な傾きを簡易に付与することができ、自然な歌唱音声を簡易に合成することができる。
【図面の簡単な説明】
【図１】  本発明の第１の実施の形態に係る歌唱合成システムの全体構成を示す。
【図２】  図１に示す歌唱合成システムにおける歌唱合成手順の概略を示す。
【図３】  図２に示す歌唱合成の結果を時系列的に表現したものである。
【図４】  演奏データに含まれる情報の内容を示す。
【図５】  音韻ＤＢ１４ａ内に含まれる情報の内容を示す。
【図６】  音韻遷移ＤＢ１４ｂ内の情報の内容を示す。
【図７】  状態遷移ＤＢ１４ｃ内の情報の内容を示す。
【図８】  ビブラートＤＢ１４ｄ内の情報の内容を示す。
【図９】  図１に示す歌唱合成システムにより形成される歌唱合成スコアＳＣの構成の一例を示す。
【図１０】  歌唱合成スコアＳＣ内の音韻トラックＴｐのアイテムを説明する表である。
【図１１】  図２に示すフローチャートのステップ４０の詳細な手順を示すフローチャートである。
【図１２】  図２に示すフローチャートのステップ４２の詳細な手順を示すフローチャートである。
【図１３】  図１２に示すフローチャートのステップ４２−３（管理データ作成）の詳細な手順を示すフローチャートである。
【図１４】  管理データ作成の方法を示す説明図である。
【図１５】  図１２に示すフローチャートのステップ４２−４（音韻トラックＴｐの形成）の詳細な手順を示すフローチャートである。
【図１６】  図１５に示すフローチャートのステップ４２−４．２（音韻遷移時間長獲得）の詳細な手順を示すフローチャートである。
【図１７】  図１５に示すフローチャートのステップ４２−４．４（Silence歌唱長算出）の詳細な手順を示すフローチャートである。
【図１８】  Silence歌唱長算出の手法を示す説明図である。
【図１９】  子音歌唱時間の決定方法を示す説明図である。
【図２０】   図１５に示すフローチャートのステップ４２−４．５（先行Vowel歌唱長の算出）の詳細な手順を示すフローチャートである。
【図２１】  先行Vowel歌唱長の算出の手法を示す説明図である。
【図２２】  図２０に示すフローチャートのステップ４．５−３（子音歌唱時間算出）の手法を示す説明図である。
【図２３】  図１５に示すフローチャートのステップ４２−４．６（Vowel歌唱長の算出）の詳細な手順を示すフローチャートである。
【図２４】  Vowel歌唱長の算出の手法を説明するための説明図である。
【図２５】  ピッチモデル形成の手順を示すフローチャートである。
【図２６】  立ち上がり部ピッチモデルを形成する手法を示す説明図の１つである。
【図２７】  立ち上がり部ピッチモデルを形成する手法を示す説明図の１つである。
【図２８】  立ち上がり部ピッチモデルを形成する手法を示す説明図の１つである。
【図２９】  立ち上がり部ピッチモデルを形成する手法を示す説明図の１つである。
【図３０】  立ち上がり部ピッチモデルを形成するためのパラメータ群の構成を示す。
【図３１】  図３０に示す各パラメータの意義を説明する説明図である。
【図３２】  遷移部ピッチモデルを形成する手法を示す説明図の１つである。
【図３３】  遷移部ピッチモデルを形成する手法を示す説明図の１つである。
【図３４】  遷移部ピッチモデルを形成する手法を示す説明図の１つである。
【図３５】  遷移部ピッチモデルを形成する手法を示す説明図の１つである。
【図３６】  遷移部ピッチモデルを形成する手法を示す説明図の１つである。
【図３７】  遷移部ピッチモデルを形成する手法を示す説明図の１つである。
【図３８】  遷移部ピッチモデルを形成するためのパラメータ群を記憶したテーブルの構成を示す。
【図３９】  図３８に示す各パラメータの意義を説明する説明図である。
【図４０】  立下りピッチモデルの説明図、及び立ち下がり部ピッチモデルを形成するためのパラメータ群の構成を示す表である。
【図４１】  図４０（ｂ）の各パラメータの意義を説明する説明図である。
【図４２】  第2の実施の形態によるピッチモデル付与のためのパラメータ群を記憶したテーブルの構成を示す表である。
【図４３】  第2の実施の形態によるピッチモデルの付与のされかたを説明する説明図である。
【図４４】  本実施の形態の変形例を示す。
【符号の説明】
１０・・・バス、  １２・・・CＰＵ、  １４・・・ＲＯＭ、  １４Ａ・・・歌唱合成ＤＢ、１６・・・ＲＡＭ、２０・・・検出回路、  ２２・・・表示回路、  ２４・・・外部記憶装置、  ２６・・・タイマ、  ２８・・・音源回路、  ３０・・・ＭＩＤＩインターフェース、３４・・・操作子群、  ３６・・・表示器、  ３８・・・サウンドシステム、３９・・・ＭＩＤＩ機器、  Ｔｐ・・・音韻トラック、  Ｔｉ・・・音高トラック、  Ｔｒ・・・遷移トラック、  Ｔｂ・・・ビブラートトラック、１０１、１０２…オーバーシュート部
【図１】
0004026446.tif 000002
【図２】
0004026446.tif 000003
【図３】
0004026446.tif 000004
【図４】
0004026446.tif 000005
【図５】
0004026446.tif 000006
【図８】
0004026446.tif 000007
【図６】
0004026446.tif 000008
【図７】
0004026446.tif 000009
【図９】
0004026446.tif 000010
【図１０】
0004026446.tif 000011
【図１３】
0004026446.tif 000012
【図１１】
0004026446.tif 000013
【図１２】
0004026446.tif 000014
【図１４】
0004026446.tif 000015
【図１５】
0004026446.tif 000016
【図１６】
0004026446.tif 000017
【図１７】
0004026446.tif 000018
【図２０】
0004026446.tif 000019
【図１８】
0004026446.tif 000020
【図１９】
0004026446.tif 000021
【図２１】
0004026446.tif 000022
【図２２】
0004026446.tif 000023
【図２３】
0004026446.tif 000024
【図２４】
0004026446.tif 000025
【図２５】
0004026446.tif 000026
【図２６】
0004026446.tif 000027
【図２７】
0004026446.tif 000028
【図２８】
0004026446.tif 000029
【図２９】
0004026446.tif 000030
【図３０】
0004026446.tif 000031
【図３１】
0004026446.tif 000032
【図３２】
0004026446.tif 000033
【図３３】
0004026446.tif 000034
【図３４】
0004026446.tif 000035
【図３５】
0004026446.tif 000036
【図３６】
0004026446.tif 000037
【図３７】
0004026446.tif 000038
【図３８】
0004026446.tif 000039
【図３９】
0004026446.tif 000040
【図４１】
0004026446.tif 000041
【図４０】
0004026446.tif 000042
【図４２】
0004026446.tif 000043
【図４３】
0004026446.tif 000044
【図４４】
0004026446.tif 000045