(57)【特許請求の範囲】
【請求項１】
所定のサンプリング周波数でサンプリングされ、サンプル数Ｊで構成される音節波形データに対して、当該サンプリング周波数を維持しながら時間軸上でＱ（Ｑは２以上の整数）倍拡大し、Ｊ×Ｑサンプルの拡大波形データに変換する音節波形拡大手段と、
前記拡大波形データに対して所定の周波数解析を行い、発音開始時刻、発音終了時刻、音高、強さのデータを備える複数の符号コードで表現した符号コード群を作成する符号コード群作成手段と、
前記符号コード群を構成する全ての符号コードの音高をＱ倍に補正し、全ての符号コードの発音開始時刻と発音終了時刻を１／Ｑ倍に補正し、補正された符号コード群で構成される音節符号を作成する音節符号作成手段と、
前記音節符号を構成する各符号コードについて、所定の部分時間区間に含まれる各音高ごとに発音開始時刻と発音終了時刻との時間差と符号コードの強さとの積で与えられるエネルギー値の総和であるエネルギー総和値を算出する音高別エネルギー算出手段と、
複数の音節符号間で、所定の部分時間区間に含まれる各音高ごとに全てのエネルギー総和値を乗算して統合エネルギー値を算出する音高別エネルギー統合手段と、
前記統合エネルギー値が高い上位の音高を所定の個数だけ抽出し、抽出された各音高に対応する符号コードに、所定の強さ、所定の発音開始時刻、所定の発音終了時刻のパラメータを設定し、複数の符号コードで構成される音素符号に変換する符号変換手段と、
を有することを特徴とする音素符号変換装置。
【請求項２】
請求項１において、
前記部分時間区間として、単一の音節符号を構成する全ての符号コードにおける最小の発音開始時刻と最大の発音終了時刻との中間時刻から最大の発音終了時刻までの区間を設定し、
前記音高別エネルギー統合手段は、日本語カナ文字の「ア」に対応する複数個の「カ」「サ」「タ」「ナ」「ハ」「マ」などの複数の子音音節に対応する音節符号間で対応するエネルギー総和値を音高別に乗算して統合エネルギー値を算出し、
前記符号変換手段は、「Ａ」などの共通する母音音素の音素符号に変換することを特徴とする音素符号変換装置。
【請求項３】
請求項１または請求項２において、
前記部分時間区間として、単一の音節符号を構成する全ての符号コードにおける最小の発音開始時刻から最小の発音開始時刻と最大の発音終了時刻との中間時刻までの区間を設定し、
前記音高別エネルギー統合手段は、日本語カナ文字の「ア」「イ」「ウ」「エ」「オ」からなる５種の母音音節に対応する「カ」「キ」「ク」「ケ」「コ」などの複数の子音音節に対応する音節符号間で対応するエネルギー総和値を音高別に乗算して統合エネルギー値を算出し、
前記符号変換手段は、「Ｋ」などの共通する子音音素の音素符号に変換することを特徴とする音素符号変換装置。
【請求項４】
請求項３において、
前記音高別エネルギー統合手段は、日本語カナ文字の「ア」「イ」「ウ」「エ」「オ」からなる５種の母音音節に対応する「カ」「キ」「ク」「ケ」「コ」などの複数の子音音節に対応する音節符号間で対応するエネルギー総和値を音高別に乗算する際、
あらかじめ、「ア」「イ」「ウ」「エ」「オ」からなる５種の母音音節に対応する音素符号を決定しておき、
各子音音節のエネルギー総和値の中で、各々対応する母音の前記決定された音素符号を構成する全ての音高に対応するエネルギー総和値に所定の１未満の実数値を乗算することにより縮小するようにしていることを特徴とする音素符号変換装置。
【請求項５】
請求項１から請求項４のいずれかに記載の音素符号変換装置により作成され、日本語カナ文字の各音節を構成し、複数の音節の所定の部分時間区間に共通に含まれる音素に対応して、あらかじめ定義された音節符号を特定する音節識別情報と音素を特定する音素符号識別情報との対応関係を示した変換テーブルを参照しながら、種々の種類の音高を同時にもち、音の強さおよび音の長さが可変の複数の符号コードで構成される複数の音節符号を基に、各音節符号の所定の部分時間区間に共通に含まれる音素の成分を、所定の種類以下の音高を同時にもち、音の強さおよび音の長さが均一の複数の符号コードに変換されてなる音素符号を、音素符号を識別する音素符号識別情報と対応付けて記録するとともに、前記変換テーブルを記録した音素符号データベースと、
与えられた合成指示データに記載されている音節識別情報をもとに前記変換テーブルを参照しながら音素符号識別情報に変換し、対応する音素符号を前記音素符号データベースから抽出し、前記音節識別情報に従って、発音の開始および終了を特定する時刻を設定し、母音音素に対応する音素の発音の終了を特定する時刻より所定の無音区間を加えた時刻を後続する音節の発音の開始を特定する時刻として設定することにより合成音声データを生成する音素編集処理手段と、
を有することを特徴とする音声合成装置。
【請求項６】
請求項５において、
前記音素編集処理手段により生成された合成音声データを音声として出力する音声出力手段をさらに有することを特徴とする音声合成装置。
【請求項７】
請求項５または請求項６において、
前記音素編集処理手段により生成された合成音声データを五線譜に変換し、印刷する印刷手段をさらに有することを特徴とする音声合成装置。
【請求項８】
請求項５から請求項７のいずれかにおいて、
前記音素編集処理手段は、前記合成指示データに記載されている音節識別情報が母音音節で、日本語カナ文字の長音であるとき、その音節全体の発音時間を、所定の値だけ増加させることを特徴とする音声合成装置。
【請求項９】
請求項５から請求項７のいずれかにおいて、
前記音素編集処理手段は、前記合成指示データに記載されている音節識別情報が、日本語カナ文字の促音であるとき、当該促音の直後に配置される音節に対応する第１の音素と同一の音素を、当該第１の音素の直前に配置して、各音素の発音の開始を特定する時刻、発音の終了を特定する時刻を設定することを特徴とする音声合成装置。
【請求項１０】
請求項５から請求項７のいずれかにおいて、
前記音素編集処理手段は、前記合成指示データに記載されている音節識別情報が、日本語カナ文字の「ヤ」「ユ」「ヨ」の拗音であるとき、前記拗音の直前の音節については、第１の音素のみを設定し、当該第１の音素の直後に、前記拗音に対応する「ヤ」「ユ」「ヨ」いずれかの音節に対応する２つの音素を配置して、各音素の発音の開始を特定する時刻、発音の終了を特定する時刻を設定することを特徴とする音声合成装置。
【請求項１１】
請求項５から請求項１０のいずれかにおいて、
前記音素編集処理手段が、前記音節識別情報より変換された音素符号識別情報に対応する音素符号を前記音素符号データベースから抽出し、前記音節識別情報に従って、発音の開始および終了を特定する時刻を設定する際、前記無音区間に対して、設定された時間伸縮率を乗算し、前記発音の開始および終了を特定する時刻に対して所定の改変を施すようにしていることを特徴とする音声合成装置。
【請求項１２】
請求項５から請求項１１のいずれかにおいて、
前記音素編集処理手段が、前記音節識別情報より変換された音素符号識別情報に対応する音素符号を前記音素符号データベースから抽出し、前記音節識別情報に従って、発音の開始および終了を特定する時刻を設定する際、設定された音高オフセットパラメータに基づいて、前記音素符号データベースに記録されている前記音素符号が母音の場合、当該音素符号を構成する各符号コードの音高に対して、前記音高オフセットパラメータを加算し、前記合成音声データを構成する全ての母音音素に対応する符号コードの音高に対して所定の改変を施すようにしていることを特徴とする音声合成装置。
【請求項１３】
請求項１２において、
前記合成指示データには各音節ごとに音節識別情報とともに前記音高オフセットパラメータが定義されており、前記音素編集処理手段が、与えられた音節識別情報より変換された音素符号識別情報に対応する音素符号を前記音素符号データベースから抽出し、前記音節情報に従って、発音の開始および終了を特定する時刻を設定する際、前記各音節ごとに定義された音高オフセットパラメータに基づいて、前記音素符号データベースに記録されている前記音素符号が母音の場合、当該音素符号を構成する各符号コードの音高に対して、前記音高オフセットパラメータを加算し、前記合成音声データを構成する全ての母音音素に対応する符号コードの音高に対して、改変を施すようにしていることを特徴とする音声合成装置。
【請求項１４】
請求項１から請求項４のいずれかに記載の音素符号変換装置としてコンピュータを機能させるためのプログラム。
【請求項１５】
請求項５から請求項１３のいずれかに記載の音声合成装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、本発明は人間の声を基にして、電子楽器、楽譜等で利用可能な符号データを得るための技術に関する。
【背景技術】
【０００２】
従来、人間の声を擬似的に合成する手法は、種々の分野で利用されている。出願人は、人間の声をＰＣＭでデジタル化した後、フーリエ変換を用い、実効強度の大きい周波数に対応する符号コードを取得することにより音声合成を行う技術を提案している（特許文献１〜５参照）。
【０００３】
また、出願人は、玩具などに搭載されている性能の低いＭＩＤＩ音源でも再生可能とし、既存の楽譜編集ツールに読み込ませて五線譜に変換すると、判読性のある譜面が得られるようにするために、各音節ごとの符号コード群を音素ごとの符号コード群に変換する技術を提案している（特許文献６参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３７９５２０１号公報
【特許文献２】特許第４０３７５４２号公報
【特許文献３】特許第４１５６２６８号公報
【特許文献４】特許第４１３２３６２号公報
【特許文献５】特許第４０６１０７０号公報
【特許文献６】特願２００９−２４４６９８号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記特許文献６に記載の発明では、ＭＩＤＩ等の符号コード群として構成される音節符号に対して、各音高ごとに発音開始時刻と発音終了時刻との時間差と符号コードの強さとの積で与えられるエネルギー値の総和であるエネルギー総和値を算出し、複数の音節符号間で、各音高ごとに全てのエネルギー総和値を乗算して統合エネルギー値を算出し、統合エネルギー値が高い上位の音高を抽出して、音素符号を得るようにしたので、実際に人間が発音することにより得られた音節符号を利用して、より少ない数で全ての音節を表現可能な音素符号を得ることが可能となった。
【０００６】
しかしながら上記特許文献６に記載の発明では、同一話者が発した日本語音節７１音（図１１にカタカナで示す）を録音した波形音声データ一式を高精細なＭＩＤＩデータに変換し、変換された複数の音節ＭＩＤＩデータどうしを掛け合わせることにより、日本語音素２０音（図１１にアルファベットで示す）に対応する音素ＭＩＤＩデータを抽出してデータベース化する方法をとっていた。この場合、変換された高精細なＭＩＤＩデータの品質、特に音節における子音音素と母音音素の時間軸上における分離性能が生成される音素ＭＩＤＩデータの品質を左右する。既提案のＭＩＤＩ符号化方式（特許文献６）では、図１１に示すような変換テーブルを利用し、例えば「カ」「キ」「ク」「ケ」「コ」を掛け合わせて「Ｋ」という子音音素成分を抽出するが、単位音節において発音区間とエネルギーが圧倒的に大きい母音音素成分が抽出されやすい傾向があり、「カ」「キ」「ク」「ケ」「コ」を掛け合わせた場合、「Ｋ」という子音音素成分より、「ア」「イ」「ウ」「エ」「オ」に共通する母音音素成分が抽出されがちになる。
【０００７】
そこで、本発明は、演奏者が演奏し易いように簡略化した五線譜に変換可能な符号データを用いた音声合成機能を実現する上で、日本語音節単位で取得したデータを、より少ない数で構成可能な音素単位に変換する際に、子音音素成分と母音音素成分を時間軸上で明瞭に分離可能とする音素符号変換装置を提供することを課題とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明では、所定のサンプリング周波数でサンプリングされ、サンプル数Ｊで構成される音節波形データに対して、当該サンプリング周波数を維持しながら時間軸上でＱ（Ｑは２以上の整数）倍拡大し、Ｊ×Ｑサンプルの拡大波形データに変換する音節波形拡大手段と、前記拡大波形データに対して所定の周波数解析を行い、発音開始時刻、発音終了時刻、音高、強さのデータを備える複数の符号コードで表現した符号コード群を作成する符号コード群作成手段と、前記符号コード群を構成する全ての符号コードの音高をＱ倍に補正し、全ての符号コードの発音開始時刻と発音終了時刻を１／Ｑ倍に補正し、補正された符号コード群で構成される音節符号を作成する音節符号作成手段と、前記音節符号を構成する各符号コードについて、所定の部分時間区間に含まれる各音高ごとに発音開始時刻と発音終了時刻との時間差と符号コードの強さとの積で与えられるエネルギー値の総和であるエネルギー総和値を算出する音高別エネルギー算出手段と、複数の音節符号間で、所定の部分時間区間に含まれる各音高ごとに全てのエネルギー総和値を乗算して統合エネルギー値を算出する音高別エネルギー統合手段と、前記統合エネルギー値が高い上位の音高を所定の個数だけ抽出し、抽出された各音高に対応する符号コードに、所定の強さ、所定の発音開始時刻、所定の発音終了時刻のパラメータを設定し、複数の符号コードで構成される音素符号に変換する符号変換手段を有する音素符号変換装置を提供する。
【０００９】
本発明によれば、デジタル化された音節波形データの各強度配列を時間軸方向に所定の倍率だけ拡大した後、所定数Ｔ個の強度配列で構成される単位区間ごとに、所定数Ｐ種類の周波数に対応したスペクトル強度を算出し、周波数、時刻を含むＰ個の符号コードを得て、Ｐ個の符号コードの周波数をＱ倍、時刻を１／Ｑ倍に補正するようにしたので、従来と同等な周波数解析精度を維持しながら、解析における時間分解能を向上させ、主として音声信号における周波数変動を高精度に抽出した音節符号が得られ、さらに、得られた音節符号に対して、所定の部分時間区間に含まれる各音高ごとに発音開始時刻と発音終了時刻との時間差と符号コードの強さとの積で与えられるエネルギー値の総和であるエネルギー総和値を算出し、複数の音節符号間で、所定の部分時間区間に含まれる各音高ごとに全てのエネルギー総和値を乗算して統合エネルギー値を算出し、統合エネルギー値が高い上位の音高を抽出するようにしたので、部分時間区間として、母音、子音の特徴が存在する部分を部分時間区間として設定することにより、実際に人間が発音することにより得られた音節符号を利用して、より少ない数で全ての音節を表現可能な音素符号を母音と子音を明瞭に区別して得ることが可能となる。
【００１０】
また、本発明では、前記部分時間区間として、単一の音節符号を構成する全ての符号コードにおける最小の発音開始時刻と最大の発音終了時刻との中間時刻から最大の発音終了時刻までの区間を設定し、前記音高別エネルギー統合手段は、日本語カナ文字の「ア」に対応する複数個の「カ」「サ」「タ」「ナ」「ハ」「マ」などの複数の子音音節に対応する音節符号間で対応するエネルギー総和値を音高別に乗算して統合エネルギー値を算出し、前記符号変換手段は、「Ａ」などの共通する母音音素の音素符号に変換することを特徴とする。
【００１１】
本発明によれば、音節符号の後半部分を部分時間区間として設定し、対応する同一段の複数の子音音節に対応する音節符号後半部分間の演算を基に母音音素符号に変換するようにしたので、母音成分を的確に抽出した音素符号を得ることが可能となる。
【００１２】
また、本発明では、前記部分時間区間として、単一の音節符号を構成する全ての符号コードにおける最小の発音開始時刻から最小の発音開始時刻と最大の発音終了時刻との中間時刻までの区間を設定し、前記音高別エネルギー統合手段は、日本語カナ文字の「ア」「イ」「ウ」「エ」「オ」からなる５種の母音音節に対応する「カ」「キ」「ク」「ケ」「コ」などの複数の子音音節に対応する音節符号間で対応するエネルギー総和値を音高別に乗算して統合エネルギー値を算出し、前記符号変換手段は、「Ｋ」などの共通する子音音素の音素符号に変換することを特徴とする。
【００１３】
本発明によれば、音節符号の前半部分を部分時間区間として設定し、対応する同一行の複数の子音音節に対応する音節符号前半部分間の演算を基に子音音素符号に変換するようにしたので、子音成分を的確に抽出した音素符号を得ることが可能となる。
【発明の効果】
【００１４】
本発明によれば、演奏者が演奏し易いように簡略化した五線譜に変換可能な符号データを用いた音声合成機能を実現する上で、日本語音節単位で取得したデータを、より少ない数で構成可能な音素単位に変換する際に、子音音素成分と母音音素成分を時間軸上で明瞭に分離可能となるという効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】本発明における音節と音素の基本概念を示す図である。
【図２】本発明における音節と音素の基本概念を示す図である。
【図３】本発明に係る音素符号変換装置の一実施形態を示す構成図である。
【図４】音節波形データから音節符号を作成する処理の概要を示すフローチャートである。
【図５】時間軸方向の拡大、周波数の増加・時間情報の縮小の概念を示す図である。
【図６】本実施形態における解析周波数の論理的／物理的範囲の関係を示す図である。
【図７】時間軸拡大処理後の音響信号から抽出した単位区間におけるサンプル列と、調和信号の対応関係を示す図である。
【図８】単位区間長Ｔが調和信号の１／２周期以上で３／４周期未満の場合の解析フレームの時間軸延長を説明する図である。
【図９】単位区間長Ｔが調和信号の１／４周期以上で１／２周期未満の場合の解析フレームの時間軸延長を説明する図である。
【図１０】本実施形態に係る音素符号変換装置において、音節符号から音素符号への変換の処理概要を示すフローチャートである。
【図１１】音節と音素の対応関係を記録した変換テーブルを示す図である。
【図１２】母音音素作成の際の符号コード群の変化の様子を示す図である。
【図１３】子音音素作成の際の符号コード群の変化の様子を示す図である。
【図１４】音節符号と、音素符号の構成例を示す図である。
【図１５】音素符号記憶部１３に格納された男声の音素符号の例を示す図である。
【図１６】音素符号記憶部１３に格納された男声の音素符号の例を示す図である。
【図１７】音素符号記憶部１３に格納された女声の音素符号の例を示す図である。
【図１８】音素符号記憶部１３に格納された女声の音素符号の例を示す図である。
【図１９】図１５、図１６に示した男声の音素符号を五線譜化した例を示す図である。
【図２０】図１７、図１８に示した女声の音素符号を五線譜化した例を示す図である。
【図２１】音声合成装置の一実施形態を示す構成図である。
【発明を実施するための形態】
【００１６】
（１．本発明における音節と音素の基本概念）
以下、本発明の好適な実施形態について図面を参照して詳細に説明する。最初に、本発明における音節と音素の基本概念について説明する。なお、この音節と音素の基本概念については特許文献６と共通である。日本語の母音は、２つの特徴的な音声フォルマント成分を含む４つ以上の重音による和音で近似できることが知られている。子音は母音成分に加えて、摩擦音など雑音を表現する和音と母音への経過音を表現する和音の３種の連結された和音が理論上必要であるが、経過音は人間の聴覚上の補間現象（音脈分凝）に委ねれば、最初の雑音と母音の２つの和音に近似できる。そこで、出願人は、日本語の母音は単一の４和音、子音は２連の４和音を基本にして全音素を表現し、これらを時間軸上につなぎ合わせれば音声合成を実現できると考えた。
【００１７】
しかしながら、様々な要因により、ＭＩＤＩ音源で種々の楽器音色を設定して再生しても音声の明瞭性に欠けるという問題があった。本発明では、母音、子音等の音節の構成を従来とは根本的に異なるものとした。具体的には、７１音節それぞれ固有の音節符号とするのではなく、日本語５母音と１５子音に対応する２０の音素符号より１つまたは２つの音素符号を選択し組み合わせることにより、７１音節を表現することとした。
【００１８】
まず、母音音節と子音音節の違いについて説明する。本実施形態では、母音音節は第１音素だけの単独音素とする。子音音節は第１音素と第２音素の２音素構成で第１音素は第２音素に比べ短めにする。なお、本実施形態では、母音音節の第１音素、子音音節の第１音素、第２音素は、いずれも８和音となっている。
【００１９】
子音音節の第１音素は、「Ｋ、Ｓ、Ｔ、Ｎ、Ｈ、Ｍ、Ｒ、Ｇ、Ｚ、Ｄ、Ｂ、Ｐ、Ｙ、Ｗ」の１４音素のいずれか１つが選択され、子音音節第２音素の、母音音節の第１音素は、「Ａ、Ｉ、Ｕ、Ｅ、Ｏ、ｎ」の６音素のいずれか１つが選択される。子音音節には、濁音（「バ」など）、半濁音（「パ」など）を含み、撥音（はつおん「ン」）は第１音素は音素「Ｎ」、第２音素は音素「ｎ」とする。
【００２０】
本発明では、上述のような構成の子音音節と母音音節を用いて、音声の特徴に応じてさらに多種の態様で合成することを特徴とする。音声の特徴に応じた合成態様の分類については、様々なものが考えられるが、本実施形態では、母音、子音（濁音、半濁音、撥音含む）、長音の母音、長音の子音、促音、拗音の６通りに分類している。
【００２１】
図１、図２は、本実施形態における音節と音素の基本概念を示す図である。図１（ａ）〜（ｄ）、図２（ａ）（ｂ）は、上記各分類に対応したものとなっている。図１、図２において、各矩形は、音節または音素を示しており、矩形と矩形の間の空白は無音部分を示している。また、左右方向は時間軸であり、矩形の横幅は、音節の発音時間に対応している。音節の発音時間は、基本的な母音、子音の発音時間を基本区間として設定し、他の分類の音節についても、この基本区間を基準にして定められている。基本区間の具体的な長さは適宜設定することが可能であるが、本実施形態では０．２５秒としている。また、詳しくは後述するが、本実施形態では、音節は、２つのパターンで符号化され、１つの音素で構成される音節と、２つの連続する音素（以下、２連音素という）で構成される音節がある。
【００２２】
図１（ａ）は、母音の場合の合成パターンを示す例である。母音の場合、音節は１つの音素（第１音素）で構成される。図１（ａ）に示すように、第１音素を基本区間分発音した後、基本区間分無音とし、その後、他の音節が続く。図１（ｂ）は、子音の場合の合成パターンを示す例である。子音の場合、音節は第１音素と第２音素の２つの音素で構成される。図１（ｂ）に示すように、基本区間の１／４だけ第１音素を発音し、続いて、基本区間の３／４だけ第２音素を発音する。すなわち、第１音素の発音終了と同時に第２音素の発音を開始し、第１音素の発音開始から第２音素の発音終了までがちょうど基本区間となる。その後、基本区間分無音とし、その後、他の音節が続く。
【００２３】
図１（ｃ）は、長音の母音の場合の合成パターンを示す例である。長音の母音の場合、１つの音素で構成されるが、図１（ｃ）に示すように、通常の母音に比べ、基本区間分発音時間を延ばす。すなわち、第１音素を２基本区間分発音する。その後、基本区間分無音とし、その後、他の音節が続く。図１（ｄ）は、長音の子音の場合の合成パターンを示す例である。長音の子音の場合、２つの音素で構成されるが、図１（ｄ）に示すように、通常の子音に比べ、第２音素の発音時間を基本区間分だけ延ばす。第１音素の発音時間は、通常の子音の場合と同じく、基本区間の１／４である。すなわち、第１音素の発音終了と同時に第２音素の発音を開始し、第１音素の発音開始から第２音素の発音終了までが２基本区間分となる。その後、基本区間分無音とし、その後、他の音節が続く。
【００２４】
図２（ａ）は、促音の場合の合成パターンを示す例である。促音の場合、図２（ａ）に示すように、後続音節である子音の第１音素を、後続音節の直前に発音する。例えば、“ッタ”における“ッ”を合成する場合、後続音節“タ”の第１音素を、“タ”の第１音素の直前に配置する。このとき、促音の発音開始は、先行音素の発音終了から基本区間の３／４だけ経過した時点とする。すなわち、先行音素の発音終了から基本区間の３／４だけ経過した時点から、後続音節の第１音素が基本区間の１／４だけ２回繰り返して発音され、その後、後続音節の第２音素が基本区間の３／４だけ発音されることになる。
【００２５】
図２（ｂ）は、拗音の場合の合成パターンを示す例である。拗音の場合、図２（ｂ）に示すように、直前の子音音節を第１音素のみとする。そして、直前の子音音節の第１音素の発音終了時刻を、拗音に対応する子音の発音開始時刻として、その拗音に対応する子音の第１音素と第２音素を連続して発音する。例えば、“キャ”における“ャ”を合成する場合、先行音節“キ”の第１音素の直後に、拗音“ャ”に対応する子音“ヤ”の第１音素を配置する。このとき、直前の子音音節の第１音素の発音時間は基本区間の１／４とし、拗音に対応する子音の発音時間は、通常の子音の場合と同様、第１音素が基本区間の１／４、第２音素が基本区間の３／４となる。
【００２６】
図１（ａ）〜図１（ｄ）、図２（ｂ）においては、先行音節を省略し、図２（ａ）、（ｂ）においては、後続音節を省略したが、基本的に全ての音素の間には基本区間分の無音区間が設定される。この基本区間の具体的長さは前述の通り０．２５秒を標準として設定しているが、適宜変更可能である。また、図１、２に示したものは、基本様式であるため、各音節における各音素の発音時間の比率、発音時間や無音時間の長さは適宜変更することが可能である。例えば、隣接音節との間隔を変動させれば話速を変更できる。
【００２７】
（２．前準備）
次に、従来技術を利用した前準備について説明する。前準備として、人間の声を音節単位でデジタル化する。具体的には、各音節を人間が実際に発声し、これを録音したものをＰＣＭ等の手法によりデジタル化して音節録音データを得る。このとき、話者はネイティブの日本人男性または女性とし、同一人が７１の音節に対してできる限り、ピッチ（音高）と発声区間を揃えて、発声することが望まれる。一般人の話者ではこのように発声を揃えるのは困難であるため、専門のボイストレーニングを受けたアナウンサー・声楽家などに発声してもらうことが望ましい。更に、男性または女性を含む複数の話者により複数のセットの７１音節の録音信号を収集することが望ましい。前準備により、日本語７１音節の音節録音データが得られる。この日本語７１音節とは、いわゆる五十音に加え、撥音、濁音、半濁音を含む計７１音である。この音節録音データは、所定のサンプリング周波数でサンプリングされることにより、値をもつサンプルの集合として表現される。サンプルの各値をプロットし、各値を線分で結ぶことにより波形状となるため、後述する符号化されたデータと区別できるように、音節録音データを“音節波形データ”と呼ぶことにする。
【００２８】
（３．音素符号への変換）
次に、音節ごとの音節波形データから音素符号への変換について説明する。図３は、本発明に係る音素符号変換装置の一実施形態を示す構成図である。記憶手段１０は、音節波形データ記憶部１１、音節符号記憶部１２、音素符号記憶部１３を有しており、コンピュータに接続されたハードディスク等の外部記憶装置により実現される。音節波形データ記憶部１１には、上述の前準備により作成された音節波形データが音節を特定する音節識別情報と対応付けて記憶されている。音節符号記憶部１２には、音節と音素の対応関係を示した変換テーブルが記憶されており、符号化された音節符号が音節識別情報と対応付けて記憶される。音素符号記憶部１３には、符号化された音素符号が音素符号識別情報と対応付けて記憶される。
【００２９】
処理制御手段２０は、音素符号変換装置全体の処理を統括するものであり、音節波形拡大手段２１、符号コード群作成手段２２、音節符号作成手段２３、音高別エネルギー算出手段２４、音高別エネルギー統合手段２５、符号変換手段２６を有している。処理制御手段２０は、ＣＰＵ、メモリを含むコンピュータ本体であり、音節波形拡大手段２１、符号コード群作成手段２２、音節符号作成手段２３、音高別エネルギー算出手段２４、音高別エネルギー統合手段２５、符号変換手段２６は、専用のプログラムをＣＰＵが実行することにより実現される。符号表示手段３０は、処理制御手段２０により処理される音節符号、音素符号を表示するものであり、液晶ディスプレイ等の表示装置により実現される。
【００３０】
続いて、本実施形態に係る音素符号変換装置の処理動作について説明する。図４は、本実施形態に係る音素符号変換装置において、音節符号を生成するまでの処理概要を示すフローチャートである。
【００３１】
まず、処理制御手段２０は、処理対象である音節波形データを、音節波形データ記憶部１１から読み込む。音節波形データは、アナログの録音信号を所定のサンプリング周波数、量子化ビット数でサンプリングしたものであり、本実施形態では、サンプリング周波数４４．１ｋＨｚ、量子化ビット数１６ビットでサンプリングした場合を例にとって以下説明していく。サンプリング周波数４４．１ｋＨｚでサンプリングした場合、音節波形データは、１秒間に４４１００個のサンプルを有するサンプル列（サンプルの配列）として構成されることになる。
【００３２】
音節波形データを読み込んだら、音節波形拡大手段２１が、音節波形データを時間軸方向に所定の倍率Ｑ（Ｑは整数）だけ拡大する（Ｓ１）。具体的には、音節波形データを構成するサンプルの数をＱ倍にする。そして、Ｑ個ごとに、元のサンプルと同じ値のものを配置し、その間の（Ｑ−１）個のサンプルの値としては、両側に位置する元のサンプルの値を用いて線形補間したものを与える。原音節録音信号の各サンプルｊ（ｊ＝０・・・Ｊ−１）についてのサンプル値をｘ（ｊ）とすると、コンピュータは、以下の〔数式１〕に従った処理を実行することにより、拡大後の音節録音信号の各サンプルｊ・Ｑ＋ｋ（０≦ｋ≦Ｑ−１）についてのサンプル値ｘ´（ｊ・Ｑ＋ｋ）を算出する。以下の〔数式１〕において、ｗはｋ／（Ｑ−１）で与えられる０≦ｗ≦１の値をとる実数値とする。
【００３３】
〔数式１〕
ｘ´（ｊ・Ｑ＋ｋ）＝（１−ｗ）・ｘ（ｊ）＋ｗ・ｘ（ｊ＋１）
【００３４】
Ｓ１における処理の結果、音節波形データを構成するＪ個のサンプルは、Ｊ×Ｑ個に拡大される。図５（ａ）にＳ１における拡大処理による波形の変化を示す。図５（ａ）における波形は、サンプルの値をプロットしたものを線分で結んだものであるが、サンプル数が多いため、曲線状に表現されるものである。上記〔数式１〕に従った処理を実行することにより、左側に示したような波形が右側に示したような波形に変化することになる。なお、図５の例では、説明の便宜上Ｑ＝２の場合を示している。
【００３５】
次に、符号コード群作成手段２２が、時間軸方向に拡大されたサンプル上に単位区間を設定する（Ｓ２）。単位区間の長さ（サンプル数Ｔ）は、サンプリング周波数との関係で設定されるが、サンプリング周波数が４４．１ｋＨｚの場合、低域部まで忠実に解析するためには、４０９６サンプル以上必要である。そこで、本実施形態では、１単位区間のサンプル数Ｔ＝４０９６として単位区間を設定している。
【００３６】
単位区間の設定は、特許文献１〜５に開示されているように、デジタル音響信号の先頭から順次サンプルを抽出することにより行われる。単位区間は、全てのサンプルを漏らさず設定し、好ましくは、連続する単位区間においてサンプルが重複するように設定する。この場合、各単位区間の先頭の間隔（シフト幅という）は、様々な規則で設定することができる。最も単純なのは、シフト幅を固定、すなわち重複させるサンプル数を一定として設定する手法である。例えば、Ｔ＝４０９６の場合、先頭の単位区間をｊ＝０〜４０９５、２番目の単位区間をｊ＝２０４８〜６１４３、２番目の単位区間をｊ＝４０９６〜８１９１というように、２０４８（＝Ｔ／２）個のサンプルを重複させながら、設定することになる。しかし、時間分解能を向上させるためには、シフト幅を小さくしたいという要望があり、一方、シフト幅を小さくするほど、計算時間が増大するという問題がある。また、シフト幅を必要以上に小さくすると、後述するＳ４の単音成分の連結処理において連結条件が満足されなくなり連結処理が適切に機能しなくなる。そこで、音節波形データの状態に合わせて最適なシフト幅を設定するため、本実施形態では、特許文献５に開示したような、ゼロ交差点間隔の粗密または自己相関解析により周波数変化が顕著なゼロ交差点を選別し、このゼロ交差点に位置するサンプルを先頭とする。
【００３７】
ゼロ交差点とは、正負両極性の音節波形データ（音響信号）と、信号の０レベルとの交差点のことであり、ここでは、音節波形データの信号強度値（振幅）が０となる時刻を示す。ただし、デジタル化した音節波形データは、アナログ信号におけるゼロ交差点をサンプルするとは限らない。そのため、実際には、強度値が丁度０になる場合に加え、サンプリング点の強度値が正から負、または負から正に変化した場合に、その前後のサンプリング点のどちらかをゼロ交差点とみなす処理を行う。なお、ゼロ交差点検出のためには、解析対象となる音節波形データが正負両極性となっている必要がある。そのため、直流成分を含む音節波形データについては、直流成分を除去しておく必要がある。直流成分の除去については、周知の種々の手法を適用することができるので、ここでは詳細な説明は省略する。基本的には、ゼロ交差点に位置するサンプルを先頭として単位区間を設定するが、連続する単位区間のシフト幅が一定の範囲に収まるように、ゼロ交差点以外の位置を先頭として単位区間を設定する場合もある。具体的には、最大シフト幅（例えばＴ／２）を上回る場合は、ゼロ交差点以外の位置でも最大シフト幅となる位置を先頭にして単位区間を設定する。逆に、最小シフト幅（例えばＴ／８）を下回る場合は、最小シフト幅を上回るように幾つかのゼロ交差点を飛ばした位置を先頭にして単位区間を設定し、最小シフト幅を上回りかつ最大シフト幅の範囲で該当するゼロ交差点が存在しない場合は、上記と同様に最大シフト幅となる位置を先頭にして単位区間を設定するような補正を行う。
【００３８】
符号コード群作成手段２２は、続いて、設定された各単位区間を対象として周波数解析を実行し、各単位区間のスペクトルを算出する（Ｓ３）。各単位区間のスペクトルの算出は、特許文献１〜５に開示されているように、ＭＩＤＩのノートナンバーｎに対応する１２８種の解析周波数ｆ（ｎ）＝４４０・２(n-69)/12の要素信号（要素関数）を基本にした一般化調和解析により、１２８個の成分を抽出することにより行う。“１２８種”“１２８個”というのは一例であり、一般にＰｏ種類の解析周波数を用いてＰｏ個の成分を抽出することになる。実際には、Ｐｏ種類の解析周波数に対応した全てを必要とするものではなく、そのうち必要なＰ（Ｐ≦Ｐｏ）個の成分を抽出する。例えば、ＭＩＤＩ規格の場合、ノートナンバーｎ＝０〜１２７の範囲に対応するが、グランドピアノを再現するための規格音域は、ノートナンバーｎ＝２１〜１０８の範囲である。したがって、この場合、１２８種類の解析周波数を用いて８８個の成分を抽出することになる。
【００３９】
本実施形態では、音節波形データを時間軸方向にＱ倍に拡大したことに伴い、ｎの上限、下限をそれぞれαだけ下方に移動させる。αは、α＝１２・ｌｏｇ2Ｑ（例えばＱ＝４の場合α＝２４）で定義される整数である。したがって、特許文献１〜５では、０≦ｎ≦１２７であるが、本実施形態では、−α≦ｎ≦１２７−αである。これにより各調和信号の周波数は、１／Ｑ倍に設定されることになる。ここで、本実施形態における解析周波数の論理的／物理的範囲の関係を図６に示す。図６に示すように、グランドピアノの規格音域は、ｎ＝２１〜１０８の範囲であるため、通常の解析を行う場合は、ｎ＝２１〜１０８の範囲で行うことになる。ところが、本発明では、時間軸拡大することにより周波数を低音側にシフトして解析処理を行う。また、ノートナンバーｎ＝２１以下については、対応する調和信号の１周期が単位区間より長くなるため、時間軸延長（後述）による長周期解析を行う。この結果、ｎ＝−３〜８４について周波数成分が得られるが、最終的に補正処理を行うことにより、ｎ＝２１〜１０８の範囲周波数成分が得られる。
【００４０】
ノートナンバーｎに対応して解析周波数を設定した場合、周波数が高くなるにつれ、ノートナンバー間の周波数間隔が広くなるため、特に、ｎが６０を超えると解析精度が低下してしまう。そこで、本実施形態では、特許文献３に開示したように、ノートナンバー間をＭ個の微分音に分割した１２８Ｍ個の要素信号ｆ（ｎ，ｍ）＝４４０・２(n-69+m/M)/12を用いて解析を行い、１２８Ｍ個の成分を抽出する。後述するＳ４においてピッチベンド符号の付加など特殊な符号化を行わない限り、各ノートナンバーにおけるＭ個の微分音の情報は不要であるため、Ｍ個の微分音の成分の合算値を当該ノートナンバーにおける成分として代表させ、結果的に１２８個の成分を抽出する。
【００４１】
符号コード群作成手段２２による具体的な処理手順としては、まず、ノートナンバー分の強度配列Ｅ（ｎ）（−α≦ｎ≦１２７−α）と副周波数配列Ｓ（ｎ）を設定し、初期値を全て０とする。続いて、−α≦ｎ≦１２７−αおよび０≦ｍ≦Ｍ−１に対して以下の〔数式２〕に従った処理を実行し、Ｅ（ｎ，ｍ）を最大にする（ｎｍａｘ，ｍｍａｘ）を求める。
【００４２】
〔数式２〕
Ａ(ｎ，ｍ)＝(１／Ｔ（ｎ）)・Σi=0,T(n)-1ｘ(ｉ) sin(２πｆ（ｎ，ｍ）ｉ／ｆｓ)
Ｂ(ｎ，ｍ)＝(１／Ｔ（ｎ）)・Σi=0,T(n)-1ｘ(ｉ) cos (２πｆ（ｎ，ｍ）ｉ／ｆｓ)
｛Ｅ(ｎ，ｍ)｝2＝｛Ａ(ｎ，ｍ)｝2＋｛Ｂ(ｎ，ｍ)｝2
【００４３】
上記〔数式２〕においてＴ（ｎ）は解析フレーム長であり、調和信号（調和関数）の１周期が単位区間長Ｔ以下の場合、単位区間長Ｔを超えない範囲で調和信号の周期の最大の整数倍になるように設定する。ただし、本実施形態では、時間軸拡大することにより周波数を低音側にシフトして解析処理を行うため、調和信号（調和関数）の１周期が単位区間長Ｔを超える場合が発生する。具体的には、調和信号の１周期が単位区間長Ｔより大きい場合、Ｔ（ｎ）／ｆｓ＝１／ｆ（ｎ，ｍ）で与え、Ｔ＜Ｔ（ｎ）におけるｘ(ｉ)の値については、後述する時間軸延長処理に基づき設定する。そして、Ｅ（ｎ，ｍ）を最大にする（ｎｍａｘ，ｍｍａｘ）を用いたｆ（ｎｍａｘ，ｍｍａｘ）が調和信号として選出されることになる。なお、ｆｓはサンプリング周波数（例えば、４４．１ｋＨｚ）である。（ｎｍａｘ，ｍｍａｘ）が求められたら、コンピュータは、Ａ（ｎｍａｘ，ｍｍａｘ）およびＢ（ｎｍａｘ，ｍｍａｘ）を用いて、以下の〔数式３〕に従った処理を実行し、サンプル配列ｘ（ｉ）のＴ（ｎ）サンプル個の要素（０≦ｉ≦Ｔ（ｎｍａｘ）−１）を更新する。この際、Ｔ＜Ｔ（ｎ）の場合、Ｔ≦ｉ≦Ｔ（ｎｍａｘ）−１に対応するｘ（ｉ）の要素に対しては、後述する時間軸延長処理に基づき、一部の同一サンプルｘ（ｉ）が以下の〔数式３〕に基づいて複数回更新される場合がある。
【００４４】
〔数式３〕
ｘ（ｉ）←ｘ（ｉ）−Ａ（ｎｍａｘ，ｍｍａｘ）・sin(２πｆ（ｎｍａｘ，ｍｍａｘ）ｉ／ｆｓ)−Ｂ（ｎｍａｘ，ｍｍａｘ）・cos (２πｆ（ｎｍａｘ，ｍｍａｘ）ｉ／ｆｓ) 
【００４５】
上記〔数式３〕においては、ｘ（ｉ）から含有信号を減じる処理を行っている。さらに、以下の〔数式４〕に従った処理を実行し、強度配列Ｅ（ｎ）、副周波数配列Ｓ（ｎ）を更新する。
【００４６】
〔数式４〕
Ｅ（ｎｍａｘ）←Ｅ（ｎｍａｘ）＋Ｅ（ｎｍａｘ，ｍｍａｘ）
Ｓ（ｎｍａｘ）←ｍｍａｘ
【００４７】
符号コード群作成手段２２は、上記〔数式２〕〜〔数式４〕の処理を全てのｎ（−α≦ｎ≦１２７−α）に対して実行し、全てのＥ（ｎ）およびＳ（ｎ）の値を決定する。
【００４８】
本実施形態では、処理負荷を軽減するため、Ｍの値については、ノートナンバーに基づいて可変に設定し、例えば解析する周波数間隔が１００Ｈｚ程度になるようにしている。そして、ノートナンバー６０以下は分割せずＭ＝１にする。また、精度は若干落ちるが、初回の〔数式２〕の処理でＳ（ｎ）を決定し、２回目以降の〔数式２〕の処理は、ｍ＝Ｓ（ｎ）に固定して行い、微分音解析を省略するようにしても良い。また、〔数式２〕の処理で、既に同一ノートナンバーに対して副周波数が異なる信号成分が複数回に渡って解析される可能性があるが、Ｅ（ｎ）とＳ（ｎ）に既に値がセットされている場合は、Ｅ（ｎ，ｍ）の最大値の選定候補から除外するようにしても良い。
【００４９】
ここで、単位区間における解析フレームの設定について説明する。図７は、時間軸拡大処理後の音節波形データから抽出した単位区間におけるサンプル列と、調和信号の対応関係を示す図である。このうち、図７（ａ）は、時間軸拡大処理後の音節波形データから抽出した単位区間におけるサンプル列である。各サンプルにおけるサンプル値（４０９６個）を結ぶことにより、図７（ａ）に示すような波形状で示される。１２８個の調和信号のうち、図７（ｂ）に示すような１周期が単位区間長Ｔ以下の高音部の解析調和信号と相関演算を行う際、および単位区間Ｔより選出された調和信号である含有信号を減算する際には、調和信号の１周期が単位区間長Ｔを超えない範囲まで周期を整数倍した長さを解析フレーム長Ｔ（ｎ）とし、単位区間Ｔの先頭からサンプルＴ（ｎ）個を抽出して、解析フレームとする。
【００５０】
調和信号の１周期が単位区間長Ｔより大きい場合、相関計算区間である解析フレーム長Ｔ（ｎ）を調和信号の１周期分とするため、単位区間長ＴにＴ（ｎ）−Ｔ個のサンプル数を追加することにより時間軸延長処理を行う。この場合、調和信号の１周期を４つの分割区間Ｋ１−Ｋ４として設定する。そして、図７（ｄ）に示すように、単位区間長Ｔが、調和信号の３／４周期に相当する場合は、調和信号の分割区間Ｋ３（１／２周期から３／４周期の区間）に対応する単位区間のサンプルを、調和信号の３／４周期（２７０度：分割区間Ｋ３と分割区間Ｋ４の境界）の時点において時間軸方向に反転させたサンプルを追加する。２７０度の時点において時間軸方向に反転させるのは、調和信号の１周期が正弦波であると仮定すると、分割区間Ｋ３と分割区間Ｋ４（３／４周期から１周期の区間）は２７０度を軸に時間軸方向に左右対称である特徴を利用したものである。このようにして時間軸延長が行われ、図７（ｃ）に示すような波形の解析フレーム（５４６１サンプル）が得られる。図７（ｃ）（ｄ）の例では、単位区間長Ｔが、調和信号の３／４周期に相当する場合を示したが、単位区間長Ｔが、調和信号の３／４周期以上である場合は、同様に処理が行われ、解析フレーム長Ｔ（ｎ）は最大５４６１サンプルとなる。この場合、調和信号の３／４周期を超えた部分の単位区間のサンプルは、単位区間内のいずれかのサンプルが重複して使用されることになる。
【００５１】
また、図８（ｂ）に示すように、単位区間長Ｔが、調和信号の１／２周期以上で３／４周期未満に相当する場合（単位区間の最終サンプルが分割区間Ｋ３に属する場合）は、分割区間Ｋ４全体と分割区間Ｋ３の一部が欠損しているため、分割区間Ｋ２（１／４周期から１／２周期の区間）に対応する単位区間のサンプルを、調和信号の１／２周期（１８０度：分割区間Ｋ２と分割区間Ｋ３の境界）の時点において時間軸および振幅軸方向に反転させたサンプルを分割区間Ｋ３に追加し、さらに追加された分割区間Ｋ３のサンプルを、調和信号の３／４周期（２７０度）の時点において反転させたサンプルを追加する。１８０度の時点において時間軸および振幅軸方向に反転させるのは、調和信号の１周期が正弦波であると仮定すると、分割区間Ｋ２と分割区間Ｋ３は１８０度を軸に時間軸および振幅軸方向に１８０度回転させた対称形である特徴を利用したものである。このようにして時間軸延長が行われ、図８（ａ）に示すような波形の解析フレーム（最大８１９２サンプル）が得られる。この場合、調和信号の１／２周期を超えた部分の単位区間のサンプルは、単位区間内のいずれかのサンプルが重複して使用されることになる。
【００５２】
また、図９（ｂ）に示すように、単位区間長Ｔが、調和信号の１／４周期以上で１／２周期未満に相当する場合（単位区間の最終サンプルが分割区間Ｋ２に属する場合）は、分割区間Ｋ３・Ｋ４全体と分割区間Ｋ２の一部が欠損しているため、Ｋ１区間（先頭から１／４周期の区間）に対応する単位区間のサンプルを、調和信号の１／４周期（９０度：分割区間Ｋ１と分割区間Ｋ２の境界）の時点において時間軸方向に反転させたサンプルを分割区間Ｋ２に追加し、さらに追加された分割区間Ｋ２のサンプルを、調和信号の１／２周期（１８０度）の時点において時間軸および振幅軸方向に反転させたサンプルを分割区間Ｋ３に追加し、さらに追加された分割区間Ｋ３のサンプルを、調和信号の３／４周期（２７０度）の時点において時間軸方向に反転させたサンプルを追加する。９０度の時点において時間軸方向に反転させるのは、調和信号の１周期が正弦波であると仮定すると、分割区間Ｋ１と分割区間Ｋ２は９０度を軸に時間軸方向に左右対称である特徴を利用したものである。このようにして時間軸延長が行われ、図９（ａ）に示すような波形の解析フレーム（最大１６３８４サンプル）が得られる。この場合、調和信号の１／４周期を超えた部分の単位区間のサンプルは、単位区間内のいずれかのサンプルが重複して使用されることになる。尚、単位区間長Ｔが、調和信号の１／４周期未満に相当する場合（単位区間の最終サンプルが分割区間Ｋ１に属する場合）も起こり得るが、これをもとに時間軸延長を行って相関計算を行っても、ソースとなる情報量が少なすぎて、有意な相関値が得られないため、単位区間長Ｔが、調和信号の１／４周期未満に相当する周波数に対しては解析対象としないものとする。
【００５３】
各単位区間について解析フレームを変化させながら周波数解析を行い、スペクトル（１２８個の周波数成分）が算出されたら、符号コード群作成手段２２が、周波数情報と、各周波数に対応するスペクトル強度、および単位区間の開始と終了を特定可能な時間情報で構成される符号コードを作成する（Ｓ４）。符号コードの作成にあたり、まず、算出したスペクトルに、各ノートナンバーｎの時刻、時間長の情報を追加し、[開始時刻，時間長，主周波数ｎ，副周波数Ｓ（ｎ），強度Ｅ（ｎ）]で構成される単音成分を作成する。「開始時刻」としては単位区間の先頭の時刻を、音節波形データ全体において特定できる情報であれば良く、本実施形態では、単位区間の先頭サンプル（ｉ＝０）に付された音節波形データ全体におけるサンプル番号（絶対サンプルアドレス：ｊに対応）を記録している。この絶対サンプルアドレスをサンプリング周波数（４４１００）で除算することにより、音節波形データ先頭からの時刻が得られる。時間長は、本実施形態では単位区間ごとに可変で与えられることを特徴とし、直後に後続する単位区間の開始時刻までの差分（後続する単位区間の開始時刻−当該単位区間の開始時刻）で与えられる。
【００５４】
Ｓ２で設定された単位区間ごとに、１２８個の単音成分が作成されるが、さらに、Ｓ４においては、連続する単位区間において単音成分を連結する処理を行う。具体的には、連続する単位区間における同一ノートナンバーの単音成分が、所定の連結条件を満たす場合、２つの単音成分を連結する。連結条件としては、同一の音として連続性を有する状態を適宜設定することができるが、本実施形態では、副周波数を考慮した周波数（主周波数＋副周波数）の差が所定の閾値Ｎｄｉｆ未満で、双方の強度が所定の閾値Ｌｍｉｎ以上で、かつ双方の強度の差が所定の閾値Ｌｄｉｆ未満である場合に、連続性を有するとして、後続の単音成分を前方の単音成分に連結する。ただし、連結後の主周波数、副周波数、強度は大きい方の単音成分の各値を採用し、時間長は双方の和で与える。連結条件としての具体的な閾値は、本実施形態では、Ｎｄｉｆ＝８／２５[単位：ノートナンバー換算]、Ｌｍｉｎ＝１[単位：１２８段階ベロシティ換算]、Ｌｄｉｆ＝１０[単位：１２８段階ベロシティ換算]としている。連結処理は、符号コードへの変換前に行うものであるため、各閾値は、ノートナンバー、ベロシティに換算したものである。
【００５５】
同一ノートナンバーの単音成分の連結は、連結条件を満たす限り、後続する単位区間の単音成分に対して繰り返し行い、最終的に得られた[開始時刻，時間長，主周波数ｎ，副周波数Ｓ（ｎ），強度Ｅ（ｎ）]の単音成分を、符号コードに変換する。符号コードの形式としては、周波数情報と、各周波数に対応するスペクトル強度、および単位区間の開始と終了を特定可能な時間情報を有するものであれば、どのような形式のものであっても良いが、本実施形態では、ＭＩＤＩ形式に変換する。ＭＩＤＩでは、発音開始と、発音終了を別のイベントとして発生するため、したがって、本実施形態では、１つの単音成分を２つのＭＩＤＩノートイベントに変換する。具体的には、「開始時刻」で、ノートナンバーｎのノートオンイベントを発行し、ベロシティ値は強度Ｅ（ｎ）の最大値をＥｍａｘとして、１２８・｛Ｅ（ｎ）／Ｅｍａｘ｝1/4で与える。時刻については、Standard MIDI Fileでは、直前イベントとの相対時刻（デルタタイム）で与える必要があり、その時刻単位は任意の整数値で定義でき、例えば、１／１５３６[秒]の単位に変換して与える。そして、「開始時刻」＋「時間長」で特定される終了時刻で、ノートナンバーｎのノートオフイベントを発行する。この際、時間長には、０以上１以下の実数を乗じる。これは、使用するＭＩＤＩ音源の音色にも依存するが、ＭＩＤＩ音源の余韻を考慮して早めにノートオフ指示をするためである。時間長をそのまま用いてもＭＩＤＩ音源の処理上問題はないが、発音の際、後続音と部分的に重なる場合がある。
【００５６】
ＭＩＤＩ符号に変換する際、ＭＩＤＩ音源で処理可能な同時発音数についても考慮するため、同時発音数の調整を行う必要がある。ＭＩＤＩ音源で処理可能な同時発音数が３２である場合、時間軸方向に発音期間中（ノートオン状態）のノートイベントの個数を連続的にカウントし、同時に３２個のノートイベントが存在する箇所が見つかった場合は、各々対になるノートオフイベントを近傍区間内で探索し、各ノートイベント対のベロシティ値とデュレーション値（ノートオフ時刻−ノートオン時刻）の積（エネルギー値）で優先度を評価し、指定和音数（この場合“３２”）以下になるように優先度の低い（エネルギー値の小さい）ノートイベント対を局所的に削除する処理を行う。“局所的に”とは、３２を超えるノートイベントが存在する部分に限りという意味である。この際、ベロシティ値またはデュレーション値のいずれかが所定の下限値より低い場合、優先度に関係なく削除する処理も行う。
【００５７】
さらに、ＭＩＤＩ符号に変換する際、ＭＩＤＩ音源で処理可能なビットレートについても考慮するため、ビットレートの調整を行う必要がある。時間軸方向に、１秒間隔にノートオンまたはノートオフイベントの個数をカウントし、各々の符号長を平均５バイト（４０ビット）とし、ＭＩＤＩ音源で処理可能な最大ビットレートを９０００［ｂｐｓ（ビット／秒）］とすると、１秒間あたりイベント数が９０００／４０＝２２５個を超えている区間が見つかった場合は、その区間に存在するノートオンまたはノートオフイベントと各々対になるノートオフまたはノートオンイベントを近傍区間内で探索し、各ノートイベント対のベロシティ値とデュレーション値（ノートオフ時刻−ノートオン時刻）の積（エネルギー値）で優先度を評価し、指定イベント個数（この場合“２２５”）以下になるように優先度の低い（エネルギー値の小さい）ノートイベント対を局所的に削除する処理を行う。この際、ベロシティ値またはデュレーション値のいずれかが所定の下限値より低い場合、優先度に関係なく削除する処理も行う。
【００５８】
符号コードの作成が行われたら、音節符号作成手段２３が、時間軸方向に拡大して処理されたことによる変動を是正するため、各符号コードを補正する処理を行う（Ｓ５）。具体的には、まず、全てのノートイベント（ノートオンイベントまたはノートオフイベント）のノートナンバー値に１２・ｌｏｇ2Ｑだけ加算する処理を行う。例えば、Ｑ＝４の場合、２４半音（２オクターブ）だけ全体的に音高を上げる。この処理は、Ｓ１においてサンプル数をＱ倍したことにより周波数が１／Ｑになっているため、周波数をＱ倍にして元の状態に戻すために行う。この補正によりノートナンバーが規格値上限の１２７を超えるノートナンバーをもつ符号コードは削除する。具体的には補正前のノートナンバーが１２８−１２・ｌｏｇ2Ｑ以上の符号コードが削除される。
【００５９】
続いて、全てのノートイベントの時刻（ノートオン時刻またはノートオフ時刻）に１／Ｑを乗算する。これにより、ＭＩＤＩ符号全体の演奏時間、および各ノートイベントの発音時間が１／Ｑに縮小される。この処理は、Ｓ１においてサンプル数をＱ倍したことにより全体の演奏時間がＱ倍になっているため、時刻を１／Ｑにして元の状態に戻すために行う。この処理を行うと、時間あたりのノートイベント数がＱ倍に増大するため、上記Ｓ４で実行したビットレートの調整を再度実行する。
【００６０】
Ｓ５における処理の結果、周波数（音高）はＱ倍になるとともに、時間情報は１／Ｑになる。Ｓ５の補正処理によるＭＩＤＩイベント（ＭＩＤＩ符号のノートイベント）の変化の様子を図５（ｂ）に示す。図５（ｂ）においては、Ｑ＝２の場合のＭＩＤＩイベントの変化を、音符により示している。Ｓ５の補正処理により左側の“ミ”の音符は、右側では１オクターブ高い（周波数が２倍）“ミ”の音符に変化している。一方、左側の四分音符が、右側では時間的に１／２の八分音符に変化している。このようにして得られた音節符号は、音節識別情報と対応付けられて音節符号記憶部１２に記憶される。
【００６１】
また、上記の例では、ビットレートの調整をＳ４、Ｓ５の２回行っているが、これらについては、最終的に少なくとも１回ずつ行われていれば良い。また、上記実施形態では、Ｓ２〜Ｓ４の処理について好ましい処理例について具体的に説明したが、これらの処理については、本発明の趣旨を逸脱しない範囲で、公知の特許文献１〜５に開示した技術を用いることができる。
【００６２】
音節符号が得られたら、７１の音節単位で構成される音節符号を基に、２０の音素符号に変換する。図１０は、本実施形態に係る音素符号変換装置において、音節符号から音素符号への変換の処理概要を示すフローチャートである。ここで、音節と音素の対応関係を示した変換テーブルを図１１に示す。この変換テーブルは、音節符号記憶部１２に記憶されている。図１１において、カタカナで示す「ア」「イ」・・・の７１音は音節であり、アルファベットで示す「Ａ」「Ｉ」は音素である。母音音素「Ａ」・・・「Ｏ」は水平方向の１３音節のＡＮＤ演算で決定され、子音音素「Ｋ」・・・「Ｐ」は垂直方向の５音節のＡＮＤ演算で決定される。図１１に示した横長の枠は、母音音素「Ａ」が１３個の音節「ア」・・・「パ」で決定されることを示しており、縦長の枠は、子音音素「Ｋ」が５個の音節「カ」・・・「コ」で決定されることを示している。なお、子音音素「Ｙ」は３個の音節「ヤ」「ユ」「ヨ」で決定され、子音音素「Ｗ」は２個の音節「ワ」「ヲ」で決定され、音素「ｎ」は１個の音節「ン」で決定される。
【００６３】
本発明では、音節符号に部分時間区間を設定し、この部分時間区間に含まれる符号コード群を抽出し、演算を行う。部分時間区間としては、母音成分、子音成分を有する箇所を設定することになるが、本実施形態では、音節符号全体において前部を子音音素符号抽出時の部分時間区間、後部を母音音素符号抽出時の部分時間区間としている。これは、一連の日本語子音の音節は各区間の時間配分はバラバラであるが、子音区間−遷移区間−母音区間という時間的な変位順位が共通なためである。したがって、音節符号の前部を利用すれば、子音音素が抽出でき、音節符号の後部を利用すれば、母音音素が抽出できることになる。
【００６４】
まず、処理制御手段２０が、図１１に示した変換テーブルを参照し、関連する複数の音節符号の前部または後部の符号コード群を読み込む（Ｓ１１）。前部と後部のどちらを読み込むかは、子音音素符号を得る場合か、母音音素符号を得る場合かにより異なる。子音音素符号を得る場合は、前部の符号コード群を読み込み、母音音素符号を得る場合は、後部の符号コード群を読み込む。例えば、子音の音素符号「Ｋ」を得る場合、音節符号記憶部１２から「カ」「キ」「ク」「ケ」「コ」の５個の各音節符号について、前部だけを抽出して読み込む。抽出するための全部と後部の分断の位置は適宜設定しておくことが可能であるが、本実施形態では、前部については、音節符号を構成する全ての符号コードにおける最小の発音開始時刻と最大の発音終了時刻との中間時刻を分断位置とする。したがって、前部は最小の発音開始時刻から中間時刻までの区間、後部は中間時刻から最大の発音終了時刻までの間となる。前部と後部に跨る符号コードについては、中間時刻を発音開始時刻とする符号コードと、中間時刻を発音終了時刻とする符号コードに分断され、ぞれぞれ前部、後部として読み込まれる。
【００６５】
子音の音素符号「Ｋ」を得る場合、処理制御手段２０が、５個の音節符号前部を読み込んだら、音高別エネルギー算出手段２４は、各音節符号前部単位で、構成する全ての符号コードを対象にして、音高（ＭＩＤＩの場合、ノートナンバー）別に、エネルギー総和値を算出する。エネルギー総和値は、各音高における音の強度（ＭＩＤＩの場合、ベロシティ）×発音時間（ＭＩＤＩの場合、デュレーション：ノートオフ時刻−ノートオン時刻）により算出する。ここで、エネルギー総和値の“総和”とは、１つの音節符号前部内において、同一音高で２つ以上の符号コードが存在する場合、各符号コードについて総和をとることを意味している。
【００６６】
各音節符号前部単位で、全音高についてエネルギー総和値が算出されたら、次に、音高別エネルギー統合手段２５が、５個の音節符号前部間において、同一の音高別にエネルギー総和値を乗算し、統合エネルギー値を得る。乗算であるため、５個の音節符号前部のうち、いずれか１つの音節符号前部に存在しない音高成分については、“０”となる。したがって、統合エネルギー値を求めることにより、５個の音節符号前部に共通の成分のみが残ることになる。例えば、音素符号「Ｋ」の前部を構成する音高成分は、音節符号「カ」「キ」「ク」「ケ」「コ」の前部に共通に含まれている音高成分でなければならない。
【００６７】
音高別に統合エネルギー値が算出されたら、符号変換手段２６が、統合エネルギー値が上位の音高を指定和音数（例：８個）を超えないように選出する。指定和音数は、事前に設定されるものであり、自由に設定することができるが、本実施形態では、上述のように“８”としている。したがって、本実施形態では、３２個の符号コードから８個の符号コードが、符号変換手段２６により抽出されることになる。さらに、符号変換手段２６は、元の各音節符号を構成する複数の符号コードのうち、最も早い発音開始時刻（最小）、最も遅い発音終了時刻（最大）を、それぞれ選出された全ての音高の発音開始時刻、発音終了時刻として設定する。ただし、子音の場合、前部の符号コードのみを抽出しているため、最も遅い発音終了時刻が中間時刻となっているため、これを本来の発音終了時刻に変更する処理を行う。そして、選出された音高のベロシティを規定値に設定する。ベロシティの規定値については、ベロシティが“０”〜“１２７”の値を取り得るため、本実施形態では、その最大の“１２７”としている。
【００６８】
一方、「Ａ」等の母音の音素符号を得る場合、音節符号記憶部１２から「ア」「カ」「サ」「タ」「ナ」「ハ」「マ」「ラ」「ガ」「ザ」「ダ」「バ」「パ」の１３個の各音節符号について、後部だけを抽出して読み込む。そして、子音の音素符号の場合と同様、音高別エネルギー算出手段２４が、各音節符号後部単位で、構成する全ての符号コードを対象にして、音高別に、エネルギー総和値を算出する。各音節符号後部単位で、全音高についてエネルギー総和値が算出されたら、次に、音高別エネルギー統合手段２５が、１３個の音節符号後部間において、同一の音高別にエネルギー総和値を乗算し、統合エネルギー値を得る。乗算であるため、１３個の音節符号後部のうち、いずれか１つの音節符号後部に存在しない音高成分については、“０”となる。したがって、統合エネルギー値を求めることにより、５個の音節符号後部に共通の成分のみが残ることになる。例えば、音素符号「Ａ」の後部を構成する音高成分は、音節符号「ア」「カ」「サ」「タ」「ナ」「ハ」「マ」「ラ」「ガ」「ザ」「ダ」「バ」「パ」の後部に共通に含まれている音高成分でなければならない。
【００６９】
母音の場合も、音高別に統合エネルギー値が算出されたら、符号変換手段２６が、統合エネルギー値が上位の音高を指定和音数を超えないように選出し、符号化を行うが、時刻については、最も早い発音開始時刻（最小）、最も遅い発音終了時刻（最大）を、それぞれ選出された全ての音高の発音開始時刻、発音終了時刻として設定した後、最も早い発音開始時刻が中間時刻となっていることを考慮し、これを本来の発音開始時刻に変更する処理を行う。なお、本実施形態では、前部、後部を部分時間区間として設定したが、部分時間区間としては、前部、後部に限定されず、母音、子音を特定可能な箇所を設定することができる。
【００７０】
音高別エネルギー算出手段２４、音高別エネルギー統合手段２５、符号変換手段２６による母音の音素符号を作成する際の符号コード群の変化の様子を図１２に示す。図１２において、横軸は時間、縦軸は周波数（ノートナンバー）に対応している。グラフ内に配置された矩形は符号コードを示しており、横方向の長さは横軸に従って時間的長さを示しているが、縦方向の長さは縦軸とは異なり、周波数ではなく強度（ベロシティ）を示している。
【００７１】
実際には、図１１に示したように、１つの母音音素は、１３個の音節により得られるが、図１２の例では、説明の便宜上２つの音節符号α１、β１を用いて、母音音素符号γ１を抽出する場合を示している。図１２（ａ）、（ｂ）は、それぞれ音高別エネルギー算出手段２４による処理前の音節符号α１、β１を構成する符号コード群を示したものである。上述のように、本実施形態では、同一時刻において３２個の符号コードで音節符号を構成し、指定和音数は８に設定するのが一般的であるが、図１２（ａ）では、説明の都合上、同一時刻において符号コードは最大７個となっており、指定和音数は４に設定している場合を示している。また、説明の便宜上、各符号コードを示す矩形の横方向の長さで表現した各符号コードの再生時間（発音終了時刻−発音開始時刻）は異なっているが、各符号コードを示す矩形の縦方向の長さで表現した各符号コードの強度は同一である。図１２（ｃ）、（ｄ）は、音節符号α１、β１を構成する符号コード群を前部と後部に分断した状態を示したものである。
【００７２】
音高別エネルギー算出手段２４、音高別エネルギー統合手段２５による処理後は、全ての音高についての統合エネルギー値が得られる。統合エネルギー値は、図１２（ｃ）（ｄ）に示されるような、音高別エネルギー算出手段２４により音高ごとに算出される発音開始時刻と発音終了時刻との時間差と符号コードの強さ（ベロシティ）との積の同一音高における総和値であるエネルギー総和値に対して、音節符号α１とβ１との間で対応する音高におけるエネルギー総和値同士を乗算したものであるので、図で表現するのは難しいが、イメージ的には、図１２（ｅ）に示すように、音高に対応して、その統合エネルギー値（図１２（ｅ）では、図面上下方向の幅で表現）が得られる。そして、符号変換手段２６により、図１２（ｆ）に示すように、統合エネルギー値が大きい音高が後部において４つ選出される。さらに、この後、符号変換手段２６により、各音高に対応する符号コードの強度値は、上述のような規定値に設定される。
【００７３】
音高別エネルギー算出手段２４、音高別エネルギー統合手段２５、符号変換手段２６による子音の音素符号を作成する際の符号コード群の変化の様子を図１３に示す。図１３においても、図１２と同様、横軸は時間、縦軸は周波数（ノートナンバー）に対応している。グラフ内に配置された矩形は符号コードを示しており、横方向の長さは横軸に従って時間的長さを示しているが、縦方向の長さは縦軸とは異なり、周波数ではなく強度（ベロシティ）を示している。
【００７４】
実際には、図１１に示したように、１つの子音音素は、５個の音節により得られる（例外として、音素Ｙは３個の音節、音素Ｗは２個の音節、音素ｎは１個の音節）が、図１３の例では、説明の便宜上２つの音節符号α２、β２を用いて、音素γを抽出する場合を示している。図１３（ａ）、（ｂ）は、それぞれ音高別エネルギー算出手段２１による処理前の音節符号α２、β２を構成する符号コード群を示したものであるが、説明の便宜上、図１２と同じ符号コード群としている。図１３（ｃ）、（ｄ）は、音節符号α２、β２を構成する符号コード群を前部と後部に分断した状態を示したものである。
【００７５】
音高別エネルギー算出手段２４、音高別エネルギー統合手段２５による処理後は、全ての音高についての統合エネルギー値が得られる。統合エネルギー値は、図１３（ｃ）（ｄ）に示されるような、音高別エネルギー算出手段２４により音高ごとに算出される発音開始時刻と発音終了時刻との時間差と符号コードの強さとの積の同一音高における総和値であるエネルギー総和値に対して、音節符号α２とβ２との間で対応する音高におけるエネルギー総和値同士を乗算したものであり、イメージ的には、図１２（ｅ）に示すように、音高に対応して、その統合エネルギー値が得られる。そして、符号変換手段２６により、図１２（ｆ）に示すように、統合エネルギー値が大きい音高が前部において４つ選出される。さらに、この後、符号変換手段２６により、各音高に対応する符号コードの強度値は、上述のような規定値に設定される。
【００７６】
ここで、「カ」「キ」「ク」「ケ」「コ」の５個の音節符号（最大３２の音高）と、「Ａ」「Ｉ」「Ｕ」「Ｅ」「Ｏ」「Ｋ」の６個の音素符号（最大８の音高）の構成例を図１４に示しておく。
【００７７】
図１１に示したように、１つの母音の音素符号は、１３個の音節符号後部の各音高におけるエネルギー総和値同士を乗算することにより決定される。また、１つの子音の音素符号は一部の例外を除き、５個の音節符号の前部の各音高におけるエネルギー総和値同士を乗算することにより決定される。この場合、基本的にはこれら２０種の音素符号を決定する順位は問わない。そうすると、母音の音素符号と子音の音素符号との間で、ある音高が重複して選出される場合が生じる。即ち、８音など限られた音高で構成される子音の音素と母音の音素が音声合成時に時間的に連続して同一音高が再生される場合が生じ、明瞭性の点で好ましくない。そこで、本願では、子音の音素と母音の音素の符号間で、できるだけ同一の音高が重複して含まれないようにする方法を提案する。そのためには、先に、１３個の音節符号の各音高におけるエネルギー総和値同士を乗算することにより５種類の母音の音素符号を決定する。続いて、５個の母音「ア」「イ」「ウ」「エ」「オ」のいずれかを含む５個の子音の音節符号（例えば、「カ」「キ」「ク」「ケ」「コ」）の各音高におけるエネルギー総和値同士を乗算する前に、各音節符号に含まれる母音の既に決定された音素符号の全ての音高に対応するエネルギー総和値を一定の割合で縮小させる。例えば、エネルギー総和値に１／１０００を乗算させて他の音高のエネルギー総和値に対して相対的に小さな値に改変する。乗算する値は、必ずしも１／１０００とする必要はなく、１未満であれば良い。ただし、１／１０００程度が最も好ましく、１に近付くにつれ、母音音素と重複する成分が残ることになる。その後、５個の音節符号の各音高における改変されたエネルギー総和値同士を乗算することにより５種類の母音の音素符号を決定する。このような補正処理を施すことにより、子音の音素と母音の音素の符号間で、同一の音高が重複して選択される確率が低くなる。（ただし、エネルギー総和値の高い音高の種類が元来少ない場合、多少重複して選択されることもある。）
【００７８】
音高別エネルギー算出手段２４、音高別エネルギー統合手段２５、符号変換手段２６は、音節符号記憶部１２に記憶されている各音節符号について処理を行い、得られた各音素符号を音素符号記憶部１３に格納する。音素符号記憶部１３に格納された音素符号の例を図１５〜図１８に示す。このうち、図１５、図１６は男声を符号化したものであり、図１７、図１８は女声を符号化したものである。図１５〜図１８中、“Ｃ，Ｃ＃，Ｄ，Ｄ＃、Ｅ、Ｆ、Ｆ＃、Ｇ、Ｇ＃、Ａ、Ａ＃、Ｂ”は、“ド、ド＃、レ、レ＃、ミ、ファ、ファ＃、ソ、ソ＃、ラ、ラ＃、シ”の音名の英語表記で、列記されている数字はオクターブ番号を示し、音名とオクターブ番号の対記号でＭＩＤＩ規格のノートナンバーを特定でき、本願ではＭＩＤＩ規格ノートナンバーの６９をＡ３と表記する（国際的にはＡ４をＭＩＤＩ規格ノートナンバーの６９を示す表記も多数存在する）。音素符号を構成する符号コードが、ＭＩＤＩ規格で定義されている場合、市販の楽譜編集ツールにより五線譜に変換することができる。図１５、図１６の男声の音素符号を五線譜化した例を図１９に、図１７、図１８の女声の音素符号を五線譜化した例を図２０にそれぞれ示す。音素符号が記憶された音素符号記憶部１３は、音素符号データベース１３ａとして機能する。この音素符号データベース１３ａは、所定の種類以下の音高を同時にもち、音の強さおよび音の長さが均一の複数の符号コードで構成される音素符号を記録し、これらの音素符号を単独または２つを組み合わせることにより全ての音節を表現するようにしたので、音節符号より少ない数の音素符号で、全ての音節を表現することが可能となる。
【００７９】
（４．音声の合成）
次に、得られた音素符号を利用した音声の合成について説明する。図２１は、本発明に係る音声合成装置の一実施形態を示す構成図である。図２１において、音素符号データベース１３ａは、得られた音素符号を、音素符号識別情報と対応付けて記録したものである。音素符号データベース１３ａに格納されている音素符号は、上述の音素符号変換装置により変換され、音素符号記憶部１３に格納されたものと同じである。したがって、上述の音素符号変換装置は、この音素符号データベース１３ａを作成するためのものであるとも言える。また、音素符号データベース１３ａには、各音素符号識別情報と、音節を特定する音節識別情報との対応関係を示した変換テーブルが記録されている。この変換テーブルは、図１１に示したものと同じである。合成音声データ記憶手段１４は、音素編集処理手段５０により合成された合成音声データを記憶するものであり、ハードディスク等の記憶装置により実現される。
【００８０】
音素編集処理手段５０は、合成指示データの内容に従って、音素符号データベース１３ａから対応する音素符号を抽出し、所定の加工を施して合成音声データを生成し、所定の出力先に出力する処理を行う。生成された合成音声データは、設定に従って合成音声データ記憶手段１４、音声出力手段６０、印刷手段７０のうち、１つ以上に出力される。音声出力手段６０は、音素編集処理手段５０から受け取った合成音声データを実際の音声として発音するものであり、ＭＩＤＩ音源を備えたＭＩＤＩ再生装置により実現される。印刷手段７０は、音素編集処理手段５０から受け取った合成音声データを五線譜に変換し、印刷するものであり、五線譜への変換は、公知の変換ソフトウェアを実行することにより実現され、印刷機能は、公知のプリンタ等により実現される。図２１に示した音声合成装置は、現実には、入力機器、外部記憶装置を備え、ＭＩＤＩ再生装置を接続したコンピュータに専用のプログラムを組み込むことにより実現される。
【００８１】
音声合成装置に入力される合成指示データは、音節識別情報を所定の順序で配置したものであり、この音節識別情報は、音節を識別することができるものであれば、どのような形式であっても良い。本実施形態では、音節識別情報として、音節に対応する文字コードを記録したテキストデータを用いている。この場合、音素符号データベース１３ａ内の変換テーブルには、音節識別情報に対応する文字コードと音素符号識別情報が対応付けて記録されている必要がある。
【００８２】
続いて、図２１に示した音声合成装置の処理動作について説明する。まず、合成指示データを音声合成装置に入力する。音声合成装置は、合成指示データを読み込むと、音素編集処理手段５０が合成指示データ内を先頭の音節識別情報から順に合成処理していく。具体的には、音素編集処理手段５０は、合成指示データ内の音節識別情報で音素符号データベース１３ａ内の変換テーブルを参照して、音素符号識別情報を取得し、その音素符号識別情報に対応する音素符号を抽出する。
【００８３】
そして、抽出した音素符号が母音音素１つだけである場合は、母音音節であるので、先行する音節のノートオフ時刻の０．２５秒後をノートオン時刻として設定し、その０．２５秒後をノートオフ時刻とし、ノートナンバー、ベロシティは音素符号データベース１２ａに記録されていた値そのものとするＭＩＤＩイベントを作成する。ただし、ノートナンバーについてはオプション的に別途ユーザにより指示される音高オフセットパラメータに基づいて適宜上下され、ピッチ変換を行えるようにしてある。
【００８４】
抽出した音素符号が２つであり、それが子音音素と母音音素である場合は、子音音節であるので、先の子音音素符号について、前の音節のノートオフ時刻の０．２５秒後をノートオン時刻として設定し、基本区間の１／４、すなわち０．０６２５秒後をノートオフ時刻とする。そして、後の母音音素符号について、先の子音音素符号のノートオフ時刻をノートオン時刻として設定し、基本区間の３／４、すなわち０．１８７５秒後をノートオフ時刻とする。子音音節の場合も、母音音節の場合と同様、ノートナンバー、ベロシティは音素符号データベース１２ａに記録されていた値そのものとするが、ノートナンバーについてはオプション的に別途ユーザにより指示される音高オフセットパラメータを加算することにより適宜上下され、ピッチ変換を実現することができる。また、上記の０．２５秒、０．０６２５秒、０．１８７５秒という時間数値はあくまで基準値であり、別途ユーザにより指示される時間伸縮パラメータを乗算することにより適宜伸縮され、話速変換を実現することができる。
【００８５】
音節識別情報が長音を示すものであった場合（音節識別情報を文字コードで記録したときは、“ー”に対応する文字コードであった場合）、その直前の音節識別情報とともに２つの音節識別情報で１つの長音の音節を特定する。例えば、例えば、音節識別情報が“ア”と“ー”が連続した場合、２つの音節識別情報“アー”により、長音の母音音節であると判断する。音節識別情報が“カ”と“ー”が連続した場合、２つの音節識別情報“カー”により、長音の子音音節であると判断する。長音の場合、長音の母音音節と長音の子音音節で若干異なる。長音の母音音節の場合、ノートオン時刻からノートオフ時刻の間隔を０．５秒に増加して設定する。長音の子音音節の場合、先の子音音素符号については、長音でない通常の場合と同様、ノートオン時刻からノートオフ時刻の間隔を０．０６２５秒にして設定し、後の母音音素符号についてノートオン時刻からノートオフ時刻の間隔を０．４３７５秒にして設定する。したがって、長音の場合、音節全体の発音時間は、母音音節、子音音節ともに同じ０．５秒となる。子音音節については、第１音素の発音時間は、長音でない通常の場合と同じ０．０６２５秒であるが、第２音素の発音時間が、長音でない通常の場合と比べて長くなる。尚、上記の０．５秒、０．２５秒、０．４３７５秒、０．５秒、０．０６２５という時間数値も同様にあくまで基準値であり、別途ユーザにより指示される時間伸縮パラメータを乗算することにより適宜伸縮され、話速変換を実現することができる。
【００８６】
促音の場合、その直後の音節の第１音素と同じものを、直後の音節の第１音素の直前に加える。第１音素の発音時間は０．０６２５秒であるため、先行する音節の発音終了時刻から０．１８７５秒後に促音のノートオン時刻を設定することになり、促音のノートオフ時刻と、直後の音節の第１音素のノートオン時刻が同一となる。尚、上記の０．０６２５秒、０．１８７５秒という時間数値も同様にあくまで基準値であり、別途ユーザにより指示される時間伸縮パラメータを乗算することにより適宜伸縮され、話速変換を実現することができる。
【００８７】
拗音の場合、直前の子音の第１音素の直後に加える。したがって、直前の子音の第１音素のノートオフ時刻と、拗音のノートオン時刻が同一となるように設定する。拗音の音節の構成自体は子音と同じであるので、拗音の第１音素のノートオフ時刻および第２音素のノートオン時刻は、第１音素のノートオン時刻の０．０６２５秒後であり、拗音の第２音素のノートオフ時刻は、そのノートオン時刻の０．１８７５秒後となる。尚、上記の０．０６２５秒、０．１８７５秒という時間数値も同様にあくまで基準値であり、別途ユーザにより指示される時間伸縮パラメータを乗算することにより適宜伸縮され、話速変換を実現することができる。
【００８８】
音素編集処理手段５０は、読み込んだ合成指示データ内の音節識別情報単位で音素の合成処理を行っていき、処理が終わった音節単位で順に、合成音声データ（ＭＩＤＩデータ）を、音声出力手段６０に渡していく。音声出力手段６０は、音素編集処理手段５０から受け取ったＭＩＤＩデータを順に再生していく。以上のようにして、音声合成装置は、読み込んだ合成指示データに従って音声の再生が可能となる。
【００８９】
五線譜として出力する場合は、合成音声データを印刷手段７０により五線譜データに変換した後、印刷出力する。また、上記の例のように、合成指示データに従って音声合成をリアルタイムで行い、音声再生したり、五線譜出力することも可能であるが、この音声合成装置では、音素編集処理手段５０による処理結果であるＭＩＤＩデータを合成音声データ記憶手段１３に蓄積し、別途このＭＩＤＩデータをＭＩＤＩ再生装置により音声再生するようにしても良い。ＭＩＤＩデータを記憶装置に蓄積する方法としては、ＳＭＦ(Standard MIDI File)形式ファイルを用いると、市販の種々の音楽関係ソフトウェアに渡すことができ、作成されたＭＩＤＩデータからは、市販の楽譜作成ツールを用いて、楽譜を作成することができる。この場合、楽譜は、ＳＭＦ形式に記録されていた音素符号を基にして作成される。そして、作成された楽譜を印刷装置から出力すれば、読みやすい楽譜として、楽器演奏の際に利用することができる。
【００９０】
上述の通り、音素編集処理手段５０は、合成指示データ内の音節識別情報で音素符号データベース１３ａから対応する音素符号を抽出し、ＭＩＤＩイベントを作成する際、そのノートナンバーについては音素符号データベース１３ａに収録されている当該音素符号を構成する各音符のノートナンバーに対して、オプション的に別途ユーザにより指示される音高オフセットパラメータを加算し適宜上下させ、ピッチ変換を行えるようにしてある。この場合は、合成音声データ全体のピッチを上下させるのではなく、母音音素に限定して上下させるようにする。また、合成指示データ内の音節識別情報とともに音高オフセットパラメータを音節ごとに定義すれば、各音節ごとに構成される母音音素のピッチを個別に上下させることもできる。すなわち、あらかじめ作成した旋律の隣接音符間での音高変化（音程情報）を、合成指示データ内の音節識別情報とともに定義される音高オフセットパラメータとして与えれば、歌声合成を実現することができる。
【００９１】
本発明の音声合成装置によれば、日本語カナ文字の各音節を構成する音素を音素符号として記録した音素符号データベースを有し、与えられた合成指示データに記載されている音節情報をもとに、対応する音素符号を音素符号データベースから抽出し、音節情報に従って、発音の開始および終了を特定する時刻を設定し、母音音素に対応する音素の発音の終了を特定する時刻より所定の無音区間を加えた時刻を後続する音節の発音の開始を特定する時刻として設定するようにしたので、音声合成を行うことにより作成される符号コード群は玩具などに搭載されている性能の低いＭＩＤＩ音源で再生可能であるとともに、既存の楽譜編集ツールにより演奏者が楽器演奏で再生可能な判読性のある五線譜に変換することが可能となる。
【００９２】
以上、本発明の好適な実施形態について説明したが、本発明は上記実施形態に限定されず、種々の変形が可能である。例えば、上記実施形態では、Ｓ２〜Ｓ４の処理について好ましい処理例について具体的に説明したが、これらの処理については、本発明の趣旨を逸脱しない範囲で、公知の特許文献１〜５に開示した技術を用いることができる。
【産業上の利用可能性】
【００９３】
本発明は、イベントや余興目的に行われる人間の音声再生を模倣した音楽作品制作・作曲の支援産業に利用することができる。また、エンターテインメント分野において、電子楽器を主体とした玩具（ロボット、ぬいぐるみを含む）、玩具型のアコースティック楽器（室内装飾用のミニチュアピアノ）、オルゴール、携帯電話の着信メロディ等の音階再生媒体に対して音声合成機能を付加する産業に利用することができる。また、ＳＭＦ（Ｓｔａｎｄａｒｄ  ＭＩＤＩ  Ｆｉｌｅ）等によるＭＩＤＩ音楽コンテンツ配布時における著作権保護等の産業に利用することができる。
【符号の説明】
【００９４】
１０・・・記憶手段
１１・・・音節波形データ記憶部
１２・・・音節符号記憶部
１３・・・音素符号記憶部
１３ａ・・・音素符号データベース
１４・・・合成音声データ記憶手段
２０・・・処理制御手段
２１・・・音節波形拡大手段
２２・・・符号コード群作成手段
２３・・・音節符号作成手段
２４・・・音高別エネルギー算出手段
２５・・・音高別エネルギー統合手段
２６・・・符号変換手段
３０・・・符号表示手段
５０・・・音素編集処理手段
６０・・・音声出力手段
７０・・・印刷手段
【図１】
0005560769.tif 000002
【図２】
0005560769.tif 000003
【図３】
0005560769.tif 000004
【図４】
0005560769.tif 000005
【図５】
0005560769.tif 000006
【図６】
0005560769.tif 000007
【図７】
0005560769.tif 000008
【図８】
0005560769.tif 000009
【図９】
0005560769.tif 000010
【図１０】
0005560769.tif 000011
【図１１】
0005560769.tif 000012
【図１２】
0005560769.tif 000013
【図１３】
0005560769.tif 000014
【図１４】
0005560769.tif 000015
【図１５】
0005560769.tif 000016
【図１６】
0005560769.tif 000017
【図１７】
0005560769.tif 000018
【図１８】
0005560769.tif 000019
【図１９】
0005560769.tif 000020
【図２０】
0005560769.tif 000021
【図２１】
0005560769.tif 000022