(57)【要約】【課題】リアルタイムに入力される演奏データに基づいて人歌唱に近似した自然な歌唱合成を可能にする。【解決手段】子音ｓから母音ａへの音韻遷移に対応するアタック遷移Attackを表わす遷移状態情報と、母音ａから母音ｉへの音韻遷移に対応するノート遷移NtNを表わす遷移状態情報と、母音ａから無音Silへの音韻遷移に対応するリリース遷移Releaseを表わす遷移状態情報とを生成する。歌唱音声発生時には、各遷移状態情報に応じて歌唱音声の対応する音韻遷移部に音高、振幅等の微小変化を付加するように音源制御を行なう。ビブラートトラックの制御情報に応じて歌唱音声にビブラート効果を付加してもよい。【選択図】図１３
2006119674.tif 000002
【特許請求の範囲】
【請求項１】
歌唱音韻について音韻を表わす音韻情報と歌唱開始時刻を表わす時刻情報と歌唱長を表わす歌唱長情報とを入力するステップと、
入力された音韻情報に基づいて前記歌唱音韻の立上り部、ノート遷移部又は立下り部のいずれかに対応した状態遷移時間長を生成するステップと、
入力された音韻情報、時刻情報及び歌唱長情報に基づいて前記音韻からなる歌唱音声を発生するステップであって、生成された状態遷移時間長に対応する期間中前記歌唱音声に対して音高及び振幅のうち少なくとも一方の変化を付加するものと
を含む歌唱合成方法。
【請求項２】
歌唱音韻について音韻を表わす音韻情報と歌唱開始時刻を表わす時刻情報と歌唱長を表わす歌唱長情報とを入力する入力手段と、
前記歌唱音韻の立上り部、ノート遷移部又は立下り部のいずれかに対応した状態遷移時間長を記憶した記憶手段と、
前記入力手段で入力された音韻情報に基づいて前記記憶手段から状態遷移時間長を読出す読出手段と、
前記入力手段で入力された音韻情報、時刻情報及び歌唱長情報に基づいて前記音韻からなる歌唱音声を発生する歌唱音声合成手段であって、前記読出手段で読出された状態遷移時間長に対応する期間中前記歌唱音声に対して音高及び振幅のうち少なくとも一方の変化を付加するものと
を備えた歌唱合成装置。
【請求項３】
前記入力手段では、前記状態遷移時間長を修正するための修正情報を入力し、前記読出手段で読出された状態遷移時間長を前記入力手段で入力された修正情報に応じて修正する修正手段を更に設け、前記歌唱音声合成手段では、前記修正手段で修正された状態遷移時間長に対応する期間中前記歌唱音声に対して音高及び振幅のうち少なくとも一方の変化を付加する請求項２記載の歌唱合成装置。
【請求項４】
歌唱音韻について音韻を表わす音韻情報と歌唱開始時刻を表わす時刻情報と歌唱長を表わす歌唱長情報と効果の付加を表わす効果付加情報とを入力する入力手段と、
この入力手段で入力された音韻情報、時刻情報及び歌唱長情報に基づいて前記音韻からなる歌唱音声を発生する歌唱音声合成手段であって、前記入力手段で入力された効果付加情報に基づいて前記歌唱音声に対して効果を付加するものと
を備えた歌唱合成装置。
【請求項５】
前記入力手段で入力される効果付加情報を効果の付加期間を表わすものとし、入力された効果付加情報で表わされる効果の付加期間が前記歌唱音韻に先行する歌唱音韻の効果の付加期間に連続するときに連続する２つの付加期間に対応する新たな効果の付加期間を設定する設定手段を更に設け、前記歌唱音声合成手段では、前記設定手段で設定された効果の付加期間中前記歌唱音声に対して効果を付加する請求項４記載の歌唱合成装置。
【請求項６】
歌唱音韻について音韻を表わす音韻情報と歌唱開始時刻を表わす時刻情報と歌唱長を表わす歌唱長情報とを入力するステップと、
入力された音韻情報に基づいて前記歌唱音韻の立上り部、ノート遷移部又は立下り部のいずれかに対応した状態遷移時間長を生成するステップと、
入力された音韻情報、時刻情報及び歌唱長情報に基づいて前記音韻からなる歌唱音声を発生するステップであって、生成された状態遷移時間長に対応する期間中前記歌唱音声に対して音高及び振幅のうち少なくとも一方の変化を付加するものと
をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、リアルタイムに入力される演奏データに基づいて歌唱音声を合成する歌唱合成方法と装置及び記録媒体に関するものである。
【背景技術】
【０００２】
従来、この種の歌唱合成装置としては、演奏データのノートオン信号に伴って発生される先頭音素の立上り時間を、この先頭音素がノートオン期間中に他の音素に引き続いて発音される場合の立上り時間より短くする（速く立上らせる）ようにしたものが知られている（例えば、特許文献１参照）。
【０００３】
図４０（Ａ）は、人歌唱における子音歌唱開始時刻及び母音歌唱開始時刻を示すもので、この例では、音高「Ｃ３（ド）」、「Ｄ３（レ）」、「Ｅ３（ミ）」にそれぞれ対応して歌詞「さ（ｓａ）」、「い（ｉ）」、「た（ｔａ）」と歌った場合を示している。図４０（Ａ）によれば、「ｓａ」、「ｔａ」のように子音と母音との組合せからなる音韻は、子音が母音に先行して発音開始されているのがわかる。
【０００４】
一方、図４０（Ｂ）は、上記した従来の歌唱合成における歌唱開始時刻を示すもので、歌唱内容は、図４０（Ａ）の場合と同様である。実歌唱開始時刻Ｔ１〜Ｔ３は、いずれもノートオン信号による歌唱音声の発生開始時刻に相当する。上記した従来の歌唱合成では、例えば「ｓａ」の歌唱音声を発生する場合、子音「ｓ」の歌唱開始時刻を時刻Ｔ１に合わせ、時刻Ｔ１から子音「ｓ」の振幅レベルを急速に上昇させることにより楽器音（伴奏音）に対して歌唱音声が遅れた感じとなる事態を回避するようにしている。
【特許文献１】特開平１０−４９１６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記した従来の歌唱合成技術によると、次のような問題点がある。
【０００６】
（１）歌唱音声についてアタック（立上り）部、リリース（立下り）部等の状態遷移を制御するようになっていないので、より自然な歌唱合成を行なうことができない。
【０００７】
（２）歌唱音声についてビブラート等の効果を制御するようになっていないので、より自然な歌唱合成を行なうことができない。
【０００８】
この発明の目的は、上記のような問題点を解決した新規な歌唱合成方法と装置を提供することにある。
【課題を解決するための手段】
【０００９】
この発明に係る歌唱合成方法は、
歌唱音韻について音韻を表わす音韻情報と歌唱開始時刻を表わす時刻情報と歌唱長を表わす歌唱長情報とを入力するステップと、
入力された音韻情報に基づいて前記歌唱音韻の立上り部、ノート遷移部又は立下り部のいずれかに対応した状態遷移時間長を生成するステップと、
入力された音韻情報、時刻情報及び歌唱長情報に基づいて前記音韻からなる歌唱音声を発生するステップであって、生成された状態遷移時間長に対応する期間中前記歌唱音声に対して音高及び振幅のうち少なくとも一方の変化を付加するものと
を含むものである。
【００１０】
この発明の歌唱合成方法によれば、入力された音韻情報に基づいて状態遷移時間長を生成すると共に、この状態遷移時間長に対応する期間中歌唱音声に対して音高及び振幅のうち少なくとも一方の変化を付加するようにしたので、アタック感、ノート遷移感又はリリース感のある自然な歌唱合成が可能となる。
【００１１】
この発明に係る第１の歌唱合成装置は、
歌唱音韻について音韻を表わす音韻情報と歌唱開始時刻を表わす時刻情報と歌唱長を表わす歌唱長情報とを入力する入力手段と、
前記歌唱音韻の立上り部、ノート遷移部又は立下り部のいずれかに対応した状態遷移時間長を記憶した記憶手段と、
前記入力手段で入力された音韻情報に基づいて前記記憶手段から状態遷移時間長を読出す読出手段と、
前記入力手段で入力された音韻情報、時刻情報及び歌唱長情報に基づいて前記音韻からなる歌唱音声を発生する歌唱音声合成手段であって、前記読出手段で読出された状態遷移時間長に対応する期間中前記歌唱音声に対して音高及び振幅のうち少なくとも一方の変化を付加するものと
を備えたものである。
【００１２】
第１の歌唱合成装置は、この発明の歌唱合成方法を実施するものであり、この発明の歌唱合成方法に関して前述したと同様の作用効果が得られる。また、状態遷移時間長を記憶手段から読出して利用するようにしたので、歌唱音韻数が増大しても、構成乃至処理が簡単である。
【００１３】
第１の歌唱合成装置において、前記入力手段では、前記状態遷移時間長を修正するための修正情報を入力し、前記読出手段で読出された状態遷移時間長を前記入力手段で入力された修正情報に応じて修正する修正手段を更に設け、前記歌唱音声合成手段では、前記修正手段で修正された状態遷移時間長に対応する期間中前記歌唱音声に対して音高及び振幅のうち少なくとも一方の変化を付加するようにしてもよい。このようにすると、状態遷移時間長に入力側の意志を反映させることができ、一層自然な歌唱合成が可能となる。
【００１４】
この発明に係る第２の歌唱合成装置は、
歌唱音韻について音韻を表わす音韻情報と歌唱開始時刻を表わす時刻情報と歌唱長を表わす歌唱長情報と効果の付加を表わす効果付加情報とを入力する入力手段と、
この入力手段で入力された音韻情報、時刻情報及び歌唱長情報に基づいて前記音韻からなる歌唱音声を発生する歌唱音声合成手段であって、前記入力手段で入力された効果付加情報に基づいて前記歌唱音声に対して効果を付加するものと
を備えたものである。
【００１５】
第２の歌唱合成装置によれば、歌唱音声に対して効果として例えばビブラート効果のような音高、振幅等の微小変化を付加することができ、自然な歌唱合成が可能となる。
【００１６】
第２の歌唱合成装置において、前記入力手段で入力される効果付加情報を効果の付加期間を表わすものとし、入力された効果付加情報で表わされる効果の付加期間が前記歌唱音韻に先行する歌唱音韻の効果の付加期間に連続するときに連続する２つの付加期間に対応する新たな効果の付加期間を設定する設定手段を更に設け、前記歌唱音声合成手段では、前記設定手段で設定された効果の付加期間中前記歌唱音声に対して効果を付加するようにしてもよい。このようにすると、連続する効果の付加期間に対応する新たな効果の付加期間を設定して効果付加を行なうので、効果が途切れたりすることがなく、効果の連続性が良好となる。
【発明の効果】
【００１７】
以上のように、この発明によれば、状態遷移時間長を用いて歌唱音声の立上り部、立下り部、ノート遷移部に音高、振幅等の微小変化を付加したり、歌唱音声にビブラート効果等の効果を付加したりしたので、自然な歌唱合成が可能となる効果が得られる。
【発明を実施するための最良の形態】
【００１８】
図１を参照してこの発明の歌唱合成の概要を説明する。図１（Ａ）は、図４０（Ａ）と同様に人歌唱における子音歌唱開始時刻及び母音歌唱開始時刻を示すものであり、図１（Ｂ）は、この発明の歌唱合成における歌唱開始時刻を示すものである。
【００１９】
この発明では、演奏データは、歌詞を構成する「ｓａ」等の音韻毎に音韻情報、歌唱開始時刻情報、歌唱長情報等を入力する。歌唱開始時刻情報は、Ｔ１等の実歌唱開始時刻（例えば拍頭タイミング）を表わす。各演奏データは、実歌唱開始時刻より早く入力し、各演奏データ毎に音韻情報を音韻遷移時間長に変換する。音韻遷移時間長は、例えば第１の音素「ｓ」及び第２の音素「ａ」からなる音韻「ｓａ」については第１の音素の発生時間長と第２の音素の発生時間長とからなるもので、この音韻遷移時間長と歌唱開始時刻情報と歌唱長情報とを用いて第１及び第２の音素の歌唱開始時刻と歌唱継続時間とを決定する。このとき、子音「ｓ」の歌唱開始時刻は、実歌唱開始時刻Ｔ１より前とし、母音「ａ」の歌唱開始時刻は、実歌唱開始時刻Ｔ１と同一あるいはその前又は後とすることができる。このことは、「ｉ」及び「ｔａ」についても同様である。図１（Ｂ）の例では、「ｓａ」について「ｓ」の歌唱開始時刻を（Ａ）の人歌唱に合わせてＴ１より前とし、「ａ」の歌唱開始時刻をＴ１とし、「ｉ」の歌唱開始時刻をＴ２とし、「ｔａ」について「ｔ」の歌唱開始時刻を（Ａ）の人歌唱に合わせてＴ３より前とし、「ａ」の歌唱開始時刻をＴ３としている。
【００２０】
歌唱合成では、例えば「ｓ」を決定に係る歌唱開始時刻で発生開始し、決定に係る歌唱継続期間中発生する。また、「ａ」を決定に係る歌唱開始時刻で発生開始し、決定に係る歌唱継続期間中発生する。このことは、「ｉ」及び「ｔａ」についても同様である。この結果、図１（Ａ）の人歌唱の場合と歌唱開始時刻や歌唱継続時間が近似した自然性豊かな歌唱合成が可能となる。
【００２１】
図２は、この発明の一実施形態に係る歌唱合成装置の回路構成を示すものである。この歌唱合成装置は、小型コンピュータによって動作が制御されるものである。
【００２２】
バス１０には、ＣＰＵ（中央処理装置）１２、ＲＯＭ（リード・オンリィ・メモリ）１４、ＲＡＭ（ランダム・アクセス・メモリ）１６、検出回路２０、表示回路２２、外部記憶装置２４、タイマ２６、音源回路２８、ＭＩＤＩ（Musical  Instrument  Digital  Interface）インターフェース３０等が接続されている。
【００２３】
ＣＰＵ１２は、ＲＯＭ１４にストアされたプログラムに従って楽音発生、歌唱合成等に関する各種処理を実行するもので、歌唱合成に関する処理については図１７等を参照して後述する。
【００２４】
ＲＡＭ１６は、ＣＰＵ１２の各種処理に際してワーキングエリアとして使用される種々の記憶部を含むもので、この発明の実施に関係する記憶部としては、受信した演奏データを書込むための受信バッファ等が設けられている。
【００２５】
検出回路２０は、パネルの操作子群３４から各種操作子の操作情報を検出するものである。
【００２６】
表示回路２２は、表示器３６の表示動作を制御することにより各種の表示を可能にするものである。
【００２７】
外部記憶装置２４は、ＨＤ（ハードディスク）、ＦＤ（フレキシブルディスク）、ＣＤ（コンパクトディスク）、ＤＶＤ（ディジタル多目的ディスク）、ＭＯ（光磁気ディスク）等のうち１又は複数種類の記録媒体を着脱可能なものである。外部記憶装置２４に所望の記録媒体を装着した状態では、記録媒体からＲAM１６へデータを転送可能である。また、装着した記録媒体がＨＤやＦＤのように書込み可能なものであれば、ＲＡＭ１６のデータを記録媒体に転送可能である。
【００２８】
プログラム記録手段としては、ＲＯＭ１４の代わりに外部記憶装置２４の記録媒体を用いることができる。この場合、記録媒体に記録したプログラムは、外部記憶装置２４からＲＡＭ１６へ転送する。そして、ＲＡＭ１６に記憶したプログラムに従ってＣＰＵ１２を動作させる。このようにすると、プログラムの追加やバージョンアップ等を容易に行なうことができる。
【００２９】
タイマ２６は、テンポデータＴＭの指示するテンポに対応した周期でテンポクロック信号ＴＣＬを発生するもので、テンポクロック信号ＴＣＬは、ＣＰＵ１２に割り込み命令信号として供給される。ＣＰＵ１２は、テンポクロック信号ＴＣＬに基づく割り込み処理により歌唱合成を行なう。テンポデータＴＭの指示するテンポは、操作子群３４中のテンポ設定操作子の操作に応じて可変設定することができる。テンポクロック信号ＴＣＬの発生周期は、一例として５［ｍｓ］とすることができる。
【００３０】
音源回路２８は、多数の楽音発生チャンネル及び多数の歌唱合成チャンネルを含むもので、歌唱合成チャンネルは、フォルマント合成方式により歌唱音声を合成するようになっている。後述する歌唱合成処理では、歌唱合成チャンネルから歌唱音声信号が発生される。発生に係る楽音信号及び／または歌唱音声信号は、サウンドシステム３８により音響に変換される。
【００３１】
ＭＩＤＩインターフェース３０は、この歌唱合成装置とは別体のＭＩＤＩ機器３９との間でＭＩＤＩ通信を行なうために設けられたもので、この発明では、ＭＩＤＩ機器３９から歌唱合成用の演奏データを受信するために用いられる。ＭＩＤＩ機器３９からは、歌唱合成用の演奏データと共に歌唱伴奏用の演奏データを受信し、歌唱伴奏用の演奏データに基づいて音源回路２８で伴奏用の楽音信号を発生し、サウンドシステム３８から伴奏音を発生させるようにしてもよい。
【００３２】
次に、図３を参照して実施形態に係る歌唱合成処理を概略的に説明する。ステップ４０では、演奏データを入力する。すなわち、ＭＩＤＩ機器３９からＭＩＤＩインターフェース３０を介して演奏データを受信する。演奏データの詳細については、図４を参照して後述する。
【００３３】
ステップ４２では、受信した演奏データ毎に該演奏データに基づいて歌唱合成ＤＢ（データベース）１４Ａ内の音韻遷移ＤＢ１４ｂ及び状態遷移ＤＢ１４ｃからそれぞれ音韻遷移時間長及び状態遷移時間長を獲得し、これらの音韻遷移時間長及び状態遷移時間長と演奏データとに基づいて歌唱合成スコアを形成する。歌唱合成スコアは、音韻トラックと、遷移トラックと、ビブラートトラックとの３トラックを有するもので、音韻トラックは、歌唱開始時刻及び歌唱継続時間等の情報を含み、遷移トラックは、アタック等の遷移状態の開始時刻及び継続時間等の情報を含み、ビブラートトラックは、ビブラート付加状態の開始時刻及び継続時間等の情報を含む。
【００３４】
ステップ４４では、歌唱合成エンジンによる歌唱合成を行なう。すなわち、ステップ４０で入力した演奏データとステップ４２で形成した歌唱合成スコアと歌唱合成ＤＢ１４Ａ内の音韻ＤＢ１４ａ、音韻遷移ＤＢ１４ｂ、状態遷移ＤＢ１４ｃ及びビブラートＤＢ１４ｄから獲得した音源制御情報とに基づいて歌唱合成を行ない、歌唱順に歌唱音声信号を発生する。歌唱合成処理では、音韻トラックの指示する単一音韻（例えば「ａ」）又は遷移する音韻（例えば「ｓ」から「ａ」に遷移する「ｓａ」）からなり且つ演奏データの指示する音高を有する歌唱音声を音韻トラックの指示する歌唱開始時刻に発生開始し、音韻トラックの指示する歌唱継続時間中発生する。
【００３５】
このようにして発生される歌唱音声には、遷移トラックの指示するアタック等の遷移状態の開始時刻から音高、振幅等の微小変化を付加し、この付加状態を遷移トラックの指示するアタック等の遷移状態の継続時間中継続させることができる。また、歌唱音声には、ビブラートトラックの指示する開始時刻からビブラートを付加し、この付加状態をビブラートトラックの指示する継続時間中継続させることができる。
【００３６】
ステップ４６，４８は、音源回路２８内の処理を示したもので、ステップ４６では、歌唱音声信号をＤ／Ａ（ディジタル／アナログ）変換し、ステップ４８では、Ｄ／Ａ変換された歌唱音声信号をサウンドシステム３８に出力し、歌唱音として発音させる。
【００３７】
図４は、演奏データ内の情報を示すものである。演奏データは、１音節を歌唱するために必要な演奏情報を含んでおり、演奏情報は、ノート情報と、音韻トラック情報と、遷移トラック情報と、ビブラートトラック情報とを含んでいる。
【００３８】
ノート情報には、実歌唱開始時刻を表わすノートオン（Note  On）情報、実歌唱長を表わすデュレーション（Duration）情報、歌唱音高を表わすピッチ（Pitch）情報等が含まれる。音韻トラック情報には、歌唱音韻を表わす音韻（PhＵと表記する）情報、歌唱子音伸縮率を表わす子音修正（Consonant  Modification）情報等が含まれる。この実施形態では、日本語の歌唱合成を行なうことを前提としているので、出現する音素は、子音と母音であり、音韻状態（PhＵ  State）としては、子音と母音との組合せ、母音のみ又は有声子音（鼻音、半母音）のみのいずれかとなる。ここで、有声子音のみの場合は、有声子音の歌唱開始タイミングが母音のみの場合と類似しているので、母音のみの場合として扱うこととする。
【００３９】
遷移トラック情報には、歌唱アタックタイプを表わすアタックタイプ（Attack  Type）情報、歌唱アタック伸縮率を表わすアタックレート（Attack  Rate）情報、歌唱リリースタイプを表わすリリースタイプ（Release  Type）情報、歌唱リリース伸縮率を表わすリリースレート（Release  Rate）情報、歌唱ノート遷移タイプを表わすノート遷移タイプ（Note  Transition  Type）情報、  歌唱ノート遷移伸縮率を表わすノート遷移レート（Note  Transition  Rate）情報等が含まれる。アタックタイプ情報により指定されるアタックタイプとしては、「ノーマル（Normal）」、「セクシー（Sexy）」、「シャープ（Sharp）」、「ソフト（Soft）」等がある。リリースタイプ情報及びノート遷移タイプ情報も、アタックタイプと同様の複数のタイプのうちのいずれかを指定可能である。ノート遷移（Note  Transition）は、本演奏データ（演奏イベント）から次の演奏データ（演奏イベント）への遷移を意味する。歌唱アタック伸縮率、歌唱リリース伸縮率及び歌唱ノート遷移伸縮率は、状態遷移時間長を伸長したい場合は１より大きな値とし、状態遷移時間長を短縮したい場合は１より小さな値とする。歌唱アタック伸縮率、歌唱リリース伸縮率及び歌唱ノート遷移伸縮率は、０とすることもでき、この場合はそれぞれアタック、リリース及びノート遷移に伴う音高、振幅等の微小変化の付加は行なわれない。
【００４０】
ビブラートトラック情報には，本演奏データ中のビブラートイベント数を表わすビブラートナンバ（Vibrato  Number）情報、１番目のビブラートの遅延時間を表わすビブラート遅延１（Vibrato  Delay  １）の情報、１番目のビブラートの継続時間を表わすビブラートデュレーション１（Vibrato  Duration  １）の情報、１番目のビブラートのタイプを表わすビブラートタイプ１（Vibrato  Type  １）の情報…Ｋ（２以上の整数）番目のビブラートの遅延時間を表わすビブラート遅延Ｋ（Vibrato  Delay  Ｋ）の情報、Ｋ番目のビブラートの継続時間を表わすビブラートデュレーションＫ（Vibrato  Duration  Ｋ）の情報、Ｋ番目のビブラートのタイプを表わすビブラートタイプＫ（Vibrato  Type  Ｋ）の情報等が含まれる。ビブラートイベント数が０の場合は、ビブラート遅延１の情報以下の情報は含まれない。ビブラートタイプ１〜Ｋの情報によって指定されるビブラートタイプとしては、「ノーマル（Normal）」、「セクシー（Sexy）」、「エンカ（Enka）」等がある。
【００４１】
図３に示した歌唱合成ＤＢ１４Ａは、ＲＯＭ１４内に含まれるものであるが、外部記憶装置２４に設けたものをＲＡＭ１６に転送して利用するようにしてもよい。歌唱合成ＤＢ１４Ａ内には、音韻ＤＢ１４ａ、音韻遷移ＤＢ１４ｂ、状態遷移ＤＢ１４ｃ、ビブラートＤＢ１４ｄ…その他のＤＢ１４ｎが設けられている。
【００４２】
次に、図５〜８を参照して音韻ＤＢ１４ａ、音韻遷移ＤＢ１４ｂ、状態遷移ＤＢ１４ｃ及びビブラートＤＢ１４ｄ内の記憶情報について説明する。音韻ＤＢ１４ａ及びビブラートＤＢ１４ｄには、それぞれ図５及び図８に示すように音源制御情報が記憶される。音韻遷移ＤＢ１４ｂには、図６（Ｂ）に示すように音韻遷移時間長及び音源制御情報が記憶されると共に、状態遷移ＤＢ１４ｃには、図７に示したように状態遷移時間長及び音源制御情報が記憶される。これらの記憶情報を作成する際には、歌唱者による歌唱音声を分析して音源制御情報、音韻遷移時間長及び状態遷移時間長を決定した。また、「（Normal）」、「（Sexy）」、「Soft」、「Enka」等のタイプについては、歌唱者に同意の教示（例えば「セクシーなアタックを付けて歌って下さい」、「演歌調のビブラートを付けて歌って下さい」等）を与えて歌唱してもらい、その歌唱音声を分析して音源制御情報、音韻遷移時間長及び状態遷移時間長を決定した。音源制御情報は、音源回路２８において所望の歌唱音声を合成するために必要なフォルマント周波数及びフォルマントレベルの制御パラメータからなるものである。
【００４３】
図５に示す音韻ＤＢ１４ａでは、「ａ」、「ｉ」、「Ｍ」、「Sil」等の音韻毎に且つ１音韻内で「Ｐ１」、「Ｐ２」…等の音高毎に音源制御情報が記憶される。図５〜８及び以下の説明において、「Ｍ」は、音韻「ｕ」を表わし、「Sil」は、無音（Silence）を表わす。歌唱合成の際には、合成すべき歌唱音声の音韻と音高とに適合した音源制御情報が音韻ＤＢ１４ａから選択される。
【００４４】
図６（Ａ）は、音韻遷移ＤＢ１４ｂに記憶される音韻遷移時間長（ａ）〜（ｆ）を示すものである。図６（Ａ）及び以下の説明において、「Ｖ Sil」等の記号の意味は次の通りである。
【００４５】
（ａ）「Ｖ Sil」は、母音（Vowel）から無音（Silence）への音韻遷移を表わし、図６（Ｂ）では、例えば先行音韻「ａ」と後続音韻「Sil」との組合せに対応する。
【００４６】
（ｂ）「Sil Ｃ」は、無音（Silence）から子音（Consonant）への音韻遷移を表わし、図６（Ｂ）では、例えば先行音韻「Sil」と後続音韻「ｓ」（図示せず）との組合せに対応する。
【００４７】
（ｃ）「Ｃ Ｖ」は、子音（Consonant）から母音（Vowel）への音韻遷移を表わし、図６（Ｂ）では、例えば先行音韻「ｓ」（図示せず）と後続音韻「ａ」（図示せず）との組合せに対応する。
【００４８】
（ｄ）「Sil Ｖ」は、無音（Silence）から母音（Vowel）への音韻遷移を表わし、図６（Ｂ）では、例えば先行音韻「Sil」と後続音韻「ａ」との組合せに対応する。
【００４９】
（ｅ）「ｐＶ Ｃ」は、先行母音（Vowel）から子音（Consonant）への音韻遷移を表わし、図６（Ｂ）では、例えば先行音韻「ａ」と後続音韻「ｓ」（図示せず）との組合せに対応する。
【００５０】
（ｆ）「ｐＶ Ｖ」は、先行母音（Vowel）から母音（Vowel）への音韻遷移を表わし、図６（Ｂ）では、例えば先行音韻「ａ」と後続音韻「ｉ」との組合せに対応する。
【００５１】
図６（Ｂ）に示す音韻遷移ＤＢ１４ｂでは、「ａ」_「ｉ」等の音韻組合せ（遷移する音韻）毎に且つ１つの音韻組合せ内で「Ｐ１」、「Ｐ２」…等の音高毎に音韻遷移時間長及び音源制御情報が記憶される。図６（Ｂ）において、「Aspiration」は、呼気音を示す。音韻遷移時間長は、先行音韻の時間長と後続音韻の時間長との組合せからなるものであり、両時間長の境界を時間区切り情報として保持している。歌唱合成スコアを形成する際には、音韻トラックを形成すべき音韻組合せと音高とに適合した音韻遷移時間長が音韻遷移ＤＢ１４ｂから選択される。また、歌唱合成の際には、合成すべき歌唱音声の音韻組合わせと音高とに適合した音源制御情報が音韻遷移ＤＢ１４ｂから選択される。
【００５２】
図７に示す状態遷移ＤＢ１４ｃでは、アタック（Attack）、ノート遷移（Note  Transition、「NtN」と表記する）及びリリース（Release）の各遷移状態毎に且つ１つの遷移状態内で「Normal」、「Sexy」、「Sharp」及び「Soft」の各状態タイプ毎に状態遷移時間長及び音源制御情報が記憶され、しかも１つの状態タイプ内で「ａ」、「ｉ」等の音韻毎に且つ１音韻内で「Ｐ１」、「Ｐ２」等の音高毎に状態遷移時間長及び音源制御情報が記憶される。状態遷移時間長は、アタック、ノート遷移又はリリースの遷移状態の継続時間に相当するものである。歌唱合成スコアを形成する際には、遷移トラックを形成すべき遷移状態と状態タイプと音韻と音高とに適合した状態遷移時間長が状態遷移ＤＢ１４ｃから選択される。また、歌唱合成の際には、合成すべき歌唱音声の遷移状態と状態タイプと音韻と音高とに適合した音源制御情報が状態遷移ＤＢ１４ｃから選択される。
【００５３】
図８に示すビブラートＤＢ１４ｄでは、「Normal」、「Sexy」…「Enka」等の各ビブラートタイプ毎に音源制御情報が記憶されると共に、１つのビブラートタイプ内で「ａ」、「ｉ」等の音韻毎に且つ１音韻内で「Ｐ１」、「Ｐ２」等の音高毎に音源制御情報が記憶される。歌唱合成の際には、合成すべき歌唱音声のビブラートタイプと音韻と音高とに適合した音源制御情報がビブラートＤＢ１４ｄから選択される。
【００５４】
図９は、演奏データに基づく歌唱合成を示すものである。演奏データＳ１、Ｓ２、Ｓ３が図１（Ｂ）で示したと同様に「さ（ｓａ）：Ｃ３：Ｔ１…」、「い（ｉ）：Ｄ３：Ｔ２…」、「た（ｔａ）：Ｅ３：Ｔ３…」をそれぞれ指示するものとすると、演奏データＳ１、Ｓ２、Ｓ３は、実歌唱開始時刻Ｔ１、Ｔ２、Ｔ３よりそれぞれ早い時刻ｔ１、ｔ２、ｔ３に送信され、ＭＩＤＩインターフェース３０を介して受信される。演奏データの送受信処理は、ステップ４０の演奏データ入力処理に相当する。演奏データが受信されると、ステップ４２で演奏データ毎に歌唱合成スコアが形成される。そして、ステップ４４では、形成された歌唱合成スコアに従って歌声音声ＳＳ１、ＳＳ２、ＳＳ３が合成される。歌唱合成では、歌唱音声ＳＳ１の子音「ｓ」をＴ１より早い時刻Ｔ１１に発生開始させると共に、ＳＳ１の母音「ａ」をＴ１に発生開始させることができる。また、歌唱音声ＳＳ２の母音「ｉ」をＴ２に発生開始させることができる。さらに、歌唱音声ＳＳ３の子音「ｔ」をＴ３より早く時刻Ｔ３１に発生開始させると共にＳＳ３の母音「ａ」をＴ３に発生開始させることができる。所望により、「さ」の母音「ａ」又は「い」の母音「ｉ」をＴ１又はＴ２よりそれぞれ早く発生開始させることも可能である。
【００５５】
図１０は、ステップ４２における参照スコア及び歌唱合成スコアの形成状況を示すものである。この実施形態では、歌唱合成スコア形成処理の前処理として、参照スコア形成処理を行なう。すなわち、時刻ｔ１、ｔ２、ｔ３でそれぞれ送信された演奏データは、順次に受信されてＲＡＭ１６内の受信バッファに書込まれる。ＲＡＭ１６内の参照スコアと称する記憶部には、受信バッファから演奏データの指示する実歌唱開始時刻順に演奏データが転送され、順次に書込まれる。例えば、演奏データＳ１、Ｓ２、Ｓ３の順に書込まれる。そして、参照スコアの演奏データに基づいて実歌唱開始時刻順に歌唱合成スコアが形成される。例えば、演奏データＳ１に基づいて歌唱合成スコアＳＣ１が形成され、演奏データＳ２に基づいて歌唱合成スコアＳＣ２が形成される。この後、図９で述べたように歌唱合成スコアＳＣ１、ＳＣ２…に従って歌唱合成が行なわれる。
【００５６】
上記したのは、演奏データの送受信が実歌唱開始時刻順に行なわれた場合の参照スコア及び歌唱合成スコアの形成処理であるが、演奏データの送受信が実歌唱開始時刻順に行なわれなかった場合の参照スコア及び歌唱合成スコアの形成処理は、図１１、１２に示すようになる。すなわち、演奏データＳ１、Ｓ３、Ｓ４が時刻ｔ１、ｔ２、ｔ３にそれぞれ送信され、順次に受信されたものとすると、参照スコアには、図１１に示すように演奏データＳ１が書込まれた後、演奏データＳ３、Ｓ４が順次に書込まれ、演奏データＳ１、Ｓ３にそれぞれ基づいて歌唱合成スコアＳＣ１、ＳＣ３ａが形成される。参照スコアにおける２回目以降の演奏データの書込みについて、図１０，１１に示したように単に追加的に書込むのを「追加」と称し、図１２に示したように演奏データ間に挿入するように書込むのを「挿入」と称する。この後、時刻ｔ４に演奏データＳ２が送信され、受信されたものとすると、図１２に示すように参照スコアにおいて演奏データＳ１及びＳ３の間に演奏データＳ２が挿入される。このとき、演奏データの挿入が起きた実歌唱開始時刻より後の歌唱合成スコアが破棄され、演奏データの挿入が起きた実歌唱開始時刻以降の演奏データに基づいて歌唱合成スコアが形成される。例えば、歌唱合成スコアＳＣ３ａが破棄され、演奏データＳ２、Ｓ３にそれぞれ基づいて歌唱合成スコアＳＣ２、ＳＣ３ｂが形成される。
【００５７】
図１３は、ステップ４２における演奏データに基づく歌唱合成スコアの形成例及びステップ４４における歌唱音声の合成例を示すものである。歌唱合成スコアＳＣは、ＲＡＭ１６内に形成されるもので、音韻トラックＴＰと、遷移トラックＴＲと、ビブラートトラックＴＢとからなっている。歌唱合成スコアＳＣについては、演奏データを受信するたびにデータの更新や追加が行なわれる。
【００５８】
一例として、演奏データＳ１、Ｓ２、Ｓ３が図１（Ｂ）で示したと同様に「さ（ｓａ）：Ｃ３：Ｔ１…」、「い（ｉ）：Ｄ３：Ｔ２…」、「た（ｔａ）：Ｅ３：Ｔ３…」を示すものとすると、音韻トラックＴＰには、図１３，１４に示すような情報が記憶される。すなわち、歌唱順に無音（Sil）、無音から子音「ｓ」への遷移（Sil_ｓ）、子音「ｓ」から母音「ａ」への遷移（ｓ_ａ）、母音（ａ）…等の情報が配置される。Silの情報は、開始時刻（Bigin  Time＝Ｔ１１）、継続時間（Duration＝Ｄ１１）及び音韻（PhU＝Sil）を表わす情報からなる。Sil_ｓの情報は、開始時刻（Bigin  Time＝Ｔ１２）、継続時間（Duration＝Ｄ1２）先行音韻（PhU１＝Sil）及び後続音韻（PhU２＝ｓ）を表わす情報からなる。ｓ_ａの情報は、開始時刻（Bigin  Time＝Ｔ１３）、継続時間（Duration＝Ｄ１３）、先行音韻（PhU１＝ｓ）及び後続音韻（PhU２＝ａ）を表わす情報からなる。ａの情報は、開始時刻（Bigin  Time＝Ｔ１４）、継続時間（Duration＝Ｄ１４）及び音韻（PhU＝ａ）を表わす情報からなる。
【００５９】
Sil_ｓ，ｓ_ａ等の音韻遷移の継続時間を表わす継続時間情報は、先行音韻の時間長と後続音韻の時間長との組合せからなり、両時間長の境界を時間区切り情報として保持している。従って、この時間区切り情報を利用することにより音源回路２８に対して先行音韻の継続時間と後続音韻の開始時刻及び継続時間とを指示可能である。例えば、Sil_ｓの継続時間情報に基づいて無音の継続時間と子音「ｓ」の歌唱開始時刻Ｔ１１及び歌唱継続時間とを指示可能であり、ｓ_ａの継続時間情報に基づいて子音「ｓ」の継続時間と母音「ａ」の歌唱開始時刻Ｔ１及び歌唱継続時間とを指示可能である。
【００６０】
遷移トラックＴＲには，図１３，１５に示すような情報が記憶される。すなわち、遷移状態の進行順に遷移状態なし（NONEと表記する）、アタック遷移状態（Attack）、NONE、ノート遷移状態（NtN）、NONE、リリース遷移状態（Release）、NONE…等の状態情報が配置される。遷移トラックＴＲの状態情報は、演奏データ及び音韻トラックＴＰの情報に基づいて形成されるもので、Attackの状態情報は、音韻トラックＴＰの「ｓ」から「ａ」への音韻遷移の情報に対応し、NtNの状態情報は、音韻トラックＴＰの「ａ」から「ｉ」への音韻遷移の情報に対応し、Releaseの状態情報は、音韻トラックＴＰの「ａ」から「Sil」への音韻遷移の情報に対応する。各状態情報は、対応する音韻遷移の情報に基づいて合成される歌唱音声に対して音高、振幅等の微小変化を付加するために用いられる。なお、図１３の例では、音韻トラックＴＰの「ｔ」から「ａ」への音韻遷移に対応するNtNの状態情報を配置しないようにした。
【００６１】
図１５に示すように、１番目のNONEの状態情報は、開始時刻（Bigin  Time＝Ｔ２１）、継続時間（Duration＝Ｄ２１）及び遷移インデックス（Index＝NONE）を表わす情報からなる。Attackの状態情報は、開始時刻（Bigin  Time＝Ｔ２２）、継続時間（Duration＝Ｄ２２）、遷移インデックス（Index＝Attack）及び遷移インデックスのタイプ（例えば「Normal」、Type＝Type２２）を表わす情報からなる。２番目のNONEの状態情報は、開始時刻及び継続時間がそれぞれＴ２３及びＤ２３となる点を除き１番目のNONEの状態情報と同様である。NtNの状態情報は、開始時刻（Bigin  Time＝Ｔ２４）、継続時間（Duration＝Ｄ２４）、遷移インデックス（Index＝NtN）及び遷移インデックスのタイプ（例えば「Normal」、Type＝Type２４）を表わす情報からなる。３番目のNONEの状態情報は、開始時刻及び継続時時間がそれぞれＴ２５及びＤ２５となる点を除き１番目のNONEの状態情報と同様である。Releaseの状態情報は、開始時刻（Bigin  Time＝Ｔ２６）、継続時間（Duration＝Ｄ２６）、遷移インデックス（Index＝Release）及び遷移インデックスのタイプ（例えば「Normal」、Type＝Type２６）を表わす情報からなる。
【００６２】
ビブラートトラックＴＢには、図１３，１６に示すような情報が記憶される。すなわち、ビブラートイベントの進行順にビブラートオフ（Vibrato  OFF）、ビブラートオン（Vibrato  ON）、ビブラートオフ（Vibrato  OFF）…等の情報が配置される。１番目のビブラートオフの情報は、開始時刻（Bigin  Time＝Ｔ３１）、継続時間（Duration＝Ｄ３１）及び遷移インデックス（Index＝OFF）を表わす情報からなる。ビブラートオンの情報は、開始時刻（Bigin  Time＝Ｔ３２）、継続時間（Duration＝Ｄ３２）、遷移インデックス（Index＝ON）及びビブラートのタイプ（例えば「Normal」、Type＝Type３２）を表わす情報からなる。２番目のビブラートオフの情報は、開始時刻及び継続時間がそれぞれＴ３３及びＤ３３となる点を除き１番目のビブラートオフ情報と同様である。
【００６３】
ビブラートオンの情報は、音韻トラックＴＰにおける「た」の母音「ａ」の情報に対応するもので、「ａ」の情報に基づいて合成される歌唱音声に音高、振幅等のビブラート的変化を付加するために用いられる。ビブラートオンの情報において、開始時刻を歌唱音声「ａ」の発生開始時刻Ｔ３から遅延時間ＤＬだけ遅く設定することにより遅延ビブラートを実現することができる。なお、図１４〜１６に示したＴ１１〜１４，Ｔ２１〜Ｔ２６，Ｔ３１〜Ｔ３３等の開始時刻やＤ１１〜Ｄ１４，Ｄ２１〜Ｄ２６，Ｄ３１〜Ｄ３３等の継続時間は、テンポクロック信号ＴＣＬのクロック数で適宜設定することができる。
【００６４】
上記したような歌唱合成スコアＳＣと演奏データＳ１〜Ｓ３を用いると、ステップ４４の歌唱合成処理において、図１３に示すような歌唱音声の合成が可能となる。音韻トラックＴＰのSilの情報に基づいて歌唱開始前の無音時間を実現した後、ＴＰのSil_ｓの情報と演奏データＳ１中のＣ３の音高情報とに対応する音源制御情報を図６（Ｂ）の音韻遷移ＤＢ１４ｂから読出して音源回路２８を制御することにより時刻Ｔ１１で子音「ｓ」の発生を開始させる。このときの制御期間は、ＴＰのSil_ｓの情報の指示する継続時間に対応する。次に、ＴＰのｓ_ａの情報とＳ１中のＣ３の音高情報とに対応する音源制御情報をＤＢ１４ｂから読出して音源回路２８を制御することにより時刻Ｔ１で母音「ａ」の発生を開始させる。このときの制御期間は、ＴＰのｓ_ａの情報の指示する継続時間に対応する。この結果、歌唱音声ＳＳ１として「さ（ｓａ）」が発生される。
【００６５】
この後、ＴＰのａの情報とＳ１のＣ３の音高情報とに対応する音源制御情報を図５の音韻ＤＢ１４ａから読出して音源回路２８を制御することにより母音「ａ」の発生を継続する。このときの制御期間は、ＴＰのａの情報の指示する継続時間に対応する。次に、ＴＰのａ_ｉの情報とＳ２中のＤ３の音高情報とに対応する音源制御情報をＤＢ１４ｂから読出して音源回路２８を制御することにより時刻Ｔ２で母音「ａ」の発生を終了させると共に母音「ｉ」の発生を開始させる。このときの制御期間は、ＴＰのａ_ｉの情報の指示する継続時間に対応する。
【００６６】
この後、上記したと同様にしてＴＰのｉ及びＤ３に対応する音源制御情報とＴＰのｉ_ｔ及びＤ３に対応する音源制御情報とを順次に読出して音源回路２８を制御することにより母音「ｉ」の発音を時刻Ｔ３１まで継続し、時刻Ｔ３１から子音「ｔ」の発生を開始させる。そして、ＴＰのｔ_ａ及びＥ３に対応する音源制御情報に応じて音源回路２８を制御することにより時刻Ｔ３から母音「ａ」の発生を開始させた後、ＴＰのａ及びＥ３に対応する音源制御情報と、ＴＰのａ_Sil及びＥ３に対応する音源制御情報とを順次に読出して音源回路２８を制御することにより母音「ａ」の発生を時刻Ｔ４まで継続し、時刻Ｔ４から無音状態とする。この結果、歌唱音声ＳＳ２，ＳＳ３として、「い（ｉ）」、「た（ｔａ）」が順次に発生されることになる。
【００６７】
上記のような歌唱音声の発生に伴って演奏データＳ１〜Ｓ３中の情報と遷移トラックＴＲの情報とに基づいて歌唱音声制御が行なわれる。すなわち、時刻Ｔ１の前後には、ＴＲのAttackの状態情報とＴＰのｓ_ａの情報とＳ１中のＣ３の音高情報とに対応する音源制御情報を図７の状態遷移ＤＢ１４ｃから読出して音源回路２８を制御することにより歌唱音声「ｓ_ａ」に対して音高、振幅等の微小変化を付加する。このときの制御期間は、Attackの状態情報の指示する継続時間に対応する。また、時刻Ｔ２の前後にはＴＲのNtNの状態情報とＴＰのａ_ｉの情報と、Ｓ２中のＤ３の音高情報とに対応する音源制御情報をＤＢ１４ｃから読出して音源回路２８を制御することにより歌唱音声「ａ_ｉ」に対して音高、振幅等の微小変化を付加する。このときの制御期間は、NtNの状態情報の指示する継続時間に対応する。さらに、時刻Ｔ４の直前には、ＴＲのReleaseの状態情報とＴＰのａの情報とＳ３中のＥ３の音高情報とに対応する音源制御情報をＤＢ１４ｃから読出して音源回路２８を制御することにより歌唱音声「ａ」に対して音高、振幅等の微小変化を付加する。このときの制御期間は、Releaseの状態情報の指示する継続時間に対応する。上記のような歌唱音声制御によれば、アタック感、ノート遷移感又はリリース感のある自然な歌唱合成が可能となる。
【００６８】
また、上記のような歌唱音声の発生に伴って演奏データＳ１〜Ｓ３中の情報及びビブラートトラックＴＢの情報とに基づいて歌唱音声制御が行われる。すなわち、時刻Ｔ３から遅延時間ＤＬだけ遅れた時刻になると、ＴＢのビブラートオンの情報とＴＰのａの情報とＳ３中のＥ３の音高情報とに対応した音源制御情報を図８のビブラートＤＢ１４ｄから読出して音源回路２８を制御することにより歌唱音声「ａ」に対して音高、振幅等のビブラート的変化を付加し、このような付加を時刻Ｔ４まで続ける。このときの制御期間は、ビブラートオンの情報の指示する継続期間に対応する。また、ビブラートの深さや速さは、Ｓ３中のビブラートタイプの情報に応じて決定される。上記のような歌唱音声制御によれば、所望の歌唱個所にビブラートを付加して自然な歌唱合成を行なうことができる。
【００６９】
次に、図１７を参照して演奏データ受信・歌唱合成スコア形成処理を説明する。ステップ５０では、初期化処理を行ない、例えばＲＡＭ１６内の受信回数カウンタｎに０をセットする。
【００７０】
ステップ５２では、カウンタｎの値ｎを１増加（ｎ＋１）する。そして、ステップ５４で変数ｍをカウンタｎの値ｎとし、ｍ＝ｎ番目の演奏データを受信してＲＡＭ１６内の受信バッファに書込む。
【００７１】
ステップ５６では、ｍ＝ｎ番目の演奏データがデータエンドか判定する。ステップ５４でｍ＝１番目の演奏データを受信したときは、ステップ５６の判定結果が否定的（Ｎ）となり、ステップ５８に移る。ステップ５８では、ｍ＝ｎ番目の演奏データを受信バッファから読出してＲＡＭ１６内の参照スコアに書込む。参照スコアにｍ＝１番目の演奏データを書込んだ後は、図１０〜１２で前述したように参照スコアに演奏データを「追加」又は「挿入」の形で書込むことになる。
【００７２】
次に、ステップ６０では、ｎ＞１か判定する。ｍ＝１番目の演奏データを受信したときは、ステップ６０の判定結果が否定的（Ｎ）となり、ステップ５２に戻る。ステップ５２では、ｎ＝２とし、ステップ５４では、ｍ＝２番目の演奏データを受信し、受信バッファに書込む。そして、ステップ５６を経てステップ５８に来ると、ｍ＝２番目の演奏データを参照スコアに追加する。
【００７３】
次に、ステップ６０でｎ＞１か判定すると、ｎ＝２であるので、判定結果が肯定的（Ｙ）となり、ステップ６１の歌唱合成スコア形成処理を行なう。ステップ６１の処理については、図１８を参照して後述するが、概略的に説明すると、次のようになる。すなわち、ステップ６２では、ｍ＝ｎ−１番目の演奏データを参照スコアに挿入したか判定する。例えば、ｍ＝１番目の演奏データについては、挿入ではないので、ステップ６２の判定結果が否定的（Ｎ）となり、ステップ６４に移る。ステップ６４では、ｍ＝ｎ−１番目の演奏データについて歌唱合成スコアを形成する。例えば、ステップ５４でｍ＝２番目の演奏データを受信したときは、ステップ６４でｍ＝１番目の演奏データについて歌唱合成スコアが形成される。
【００７４】
ステップ６４の処理が終わると、ステップ５２に戻り、上記したと同様にして演奏データの受信及び参照スコアへの演奏データの書込みを行なう。例えば、ステップ６４でｍ＝１番目の演奏データについて歌唱合成スコアを形成した後は、ステップ５４でｍ＝３番目の演奏データを受信し、ステップ５８でｍ＝３番目の演奏データを参照スコアに追加又は挿入する。
【００７５】
ステップ６２の判定結果が肯定的（Ｙ）であったときは、参照スコアにｍ＝ｎ−１番目の演奏データを挿入した場合であり、ステップ６６に移る。ステップ６６ではｍ＝ｎ−１番目の演奏データより実歌唱開始時刻が後の歌唱合成スコアを破棄し、ｍ＝ｎ−１番目の演奏データ以降の演奏データについて歌唱合成スコアを形成する。例えば、図１１，１２に示すように演奏データＳ１，Ｓ３，Ｓ４を受信した後、演奏データＳ２を受信すると、ステップ５８では、ｍ＝４番目の演奏データＳ２を参照スコアに挿入する。そして、ステップ６０を経てステップ６２に来ると、ｍ＝４−１＝３番目の演奏デ―タＳ４は、参照スコアに追加されたものであるので、ステップ６２の判定結果が否定的（Ｎ）となり、ステップ６４を経てステップ５２に戻る。そして、ステップ５４でｍ＝５番目の演奏データを受信した後、ステップ５６，５８，６０を経てステップ６２に来ると、ｍ＝４番目の演奏データＳ２は、参照スコアに挿入されたものであるので、ステップ６２の判定結果が肯定的（Ｙ）となり、ステップ６６において、ｍ＝４番目の演奏データＳ２より実歌唱開始時刻が後の歌唱合成スコア（図１２のＳＣ３ａ等）を破棄し、ｍ＝４番目の演奏データＳ２以降の演奏データ（図１２のＳ２，Ｓ３，Ｓ４）について歌唱合成スコアを形成する。
【００７６】
ステップ６６の処理が終わると、ステップ５２に戻り、上記したと同様の処理を繰返す。ｍ＝ｎ番目の演奏データがデータエンドになると、ステップ５６の判定結果が肯定的（Ｙ）となり、ステップ６８で終端処理（例えばエンド情報の付加等）を行なう。ステップ６８の後は、図３のステップ４４の歌唱合成処理を行なう。
【００７７】
図１８は、歌唱合成スコア形成処理を示すものである。ステップ７０では、参照スコアから図４に示したような演奏情報を含む演奏データを取得する。ステップ７２では、取得した演奏データに含まれる演奏情報を分析する。ステップ７４では、分析された演奏情報及び保存された管理データ（先行演奏データの管理データ）に基づいて歌唱合成スコア形成のための管理データを作成する。ステップ７４の処理については、図１９を参照して後述する。
【００７８】
次に，ステップ７６では、取得に係る演奏データが参照ストアに書き込まれた際に挿入されたか判定する。この判定の結果が肯定的（Ｙ）であれば、ステップ７８において、取得に係る演奏データより実歌唱開始時刻が後の歌唱合成スコアを破棄する。
【００７９】
ステップ７８の処理が終わったとき又はステップ７６の判定結果が否定的（Ｎ）であったときは、ステップ８０で音韻トラック形成処理を行なう。ステップ８０の処理では、演奏情報と、ステップ７４で作成された管理データと、保存されたスコアデータ（先行演奏データのスコアデータ）とに基づいて音韻トラックＴＰを形成するが、このような処理の詳細については、図２２を参照して後述する。
【００８０】
ステップ８２では、演奏情報と、ステップ７４で作成された管理データと、保存されたスコアデータと音韻トラックＴＰとに基づいて遷移トラックＴＲを形成する。ステップ８２の処理の詳細については、図３４を参照して後述する。
【００８１】
ステップ８４では、演奏情報と、ステップ７４で作成された管理データと、保存されたスコアデータと音韻トラックＴＰとに基づいてビブラートトラックＴＢを形成する。ステップ８４の処理の詳細については、図３７を参照して後述する。
【００８２】
ステップ８６では、演奏情報と、ステップ７４で作成された管理データと、音韻トラックＴＰと、遷移トラックＴＲと、ビブラートトラックＴＢとに基づいて次の演奏データのためのスコアデータを形成し、保存する。スコアデータには、先行母音からのNtN遷移時間長が含まれる。このNtN遷移時間長は、図３６に示すように先行ノート（先行母音）にかかる時間長Ｔ１と後続ノート（本演奏データ）にかかる時間長Ｔ２との組合せからなるもので、両時間長の境界を時間区切り情報として保持している。NtN遷移時間長を算出するには、演奏情報中の歌唱音韻と歌唱音高と歌唱ノート遷移タイプ（例えば「Normal」）とに対応するNtNの状態遷移時間長を図７の状態遷移ＤＢ１４ｃから読出し、この状態遷移時間長に対して演奏情報中の歌唱ノート遷移伸縮率を乗算すればよい。この乗算の結果として得られるNtN遷移時間長は、図１３，１５に示したNtNの状態情報中の継続時間情報として用いられる。
【００８３】
図１９は、管理データ作成処理を示すものである。管理データとしては、図２０，２１に示すように音韻状態（PhU  State）、音素（Phoneme）、音高（Pitch）、現ノートオン（Current  Note  On）、現ノートデュレーション（Current  Note  Duration）、現ノートオフ（Current  Note  Off）、フルデュレーション（Full   Duration）、イベント状態（Event  State）等の情報がある。
【００８４】
ステップ９０で演奏データを取得した後、ステップ９２では、演奏データ中の歌唱音韻を分析する。音韻状態情報は、子音と母音との組合せ、母音のみ又は有声子音のみのいずれかを表わす。以下では、便宜上、子音と母音との組合せの場合をPhU  State  ＝  Consonant  Vowelとし、母音のみ又は有声子音のみの場合をPhU  State  ＝  Vowelとする。音素情報は，音素名（子音名及び／又は母音名）、子音のカテゴリ（鼻音、破裂音、半母音、その他）、子音の有声又は無声等を表わす。
【００８５】
ステップ９４では、演奏データ中の歌唱音高を分析し、この歌唱音高を音高情報とする。ステップ９６では、演奏データ中の実歌唱時刻を分析し、実歌唱開始時刻を現ノートオン情報とする。また、実歌唱長を現ノートデュレーション情報とし、実歌唱開始時刻から実歌唱長だけ経過した時刻を現ノートオフ情報とする。
【００８６】
現ノートオン情報としては、実歌唱開始時刻を修正した時刻を採用してもよい。例えば、乱数発生処理等により実歌唱開始時刻（実線で示す）の前後に及ぶ所定の時間範囲（２本の破線で示す）内でΔｔだけランダムに変更した時刻（実歌唱開始時刻をｔ０とすると、ｔ０±Δｔの時刻）を現ノートオン情報としてもよい。
【００８７】
ステップ９８では、先行演奏データの管理データを用いて先行歌唱イベントとの関係で本演奏データの歌唱時刻を分析する。先行演奏データの管理データにおいて、先行イベントナンバ（Event  Number）情報は、先行演奏データの並べ替えを済ませた受信ナンバを表わし、先行スコアデータ（Score  Data）は、先行演奏データについて歌唱合成スコアを形成した際にステップ８６で形成し、保存されたスコアデータであり、先行ノートオフ（Note  Off）情報は、先行実歌唱終了時刻を表わす。イベントステート情報は、先行ノートオフ情報及び現ノートオン情報に基づいて決定された先行歌唱イベントと現歌唱イベントの接続状況（無音の有無）を表わす。以下では、便宜上、図２０に示すように先行歌唱イベントと現歌唱イベントとが連続する場合（無音なしの場合）をEvent  State  ＝  Transitionとし、図２１に示すように先行歌唱イベントと現歌唱イベントとの間に無音が入る場合をEvent  State  ＝  Attackとする。フルデュレーション情報は、先行ノートオフ情報の指示する先行実歌唱終了時刻から現ノートオフ情報の指示する実歌唱終了時刻までの時間長を表わす。
【００８８】
次に、図２２を参照して音韻トラック形成処理を説明する。ステップ１００では、演奏情報（演奏データの内容）、管理データ及びスコアデータを取得する。ステップ１０２では、取得データに基づいて図６（Ｂ）の音韻遷移ＤＢ１４ｂから音韻遷移時間長を獲得する（読出す）。ステップ１０２の処理については、図２３を参照して後述する。
【００８９】
ステップ１０４では、管理データに基づいてEvent  State  ＝  Attackか判定する。この判定の結果が肯定的（Ｙ）であれば、前に無音（Silence）が存在することになり、ステップ１０６でSilence歌唱長を算出する。ステップ１０６の処理については、図２４を参照して後述する。
【００９０】
ステップ１０４の判定結果が否定的（Ｎ）であったときは、Event  State  ＝  Transitionで前に母音が存在することになり、ステップ１０８で先行Vowel（母音）歌唱長を算出する。ステップ１０８の処理については、図２８を参照して後述する。
【００９１】
ステップ１０６又は１０８の処理が終わったときは、ステップ１１０でVowel歌唱長を算出する。ステップ１１０の処理については、図３２を参照して後述する。
【００９２】
図２３は、ステップ１０２の音韻遷移時間長獲得処理を示すもので、ステップ１１２では，管理データ及びスコアデータを取得する。そして、ステップ１１４では、すべての音韻遷移時間長（後述のステップ１１６，１２２，１２４，１２６，１３０，１３２，１３４で獲得される音韻遷移時間長）を初期化する。
【００９３】
ステップ１１６では、管理データに基づいてV_Sil（母音から無音へ）の音韻遷移時間長をＤＢ１４ｂから獲得する。一例として、母音が「ａ」であり、その音高が「Ｐ１」であるとすると、ＤＢ１４ｂからは、「ａ_Sil 」と「Ｐ１」とに対応した音韻遷移時間長が獲得される。ステップ１１６の処理は、日本語が母音で終わることと関連している。
【００９４】
ステップ１１８では、管理データに基づいてEvent  State  ＝  Attackか判定する。この判定の結果が肯定的（Ｙ）であれば、ステップ１２０で管理データに基づいてPhU  State  ＝  Consonant  Vowel  か判定する。この判定の結果が肯定的（Ｙ）であれば、ステップ１２２で管理データに基づいてＤＢ１４ｂからSil_Ｃ（無音から子音へ）の音韻遷移時間長を獲得する。この後、ステップ１２４では、管理データに基づいてＤＢ１４ｂからＣ_Ｖ（子音から母音へ）の音韻遷移時間長を獲得する。
【００９５】
ステップ１２０の判定結果が否定的（Ｎ）であったときは、PhU  State  ＝  Vowelであったことになり、ステップ１２６で管理データに基づいてＤＢ１４ｂからSil_Ｖ（無音から母音へ）の音韻遷移時間長を獲得する。なお、ステップ１２２〜１２６における音韻遷移時間長の具体的な獲得法は、ステップ１１６で述べたと同様である。
【００９６】
ステップ１１８の判定結果が否定的（Ｎ）であったときは、ステップ１２０と同様にしてステップ１２８でPhU  State  ＝  Consonant  Vowel  か判定する。この判定の結果が肯定的（Ｙ）であれば、ステップ１３０で管理データ及びスコアデータに基づいてｐＶ_Ｃ（先行母音から子音へ）の音韻遷移時間長をＤＢ１４ｂから獲得する。一例として、スコアデータにより先行母音が「ａ」であり、管理データにより子音が「ｓ」で、その音高が「Ｐ２」であるとすると、ＤＢ１４ｂからは、「ａ_ｓ 」及び「Ｐ２」に対応した音韻遷移時間長が獲得される。この後、ステップ１３２では、ステップ１１６で述べたと同様にして管理データに基づいてＤＢ１４ｂからＣ_Ｖ（子音から母音へ）の音韻遷移時間長を獲得する。
【００９７】
ステップ１２８の判定結果が否定的（Ｎ）であったときは、ステップ１３４に移る。ステップ１３４では、ステップ１３０で述べたと同様にして管理データ及びスコアデータに基づいてＤＢ１４ｂからｐＶ_Ｖ（先行母音から母音へ）の音韻遷移時間長を獲得する。
【００９８】
図２４は、ステップ１０６のSilence歌唱長算出処理を示すもので、ステップ１３６では、演奏情報、管理データ及びスコアデータを獲得する。
【００９９】
ステップ１３８では、PhU  State  ＝  Consonant  Vowel  か判定する。この判定の結果が肯定的（Ｙ）であれば、ステップ１４０でConsonant歌唱長を算出する。この場合、図２５に示すように、子音歌唱時間は、無音から子音への音韻遷移時間長内の子音部と、Consonant歌唱長と、子音から母音への音韻遷移時間長内の子音部との加算によって決まる。従って、Consonant歌唱長は、子音歌唱時間の一部となる。
【０１００】
図２５には、演奏情報に含まれる歌唱子音伸縮率が１より大きい場合においてConsonant歌唱長を決定する例を示す。この場合、Sil_Cの子音長とC_Vの子音長とを加算したものを基本単位とし、これに歌唱子音伸縮率を乗算したものをConsonant歌唱長Ｃとする。そして、Sil_C とC_Vとの間にConsonant歌唱長Ｃを介在させることによって子音歌唱時間を伸長する。
【０１０１】
図２６には、歌唱子音伸縮率が１より小さい場合においてConsonant歌唱長を決定する例を示す。この場合、Sil_Cの子音長とC_Vの子音長とにそれぞれ歌唱子音伸縮率を乗算して各々子音長を短縮する。この結果、Sil_Cの子音長とC_Vの子音長とからなる子音歌唱時間が短縮される。
【０１０２】
次に、ステップ１４２では、Silence歌唱長を算出する。図２７に示すように、無音時間は、先行母音から無音への音韻遷移時間長の無音部と、Silence歌唱長と、無音から子音への音韻遷移時間長の無音部と、子音歌唱時間との加算、あるいは先行母音から無音への音韻遷移時間長の無音部と、Silence歌唱長と、無音から母音への音韻遷移時間長の無音部との加算によって決まる。従って、Silence歌唱長は、無音時間の一部となる。ステップ１４２では、歌唱の順に従い、Ｃ_V内の子音部と母音部との境界又はSil_V内の無音部と母音部との境界が実歌唱開始時刻（Current  Note  On）となるようにSilence歌唱長を算出する。すなわち、本演奏データの母音の歌唱開始時刻が実歌唱開始時刻と一致するようにSilence歌唱長を算出する。
【０１０３】
図２７（Ａ）〜（Ｃ）には、互いに異なる音韻接続パターンを示す。（Ａ）のパターンは、例えば先行母音「あ」−無音−「さ（ｓａ）」に対応し、子音「ｓ」を伸長するためにConsonant歌唱長Ｃが挿入されている。（Ｂ）のパターンは、例えば先行母音「あ」−無音−「ぱ（ｐａ）」に対応する。（Ｃ）のパターンは、例えば先行母音「あ」−無音−「い（ｉ）」に対応する。
【０１０４】
図２８は、ステップ１０８の先行Vowel歌唱長算出処理を示すもので、ステップ１４６では、演奏情報、管理データ及びスコアデータを取得する。
【０１０５】
ステップ１４８では、PhU  State  ＝  Consonant  Vowel  か判定する。この判定の結果が肯定的（Ｙ）であれば、ステップ１５０でConsonant歌唱長を算出する。この場合、図２９に示すように、子音歌唱時間は、先行母音から子音への音韻遷移時間長内の子音部と、Consonant歌唱長と、子音から母音への音韻遷移時間長内との子音部の加算によって決まる。従って、Consonant歌唱長は、子音歌唱時間の一部となる。
【０１０６】
図２９には、演奏情報に含まれる歌唱子音伸縮率が１より大きい場合においてConsonant歌唱長を決定する例を示す。この場合、ｐV_Cの子音長とC_Vの子音長とを加算したものを基本単位とし、これに歌唱子音伸縮率を乗算したものをConsonant歌唱長Ｃとする。そして、ｐV_CとC_Vとの間にConsonant歌唱長Ｃを介在させることによって子音歌唱時間を伸長する。
【０１０７】
図３０には、歌唱伸縮率が１より小さい場合においてConsonant歌唱長を決定する例を示す。この場合、ｐV_Cの子音長とC_Vの子音長とにそれぞれ歌唱伸縮率を乗算して各々の子音長を短縮する。この結果、ｐV_Cの子音長とC_Vの子音長とからなる子音歌唱時間が短縮される。
【０１０８】
次に、ステップ１５２では、先行Vowel歌唱長を算出する。図３１に示すように、先行母音歌唱時間は、Ｘ（Sil、子音又は母音）から先行母音への音韻遷移時間長の母音部と、先行Vowel歌唱長と、先行母音から子音又は母音への音韻遷移時間長の母音部との加算によって決まる。従って、先行Vowel歌唱長は、先行母音歌唱時間の一部となる。また、本演奏データを受信したことにより先行演奏データと本演奏データとの接続が明確になったので、先行演奏データに基づいて形成されたVowel歌唱長及びV_Silは破棄する。すなわち、後述する図３２のVowel歌唱長算出処理で用いられる「次の演奏データとの間に無音が挿入される」という仮定は破棄される。ステップ１５２では、歌唱の順に従い、C_V内の子音部と母音部との境界又はｐV_V内の先行母音部と母音部との境界が実歌唱開始時刻（Current  Note  On）となるように先行Vowel歌唱長を算出する。すなわち、本演奏データの母音の歌唱開始時刻が実歌唱開始時刻と一致するように先行Vowel歌唱長を算出する。
【０１０９】
図３１（Ａ）〜（Ｃ）には、互いに異なる音韻接続パターンを示す。（Ａ）のパターンは、例えば先行母音「あ」−「さ（ｓａ）」に対応し、子音「ｓ」を伸長するためにConsonant歌唱長Ｃが挿入されている。（Ｂ）のパターンは、例えば、先行母音「あ」−「ぱ（ｐａ）」に対応する。（Ｃ）のパターンは、例えば、先行母音「あ」−「い（ｉ）」に対応する。
【０１１０】
図３２は、ステップ１１０のVowel歌唱長算出処理を示すもので、ステップ１５４では、演奏情報、管理データ及びスコアデータを取得する。
【０１１１】
ステップ１５６では、Vowel歌唱長を算出する。この場合、次の演奏データを受信しないと、母音の接続部が明確にならないため、「次の演奏データとの間に無音が挿入される」と仮定し、図３３に示すように母音部にV_Silを接続してVowel歌唱長を算出する。この時点において、母音歌唱時間は、Ｘから母音への音韻遷移時間長の母音部と、Vowel歌唱長と、母音から無音への音韻遷移時間長の母音部との加算によって一時的に決まる。従って、Vowel歌唱長は、母音歌唱時間の一部となる。ステップ１５６では、歌唱の順に従い、V_Sil内の母音部と無音部との境界が実歌唱終了時刻（Current  Note  Off）となるようにVowel歌唱長を決定する。
【０１１２】
次の演奏データを受信したときは、本演奏データとの接続状態（Event  State）が明確になり、次の演奏データのEvent  State  ＝  Attackの場合には本演奏データのVowel歌唱長が更新されず、次の演奏データのEvent  State  ＝  Transitionの場合には前述のステップ１５２の処理によって本演奏データのVowel歌唱長が更新される。
【０１１３】
図３４は、遷移トラック形成処理を示すもので、ステップ１６０では、演奏情報、管理データ、スコアデータ及び音韻トラックのデータを取得する。
【０１１４】
ステップ１６２では、Attack遷移時間長を算出する。このためには、演奏情報及び管理データに基づいて歌唱アタックタイプと音韻と音高とに対応したAttack状態の状態遷移時間長を図７の状態遷移ＤＢ１４ｃから獲得する。そして、獲得した状態遷移時間長に対して演奏情報中の歌唱アタック伸縮率を乗算したものをAttack遷移時間長（アタック部の継続時間）とする。
【０１１５】
ステップ１６４では、Release遷移時間長を算出する。このためには、演奏情報及び管理データに基づいて歌唱リリースタイプと音韻と音高とに対応したRelease状態の状態遷移時間長をＤＢ１４ｃから獲得する。そして、獲得した状態遷移時間長に対して演奏情報中の歌唱リリース伸縮率を乗算したものをRelease遷移時間長（リリース部の継続時間）とする。
【０１１６】
ステップ１６６では、NtN遷移時間長を獲得する。すなわち、図１８のステップ８６で保存されたスコアデータ中から、先行母音からのNtN遷移時間長（ノート遷移部の継続時間）を獲得する。
【０１１７】
ステップ１６８では、Event  State  ＝  Attackか判定する。この判定の結果が肯定的（Y）であれば、ステップ１７０で無音部に対応するNONE遷移時間長（「NONEn遷移時間長」と称する）を算出する。すなわち、PhU  State  ＝  Consonant  Vowel  の場合は、図３５（Ａ）、（Ｂ）に示すように子音の歌唱開始時刻とAttack遷移開始時刻（Attack遷移時間長の先端位置）とが一致するようにNONEn遷移時間長を算出する。図３５において、（Ａ）の例が（Ｂ）の例と異なるのは、子音歌唱時間にConsonant歌唱長Ｃを挿入した点である。PhU  State  ＝  Vowelの場合は、図３５（Ｃ）に示すように母音の歌唱開始時刻とAttack遷移開始時刻とが一致するようにNONEn遷移時間長を算出する。
【０１１８】
ステップ１７２では、定常部に対応するNONE遷移時間長（「NONEs遷移時間長」と称する）を算出する。この場合、次の演奏データを受信しないと、NONEs遷移時間長に続く接続状態が明確にならないため、「次の演奏データとの間に無音が挿入される」と仮定し、図３５に示すようにRelease遷移を接続した状態でNONEs遷移時間長を算出する。すなわち、Release遷移終了時刻（Release遷移時間長の終端位置）がV_Silの終了時刻と一致するように先行演奏データの終了時刻とV_Silの終了時刻とAttack遷移時間長とRelease時間長とNONEn遷移時間長とに基づいてNONEs遷移時間長を算出する。
【０１１９】
ステップ１６８の判定結果が否定的（Ｎ）であったときは、ステップ１７４で先行演奏データの定常部に対応するNONE遷移時間長（「pNONEs遷移時間長」と称する）を算出する。本演奏データを受信したことにより先行演奏データとの接続状態が明確になったので、先行演奏データに基づいて形成されたNONEs遷移時間長及び先行Release遷移時間長は破棄する。すなわち、後述するステップ１７６の処理で用いられる「次の演奏データとの間に無音が挿入される」という仮定は破棄される。ステップ１７４では、図３６（Ａ）〜（Ｃ）に示すようにPhU  State  ＝  Consonant  Vowel又はPhU  State  ＝  Vowelのいずれの場合にも、先行母音からのNtN遷移時間長のＴ１及びＴ２の境界と本演奏データの実歌唱開始（Current  Note  On）とが一致するように本演奏データの実歌唱開始時刻及び実歌唱終了時刻とNtN遷移時間長とに基づいてpNONEs遷移時間長を算出する。図３６において、（Ａ）の例が（Ｂ）の例と異なるのは、子音歌唱時間にConsonant歌唱長Ｃを挿入した点である。
【０１２０】
ステップ１７６では、定常部に対応するNONE遷移時間長（NONEs遷移時間長）を算出する。この場合、次の演奏データを受信しないと、NONEs遷移時間長に続く接続状態が明確にならないため、「次の演奏データとの間に無音が挿入される」と仮定し、図３６に示すようにRelease遷移を接続した状態でNONEs遷移時間長を算出する。すなわち、先行母音からのNtN遷移時間長のＴ１及びＴ２の境界と本演奏データの実歌唱開始時刻（Current  Note  On）とが一致し且つRelease遷移終了時刻（Release遷移時間長の終端位置）とV_Silの終了時刻とが一致するように本演奏データの実歌唱開始時刻とV_Silの終了時刻と先行母音からのNtN遷移時間長とRelease遷移時間長とに基づいてNONEs遷移時間長を算出する。
【０１２１】
図３７は、ビブラートトラック形成処理を示すもので、ステップ１８０では、演奏情報、管理データ、スコアデータ及び音韻トラックのデータを取得する。
【０１２２】
ステップ１８２では、取得データに基づいてビブラートイベント継続か判定する。本演奏データの実歌唱開始時刻からビブラートが開始され、先行演奏データからビブラート付加状態が継続する場合は、ステップ１８２の判定結果が肯定的（Ｙ）となり、ステップ１８４に移る。また、本演奏データの実歌唱開始時刻からビブラートが開始されるが、先行演奏データからビブラート付加状態が継続しない場合、あるいは本演奏データからビブラートが開始されない場合は、ステップ１８２の判定結果が否定的（Ｎ）となり、ステップ１８８に移る。
【０１２３】
ビブラートは、複数の演奏データ（ノート）にまたがって歌唱されることが多い。本演奏データの実歌唱開始時刻からビブラートが開始されていても、図３８（Ａ）に示すように先行ノートからビブラート付加状態が継続する場合と、図３８（Ｄ）、（Ｅ）に示すように現ノートの実歌唱開始時刻からビブラートが追加的に開始される場合とがありうる。同様に、無ビブラート（ビブラート非付加状態）についても、本演奏データの実歌唱開始時刻から無ビブラートが開始されていても、図３８（Ｂ）に示すように先行ノートから無ビブラートが継続する場合と、図３８（Ｃ）に示すように現ノートの実歌唱開始時刻から無ビブラートが開始される場合とがありうる。
【０１２４】
ステップ１８８では、取得データに基づいて無ビブラートイベント継続か判定する。先行ノートから無ビブラート状態が継続する図３８（Ｂ）のような場合は、ステップ１８８の判定結果が肯定的（Ｙ）となり、ステップ１９０に移る。また、現ノートの実歌唱開始時刻から無ビブラートが開始されているが、先行ノートから無ビブラート状態が継続しない図３８（Ｃ）のような場合、あるいは現ノートの実歌唱開始時刻から無ビブラートが開始されない場合は、ステップ１８８の判定結果が否定的（Ｎ）となり、ステップ１９４に移る。
【０１２５】
ビブラートイベント継続の場合、ステップ１８４では、先行ビブラート時間長を破棄する。そして、ステップ１８６で先行ビブラート時間長と現ノートの実歌唱開始時刻から開始されるビブラートのビブラート時間長とを接続（加算）して新たなビブラート時間長を算出する。そして、ステップ１９４に移る。
【０１２６】
無ビブラートイベント継続の場合、ステップ１９０では、先行無ビブラート時間長を破棄する。そして、ステップ１９２で先行無ビブラート時間長と現ノートの実歌唱開始時刻から開始される無ビブラートの無ビブラート時間長とを接続（加算）して新たな無ビブラート時間長を算出する。そして、ステップ１９４に移る。
【０１２７】
ステップ１９４では、ビブラート時間長の追加ありか判定する。この判定の結果が肯定的（Ｙ）であれば、ステップ１９６で追加無ビブラート時間長を算出する。すなわち、ステップ１８６で算出されたビブラート時間長の終端から追加するビブラート時間長までの無ビブラート時間長を追加無ビブラート時間長として算出する。
【０１２８】
ステップ１９８では、追加ビブラート時間長を算出する。そして、ステップ１９４に戻り、それ以降の処理を上記したと同様に繰返す。この結果、複数の追加ビブラート時間長を算出可能となる。
【０１２９】
ステップ１９４の判定結果が否定的（Ｎ）であったときは、ステップ２００で無ビブラート時間長を算出する。すなわち、実歌唱時間長（Current  Note  OnからCurrent  Note  Offまでの時間長）内で最終のビブラートイベントの最終時刻からV_Silの終了時刻までを無ビブラート時間長として算出する。
【０１３０】
上記したステップ１４２又は１５２では、本演奏データの母音の歌唱開始時刻が実歌唱開始時刻と一致するようにSilence歌唱長又は先行Vowel歌唱長を算出したが、より自然な歌唱合成を行なうことを目的として、次の（１）〜（１１）で述べるようにしてSilence歌唱長、先行Vowel歌唱長及びVowel歌唱長を算出してもよい。
【０１３１】
（１）子音のカテゴリ（無声／有声破裂音、無声／有声摩擦音、鼻音、半母音等）毎にSilence歌唱長、先行Vowel歌唱長及びVowel歌唱長を算出する。図３９には、子音のカテゴリが鼻音又は半母音である場合に他の場合とはSilence歌唱長の決定の仕方を変えた例を示す。
【０１３２】
図３９において、（Ａ）の例は、音韻接続パターンとしては、先行母音「あ」−無音−「さ（ｓａ）」に対応したもので、子音及び母音からなる音韻について子音（この例では「ｓ」）を伸ばすためにConsonant歌唱長を挿入した状態でSilence歌唱長を算出した例である。（Ｂ）の例は、音韻接続パターンとしては、先行音韻「あ」−無音−「ぱ（ｐａ）」に対応したもので、子音及び母音からなる音韻についてConsonant歌唱長を挿入せずにSilence歌唱長を算出した例である。（Ｃ）の例は、音韻接続パターンとしては、先行母音「あ」−無音−「な（ｎａ）」に対応したもので、子音（鼻音又は半母音）及び母音からなる音韻について子音（この例では「ｎ」）を伸ばすためにConsonant歌唱長Ｃを挿入した状態でSilence歌唱長を算出した例である。（Ｄ）の例は、Consonant歌唱長を挿入しない点を除き（Ｃ）と同様の例である。（Ｅ）の例は、音韻接続パターンとしては、先行音韻「あ」−無音−「い（ｉ）」に対応したもので、母音のみからなる音韻についてSilence歌唱長を算出した（子音（鼻音）のみからなる音韻についても同様とする）例である。
【０１３３】
（Ａ）、（Ｂ）及び（Ｅ）の例は、本演奏データの母音の歌唱開始時刻が実歌唱開始時刻と一致するようにSilence歌唱長を算出した例である。（Ｃ）及び（Ｄ）の例は、本演奏データの子音の歌唱開始時刻が実歌唱開始時刻と一致するようにSilence歌唱長を算出した例である。
【０１３４】
（２）子音（「ｐ」、「ｂ」、「ｓ」、「ｚ」、「ｎ」、「ｗ」等）毎にSilence歌唱長、先行Vowel歌唱長及びVowel歌唱長を算出する。
【０１３５】
（３）母音（「ａ」、「ｉ」、「ｕ」、「ｅ」、「ｏ」等）毎にSilence歌唱長、先行Vowel歌唱長及びVowel歌唱長を算出する。
【０１３６】
（４）子音のカテゴリ（無声／有声破裂音、無声／有声摩擦音、鼻音、半母音等）毎に且つ子音に続く母音（「ａ」、「ｉ」、「ｕ」、「ｅ」、「ｏ」等）毎にSilence歌唱長、先行Vowel歌唱長及びVowel歌唱長を算出する。すなわち、子音のカテゴリと母音との組合せ毎にSilence歌唱長、先行Vowel歌唱長及びVowel歌唱長を算出する。
【０１３７】
（５）子音（「ｐ」、「ｂ」、「ｓ」、「ｚ」、「ｎ」、「ｗ」等）毎に且つ子音に続く母音毎にSilence歌唱長、先行Vowel歌唱長及びVowel歌唱長を算出する。すなわち、子音と母音との組合せ毎にSilence歌唱長、先行Vowel歌唱長及びVowel歌唱長を算出する。
【０１３８】
（６）先行母音（「ａ」、「ｉ」、「ｕ」、「ｅ」、「ｏ」等）毎にSilence歌唱長、先行Vowel歌唱長及びVowel歌唱長を算出する。
【０１３９】
（７）先行母音（「ａ」、「ｉ」、「ｕ」、「ｅ」、「ｏ」等）毎に且つ先行母音に続く子音のカテゴリ（無声／有声破裂音、無声／有声摩擦音、鼻音、半母音等）毎にSilence歌唱長、先行Vowel歌唱長及びVowel歌唱長を算出する。すなわち、先行母音と子音のカテゴリとの組合せ毎にSilence歌唱長、先行Vowel歌唱長及びVowel歌唱長を算出する。
【０１４０】
（８）先行母音（「ａ」、「ｉ」、「ｕ」、「ｅ」、「ｏ」等）毎に且つ先行母音に続く子音（「ｐ」、「ｂ」、「ｓ」、「ｚ」、「ｎ」、「ｗ」等）毎にSilence歌唱長、先行Vowel歌唱長及びVowel歌唱長を算出する。すなわち、先行母音と子音との組合せ毎にSilence歌唱長、先行Vowel歌唱長及びVowel歌唱長を算出する。
【０１４１】
（９）先行母音（「ａ」、「ｉ」、「ｕ」、「ｅ」、「ｏ」等）毎に且つ先行母音に続く母音（「ａ」、「ｉ」、「ｕ」、「ｅ」、「ｏ」等）毎にSilence歌唱長、先行Vowel歌唱長及びVowel歌唱長を算出する。すなわち、先行母音と母音との組合せ毎にSilence歌唱長、先行Vowel歌唱長及びVowel歌唱長を算出する。
【０１４２】
（１０）先行母音（「ａ」、「ｉ」、「ｕ」、「ｅ」、「ｏ」等）毎、先行母音に続く子音のカテゴリ（無声／有声破裂音、無声／有声摩擦音、鼻音、半母音等）毎及び子音に続く母音（「ａ」、「ｉ」、「ｕ」、「ｅ」、「ｏ」等）毎にSilence歌唱長、先行Vowel歌唱長及びVowel歌唱長を算出する。すなわち、先行母音と子音のカテゴリと母音との組合せ毎にSilence歌唱長、先行Vowel歌唱長及びVowel歌唱長を算出する。
【０１４３】
（１１）先行母音（「ａ」、「ｉ」、「ｕ」、「ｅ」、「ｏ」等）毎、先行母音に続く子音（「ｐ」、「ｂ」、「ｓ」、「ｚ」、「ｎ」、「ｗ」等）毎及び子音に続く母音（「ａ」、「ｉ」、「ｕ」、「ｅ」、「ｏ」等）毎にSilence歌唱長、先行Vowel歌唱長及びVowel歌唱長を算出する。すなわち、先行母音と子音と母音との組合せ毎にSilence歌唱長、先行Vowel歌唱長及びVowel歌唱長を算出する。
【０１４４】
この発明は、上記した実施形態に限定されるものではなく、種々の改変形態で実施可能なものである。例えば、次のような変更が可能である。
【０１４５】
（１）上記した実施形態では、歌唱合成スコアの形成が完了した後、歌唱合成スコアに従って歌唱音声を合成するようにしたが、歌唱合成スコアを形成しつつ形成済みの歌唱合成スコアに従って歌唱音声を合成するようにしてもよい。このためには、例えば、演奏データの受信を割り込み処理により優先的に行ないつつ受信済みの演奏データに基づいて歌唱合成スコアを形成すればよい。
【０１４６】
（２）上記した実施形態では、音源方式としてフォルマント合成方式を用いたが、波形処理方式等の他の方式を用いてもよい。
【０１４７】
（３）上記した実施形態では、歌唱合成スコアを音韻トラック、遷移トラック及びビブラートトラックの３トラックで構成したが、１トラック構成としてもよい。このためには、例えば、音韻トラックに遷移トラック及びビブラートトラックの情報を適宜挿入すればよい。
【図面の簡単な説明】
【０１４８】
【図１】人歌唱と、この発明の歌唱合成とで歌唱開始時刻を対比して示す図である。
【図２】この発明の一実施形態に係る歌唱合成装置の回路構成を示すブロック図である。
【図３】実施形態に係る歌唱合成処理を概略的に説明するためのフローチャートである。
【図４】演奏データ内の情報を示す図である。
【図５】音韻ＤＢ内の情報を示す図である。
【図６】音韻遷移ＤＢ内の情報を示す図である。
【図７】状態遷移ＤＢ内の情報を示す図である。
【図８】ビブラートＤＢ内の情報を示す図である。
【図９】演奏データに基づく歌唱合成を説明するための図である。
【図１０】参照スコア及び歌唱合成スコアの形成状況を示す図である。
【図１１】参照スコアに演奏データを追加した場合の歌唱合成スコアの形成状況を示す図である。
【図１２】参照スコアに演奏データを挿入した場合の歌唱合成スコアの形成状況を示す図である。
【図１３】演奏データに基づく歌唱合成スコアの形成状況及び歌唱音声の合成状況を示す図である。
【図１４】図１３の音韻トラックにおける種々のアイテムを説明するための図である。
【図１５】図１３の遷移トラックにおける種々のアイテムを説明するための図である。
【図１６】図１３のビブラートトラックにおける種々のアイテムを説明するための図である。
【図１７】演奏データ受信・歌唱合成スコア形成処理を示すフローチャートである。
【図１８】歌唱合成スコア形成処理を示すフローチャートである。
【図１９】管理データ作成処理を示すフローチャートである。
【図２０】Event  State＝Transitionの場合の管理データ作成処理を説明するための図である。
【図２１】Event  State＝Attackの場合の管理データ作成処理を説明するための図である。
【図２２】音韻トラック形成処理を示すフローチャートである。
【図２３】音韻遷移時間長獲得処理を示すフローチャートである。
【図２４】Silence歌唱長算出処理を示すフローチャートである。
【図２５】図２４の処理においてConsonant伸縮率が１より大きい場合のConsonant歌唱長算出処理を説明するための図である。
【図２６】図２４の処理においてConsonant伸縮率が１より小さい場合のConsonant歌唱長算出処理を説明するための図である。
【図２７】Silence歌唱長の算出例を示す図である。
【図２８】先行Vowel歌唱長算出処理を示すフローチャートである。
【図２９】図２８の処理においてConsonant伸縮率が１より大きい場合のConsonant歌唱長算出処理を説明するための図である。
【図３０】図２８の処理においてConsonant伸縮率が１より小さい場合のConsonant歌唱長算出処理を説明するための図である。
【図３１】先行Vowel歌唱長算出例を示す図である。
【図３２】Vowel歌唱長算出処理を示すフローチャートである。
【図３３】Vowel歌唱長算出例を示す図である。
【図３４】遷移トラック形成処理を示すフローチャートである。
【図３５】NONEn，NONEs遷移時間長の算出例を示す図である。
【図３６】pNONEs，NONEs遷移時間長の算出例を示す図である。
【図３７】ビブラートトラック形成処理を示すフローチャートである。
【図３８】ビブラートトラックの形成例を示す図である。
【図３９】Silence歌唱長算出の変形例を示す図である。
【図４０】人歌唱と、従来の歌唱合成とで歌唱開始時刻を対比して示す図である。
【符号の説明】
【０１４９】
１０：バス、１２：ＣＰＵ、１４：ＲＯＭ、１６：ＲＡＭ、２０：検出回路、２２：表示回路、２４：外部記憶装置、２６：タイマ、２８：音源回路、３０：ＭＩＤＩインターフェース、３４：操作子群、３６：表示器、３８：サウンドシステム、３９：ＭＩＤＩ機器。
【図１】
2006119674.tif 000003
【図２】
2006119674.tif 000004
【図３】
2006119674.tif 000005
【図４】
2006119674.tif 000006
【図５】
2006119674.tif 000007
【図６】
2006119674.tif 000008
【図７】
2006119674.tif 000009
【図８】
2006119674.tif 000010
【図９】
2006119674.tif 000011
【図１０】
2006119674.tif 000012
【図１１】
2006119674.tif 000013
【図１２】
2006119674.tif 000014
【図１３】
2006119674.tif 000015
【図１４】
2006119674.tif 000016
【図１５】
2006119674.tif 000017
【図１６】
2006119674.tif 000018
【図１７】
2006119674.tif 000019
【図１８】
2006119674.tif 000020
【図１９】
2006119674.tif 000021
【図２０】
2006119674.tif 000022
【図２１】
2006119674.tif 000023
【図２２】
2006119674.tif 000024
【図２３】
2006119674.tif 000025
【図２４】
2006119674.tif 000026
【図２５】
2006119674.tif 000027
【図２６】
2006119674.tif 000028
【図２７】
2006119674.tif 000029
【図２８】
2006119674.tif 000030
【図２９】
2006119674.tif 000031
【図３０】
2006119674.tif 000032
【図３１】
2006119674.tif 000033
【図３２】
2006119674.tif 000034
【図３３】
2006119674.tif 000035
【図３４】
2006119674.tif 000036
【図３５】
2006119674.tif 000037
【図３６】
2006119674.tif 000038
【図３７】
2006119674.tif 000039
【図３８】
2006119674.tif 000040
【図３９】
2006119674.tif 000041
【図４０】
2006119674.tif 000042