(57)【要約】【課題】自然性の高い歌唱音声を合成する。【解決手段】音韻情報、音高（ピッチ）情報等を含む演奏データを入力し、この演奏データを、歌唱合成データベースに基づき、歌唱合成エンジンが理解可能な形式のデータ（歌唱合成スコア）に変換する。歌唱合成データベース中の音韻遷移データベースより読み出した音韻遷移時間長データに対し、歌唱音速さ（ベロシティ）情報、歌唱音強さ情報又は音高情報に基づいて補正を施す。これにより出力される歌唱音声の自然性を高める。【選択図】　図２
2004004440.tif 000002
【特許請求の範囲】
【請求項１】
各種の歌唱データをデータベースに記憶させておき、入力された演奏データの内容に合致した前記歌唱データを前記データベースより読み出すことにより歌唱合成用のスコアを生成する歌唱合成方法において、
前記演奏データは、少なくとも音韻を表わす音韻情報と、音高を表わす音高情報と、演奏音速さ情報とを含み、
前記データベースには、前記音韻情報、前記音高情報のうちの少なくとも１つと対応させ音韻遷移時間長データを記憶した音韻遷移データベースが含まれ、
前記演奏データを入力する入力ステップと、
前記演奏データと前記音韻遷移データベースとを対比して、前記演奏データに対応した前記音韻遷移時間長データを前記データベースより読み出す音韻遷移時間長データ読出しステップと、
前記演奏音速さ情報に基づき、前記音韻遷移時間長読出しステップにおいて読み出された前記音韻遷移時間長データを補正する音韻遷移時間長データ補正ステップとを備えたことを特徴とする歌唱合成方法。
【請求項２】
各種の歌唱データをデータベースに記憶させておき、入力された演奏データの内容に合致した前記歌唱データを前記データベースより読み出すことにより歌唱合成用のスコアを生成する歌唱合成方法において、
前記演奏データは、少なくとも音韻を表わす音韻情報と、音高を表わす音高情報と、演奏音強さ情報とを含み、
前記データベースには、前記音韻情報、前記音高情報のうちの少なくとも１つと対応させ音韻遷移時間長データを記憶した音韻遷移データベースが含まれ、
前記演奏データを入力する入力ステップと、
前記演奏データと前記音韻遷移データベースとを対比して、前記演奏データに対応した前記音韻遷移時間長データを前記データベースより読み出す音韻遷移時間長データ読出しステップと、
前記演奏音強さ情報に基づき、前記音韻遷移時間長読出しステップにおいて読み出された前記音韻遷移時間長データを補正する音韻遷移時間長データ補正ステップとを備えたことを特徴とする歌唱合成方法。
【請求項３】
各種の歌唱データをデータベースに記憶させておき、入力された演奏データの内容に合致した前記歌唱データを前記データベースより読み出すことにより歌唱合成用のスコアを生成する歌唱合成方法において、
前記演奏データは、少なくとも音韻を表わす音韻情報と、音高を表わす音高情報とを含み、
前記データベースには、前記音韻情報、前記音高情報のうちの少なくとも１つと対応させ音韻遷移時間長データを記憶した音韻遷移データベースが含まれ、
前記演奏データを入力する入力ステップと、
前記演奏データと前記音韻遷移データベースとを対比して、前記演奏データに対応した前記音韻遷移時間長データを前記データベースより読み出す音韻遷移時間長データ読出しステップと、
前記音高情報に基づき、前記音韻遷移時間長読出しステップにおいて読み出された前記音韻遷移時間長データを補正する音韻遷移時間長データ補正ステップとを備えたことを特徴とする歌唱合成方法。
【請求項４】
前記演奏データは、前記音韻の状態の遷移を示す状態遷移データを含み、
前記音韻遷移時間長データ読出しステップは、前記状態遷移データに応じて異なる音韻遷移時間長データを読み出すように構成された請求項１乃至３のいずれか１項に記載の歌唱合成方法。
【請求項５】
前記音韻遷移時間長データ読出しステップは、前記音韻の種類に応じて異なる音韻遷移時間長データを読み出すように構成された請求項１乃至４のいずれか１項に記載の歌唱合成方法。
【請求項６】
前記音韻遷移時間長補正ステップは、前記音韻遷移時間長に対し、乱数によって与えられるゆらぎ成分を付与するステップを含んでいる請求項１乃至３のいずれか１項に記載の歌唱合成方法。
【請求項７】
各種の歌唱データをデータベースに記憶させておき、入力された演奏データの内容に合致した前記歌唱データを前記データベースより読み出すことにより歌唱合成用のスコアを生成する手順をコンピュータに実行させる歌唱合成用プログラムにおいて、
前記演奏データは、少なくとも音韻を表わす音韻情報と、音高を表わす音高情報と、演奏音速さ情報とを含み、前記データベースには、前記音韻情報、前記音高情報のうちの少なくとも１つと対応させ音韻遷移時間長データを記憶した音韻遷移データベースが含まれた状態において、
前記演奏データを入力する入力ステップと、
前記演奏データと前記音韻遷移データベースとを対比して、前記演奏データに対応した前記音韻遷移時間長データを前記データベースより読み出す音韻遷移時間長データ読出しステップと、
前記演奏音速さ情報に基づき、前記音韻遷移時間長読出しステップにおいて読み出された前記音韻遷移時間長データを補正する音韻遷移時間長データ補正ステップとをコンピュータに実行させるように構成されたことを特徴とする歌唱合成用プログラム。
【請求項８】
各種の歌唱データをデータベースに記憶させておき、入力された演奏データの内容に合致した前記歌唱データを前記データベースより読み出すことにより歌唱合成用のスコアを生成する手順をコンピュータに実行させる歌唱合成用プログラムにおいて、
前記演奏データは、少なくとも音韻を表わす音韻情報と、音高を表わす音高情報と、演奏音強さ情報とを含み、前記データベースには、前記音韻情報、前記音高情報のうちの少なくとも１つと対応させ音韻遷移時間長データを記憶した音韻遷移データベースが含まれた状態において、
前記演奏データを入力する入力ステップと、
前記演奏データと前記音韻遷移データベースとを対比して、前記演奏データに対応した前記音韻遷移時間長データを前記データベースより読み出す音韻遷移時間長データ読出しステップと、
前記演奏音強さ情報に基づき、前記音韻遷移時間長読出しステップにおいて読み出された前記音韻遷移時間長データを補正する音韻遷移時間長データ補正ステップとをコンピュータに実行させるように構成されたことを特徴とする歌唱合成用プログラム。
【請求項９】
各種の歌唱データをデータベースに記憶させておき、入力された演奏データの内容に合致した前記歌唱データを前記データベースより読み出すことにより歌唱合成用のスコアを生成する手順をコンピュータに実行させる歌唱合成用プログラムにおいて、
前記演奏データは、少なくとも音韻を表わす音韻情報と、音高を表わす音高情報とを含み、前記データベースには、前記音韻情報、前記音高情報のうちの少なくとも１つと対応させ音韻遷移時間長データを記憶した音韻遷移データベースが含まれた状態において、
前記演奏データを入力する入力ステップと、
前記演奏データと前記音韻遷移データベースとを対比して、前記演奏データに対応した前記音韻遷移時間長データを前記データベースより読み出す音韻遷移時間長データ読出しステップと、
前記音高情報に基づき、前記音韻遷移時間長読出しステップにおいて読み出された前記音韻遷移時間長データを補正する音韻遷移時間長データ補正ステップとをコンピュータに実行させるように構成されたことを特徴とする歌唱合成用プログラム。
【請求項１０】
各種の歌唱データをデータベースに記憶させておき、入力された演奏データの内容に合致した前記歌唱データを前記データベースより読み出すことにより歌唱合成用のスコアを生成する歌唱合成装置において、
前記演奏データは、少なくとも音韻を表わす音韻情報と、音高を表わす音高情報と、演奏音速さ情報とを含み、
前記データベースには、前記音韻情報、前記音高情報のうちの少なくとも１つと対応させ音韻遷移時間長データを記憶した音韻遷移データベースが含まれ、
前記演奏データを入力する演奏データ入力部と、
前記演奏データと前記音韻遷移データベースとを対比して、前記演奏データに対応した前記音韻遷移時間長データを前記データベースより読み出す音韻遷移時間長データ読出し部と、
前記演奏音速さ情報に基づき、前記音韻遷移時間長読出しステップにおいて読み出された前記音韻遷移時間長データを補正する音韻遷移時間長データ補正部とを備えたことを特徴とする歌唱合成装置。
【請求項１１】
各種の歌唱データをデータベースに記憶させておき、入力された演奏データの内容に合致した前記歌唱データを前記データベースより読み出すことにより歌唱合成用のスコアを生成する歌唱合成装置において、
前記演奏データは、少なくとも音韻を表わす音韻情報と、音高を表わす音高情報と、演奏音強さ情報とを含み、
前記データベースには、前記音韻情報、前記音高情報のうちの少なくとも１つと対応させ音韻遷移時間長データを記憶した音韻遷移データベースが含まれ、
前記演奏データを入力する演奏データ入力部と、
前記演奏データと前記音韻遷移データベースとを対比して、前記演奏データに対応した前記音韻遷移時間長データを前記データベースより読み出す音韻遷移時間長データ読出し部と、
前記演奏音強さ情報に基づき、前記音韻遷移時間長読出しステップにおいて読み出された前記音韻遷移時間長データを補正する音韻遷移時間長データ補正部とを備えたことを特徴とする歌唱合成装置。
【請求項１２】
各種の歌唱データをデータベースに記憶させておき、入力された演奏データの内容に合致した前記歌唱データを前記データベースより読み出すことにより歌唱合成用のスコアを生成する歌唱合成装置において、
前記演奏データは、少なくとも音韻を表わす音韻情報と、音高を表わす音高情報とを含み、
前記データベースには、前記音韻情報、前記音高情報のうちの少なくとも１つと対応させ音韻遷移時間長データを記憶した音韻遷移データベースが含まれ、
前記演奏データを入力する演奏データ入力部と、
前記演奏データと前記音韻遷移データベースとを対比して、前記演奏データに対応した前記音韻遷移時間長データを前記データベースより読み出す音韻遷移時間長データ読出し部と、
前記音高情報に基づき、前記音韻遷移時間長読出しステップにおいて読み出された前記音韻遷移時間長データを補正する音韻遷移時間長データ補正部とを備えたことを特徴とする歌唱合成装置。
【請求項１３】
前記演奏データは、前記音韻の状態の遷移を示す状態遷移データを含み、
前記音韻遷移時間長データ読出し部は、前記状態遷移データに応じて異なる音韻遷移時間長データを読み出すように構成された請求項１０乃至１２のいずれか１項に記載の歌唱合成装置。
【請求項１４】
前記音韻遷移時間長データ読出し部は、さらに前記音韻の種類に応じて異なる音韻遷移時間長データを読み出すように構成された請求項１０乃至１３のいずれか１項に記載の歌唱合成装置。
【請求項１５】
前記音韻遷移時間長補正ステップは、前記音韻遷移時間長に対し、乱数によって与えられるゆらぎ成分を付与するステップを含んでいる請求項１０乃至１３のいずれか１項に記載の歌唱合成装置。
【請求項１６】
請求項７乃至９のいずれか１項に記載の歌唱合成用プログラムを記録したコンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、リアルタイムに入力される演奏データに基づいて歌唱を合成する歌唱合成装置、方法及びプログラムに係るものである。
【０００２】
【従来の技術】
従来の歌唱合成装置においては、人間の実際の歌声から取得したデータを、例えばテンプレートデータとしてデータベースとして保存しておき、入力された演奏データ（音符、歌詞、表情等）の内容に合致したデータをデータベースより読み出す。そして、この演奏データとテンプレートデータに基づいて、歌唱合成スコアと呼ばれるデータを作成する。
【０００３】
この歌唱合成スコアとは、歌唱音声のデータを、音韻、音高（ピッチ）、音韻遷移（アタック、リリースなど）などのパラメータごとに時系列的に記憶させたものである。例えば、音韻データは音韻トラックに、音高データは音高トラックに記憶される。この歌唱合成スコアに、さらに各種の音源制御情報を付加することにより、本物の人の歌声に近い歌唱音声を合成している。
【０００４】
歌唱合成装置においては、例えば「ｓａ・ｉ・ｔａ（さいた）」と歌わせる場合、１つ１つの音韻を区切って歌わせるのではなく、先行音韻と後続音韻との間に、両者を滑らかに接続するための音韻遷移部分を挿入する。上の例では、音韻「ｓａ」と音韻「ｉ」との間に音韻遷移部分「ａｉ」を、音韻「ｉ」と音韻「ｔａ」との間に音韻遷移部分「ｉｔ」を挿入するという具合である。歌唱合成装置から合成される歌唱音声の品質は、各種の改良により年々向上しているが、未だ実際の人歌唱と同等の品質は得られていない。
【０００５】
【発明が解決しようとする課題】
本発明の発明者らは、この原因の１つが、データベースより出力される音韻遷移時間長データ（音韻遷移部分の時間的長さを規定するデータ）の利用のされ方にあると考えた。
すなわち、発明者らの分析の結果、実際の人歌唱の場合、この音韻遷移部分の時間的な長さ（音韻遷移時間長）は、前後の音韻の状況によって異なっていることが判った。例えば、前後の音韻の種類が同じでも、音高が異なる場合には、実際の人歌唱では音韻遷移時間長が異なっている（低音の場合には高音の場合に比して音韻遷移時間長が長くされる）。
【０００６】
しかしながら、従来の歌唱合成装置では、前後の音韻の状況に関係なく音韻遷移時間長を一律に決定していた。本発明は、この点に鑑み、音韻遷移時間長に変化を与えることにより、自然な歌唱音声を簡易に合成することのできる歌唱合成方法、歌唱合成装置、歌唱合成方法及びプログラムを提供することを目的とする。
【０００７】
【課題を解決するための手段】
上記目的達成のため、本出願の第１発明に係る歌唱合成方法は、各種の歌唱データをデータベースに記憶させておき、入力された演奏データの内容に合致した前記歌唱データを前記データベースより読み出すことにより歌唱合成用のスコアを生成する歌唱合成方法において、前記演奏データは、少なくとも音韻を表わす音韻情報と、音高を表わす音高情報と、演奏音速さ情報とを含み、前記データベースには、前記音韻情報、前記音高情報又は前記演奏音速さ情報のうちの少なくとも１つと対応させ音韻遷移時間長データを記憶した音韻遷移データベースが含まれ、前記演奏データを入力する入力ステップと、前記演奏データと前記音韻遷移データベースとを対比して、前記演奏データに対応した前記音韻遷移時間長データを前記データベースより読み出す音韻遷移時間長データ読出しステップと、前記演奏音速さ情報に基づき、前記音韻遷移時間長読出しステップにおいて読み出された前記音韻遷移時間長データを補正する音韻遷移時間長データ補正ステップとを備えたことを特徴とする。
【０００８】
この第１発明によれば、演奏データが入力されると、演奏データと音韻遷移データベースとが対比され、入力された前記演奏データに対応した音韻遷移時間長データが前記データベースより読み出される。読み出された音韻遷移時間長データは、演奏データ中の演奏音速さ情報により補正される。これにより、演奏音速さの状態に応じて音韻遷移時間が変化するので、合成される歌唱音声の自然性が高められる。
【０００９】
上記目的達成のため、本出願の第２発明に係る歌唱合成方法は、各種の歌唱データをデータベースに記憶させておき、入力された演奏データの内容に合致した前記歌唱データを前記データベースより読み出すことにより歌唱合成用のスコアを生成する歌唱合成方法において、前記演奏データは、少なくとも音韻を表わす音韻情報と、音高を表わす音高情報と、演奏音強さ情報とを含み、前記データベースには、前記音韻情報、前記音高情報のうちの少なくとも１つと対応させ音韻遷移時間長データを記憶した音韻遷移データベースが含まれ、前記演奏データを入力する入力ステップと、前記演奏データと前記音韻遷移データベースとを対比して、前記演奏データに対応した前記音韻遷移時間長データを前記データベースより読み出す音韻遷移時間長データ読出しステップと、前記演奏音強さ情報に基づき、前記音韻遷移時間長読出しステップにおいて読み出された前記音韻遷移時間長データを補正する音韻遷移時間長データ補正ステップとを備えたことを特徴とする。
【００１０】
この第２発明によれば、演奏データが入力されると、演奏データと音韻遷移データベースとが対比され、入力された前記演奏データに対応した音韻遷移時間長データが前記データベースより読み出される。読み出された音韻遷移時間長データは、演奏データ中の演奏音強さ情報により補正される。これにより、演奏音強さの状態に応じて音韻遷移時間が変化するので、合成される歌唱音声の自然性が高められる。
【００１１】
上記目的達成のため、本出願の第３発明に係る歌唱合成方法は、各種の歌唱データをデータベースに記憶させておき、入力された演奏データの内容に合致した前記歌唱データを前記データベースより読み出すことにより歌唱合成用のスコアを生成する歌唱合成方法において、前記演奏データは、少なくとも音韻を表わす音韻情報と、音高を表わす音高情報とを含み、前記データベースには、前記音韻情報、前記音高情報のうちの少なくとも１つと対応させ音韻遷移時間長データを記憶した音韻遷移データベースが含まれ、前記演奏データを入力する入力ステップと、前記演奏データと前記音韻遷移データベースとを対比して、前記演奏データに対応した前記音韻遷移時間長データを前記データベースより読み出す音韻遷移時間長データ読出しステップと、前記音高情報に基づき、前記音韻遷移時間長読出しステップにおいて読み出された前記音韻遷移時間長データを補正する音韻遷移時間長データ補正ステップとを備えたことを特徴とする。
【００１２】
この第３発明によれば、演奏データが入力されると、演奏データと音韻遷移データベースとが対比され、入力された前記演奏データに対応した音韻遷移時間長データが前記データベースより読み出される。読み出された音韻遷移時間長データは、演奏データ中の音高情報により補正される。これにより、音高の状態に応じて音韻遷移時間が変化するので、合成される歌唱音声の自然性が高められる。
【００１３】
前記第１乃至第３の発明において、前記演奏データは、前記音韻の状態の遷移を示す状態遷移データを含み、前記音韻遷移時間長データ読出しステップは、前記状態遷移データに応じて異なる音韻遷移時間長データを読み出すように構成することもできる。また、前記第１乃至第３の発明において、前記音韻遷移時間長データ読出しステップは、前記音韻の種類に応じて異なる音韻遷移時間長データを読み出すように構成することもできる。また、前記音韻遷移時間長補正ステップは、補正後の前記音韻遷移時間長に対し、乱数によって与えられるゆらぎ成分を付与するステップを含むこともできる。また、これらの方法を、コンピュータプログラムを利用してコンピュータに実行させるように構成してもよく、また、そのコンピュータプログラムを記録媒体に記録させるようにしてもよい。
【００１４】
上記目的達成のため、本出願の第４発明に係る歌唱合成装置は、各種の歌唱データをデータベースに記憶させておき、入力された演奏データの内容に合致した前記歌唱データを前記データベースより読み出すことにより歌唱合成用のスコアを生成する歌唱合成装置において、前記演奏データは、少なくとも音韻を表わす音韻情報と、音高を表わす音高情報と、演奏音速さ情報とを含み、前記データベースには、前記音韻情報、前記音高情報のうちの少なくとも１つと対応させ音韻遷移時間長データを記憶した音韻遷移データベースが含まれ、前記演奏データを入力する演奏データ入力部と、前記演奏データと前記音韻遷移データベースとを対比して、前記演奏データに対応した前記音韻遷移時間長データを前記データベースより読み出す音韻遷移時間長データ読出し部と、前記演奏音速さ情報に基づき、前記音韻遷移時間長読出しステップにおいて読み出された前記音韻遷移時間長データを補正する音韻遷移時間長データ補正部とを備えたことを特徴とする。
【００１５】
上記目的達成のため、本出願の第５発明に係る歌唱合成装置は、各種の歌唱データをデータベースに記憶させておき、入力された演奏データの内容に合致した前記歌唱データを前記データベースより読み出すことにより歌唱合成用のスコアを生成する歌唱合成装置において、前記演奏データは、少なくとも音韻を表わす音韻情報と、音高を表わす音高情報と、演奏音強さ情報とを含み、前記データベースには、前記音韻情報、前記音高情報のうちの少なくとも１つと対応させ音韻遷移時間長データを記憶した音韻遷移データベースが含まれ、前記演奏データを入力する演奏データ入力部と、前記演奏データと前記音韻遷移データベースとを対比して、前記演奏データに対応した前記音韻遷移時間長データを前記データベースより読み出す音韻遷移時間長データ読出し部と、前記演奏音強さ情報に基づき、前記音韻遷移時間長読出しステップにおいて読み出された前記音韻遷移時間長データを補正する音韻遷移時間長データ補正部とを備えたことを特徴とする。
【００１６】
上記目的達成のため、本出願の第６発明に係る歌唱合成装置は、各種の歌唱データをデータベースに記憶させておき、入力された演奏データの内容に合致した前記歌唱データを前記データベースより読み出すことにより歌唱合成用のスコアを生成する歌唱合成装置において、前記演奏データは、少なくとも音韻を表わす音韻情報と、音高を表わす音高情報とを含み、前記データベースには、前記音韻情報、前記音高情報のうちの少なくとも１つと対応させ音韻遷移時間長データを記憶した音韻遷移データベースが含まれ、前記演奏データを入力する演奏データ入力部と、前記演奏データと前記音韻遷移データベースとを対比して、前記演奏データに対応した前記音韻遷移時間長データを前記データベースより読み出す音韻遷移時間長データ読出し部と、前記音高情報に基づき、前記音韻遷移時間長読出しステップにおいて読み出された前記音韻遷移時間長データを補正する音韻遷移時間長データ補正部とを備えたことを特徴とする。
【００１７】
前記第４乃至第６発明において、前記演奏データは、前記音韻の状態の遷移を示す状態遷移データを含み、前記音韻遷移時間長データ読出し部は、前記状態遷移データに応じて異なる音韻遷移時間長データを読み出すように構成することができる。また、前記音韻遷移時間長データ読出し部は、さらに前記音韻の種類に応じて異なる音韻遷移時間長データを読み出すように構成することもできる。
また、前記音韻遷移時間長補正ステップは、補正後の前記音韻遷移時間長に対し、乱数によって与えられるゆらぎ成分を付与するステップを含んでいるようにすることもできる。
【００１８】
【発明の実施の形態】
以下、本発明の実施の形態を説明する。以下では、日本語の歌唱音声を合成するものとして説明する。日本語の場合、出現する音素は、一般に▲１▼子音と母音の組合せ、▲２▼母音のみ、▲３▼有声子音（鼻音、半母音）のみ、のいずれかとなる。ただし、▲３▼有声子音のみの場合は、有声子音の歌唱開始タイミングが▲２▼母音のみの場合と類似しているので、以下に説明する本実施の形態では、▲３▼は▲２▼とみなして▲２▼と同一の処理を受けるものとする。
【００１９】
〔第１の実施の形態〕
以下、本実施の形態の具体的な実施形態を説明する。
図１は、この発明の実施の形態に係る歌唱合成装置の全体構成を示すものである。ＭＩＤＩ（Ｍｕｓｉｃａｌ　　Ｉｎｓｔｒｕｍｅｎｔ　　Ｄｉｇｉｔａｌ　Ｉｎｔｅｒｆａｃｅ）機器３９と、このＭＩＤＩ機器３９にＭＩＤＩインターフェース３０を介して接続されたコンピュータシステムＣＳと、音源回路２８と、サウンドシステム３８等とから構成されている。コンピュータシステムＣＳは、ＣＰＵ１２、ＲＯＭ１４，ＲＡＭ１６、操作子群３４、表示回路２２、表示器３６、外部記憶装置２４、タイマ２６等を備えている。
【００２０】
ＣＰＵ１２は、コンピュータシステムＣＳ全体の制御を司る部分である。ＲＯＭ１４は、楽音発生、歌唱合成等の各種プログラムを記憶している。ＣＰＵ１２は、これらのプログラムをＲＯＭ１４から適宜読み込んで各種処理を実行する。
ＲＡＭ１６は、ＣＰＵ１２の各種処理に際して作業領域を提供するための記憶部であり、例えばＭＩＤＩ機器３９から読み込まれた演奏データを書き込むための受信バッファとして機能する。
【００２１】
検出回路２０は、パネル等の操作子群３４からの操作情報を検出するものであり、また、表示回路２２は、表示器３６の表示動作を制御することにより各種の表示を可能にするものである。
外部記憶装置２４は、ハードディスク、フロッピーディスク、ＣＤ、ＤＶＤ、光磁気ディスクドライブなどの記録媒体をドライブするためコンピュータシステムＣＳに外付けされた記憶装置であり、その記憶内容をＲＡＭ１６へ転送する他、ハードディスクなどの書き込み可能な記録媒体の場合には、逆にＲＡＭ１６からデータの転送を受けることもできる。この外部記憶装置は、ＲＯＭ１４の代わりにプログラム記録手段として使用することも出来る。
【００２２】
タイマ２６は、テンポデータＴＭの指示するテンポに対応した周期でテンポクロック信号ＴＣＬを発生するものである。テンポクロック信号ＴＣＬは、ＣＰＵ１２に割込み命令信号として供給される。ＣＰＵ１２は、テンポクロック信号ＴＣＬに基づく割込み処理により歌唱合成を行う。テンポデータＴＭにより指示されるテンポは、操作子群３４を操作するなどにより変更することができる。なお、テンポクロック信号ＴＣＬの周期は、一例としては１ｍｓ程度である。
【００２３】
音源回路２８は、多数の楽音発生チャンネル及び多数の歌唱合成チャンネルを含んでいる。歌唱合成チャンネルは、フォルマント合成方式により歌唱音声を合成するようになっている。後述する歌唱合成処理では、歌唱合成チャンネルから歌唱音声信号が発生される。発生に係る楽音信号及び歌唱音声信号は、サウンドシステム３８により音声に変換される。フォルマント合成方式の代わりに、波形処理方式等の他の方式を用いてもよい。
【００２４】
ＭＩＤＩインターフェース３０は、この歌唱合成装置とは別体のＭＩＤＩ機器３９との間でＭＩＤＩデータを送受信するためのインターフェースである。
【００２５】
次に、図２を用いて、上記の歌唱合成装置の構成において、本実施の形態に係る歌唱合成処理を実行する手順の概略を説明する。図２において、左側のブロック４０−４８は歌唱合成処理の手順を示しており、また、右側に示された歌唱合成ＤＢ１４Ａは、ＲＯＭ１４などにより構成され、ＭＩＤＩ機器３９等により入力された演奏データの内容に応じたデータ変換を行うための各種のテンプレートデータを記憶する部分を示す。
【００２６】
歌唱合成ＤＢ１４Ａは、例えば音韻に関するデータを記憶する音韻ＤＢ１４ａ、先行音韻から後続音韻への音韻遷移に関する情報を記憶する音韻遷移ＤＢ１４ｂ、状態遷移（アタック、リリース等）に関するデータを記憶する状態遷移ＤＢ１４ｃ、ビブラート情報を記憶するビブラートＤＢ１４ｄ等を備えている。
【００２７】
また、複数の矢印は、どのようなデータがどの手順において歌唱合成ＤＢ１４Ａから読み出されるのかを示している。
【００２８】
この歌唱合成処理の手順（ステップ４０−４８）を、順に説明する。最初に、演奏データがＭＩＤＩ機器３９より入力され、受信バッファとしてのＲＡＭ１６がこれを受信する（ステップ４０）。演奏データの内容については後述する。図３に示すように、演奏データＳ１−Ｓ３は、実歌唱時刻Ｔ１、Ｔ２、Ｔ３よりも早い時刻ｔ１、ｔ２、ｔ３において送信される。
【００２９】
続くステップ４２では、歌唱合成スコアを形成する。歌唱合成スコアとは、受信された演奏データを、音韻、音高などのパラメータごとのトラックにより時系列的に表現したデータ配列である。歌唱合成スコアの内容については後述する。歌唱合成スコアを形成するには、歌唱合成ＤＢ１４Ａ中の音韻ＤＢ１４ａ、音韻遷移ＤＢ１４ｂ等より、受信した演奏データに対応した音韻データ、音韻遷移時間長データ等を獲得する。ここで音韻遷移時間長データとは、複数の音韻間の遷移時間の長さを示すデータである。
【００３０】
ステップ４４では、歌唱合成エンジンによる歌唱合成を行う。このステップでは、まず、音源制御情報を音韻ＤＢ１４ａ、音韻遷移ＤＢ１４ｂ、状態遷移ＤＢ１４ｃ及びビブラートＤＢ１４ｄから獲得する。ここで音源制御情報とは、音源回路２８において所望の歌唱音声を合成するために必要なフォルマント周波数の情報、及びフォルマントレベルの制御パラメータの情報等を含むものである。
そして、この獲得した音源制御情報と、歌唱合成スコア、演奏データに基づき、歌唱合成を行い、歌唱順に歌唱音声信号を出力する。
【００３１】
この歌唱音声信号は音源回路２８によりＤＡ変換され（ステップ４６）、サウンドシステム３８において歌唱音声として出力される（ステップ４８）。このとき、図３に示すように、歌唱音声ＳＳ１の子音「ｓ」を実歌唱時刻Ｔ１より早い時刻Ｔ１１に発生開始させ、ＳＳ１の母音「ａ」を実歌唱時刻Ｔ１に発生開始させる。
また、歌唱音声ＳＳ３の子音「ｔ」を実歌唱時刻Ｔ３より早い時刻Ｔ３１に発生開始させ、その母音「ａ」を実歌唱時刻Ｔ３に発生開始させる。また、歌唱音声ＳＳ２の母音「ｉ」は実歌唱時刻Ｔ２に発生開始させる。このように、歌唱音声が子音と母音の組合せからなる場合、その子音を実歌唱時刻に先行させて発音させる。これにより、歌唱音声が伴奏に対し遅れて発音される感じがなくなり、自然な歌唱音声が発生される。
【００３２】
次に、ステップ４０で入力される演奏データ内に含まれる情報の内容を図４を用いて説明する。演奏データは、１音節を歌唱するために必要な演奏情報、具体的には、ノート情報、音韻トラック情報等を含んでいる。
ノート情報には、実歌唱開始時刻を表わすノートオン（Ｎｏｔｅ　ｏｎ）情報、実歌唱長を表わすデュレーション（Ｄｕｒａｔｉｏｎ）情報、歌唱音高を表わす歌唱音高情報（Ｎｏｔｅ、ピッチ（Ｐｉｔｃｈ）情報とも呼ばれる）、歌唱音速さを表わすベロシティ（Ｖｅｌｏｃｉｔｙ）等が含まれる。音韻トラック情報には、後述する音韻トラックＴｐを形成するための情報、例えば、歌唱音韻を表わす音韻（ＰｈＵＳｔａｔｅ）情報、歌唱子音伸縮率を表わす子音修正（Ｃｏｎｓｏｎａｎｔ　　Ｍｏｄｉｆｉｃａｔｉｏｎ）情報等が含まれる。上述の通り、本実施の形態では、▲３▼有声子音（鼻音、半母音）のみからなる音韻を、▲２▼母音のみからなる音韻とみなして処理を行う。音韻（ＰｈＵＳｔａｔｅ）情報としては、▲２▼母音のみからなる音韻の場合には、ＰｈＵＳｔａｔｅ＝Ｖｏｗｅｌという情報が、▲１▼子音と母音の組合せからなる音韻の場合には、ＰｈＵＳｔａｔｅ　＝Ｃｏｎｓｏｎａｎｔ＿Ｖｏｗｅｌ　という情報が与えられるものとする。
演奏データには、この他、遷移トラックＴｒを形成するための遷移トラック情報、ビブラートトラックＴｂを形成するためのビブラートトラック情報等を含めることもできる。
【００３３】
次に、図５を参照して、音韻ＤＢ１４ａの記憶情報について説明する。
音韻ＤＢ１４ａには、図５に示すように、音韻（ＰｈＵ）と音高（Ｐｉｔｃｈ）の組合せごとに異なる値の音源制御情報Ｃｏｎｔｒｏｌ１１、Ｃｏｎｔｒｏｌ１２・・・が記憶されており、処理中の演奏データ（以下、現演奏データという）に合致するものが適宜読み出されるようになっている。例えば、現演奏データの音韻がａで、音高（ピッチ）がＰ１１の場合には、音源制御情報としてＣｏｎｔｒｏｌ１１が読み出され、後述する音韻トラックＴｐの形成に使用される。
【００３４】
次に、図６を参照して、音韻遷移ＤＢ１４ｂの記憶情報について説明する。音韻遷移ＤＢ１４ｂには、例えば図６に示すように、先行音韻ＰｈＵ１、後続音韻ＰｈＵ２及び音高Ｐｉｔｃｈの組合せに対応して、異なる音韻遷移時間長（Ｄｕｒａｔｉｏｎ１１、１２・・・）及び音源制御情報（Ｃｏｎｔｒｏｌ１１、Ｃｏｎｔｒｏｌ１２・・・）が記憶されている。例えば、先行音韻がａ、後続音韻がｉ、音高ＰｉｔｃｈがＰ１１の場合には、音韻遷移時間長としてそれぞれＤｕｒａｔｉｏｎ１１、Ｃｏｎｔｒｏｌ１１という値が読み出される。なお、図６中のＰｈＵ１、ＰｈＵ２の欄において、Ｍとは母音の「う」を、Ａｓｐｉｒａｔｉｏｎとは呼気音を、Ｓｉｌは無音を表わしている。
【００３５】
次に、図７を参照して、状態遷移ＤＢ１４ｃの記憶内容を説明する。状態遷移ＤＢ１４ｃは、遷移状態、状態タイプ、音韻、音高の組合せに対応して、異なる状態遷移時間長、音源制御情報が記憶されている。遷移状態としては、アタック（Ａｔｔａｃｋ）、ノート遷移（Ｎｏｔｅ　Ｔｒａｎｓｉｔｉｏｎ、以下「ＮｔＮ」と称す）及びリリース（Ｒｅｌｅａｓｅ）があり、状態タイプとしては、「Ｎｏｒｍａｌ」「Ｓｅｘｙ」「Ｓｈａｒｐ」「Ｓｏｆｔ」等がある。状態遷移時間長とは、これらアタック、ノート遷移又はリリース遷移状態の継続時間の長さを示すものである。このＤＢ１４ｃの内容は、後述する歌唱合成スコアの遷移トラックＴｒの形成に使用される。
【００３６】
次に、図８を参照して、ビブラートＤＢ１４ｄの記憶内容について説明する。
ビブラートＤＢ１４ｄでは、「Ｎｏｒｍａｌ」「Ｓｅｘｙ」「Ｅｎｋａ」等の各ビブラートタイプ、音韻、音高の組合せごとに異なる音源制御情報が記憶されており、後述する歌唱合成スコアのビブラートトラックＴｂの形成に使用される。
【００３７】
図９は、ステップ４２において形成される歌唱合成スコアの形成例、及びステップ４４における歌唱音声の合成例を示すものである。
歌唱合成スコアＳＣは、ＲＡＭ１６内に形成されるもので、音韻トラックＴｐ、音高トラックＴｉを備えている。この他、図９に示すように、状態の遷移データを有する遷移トラックＴｒと、ビブラート情報を有するビブラートトラックＴｂなどを備える。
【００３８】
例えば、・・・・「さ（ｓａ）：Ｃ３：Ｔ１・・・」「い（ｉ）：Ｄ３：Ｔ２・・・」「た（ｔａ）：Ｅ３：Ｔ３・・・」を演奏データとして入力するものとすると、音韻トラックＴｐには、図９、１０に示すように、音韻の種類を示す音韻情報として、Ｓｉｌ、Ｓｉｌ＿ｓ、ｓ＿ａ、ａ・・・ａ＿Ｓｉｌ、Ｓｉｌ等のアイテムが保持される。Ｓｉｌは無音を、Ｓｉｌ＿ｓは無音から子音ｓへの音韻遷移を示している。
【００３９】
図１０に示すように、各音韻情報Ｓｉｌ、Ｓｉｌ＿ｓ、ｓ＿ａ、ａ・・・は、開始時刻情報（Ｂｅｇｉｎ　Ｔｉｍｅ）、継続時間情報（Ｄｕｒａｔｉｏｎ）、音韻情報（ＰｈＵ）から構成される。ただし、音韻遷移部分を示すアイテムは、音韻情報として、先行音韻情報（ＰｈＵ１）と後続音韻情報（ＰｈＵ２）との２種類を有する。音高トラックＴｉには、図９に示すような音高変化情報９０が記憶される。
【００４０】
次に、図２に示す各ステップ４０−４８の詳細な処理内容を説明する。
〔ステップ４０（演奏データ入力）〕
まず、ステップ４０における演奏データ入力の詳細な手順を図１１により説明する。
【００４１】
ステップ４０−１では初期化処理を行う。ここでは、ＲＡＭ１６内の受信回数カウンタＮをゼロにセットする。
【００４２】
ステップ４０−２では、ｎ＝Ｎ番目の演奏データを受信し、受信バッファとしてのＲＡＭ１６内に書き込む。
ステップ４０−３では、このｎ＝Ｎ番目の演奏データがデータエンド（データの終端）であるか否かが判定される。データエンドである場合（ＹＥＳ）には、ステップ４０−６に移動して終端処理を実行する。データエンドでない場合（ＮＯ）には、ステップ４０−４に移行する。
【００４３】
ステップ４０−４では、受信されたｎ＝Ｎ番目の演奏データに基づいて歌唱合成スコアを形成する。ステップ４０−５では、カウンタＮの値を１増加させてＮ＋１としてステップ４０−２に戻り、次の演奏データを受信する。このようにして演奏データがデータエンドとなるまで繰り返すことにより、すべての演奏データについての歌唱合成スコアＳＣがＲＡＭ１６の受信バッファに入力される。
【００４４】
［ステップ４２（歌唱合成スコア形成）］
次に、ステップ４２の歌唱合成スコアの形成手順の詳細を図１２を用いて説明する。
まず、ステップ４２−１で、ＣＰＵ１２がＲＡＭ１６の受信バッファより演奏データを受信する。ステップ４２−２では、受信された演奏データのうち、歌唱合成スコア形成に必要なものを抽出する。ステップ４２−３では、管理データを作成する。管理データは、後続の演奏データを処理する際、先行する演奏データの内容に合わせたデータ処理をするために使用される各種のデータであり、後述するように、例えば音韻状態（ＰｈＵＳｔａｔｅ）、音素（Ｐｈｏｎｅｍｅ）、音高（Ｐｉｔｃｈ）、歌唱音速さ（Ｖｅｌｏｃｉｔｙ）、現ノートオン（Ｃｕｒｒｅｎｔ　　Ｎｏｔｅ　　Ｏｎ）、現ノートデュレーション（Ｃｕｒｒｅｎｔ　　Ｎｏｔｅ　　Ｄｕｒａｔｉｏｎ）、フルデュレーション（Ｆｕｌｌ　Ｄｕｒａｔｉｏｎ）、イベント状態（ＥｖｅｎｔＳｔａｔｅ）などの情報を含んでいる。情報の内容、管理データの作成の詳細な手順については次で述べる。
【００４５】
次に、ステップ４２−４では、演奏データ、前ステップで作成された管理データ、及び先行演奏データについて形成され保存された歌唱合成スコアに基づいて音韻トラックＴｐを形成する。続くステップ４２−５では、演奏データ、前ステップで作成された管理データ、及び先行演奏データについて形成され保存された歌唱合成スコアに基づいて音高トラックＴｉを形成する。
同様にして、続くステップ４２−６、７では、演奏データ、前ステップで作成された管理データ、及び先行演奏データについて形成され保存された歌唱合成スコアに基づいて遷移トラックＴｒ、ビブラートトラックＴｂを形成する。
そして、ステップ４２−８では、後続の演奏データのためのスコアデータを形成し保存する。これを全演奏データについて完了させると、歌唱合成スコアが完成する。
【００４６】
〔ステップ４２−３（管理データ作成）〕
次に、図１２のステップ４２−３に示す管理データの作成の詳細な手順を、図１３に基づいて説明する。
最初に、ステップ４２−３．１において、演奏データを受信し、続くステップ４２−３．２においてこの演奏データに含まれる音韻の特性を分析する。具体的には、演奏データに含まれる音韻が▲１▼子音＋母音か、又は▲２▼母音のみ（鼻音のみ）かを分析し、その結果ＰｈＵＳｔａｔｅを保存する。▲１▼の場合はＰｈＵＳｔａｔｅ＝Ｃｏｎｓｏｎａｎｔ　＿Ｖｏｗｅｌと、▲２▼の場合はＰｈＵＳｔａｔｅ＝Ｖｏｗｅｌとする。
【００４７】
次に、ステップ４２−３．３で、演奏データ中の音高を分析し、その結果Ｐｉｔｃｈを保存する。
続くステップ４２−３．４で、演奏データの歌唱音速さを分析し、その結果Ｖｅｌｏｃｉｔｙを保存する。
続くステップ４２−３．５で、Ｖｅｌｏｃｉｔｙに基づき、音韻遷移時間長伸縮率Ｒｐｔのデータを取得する。この音韻遷移時間長伸縮率Ｒｐｔは、音韻遷移時間長を補正するため、音韻遷移時間長に乗算するために準備されるものである。詳細は後述する。
【００４８】
伸縮率Ｒｐｔは、歌唱音速さＶｅｌｏｃｉｔｙと、例えば図１４に示すような関係とすることができ、この関係を示したテーブルをＲＯＭ１４等に記憶させておくことができる。すなわち、歌唱音速さＶｅｌｏｃｉｔｙが図１４に示す標準値Ｄｅｆａｕｌｔ前後である場合には、Ｒｐｔは歌唱音速さＶｅｌｏｃｉｔｙの増加に対して単調に減少するようにすることができる。また、歌唱音速さＶｅｌｏｃｉｔｙが標準値Ｄｅｆａｕｌｔよりも十分に大又は小である場合には、Ｒｐｔは歌唱音速さＶｅｌｏｃｉｔｙの大きさにかかわらず一定とすることができる。この図１４に示す関係は１例であって、目的や状況により他の関係を示すテーブルを採用しても良いことはいうまでもない。
【００４９】
続くステップ４２−３．６で、演奏データに含まれる実歌唱時刻を分析し、得られた実歌唱開始時刻Ｃｕｒｒｅｎｔ　Ｎｏｔｅ　Ｏｎを保存する（図１５参照）。このとき、図１５に示すように、乱数等によって与えられるΔｔだけＣｕｒｒｅｎｔ　Ｎｏｔｅ　Ｏｎを更新することで、歌唱開始時刻にゆらぎを与えることができる。
【００５０】
また、実歌唱長を現ノートデュレーション（Ｃｕｒｒｅｎｔ　Ｎｏｔｅ　Ｄｕｒａｔｉｏｎ）とし、実歌唱開始時刻から実歌唱長だけ経過した時間を、現ノートオフ（Ｃｕｒｒｅｎｔ　　Ｎｏｔｅ　Ｏｆｆ）とする（図１５参照）。
【００５１】
続くステップ４２−３．７では、管理データに基づき現演奏データの実歌唱時刻を分析する。まず、先行演奏データの並び替えを済ませた受信ナンバーＰｒｅｖｉｏｕｓ　　Ｅｖｅｎｔ　　Ｎｕｍｂｅｒ、先行演奏データについて形成され保存された歌唱合成スコアのデータＰｒｅｖｉｏｕｓ　Ｓｃｏｒｅ　Ｄａｔａ、先行演奏データの実歌唱終了時刻を表わす先行ノートオフ情報等を取得する。これらの情報に基づき、先行演奏データ、現演奏データの接続状況を分析し、その結果Ｅｖｅｎｔ　Ｓｔａｔｅを保存する。
図１５（ａ）に示すＣａｓｅ１のように、無音が挿入されず先行演奏データと現演奏データが連続する場合にはＥｖｅｎｔ　Ｓｔａｔｅ＝Ｔｒａｎｓｉｔｉｏｎとする。一方、図１５（ｂ）のＣａｓｅ２のように、先行演奏データと現演奏データとの間に無音が挿入される場合には、Ｅｖｅｎｔ　Ｓｔａｔｅ＝Ａｔｔａｃｋとする。
【００５２】
次に、歌唱合成スコアＳＣを構成する各トラックを形成するための詳細な手順を説明する。ただし、遷移トラックＴｒ、ビブラートトラックＴｂ、音高トラックＴｉの形成処理については、本発明との関連が薄いため、説明を省略し、音韻トラックＴｐの形成処理のみについて説明する。
【００５３】
［ステップ４２−４（音韻トラックＴｐ形成）］
次に、図１２のステップ４２−４に示す音韻トラックＴｐの形成処理の詳細な手順を、図１６に示すフローチャートにより説明する。
最初に、ステップ４２−４．１において、演奏データ、管理データ、歌唱合成スコアを受信する。続くステップ４２−４．２では、管理データに基づき、音韻遷移ＤＢ１４ｂより音韻遷移時間長データを獲得する。この音韻遷移時間長データの獲得方法の詳細手順については次項で述べる。
【００５４】
次に、ステップ４２−４．３において、管理データ中のＥｖｅｎｔ　ＳｔａｔｅがＡｔｔａｃｋであるか否かが判定される。判定が肯定的（ＹＥＳ）である場合には、ステップ４２−４．４のＳｉｌｅｎｃｅ歌唱長算出の手順に移行する。Ｓｉｌｅｎｃｅ歌唱長の意義については後述する。一方、判定が否定的（ＮＯ）、すなわち、ＥｖｅｎｔＳｔａｔｅ＝Ｔｒａｎｓｉｔｉｏｎである場合には、ステップ４２−４．５の先行Ｖｏｗｅｌ歌唱長算出の手順に移行する。先行Ｖｏｗｅｌ歌唱長の意義については後述する。
ステップ４２−４．４又は５の処理が完了すると、ステップ４２−４．６のＶｏｗｅｌ歌唱長を算出する処理に移行する。詳細は後述する。
【００５５】
次に、上述したステップ４２−４．２（音韻遷移時間長の獲得）の詳細な手順を図１７に示すフローチャートにより説明する。
最初に、ステップ４−２．１で管理データ及び歌唱合成スコアのデータを受信する。続くステップ４−２．２で、ＲＡＭ１６に記憶されている全ての遷移時間長データ（後述のステップ４−２．６、７、９〜１２で獲得される音韻遷移時間長）を初期化する。
【００５６】
次に、ステップ４−２．３では、管理データに基づいてＶ＿Ｓｉｌ（母音から無音へ）の音韻遷移時間長を音韻遷移ＤＢ１４ｂから獲得する。この手順は、一般に日本語が常に母音で終わることから必要となるものである。一例として、管理データの音韻が母音「ａ」であり、その音高がＰ１であったとすると、音韻遷移ＤＢ１４ｂからは、「ａ＿Ｓｉｌ」と「Ｐ１」に対応した音韻遷移時間長が獲得される。
【００５７】
次に、ステップ４−２．４において、管理データに基づいてＥｖｅｎｔＳｔａｔｅ＝Ａｔｔａｃｋであるか否かが判定される。判定が肯定的（ＹＥＳ）であれば、ステップ４−２．５へ移行し、否定的（ＮＯ）であればステップ４−２．８へ移行する。
ステップ４−２．５では、管理データに基づいて、ＰｈＵＳｔａｔｅ＝Ｃｏｎｓｏｎａｎｔ＿Ｖｏｗｅｌか否かが判定される。この判定結果が肯定的（ＹＥＳ）であれば、ステップ４−２．６に移行し、否定的（ＮＯ）であればステップ４−２．１１へ移行する。同様にステップ４−２．８では、管理データに基づいて、ＰｈＵＳｔａｔｅ＝Ｃｏｎｓｏｎａｎｔ＿Ｖｏｗｅｌか否かが判定される。この判定結果が肯定的（ＹＥＳ）であれば、ステップ４−２．９に移行し、否定的（ＮＯ）であればステップ４−２．１２へ移行する。
【００５８】
要するに、このステップ４−２．４、４−２．５、４−２．８では、
受信された管理データに係る音韻が、
（ａ）その音韻が立ち上がり部分（ａｔｔａｃｋ）にあり、その音韻が子音と母音の組合せである場合
（ｂ）その音韻が立ち上がり部分（ａｔｔａｃｋ）にあり、その音韻が母音のみ（又は有声子音のみ）である場合
（ｃ）その音韻が遷移部分（ｔｒａｎｓｉｔｉｏｎ）にあり、その音韻が子音と母音の組合せである場合
（ｄ）その音韻が遷移部分（ｔｒａｎｓｉｔｉｏｎ）にあり、その音韻が母音である場合の４つの場合に分け、それぞれに必要なデータを獲得させるようにしているものである。
【００５９】
上記（ａ）の場合には、ステップ４−２．６へ移行する。ステップ４−２．６では、管理データに基づいて音韻遷移ＤＢ１４ｂから無音から子音への音韻遷移時間長Ｓｉｌｅｎｃｅ＿Ｃｏｎｓｏｎａｎｔを獲得する。獲得の具体的な方法は、ステップ４−２．３における方法と同様である。続くステップ４−２．７では、管理データに基づいて音韻遷移ＤＢ１４ｂから子音から母音への音韻遷移時間長Ｃｏｎｓｏｎａｎｔ＿Ｖｏｗｅｌを獲得する。獲得の具体的な方法は、ステップ４−２．３における方法と同様である。これにより（ａ）の場合の音韻遷移長データの獲得が完了する。
【００６０】
上記（ｂ）の場合には、ステップ４−２．１１へ移行して、管理データに基づいて、無音から母音への音韻遷移時間長Ｓｉｌｅｎｃｅ＿Ｖｏｗｅｌを獲得する。獲得の具体的な方法は、ステップ４−２．３における方法と同様である。
上記（ｃ）の場合には、ステップ４−２．９に移行する。日本語の場合、遷移部分の直前の音素は一般に母音であるので、ステップ４−２．９では、管理データ及び歌唱合成スコアに基づいて、先行母音から子音への音韻遷移長ｐＶｏｗｅｌ＿Ｃｏｎｓｏｎａｎｔを獲得する。獲得の具体的な方法は、ステップ４−２．３における方法と同様である。続いて、ステップ４−２．１０において、管理データ及び子音データに基づいて、子音から母音への音韻遷移長Ｃｏｎｓｏｎａｎｔ＿Ｖｏｗｅｌを獲得して、必要なデータの獲得が完了する。
【００６１】
上記（ｄ）の場合には、ステップ４．２−１２に移行し、管理データに基づいて、先行母音から母音への音韻遷移時間長ｐＶｏｗｅｌ＿Ｖｏｗｅｌを獲得する。獲得の具体的な方法は、ステップ４−２．３における方法と同様である。
こうして、必要な音韻遷移時間長データが得られたら、これらの音韻遷移時間長データを管理データ中に含まれる歌唱音速さＶｅｌｏｃｉｔｙに基づいて補正する（ステップ４−２．１３）。
音韻遷移時間長データの補正は、音韻遷移時間長データに、上記のステップ４２−３．５で取得した音韻遷移時間長伸縮率Ｒｐｔを乗算することにより行われる。
【００６２】
このステップ４．２−１３による効果を図１８、１９により説明する。図１８は本実施の形態のステップ４．２−１３を実施した場合の音韻トラックの状態を示し、図１９はこれを実施しない場合の音韻トラック（従来技術）の状態を示している。
図１８に示す本実施の形態の場合において、（ａ）は、「さ（ｓａ）：Ｃ３：Ｖ１・・・」「い（ｉ）：Ｄ３：Ｖ２・・・」「た（ｔａ）：Ｅ３：Ｖ３・・・」と演奏する場合を、（ｂ）は「さ（ｓａ）：Ｃ３：Ｖ４・・・」「い（ｉ）：Ｄ３：Ｖ５・・・」「た（ｔａ）：Ｅ３：Ｖ６・・・」と演奏する場合を示している。すなわち、（ａ）（ｂ）は音韻（ｓａ、ｉ、ｔａ）と音高（Ｃ３，Ｄ３，Ｅ３）は同じだが、ベロシティ（歌唱音速さ）は変化させた場合（例：Ｖ１がＶ４に変化）を示している。
【００６３】
本実施の形態では、ベロシティ（歌唱音速さ）の大きさに基づいて、音韻部分及び音韻遷移部分の時間長が、例えば図１４に示すグラフのように変化する。
例えば、音韻「ｓａ」の部分に注目すると、（ａ）の場合よりも（ｂ）の場合の方がベロシティが高いので（Ｖ４＞Ｖ１）、音韻遷移部分「＃＿ｓ」「ｓ＿ａ」の部分の時間長は、（ａ）の場合よりも（ｂ）の場合を短くしている。同様に、「ｔａ」の部分に注目すると、（ａ）の場合よりも（ｂ）の場合の方がベロシティが低いので（Ｖ６＜Ｖ３）、音韻遷移部分「ｉ＿ｔ」「ｔ＿ａ」の部分の時間長は、（ａ）の場合よりも（ｂ）の場合を長くしている。
【００６４】
これに対し、図１９に示す従来技術の場合には、同図（ａ）（ｂ）のように、ベロシティを変化させても音韻遷移時間長は変化せず、これにより合成歌唱音声に不自然さが残る。
【００６５】
次に、図１６に示すステップ４２−４．４のＳｉｌｅｎｃｅ歌唱長を算出する手法を図２０〜２１により説明する。
図２０はＳｉｌｅｎｃｅ歌唱長の算出の手順を示すフローチャートであり、図２１は、Ｓｉｌｅｎｃｅ歌唱長の概念を説明するものである。
Ｓｉｌｅｎｃｅ歌唱長とは、図２１に示すように、ＥｖｅｎｔＳｔａｔｅ＝Ａｔｔａｃｋにおいて、
無音部の一部をなす部分の長さを示している。すなわち、無音時間は、
▲１▼先行母音から無音への音韻遷移時間長の無音部
▲２▼Ｓｉｌｅｎｃｅ歌唱長
▲３▼無音から子音又は母音への音韻遷移時間長の無音部
の３つの合計からなる。
【００６６】
従って、Ｓｉｌｅｎｃｅ歌唱長は、演奏データ、管理データ、歌唱合成スコアから得られる無音時間の長さ、及び上記▲１▼、▲３▼の情報に基づき演算することができる。図２１に示すように、Ｓｉｌｅｎｃｅ歌唱長の大きさは、接続される先行音韻と後続音韻の音韻の種類によって異なる。
【００６７】
次に、Ｓｉｌｅｎｃｅ歌唱長の算出の手順を図２０に基づいて説明する。最初に、ステップ４．４−１において演奏データ、管理データ、歌唱合成スコアのデータを受信する。続くステップ４．４−２では、管理データの音韻状態ＰｈＵＳｔａｔｅがＣｏｎｓｏｎａｎｔ＿Ｖｏｗｅｌか否かが判定される。判定結果が肯定的（ＹＥＳ）であればステップ４．４−３に移行する。判定結果が否定的（ＮＯ）であれば、ステップ４．４−３はスキップしてステップ４．４−４に移行する。
【００６８】
ステップ４．４−３では、子音歌唱時間を算出する。子音歌唱時間とは、この後続の音韻中に子音が含まれる場合において、その子音の発音が継続される時間を意味する。この子音歌唱時間は、後続音韻の種類によって異なる。これを図２１に基づいて説明する。
図２１（Ａ）は、先行母音（「あ」）−無音−子音「さ」と発音させる場合の音韻トラックＴｐの状態を、同図（Ｂ）は、先行母音（「あ」）−無音−子音「ぱ」と発音させる場合の音韻トラックＴｐの状態を、同図（Ｃ）は、先行母音（「あ」）−無音−後続母音「い」と発音させる場合の音韻トラックＴｐの状態を示している。図２１からわかるように、（Ｃ）の場合には当然ながら子音歌唱時間は無い。従って、後続音韻が母音のみの場合には、ステップ４．４−２によりステップ４．４−３がスキップされる。
【００６９】
次に、ステップ４．４−４において、Ｓｉｌｅｎｃｅ歌唱長の大きさを算出する。なお、子音歌唱時間は、演奏データに含まれる歌唱子音伸縮率（Ｃｏｎｓｏｎａｎｔ　　Ｍｏｄｕｌａｔｉｏｎ）によって変化する。図２２は、このことを説明するための図である。
図２２（Ａ）は、歌唱子音伸縮率が１より大きい場合である。この場合、無音から子音への音韻遷移Ｓｉｌ＿Ｃの子音長と、子音から母音への音韻遷移Ｃ＿Ｖの子音長との和に歌唱子音伸縮率を掛け合わせたものをＣｏｎｓｏｎａｎｔ歌唱長として加算することにより、子音歌唱時間を伸長する。
【００７０】
一方、図２２（Ｂ）は、歌唱子音伸縮率が１より小さい場合である。この場合、Ｓｉｌ＿Ｃの子音長と、子音から母音への音韻遷移Ｃ＿Ｖの子音長との双方に歌唱子音伸縮率を掛け合わせることにより、子音歌唱時間を短縮する。
【００７１】
〔ステップ４２−４−５（先行Ｖｏｗｅｌ歌唱長算出）〕
次に、ステップ４２−４−５における先行Ｖｏｗｅｌ歌唱長の算出の手法を、図２３及び図２４を用いて詳細に説明する。この先行Ｖｏｗｅｌ歌唱長とは、先行音韻と後続音韻が無音を挟まず連続している状態（ＥｖｅｎｔＳｔａｔｅ＝Ｔｒａｎｓｉｔｉｏｎ）の場合において、その先行音韻の母音部分の歌唱時間（以下、先行母音歌唱時間と称す）を伸縮するために設定される時間の長さを意味する。
【００７２】
先行音韻と後続音韻との間の時間から、後続音韻の子音部分が歌唱される時間（以下、子音歌唱時間と称す）を差し引いた部分が先行母音歌唱時間である（図２４参照）。従って、設定されるべき先行母音歌唱時間の長さは、子音歌唱時間に基づいて決定される。なお、本実施の形態では、この先行母音歌唱時間の長さの決定は、この先行母音歌唱時間の一部としての先行Ｖｏｗｅｌ歌唱長を伸縮することにより行われる。
【００７３】
例えば、図２４（Ａ）は、先行音韻ｐＶ「ａ」に続いて、後続音韻として「ｓａ」（子音と母音の組合せ）が発音された場合を、同（Ｂ）は先行音韻ｐＶ「ａ」に続いて、後続音韻「ｐａ」（子音と母音の組合せ）が発音された場合を、同（Ｃ）は先行音韻ｐＶ「ａ」に続いて、後続音韻「ｉ」（母音のみ）が発音された場合を示している。
前２者の場合には、子音歌唱時間が存在するが、（Ａ）のそれのほうが（Ｂ）のそれよりも長い。このため、先行母音歌唱時間も、（Ａ）の場合の方が（Ｂ）の場合に比して短くなる。（Ｃ）の場合には、子音歌唱時間が存在しないので、先行母音歌唱時間は最大となる。
【００７４】
なお、子音歌唱時間は、演奏データに含まれる歌唱子音伸縮率（Ｃｏｎｓｏｎａｎｔ　　Ｍｏｄｕｌａｔｉｏｎ）によって変化する。図２５は、このことを説明するための図である。
図２５（Ａ）は、歌唱子音伸縮率が１より大きい場合である。この場合、先行音韻から後続音韻（この図では子音と母音の組合せ）への音韻遷移ｐＶ＿Ｃの子音長と、子音から母音への音韻遷移Ｃ＿Ｖの子音長との和に歌唱子音伸縮率を掛け合わせたものをＣｏｎｓｏｎａｎｔ歌唱長として加算することにより、子音歌唱時間を伸長する。
一方、図２５（Ｂ）は、歌唱子音伸縮率が１より小さい場合である。この場合、
ｐＶ＿Ｃの子音長と、子音から母音への音韻遷移Ｃ＿Ｖの子音長との双方に歌唱子音伸縮率を掛け合わせることにより、子音歌唱時間を短縮する。
【００７５】
ステップ４２−４．６のＶｏｗｅｌ歌唱長算出の処理を図２６及び図２７を用いて説明する。Ｖｏｗｅｌ歌唱長は、「次の演奏データとの間に無音が挿入される」という仮定の下、仮定が真実であった場合に後続音韻の母音の後に接続され、真実でなかった場合には破棄されるものである。
Ｖｏｗｅｌ歌唱長を算出するには、まず、演奏データ、管理データ、歌唱合成スコアのデータを受信し（ステップ４．６−１）、これらの受信データに基づいてＶｏｗｅｌ歌唱長を算出する（ステップ４．６−２）。この算出方法を図２７により説明する。最初に、現演奏データ（Ｘ＿Ｖ、なお、Ｘは無音、子音、先行母音のいずれでも可）と次の演奏データ（図示せず）との間に無音（Ｓｉｌ）が挿入される、と仮定する。
【００７６】
この仮定の下では、Ｘ＿Ｖから無音Ｓｉｌでの間の母音Ｖの歌唱時間（母音歌唱時間）は、▲１▼Ｘ＿Ｖの母音Ｖの歌唱時間長、▲２▼Ｖｏｗｅｌ歌唱長、▲３▼Ｖ＿Ｓｉｌの母音Ｖの歌唱時間長の和となる。Ｖ＿Ｓｉｌ内のＶとＳｉｌの境界が実歌唱終了時刻（Ｃｕｒｒｅｎｔ　Ｎｏｔｅ　Ｏｆｆ）と一致させた後、これにより決定した母音歌唱時間に基づき、Ｖｏｗｅｌ歌唱長が算出される。
【００７７】
次の演奏データを受信したとき、現演奏データとの間の接続状態（ＥｖｅｎｔＳｔａｔｅ）が判明し、上記の仮定が真実であったか否かが明らかになる。
真実であった場合（ＥｖｅｎｔＳｔａｔｅ＝Ａｔｔａｃｋ）には、算出されたＶｏｗｅｌ歌唱長は更新されずそのまま使用される。真実でなかった場合（ＥｖｅｎｔＳｔａｔｅ＝Ｔｒａｎｓｉｔｉｏｎ）には、前述のステップ４．５−４によって先行Ｖｏｗｅｌ歌唱長が算出される。
【００７８】
〔第２の実施の形態〕
次に、本発明の第２の実施の形態を、図２８に基づいて説明する。第１の実施の形態では、音韻遷移データベース１４ｂにおいて、音韻情報ＰｈＵ１、ＰｈＵ２、及び音高情報Ｐｉｔｃｈと対応させて音韻遷移時間長データを記憶させる一方、この音韻遷移データベース１４ｂから読み出した音韻遷移時間長データを、ベロシティの大きさに基づいて補正する。これに対し、本実施の形態では、音高情報Ｐｉｔｃｈに基づいて音韻遷移長を補正する。すなわち、図１７に示すステップ４−２．１３での補正の方法が異なり、他の部分は第１の実施の形態と同一である。
【００７９】
本実施の形態では、図１４に示すテーブルに代えて、図２８に示すように、音高ｐと音韻遷移時間長伸縮率Ｒｐｔの関係を示すテーブルをＲＯＭ１４等に記憶させている。そして、音高データを演奏データ中から抽出し、この抽出された音高データに対応する音韻遷移時間長伸縮率Ｒｐｔを図２８に示すテーブルから読み出し、音韻遷移時間長の補正を行っている。
これにより、図２９（ａ）（ｂ）に示すように、同じ音韻（ｓａ，ｉ，ｔａ）、ベロシティ（Ｖ１、Ｖ２、Ｖ３）であっても、音高が異なる場合には音韻遷移時間長が変化する。
なお、図２８に示すテーブルは、音高が標準値Ｄｅｆａｕｌｔ２の近辺である場合には音韻遷移時間長伸縮率Ｒｐｔは音高の変化に拘わらず一定であり、音高がＤｅｆａｕｌｔ２よりも十分大きい又は小さい場合には音高の増加に応じてＲｐｔが単調減少するようなものとしているが、歌唱合成の目的等に応じて適宜変化させることができることは言うまでもない。
【００８０】
〔第３の実施の形態〕
次に、本発明の第３の実施の形態を説明する。第３の実施の形態では、演奏データ中に演奏音強さに関する情報を保持し、この演奏音強さの大きさに基づいて、音韻遷移時間長伸縮率Ｒｐｔを変化させることにより、音韻遷移長を補正している。すなわち、図３０に示すような演奏音強さと音韻遷移時間長伸縮率Ｒｐｔとの関係を示すテーブルをＲＯＭ１４等に記憶しており、読み出された演奏音強さ情報に基づいて伸縮率Ｒｐｔを決定している。その他の点は第１の実施の形態と同様である。
【００８１】
〔第４の実施の形態〕
次に、本発明の第４の実施の形態を説明する。この第４の実施の形態では、第１の実施の形態と同様、ベロシティの大きさにもとづいて音韻遷移時間長伸縮率Ｒｐｔを変化させている。ただし、図３１に示すように、伸縮率Ｒｐｔに対し、伸縮率ゆらぎレンジを設定し、ベロシティの大きさが同じであっても、場合によって伸縮率Ｒｐｔの大きさがランダムに変化するようにされる。これにより、合成歌唱音声に変化が加わり、より自然性の高い歌唱音声とすることができる。
【００８２】
図３１では、ベロシティの大きさがＤｅｆａｕｌｔのときにはゆらぎレンジの大きさをゼロとし、ベロシティとＤｅｆａｕｌｔとの差が大きくなるに従ってゆらぎレンジの大きさが大きくなるようにしている。しかし、図３２のように、ゆらぎレンジの大きさをベロシティの大きさに拘わらず略一定としてもよい。また、図３３に示すように、ベロシティがＤｅｆａｕｌｔ付近である場合にゆらぎレンジを最大とし、Ｄｅｆａｕｌｔから離れるに従ってゆらぎレンジが小さくなるようにしてもよい。
【００８３】
なお、この第４の実施の形態では、ベロシティの大きさにもとづいて音韻遷移時間長伸縮率Ｒｐｔを変化する状況において、伸縮率Ｒｐｔにゆらぎを与えているが、本発明はこれに限定されるものではない。例えば、第２の実施の形態のように、音高の大きさにもとづいて音韻遷移時間長伸縮率Ｒｐｔを変化する状況において、伸縮率Ｒｐｔにゆらぎを与えることもできるし、また、第３の実施の形態のように、歌唱音強さに応じて音韻遷移時間長伸縮率Ｒｐｔを変化する状況において、伸縮率Ｒｐｔにゆらぎを与えることもできる。
【００８４】
（変形例）
この発明は、上記した実施の形態に限定されるものではなく、種々の改変形態で実施可能なものである。例えば、次のような変更が可能である。
【００８５】
（１）上記した実施の形態では、歌唱合成スコアの形成が完了した後、歌唱合成スコアに従って歌唱音声を合成するようにしたが、歌唱合成スコアを形成しつつ形成済みの歌唱合成スコアに従って歌唱音声を合成するようにしてもよい。このためには、例えば演奏データの受信を割込み処理により優先的に行いつつ受信済みの演奏データに基づいて歌唱合成スコアを形成すればよい。
【００８６】
（２）上記した実施の形態では、歌唱合成スコアを音韻トラックＴｐ、音高トラックＴｉ、遷移トラックＴｒ、ビブラートトラックＴｂの４トラックで構成したが、トラック数はこれに限られない。例えば、音韻トラックＴｐに音高情報も記憶させて音韻トラックＴｐと音高トラックＴｉとを合体させてもよいし、全てのトラックを統合して１トラックとしてもよい。
【００８７】
【発明の効果】
以上説明したように、本発明によれば、音韻遷移時間長に変化を加えることにより、自然な歌唱音声を簡易に合成することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係る歌唱合成システムの全体構成を示す。
【図２】図１に示す歌唱合成システムにおける歌唱合成手順の概略を示す。
【図３】図２に示す歌唱合成手順実行の結果を時系列的に表現したものである。
【図４】演奏データに含まれる情報の内容を示す。
【図５】音韻ＤＢ１４ａ内に含まれる情報の内容を示す。
【図６】音韻遷移ＤＢ１４ｂ内の情報の内容を示す。
【図７】状態遷移ＤＢ１４ｃ内の情報の内容を示す。
【図８】ビブラートＤＢ１４ｄ内の情報の内容を示す。
【図９】図１に示す歌唱合成システムにより形成される歌唱合成スコアＳＣの構成の一例を示す。
【図１０】歌唱合成スコアＳＣの音韻トラックＴｐに含まれるアイテムを説明する表である。
【図１１】図２に示すフローチャートのステップ４０の詳細な手順を示すフローチャートである。
【図１２】図２に示すフローチャートのステップ４２の詳細な手順を示すフローチャートである。
【図１３】図１２に示すフローチャートのステップ４２−３（管理データ作成）の詳細な手順を示すフローチャートである。
【図１４】音韻時間遷移長の補正をするためＲＯＭ１４等に記憶されるテーブルを示す。
【図１５】演奏データに含まれる実歌唱時刻を分析する手法を説明する概念図である。
【図１６】図１２に示すフローチャートのステップ４２−４（音韻トラックＴｐの形成）の詳細な手順を示すフローチャートである。
【図１７】図１６に示すフローチャートのステップ４２−４．２（音韻遷移時間長獲得）の詳細な手順を示すフローチャートである。
【図１８】ステップ４−２．１３での音韻遷移時間長の補正を実行した場合の音韻トラックＴｐの様子を示す。
【図１９】ステップ４−２．１３での音韻遷移時間長の補正を実行しなかった場合（従来技術）の音韻トラックＴｐの様子を示す。
【図２０】図１６に示すフローチャートのステップ４２−４．４（Ｓｉｌｅｎｃｅ歌唱長算出）の詳細な手順を示すフローチャートである。
【図２１】Ｓｉｌｅｎｃｅ歌唱長算出の手法を示す説明図である。
【図２２】子音歌唱時間の決定方法を示す説明図である。
【図２３】図１６に示すフローチャートのステップ４２−４．５（先行Ｖｏｗｅｌ歌唱長の算出）の詳細な手順を示すフローチャートである。
【図２４】先行Ｖｏｗｅｌ歌唱長の算出の手法を示す説明図である。
【図２５】図２３に示すフローチャートのステップ４．５−３（子音歌唱時間算出）の手法を示す説明図である。
【図２６】図１６に示すフローチャートのステップ４２−４．６（Ｖｏｗｅｌ歌唱長の算出）の詳細な手順を示すフローチャートである。
【図２７】Ｖｏｗｅｌ歌唱長の算出の手法を説明するための説明図である。
【図２８】本発明の第２の実施の形態において、音韻時間遷移長の補正をするためのテーブルを示す。
【図２９】本発明の第２の実施の形態において、音韻遷移時間長の補正を実行した場合の音韻トラックＴｐの様子を示す。
【図３０】本発明の第３の実施の形態において、音韻時間遷移長の補正をするためのテーブルを示す。
【図３１】本発明の第４の実施の形態において、音韻時間遷移長の補正をするためのテーブルを示す。
【図３２】本発明の第４の実施の形態において、音韻時間遷移長の補正をするためのテーブルを示す。
【図３３】本発明の第４の実施の形態において、音韻時間遷移長の補正をするためのテーブルを示す。
【符号の説明】
１０・・・バス、　１２・・・ＣＰＵ、　１４・・・ＲＯＭ、　１４Ａ・・・歌唱合成ＤＢ、１６・・・ＲＡＭ、２０・・・検出回路、　２２・・・表示回路、　２４・・・外部記憶装置、　２６・・・タイマ、　２８・・・音源回路、　３０・・・ＭＩＤＩインターフェース、３４・・・操作子群、　３６・・・表示器、　３８・・・サウンドシステム、３９・・・ＭＩＤＩ機器、　Ｔｐ・・・音韻トラック、　Ｔｉ・・・音高トラック、　Ｔｒ・・・遷移トラック、　Ｔｂ・・・ビブラートトラック
【図１】
2004004440.tif 000003
【図２】
2004004440.tif 000004
【図３】
2004004440.tif 000005
【図４】
2004004440.tif 000006
【図５】
2004004440.tif 000007
【図８】
2004004440.tif 000008
【図６】
2004004440.tif 000009
【図７】
2004004440.tif 000010
【図９】
2004004440.tif 000011
【図１０】
2004004440.tif 000012
【図１１】
2004004440.tif 000013
【図１２】
2004004440.tif 000014
【図１３】
2004004440.tif 000015
【図１４】
2004004440.tif 000016
【図１５】
2004004440.tif 000017
【図１６】
2004004440.tif 000018
【図２０】
2004004440.tif 000019
【図１７】
2004004440.tif 000020
【図１８】
2004004440.tif 000021
【図１９】
2004004440.tif 000022
【図２１】
2004004440.tif 000023
【図２２】
2004004440.tif 000024
【図２４】
2004004440.tif 000025
【図２５】
2004004440.tif 000026
【図２３】
2004004440.tif 000027
【図２６】
2004004440.tif 000028
【図２７】
2004004440.tif 000029
【図２８】
2004004440.tif 000030
【図２９】
2004004440.tif 000031
【図３０】
2004004440.tif 000032
【図３１】
2004004440.tif 000033
【図３２】
2004004440.tif 000034
【図３３】
2004004440.tif 000035