(57)【特許請求の範囲】
【請求項１】
音声の波形を表す音声信号と、当該音声信号の発音を示す表音記号列とを取得する取得手段と、
前記取得手段により取得された音声信号をフィルタリングしてピッチ信号を抽出するフィルタであって、当該ピッチ信号がゼロクロスする周期の逆数を中心周波数とするバンドパスフィルタによりフィルタリングするフィルタと、
前記フィルタにより抽出されたピッチ信号がゼロクロスするタイミングで前記音声信号を区間に区切り、各区間について、当該区間内のピッチ信号と当該区間内の音声信号との相関が最も高くなるように当該音声信号の位相を変化させ、更に、当該位相が変化された音声信号の各区間のサンプル数がほぼ等しくなり且つ各区間のサンプリング間隔が等間隔になるようにサンプリングしてピッチ波形信号を生成する信号生成手段と、
前記信号生成手段により生成されたピッチ波形信号を直交変換することにより、前記ピッチ波形信号に含まれる所定個数分の基本周波数成分の時間変化をそれぞれ計算し、当該計算された所定個数分の時間変化を表すデータを１組とするデータの組を生成するデータ組生成手段と、
前記取得手段により取得された表音記号列から、当該音声信号の韻律を示す韻律記号列を生成する韻律生成手段と、
前記データ組生成手段により生成されたデータの組と、前記韻律生成手段により生成された韻律記号列とを出力する出力手段と、
を備えることを特徴とする音声辞書作成装置。
【請求項２】
前記フィルタは、前記バンドパスフィルタ、又は、前記音声信号の前記基本周波数の逆数の絶対値を中心周波数とするバンドパスフィルタ、のいずれかを用いてフィルタリングする
ことを特徴とする請求項１に記載の音声辞書作成装置。
【請求項３】
音声の波形を表す音声信号と、当該音声信号の発音を示す表音記号列とを取得する取得手段と、
前記取得手段により取得された音声信号がゼロクロスするタイミングで前記音声信号を区間に区切り、各区間について、当該区間内のピッチ信号と当該区間内の音声信号との相関が最も高くなるように当該音声信号の位相を変化させ、更に、当該位相が変化された音声信号の各区間のサンプル数がほぼ等しくなり且つ各区間のサンプリング間隔が等間隔になるようにサンプリングすることにより、当該音声信号をピッチ波形信号へと加工する信号生成手段と、
前記信号生成手段により生成されたピッチ波形信号を直交変換することにより、前記ピッチ波形信号に含まれる所定個数分の基本周波数成分の時間変化をそれぞれ計算し、当該計算された所定個数分の時間変化を表すデータを１組とするデータの組を生成するデータ組生成手段と、
前記取得手段により取得された表音記号列から、当該音声信号の韻律を示す韻律記号列を生成する韻律生成手段と、
前記データ組生成手段により生成されたデータの組と、前記韻律生成手段により生成された韻律記号列とを出力する出力手段と、
を備えることを特徴とする音声辞書作成装置。
【請求項４】
取得手段、抽出手段、信号生成手段、データ組生成手段、韻律生成手段、出力手段を有する装置にて実行される音声辞書作成方法であって、
前記取得手段が、音声の波形を表す音声信号と、当該音声信号の発音を示す表音記号列とを取得する取得ステップと、
前記抽出手段が、前記取得ステップにより取得された音声信号をフィルタリングしてピッチ信号を抽出する抽出ステップであって、当該ピッチ信号がゼロクロスする周期の逆数を中心周波数としてフィルタリングする抽出ステップと、
前記信号生成手段が、前記抽出ステップにより抽出されたピッチ信号がゼロクロスするタイミングで前記音声信号を区間に区切り、各区間について、当該区間内のピッチ信号と当該区間内の音声信号との相関が最も高くなるように当該音声信号の位相を変化させ、更に、当該位相が変化された音声信号の各区間のサンプル数がほぼ等しくなり且つ各区間のサンプリング間隔が等間隔になるようにサンプリングしてピッチ波形信号を生成する信号生成ステップと、
前記データ組生成手段が、前記信号生成ステップにより生成されたピッチ波形信号を直交変換することにより、前記ピッチ波形信号に含まれる所定個数分の基本周波数成分の時間変化をそれぞれ計算し、当該計算された所定個数分の時間変化を表すデータを１組とするデータの組を生成するデータ組生成ステップと、
前記韻律生成手段が、前記取得ステップにより取得された表音記号列から、当該音声信号の韻律を示す韻律記号列を生成する韻律生成ステップと、
前記出力手段が、前記データ組生成ステップにより生成されたデータの組と、前記韻律生成ステップにより生成された韻律記号列とを出力する出力ステップと、
を備えることを特徴とする音声辞書作成方法。
【請求項５】
コンピュータを、
音声の波形を表す音声信号と、当該音声信号の発音を示す表音記号列とを取得する取得手段、
前記取得手段により取得された音声信号をフィルタリングしてピッチ信号を抽出するフィルタであって、当該ピッチ信号がゼロクロスする周期の逆数を中心周波数とするバンドパスフィルタによりフィルタリングするフィルタ、
前記フィルタにより抽出されたピッチ信号がゼロクロスするタイミングで前記音声信号を区間に区切り、各区間について、当該区間内のピッチ信号と当該区間内の音声信号との相関が最も高くなるように当該音声信号の位相を変化させ、更に、当該位相が変化された音声信号の各区間のサンプル数がほぼ等しくなり且つ各区間のサンプリング間隔が等間隔になるようにサンプリングしてピッチ波形信号を生成する信号生成手段、
前記信号生成手段により生成されたピッチ波形信号を直交変換することにより、前記ピッチ波形信号に含まれる所定個数分の基本周波数成分の時間変化をそれぞれ計算し、当該計算された所定個数分の時間変化を表すデータを１組とするデータの組を生成するデータ組生成手段、
前記取得手段により取得された表音記号列から、当該音声信号の韻律を示す韻律記号列を生成する韻律生成手段、
前記データ組生成手段により生成されたデータの組と、前記韻律生成手段により生成された韻律記号列とを出力する出力手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【０００１】
この発明は、音声辞書作成装置、音声辞書作成方法、及び、プログラムに関する。
【０００２】
【従来の技術】
音声合成を行う等の目的で、声の信号をパラメータ化して扱う場合には、声の信号を、波形情報よりも周波数情報として扱うことが多くある。例えば音声合成では、一般に、声のピッチやフォルマントを利用した手法が多く採用されており、いわゆる規則合成方式も、そのような手法のひとつである（例えば、特許文献１参照）。
【０００３】
【特許文献１】
特開平０５−２５７４９４号公報
【０００４】
ピッチやフォルマントを、人間の声の発生過程に即して説明すると、人間の声の発生過程はまず、声帯部を振動させて、パルスの列からなるような音を発生させることから始まる。このパルスは、言葉の音素毎に特有なある一定の周期で発生し、この周期が「ピッチ」と呼ばれている。このパルスのスペクトルは、ピッチの整数倍の間隔で並ぶ比較的強いスペクトル成分を含みつつ、幅広い周波数帯に分布する。
【０００５】
次に、このパルスが声道を通過すると、このパルスは、声道や舌の形状によって作られる空間でフィルタリングされる。このフィルタリングの結果、このパルスのうちある周波数成分のみが強調されるような音ができる。（すなわち、フォルマントが生成される。）以上が、声の発生過程である。
【０００６】
声道や舌を動かすと、声帯が発生したパルスのうち強調される周波数成分は変化する。このため、この変化と言葉とを対応付ければ、音声による会話が成立する。規則合成方式はこの点を利用した音声合成の手法である。
規則合成方式による音声合成は、具体的には、たとえば図９に示す手順で行われる。
【０００７】
すなわち、規則合成方式においては、まず、音声を合成する対象の文章に形態素解析を施す（図９、ステップＳ１０１）。形態素解析は、文章を単語に区切り、得られた単語がどの種類の品詞で、活用する品詞の場合はどの活用形か、などを、単語の係り受けなどに基づいて特定する処理である。
【０００８】
次に、この形態素解析の結果に基づき、文章を読み上げる音声の発音を表す発音記号の列を生成して（ステップＳ１０２）、得られた発音記号の列に基づいて音声のスペクトルの包絡線を決定し（ステップＳ１０４）、この包絡線に基づき、声道特性をシミュレートするフィルタの特性を決定する。
【０００９】
なお、日本語の音声は、百数十種のＣＶ（Consonant-Vowel）音節や、母音、撥音、無音など１モーラ（「モーラ」は音声の時間長の単位であり、１モーラは、短母音を含む音節１個の長さに相当する）の言語音が組み合わされてできていると考えられており、発音記号は、例えばこれらのＣＶ音節や言語音を記号として示すものである。人間による音声の発声や聴取は、ＣＶ音節を音声の単位として行われていると考えられている。
【００１０】
一方、合成されるべき音声の韻律を予測した結果を表す韻律記号の列を生成する（ステップＳ１０３）。音声の韻律とは、音声のアクセント、イントネーション、強勢などであり、「藤崎モデル」などの韻律予測の手法に従って予測される。
【００１１】
次に、得られた韻律記号の列に基づいて、声帯が発するパルスの特徴を指定する音源パラメータを生成し（ステップＳ１０５）、音源パラメータに基づき、声帯が発するパルスの波形を表す音源信号を生成する（ステップＳ１０６）。
【００１２】
そして、この音源信号を、特性を決定したフィルタでフィルタリングする（ステップＳ１０７）ことにより、音声を合成する。
具体的には、例えば図１０に示すように、インパルス列発生源１が発生するインパルス列、及び白色雑音発生源２が発生する白色雑音の切り替えにより、音源信号をシミュレートする。そして、このシミュレーションにより得られる音源信号を、声道特性をシミュレートするデジタルフィルタ３でフィルタリングすることにより、音声を生成する。
【００１３】
【発明が解決しようとする課題】
しかし、ここで問題になるのが、実際の人間の声帯や声道の変化の複雑さである。
まず、現実の人間の声帯は複雑な構造をもっており、ピッチは人間の感情や意識に影響されやすく、ある程度は一定とみなせる周期であるものの、現実には、ピッチは微妙にゆらぎを生じる。従って、同一話者が同じ言葉（音素）を複数ピッチ分発声した場合、ピッチの間隔は通常、一定しない。従って、声帯の特性をインパルス列で表現することは困難である。
このため、規則合成方式によって合成した音声は、実際の人間が発するものと異なり、機械的な音声になってしまう、という問題が生じていた。
【００１４】
また、実際の人間の声道の変化も非常に複雑なため、スペクトル包絡を正確に予測することは困難である。従って、声道の特性をデジタルフィルタで性格に表現することも困難である。従って、声道をある程度単純化したモデルを想定して声道のフィルタ特性をシミュレートする等せざるを得ず、このことも、規則合成方式により合成した音声の音質が悪くなる原因となる。
【００１５】
この発明は、上記実状に鑑みてなされたものであり、自然な音声を合成するための音声辞書作成装置、音声辞書作成方法、及び、プログラムを提供することを目的とする。
【００１６】
【課題を解決するための手段】
上記目的を達成すべく、この発明の第１の観点にかかる音声辞書作成装置は、
音声の波形を表す音声信号と、当該音声信号の発音を示す表音記号列とを取得する取得手段と、
前記取得手段により取得された音声信号をフィルタリングしてピッチ信号を抽出するフィルタであって、当該ピッチ信号がゼロクロスする周期の逆数を中心周波数とするバンドパスフィルタによりフィルタリングするフィルタと、
前記フィルタにより抽出されたピッチ信号がゼロクロスするタイミングで前記音声信号を区間に区切り、各区間について、当該区間内のピッチ信号と当該区間内の音声信号との相関が最も高くなるように当該音声信号の位相を変化させ、更に、当該位相が変化された音声信号の各区間のサンプル数がほぼ等しくなり且つ各区間のサンプリング間隔が等間隔になるようにサンプリングしてピッチ波形信号を生成する信号生成手段と、
前記信号生成手段により生成されたピッチ波形信号を直交変換することにより、前記ピッチ波形信号に含まれる所定個数分の基本周波数成分の時間変化をそれぞれ計算し、当該計算された所定個数分の時間変化を表すデータを１組とするデータの組を生成するデータ組生成手段と、
前記取得手段により取得された表音記号列から、当該音声信号の韻律を示す韻律記号列を生成する韻律生成手段と、
前記データ組生成手段により生成されたデータの組と、前記韻律生成手段により生成された韻律記号列とを出力する出力手段と、
を備えることを特徴とする。
【００１７】
前記フィルタは、前記バンドパスフィルタ、又は、前記音声信号の前記基本周波数の逆数の絶対値を中心周波数とするバンドパスフィルタ、のいずれかを用いてフィルタリングするものであってもよい。
【００２０】
また、この発明の第２の観点にかかる音声辞書作成装置は、
音声の波形を表す音声信号と、当該音声信号の発音を示す表音記号列とを取得する取得手段と、
前記取得手段により取得された音声信号がゼロクロスするタイミングで前記音声信号を区間に区切り、各区間について、当該区間内のピッチ信号と当該区間内の音声信号との相関が最も高くなるように当該音声信号の位相を変化させ、更に、当該位相が変化された音声信号の各区間のサンプル数がほぼ等しくなり且つ各区間のサンプリング間隔が等間隔になるようにサンプリングすることにより、当該音声信号をピッチ波形信号へと加工する信号生成手段と、
前記信号生成手段により生成されたピッチ波形信号を直交変換することにより、前記ピッチ波形信号に含まれる所定個数分の基本周波数成分の時間変化をそれぞれ計算し、当該計算された所定個数分の時間変化を表すデータを１組とするデータの組を生成するデータ組生成手段と、
前記取得手段により取得された表音記号列から、当該音声信号の韻律を示す韻律記号列を生成する韻律生成手段と、
前記データ組生成手段により生成されたデータの組と、前記韻律生成手段により生成された韻律記号列とを出力する出力手段と、
を備えることを特徴とする。
【００２２】
また、この発明の第３の観点にかかる音声辞書作成方法は、
取得手段、抽出手段、信号生成手段、データ組生成手段、韻律生成手段、出力手段を有する装置にて実行される音声辞書作成方法であって、
前記取得手段が、音声の波形を表す音声信号と、当該音声信号の発音を示す表音記号列とを取得する取得ステップと、
前記抽出手段が、前記取得ステップにより取得された音声信号をフィルタリングしてピッチ信号を抽出する抽出ステップであって、当該ピッチ信号がゼロクロスする周期の逆数を中心周波数としてフィルタリングする抽出ステップ、
前記信号生成手段が、前記抽出ステップにより抽出されたピッチ信号がゼロクロスするタイミングで前記音声信号を区間に区切り、各区間について、当該区間内のピッチ信号と当該区間内の音声信号との相関が最も高くなるように当該音声信号の位相を変化させ、更に、当該位相が変化された音声信号の各区間のサンプル数がほぼ等しくなり且つ各区間のサンプリング間隔が等間隔になるようにサンプリングしてピッチ波形信号を生成する信号生成ステップと、
前記データ組生成手段が、前記信号生成ステップにより生成されたピッチ波形信号を直交変換することにより、前記ピッチ波形信号に含まれる所定個数分の基本周波数成分の時間変化をそれぞれ計算し、当該計算された所定個数分の時間変化を表すデータを１組とするデータの組を生成するデータ組生成ステップと、
前記韻律生成手段が、前記取得ステップにより取得された表音記号列から、当該音声信号の韻律を示す韻律記号列を生成する韻律生成ステップと、
前記出力手段が、前記データ組生成ステップにより生成されたデータの組と、前記韻律生成ステップにより生成された韻律記号列とを出力する出力ステップと、
を備えることを特徴とする。
【００２４】
また、この発明の第４の観点にかかるプログラムは、
コンピュータを、
音声の波形を表す音声信号と、当該音声信号の発音を示す表音記号列とを取得する取得手段、
前記取得手段により取得された音声信号をフィルタリングしてピッチ信号を抽出するフィルタであって、当該ピッチ信号がゼロクロスする周期の逆数を中心周波数とするバンドパスフィルタによりフィルタリングするフィルタ、
前記フィルタにより抽出されたピッチ信号がゼロクロスするタイミングで前記音声信号を区間に区切り、各区間について、当該区間内のピッチ信号と当該区間内の音声信号との相関が最も高くなるように当該音声信号の位相を変化させ、更に、当該位相が変化された音声信号の各区間のサンプル数がほぼ等しくなり且つ各区間のサンプリング間隔が等間隔になるようにサンプリングしてピッチ波形信号を生成する信号生成手段、
前記信号生成手段により生成されたピッチ波形信号を直交変換することにより、前記ピッチ波形信号に含まれる所定個数分の基本周波数成分の時間変化をそれぞれ計算し、当該計算された所定個数分の時間変化を表すデータを１組とするデータの組を生成するデータ組生成手段、
前記取得手段により取得された表音記号列から、当該音声信号の韻律を示す韻律記号列を生成する韻律生成手段、
前記データ組生成手段により生成されたデータの組と、前記韻律生成手段により生成された韻律記号列とを出力する出力手段、
として機能させるためのものであることを特徴とする。
【００２６】
【発明の実施の形態】
以下に、図面を参照して、この発明の実施の形態を説明する。
（第１の実施の形態：音声辞書生成システム）
図１は、この発明の第１の実施の形態に係る音声辞書生成システムの構成を示す図である。図示するように、この音声辞書生成システムは、記録媒体（例えば、フレキシブルディスクやＭＯ（Magneto Optical disk）など）に記録されたデータを読み取る記録媒体ドライバ（フレキシブルディスクドライブや、ＭＯドライブなど）ＳＭＤ１と、記録媒体ドライバＳＭＤ１に接続されたコンピュータＣ１とより構成されている。
【００２７】
コンピュータＣ１は、ＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）等からなるプロセッサや、ＲＡＭ（Random Access Memory）等からなる揮発性メモリや、ハードディスク装置等からなる不揮発性メモリや、キーボード等からなる入力部や、ＣＲＴ（陰極線管）等からなる表示部などからなっている。コンピュータＣ１は音声辞書生成プログラムを予め記憶しており、この音声辞書生成プログラムを実行することにより後述する処理を行う。
【００２８】
また、コンピュータＣ１は、ハードディスクコントローラ等、音声辞書を記憶させる対象である外部の記憶装置（たとえば、ハードディスク装置等）Ｄへのアクセスを制御するアクセス制御回路等を備えており、このアクセス制御回路を介して、当該記憶装置Ｄに着脱可能に接続される。
【００２９】
（第１の実施の形態：音声辞書生成システムの動作）
次に、この音声辞書生成システムの動作を、図２を参照して説明する。図２は、図１の音声辞書生成システムの動作の流れを示す図である。
【００３０】
ユーザが、音声の波形を表す音声データと音声の発音を示す表音記号の列をテキスト形式等で表す表音データとを記録した記録媒体を記録媒体ドライバＳＭＤ１にセットして、コンピュータＣ１に、音声辞書生成プログラムの起動を指示すると、コンピュータＣ１は、音声辞書生成プログラムの処理を開始する。
【００３１】
すると、まず、コンピュータＣ１は、記録媒体ドライバＳＭＤ１を介し、記録媒体より音声データ及び表音データを読み出す（図２、ステップＳＡ１）。なお、音声データは、ＰＣＭ（Pulse Code Modulation）変調されたディジタル信号の形式を有しており、音声のピッチより十分短い一定の周期でサンプリングされた音声を表しているものとする。
【００３２】
なお、音声データ及び表音データは互いに別個の記録媒体に記録されていても差し支えなく、この場合は、たとえば、記録媒体ドライバＳＭＤ１に記録媒体をセットして記録媒体に記録されたデータをコンピュータＣ１に読み取らせる動作を、記録媒体の数ぶん繰り返すようにすればよい。また、表音データは、ユーザ等がコンピュータＣ１の入力部を操作して入力し、コンピュータＣ１に記憶させるようにしてもよい。
【００３３】
次に、コンピュータＣ１は、記録媒体より読み出した表音データを解析し、この表音データが表す音声を、当該音声を構成する単位音声の発音を示す発音記号（たとえば、カナ文字等の表音文字）の列として表す、発音記号列を生成する（ステップＳＡ２）。
また、コンピュータＣ１は、この表音データを解析し、この表音データが表す音声の韻律を、当該音声を構成する単位音声の韻律を示す韻律記号の列として表す、韻律記号列を生成する（ステップＳＡ３）。
【００３４】
なお、単位音声は、言語音を構成する単位として機能する音声であり、たとえば、子音１個と母音１個とが連結されたものからなるＣＶ（Consonant-Vowel）音節などが、単位音声として機能する。
【００３５】
一方、コンピュータＣ１は、記録媒体より読み出された音声データをフィルタリングすることにより、フィルタリングされた音声データ（ピッチ信号）を生成する（ステップＳＡ４）。ピッチ信号は、音声データのサンプルリング間隔と実質的に同一のサンプリング間隔を有するディジタル形式のデータからなるものとする。
【００３６】
なお、コンピュータＣ１は、ピッチ信号を生成するために行うフィルタリングの特性を、後述するピッチ長と、ピッチ信号の瞬時値が０となる時刻（ゼロクロスする時刻）とに基づくフィードバック処理を行うことにより決定する。
【００３７】
すなわち、コンピュータＣ１は、読み出した音声データに、例えば、ケプストラム解析や、自己相関関数に基づく解析を施すことにより、この音声データが表す音声の基本周波数を特定し、この基本周波数の逆数の絶対値（すなわち、ピッチ長）を求める（ステップＳＡ５）。（あるいは、コンピュータＣ１は、ケプストラム解析及び自己相関関数に基づく解析の両方を行うことにより基本周波数を２個特定し、これら２個の基本周波数の逆数の絶対値の平均をピッチ長として求めるようにしてもよい。）
【００３８】
なお、ケプストラム解析としては、具体的には、まず、読み出した音声データの強度を、元の値の対数（対数の底は任意）に実質的に等しい値へと変換し、値が変換された音声データのスペクトル（すなわち、ケプストラム）を、高速フーリエ変換の手法（あるいは、離散的変数をフーリエ変換した結果を表すデータを生成する他の任意の手法）により求める。そして、このケプストラムの極大値を与える周波数のうちの最小値を基本周波数として特定する。
【００３９】
一方、自己相関関数に基づく解析としては、具体的には、読み出した音声データを用いてまず、数式１の右辺により表される自己相関関数ｒ（ｌ）を特定する。そして、自己相関関数ｒ（ｌ）をフーリエ変換した結果得られる関数（ピリオドグラム）の極大値を与える周波数のうち、所定の下限値を超える最小の値を基本周波数として特定する。
【００４０】
【数１】
0003994333.tif 000002
【００４１】
一方、コンピュータＣ１は、ピッチ信号がゼロクロスする時刻が来るタイミングを特定する（ステップＳＡ６）。そして、コンピュータＣ１は、ピッチ長とピッチ信号のゼロクロスの周期とが互いに所定量以上異なっているか否かを判別し（ステップＳＡ７）、異なっていないと判別した場合は、ゼロクロスの周期の逆数を中心周波数とするようなバンドパスフィルタの特性で上述のフィルタリングを行うこととする（ステップＳＡ８）。一方、所定量以上異なっていると判別した場合は、ピッチ長の逆数を中心周波数とするようなバンドパスフィルタの特性で上述のフィルタリングを行うこととする（ステップＳＡ９）。なお、いずれの場合も、フィルタリングの通過帯域幅は、通過帯域の上限が音声データの表す音声の基本周波数の２倍以内に常に収まるような通過帯域幅であることが望ましい。
【００４２】
次に、コンピュータＣ１は、生成したピッチ信号の単位周期（例えば１周期）の境界が来るタイミング（具体的には、ピッチ信号がゼロクロスするタイミング）で、記録媒体から読み出した音声データを区切る（ステップＳＡ１０）。そして、区切られてできる区間のそれぞれについて、この区間内の音声データの位相を種々変化させたものとこの区間内のピッチ信号との相関を求め、最も相関が高くなるときの音声データの位相を、この区間内の音声データの位相として特定する（ステップＳＡ１１）。そして、音声データのそれぞれの区間を、互いが実質的に同じ位相になるように移相する（ステップＳＡ１２）。
【００４３】
具体的には、コンピュータＣ１は、それぞれの区間毎に、例えば、数式２の右辺により表される値ｃｏｒを、位相を表すφ（ただし、φは０以上の整数）の値を種々変化させた場合それぞれについて求める。そして、値ｃｏｒが最大になるようなφの値Ψを、この区間内の音声データの位相を表す値として特定する。この結果、この区間につき、ピッチ信号との相関が最も高くなる位相の値が定まる。そして、コンピュータＣ１は、この区間内の音声データを、（−Ψ）だけ移相する。
【００４４】
【数２】
0003994333.tif 000003
【００４５】
音声データを上述の通り移相することにより得られるデータ（ピッチ波形データ）が表す波形の一例を図３（ｃ）に示す。図３（ａ）に示す位相前の音声データの波形のうち、「＃１」及び「＃２」として示す２個の区間は、図３（ｂ）に示すように、ピッチのゆらぎの影響により互いに異なる位相を有している。これに対し、ピッチ波形データが表す波形の区間＃１及び＃２は、図３（ｃ）に示すように、ピッチのゆらぎの影響が除去されて位相が揃っている。また、図３（ａ）に示すように、各区間の始点の値は０に近い値となっている。
【００４６】
なお、区間の時間的な長さは、１ピッチ分程度であることが望ましい。区間が長いほど、区間内のサンプル数が増えて、ピッチ波形データのデータ量が増大し、あるいは、サンプリング間隔が増大してピッチ波形データが表す音声が不正確になる、という問題が生じる。
【００４７】
次に、コンピュータＣ１は、ピッチ波形データの各区間をサンプリングし直す（リサンプリングする）。また、各区間の元のサンプル数を示すピッチ情報も生成する（ステップＳＡ１３）。なお、コンピュータＣ１は、ピッチ波形データの各区間のサンプル数が互いにほぼ等しくなるようにして、同一区間内では等間隔になるようリサンプリングするものとする。
記録媒体より読み出した音声データのサンプリング間隔が既知であるものとすれば、ピッチ情報は、この音声データの単位ピッチ分の区間の元の時間長を表す情報として機能する。
【００４８】
次に、コンピュータＣ１は、ステップＳＡ１３でリサンプリングされたピッチ波形データにＤＣＴ（Discrete Cosine Transform）等の直交変換を施すことにより、スペクトル情報を生成する（ステップＳＡ１４）。
スペクトル情報は、ピッチ波形信号が表す音声の基本周波数成分の強度の時間変化を表すデータと、この音声のｙ個（ｙは自然数）の基本周波数成分の強度の時間変化を表すｙ個のデータとを含むデータである。従って、スペクトル情報は、音声の基本周波数成分（又は高調波成分）の強度の時間変化がないとき、この基本周波数成分（又は高調波成分）の強度を、直流信号の形で表す。
【００４９】
次に、コンピュータＣ１は、ステップＳＡ１４で生成したスペクトル情報が表す各周波数成分の瞬時値に非線形圧縮を施して得られる値（具体的には、たとえば、瞬時値を上に凸な関数に代入して得られる値）に量子化したものに相当するスペクトル情報（非線形量子化後のスペクトル情報）を生成する（ステップＳＡ１５）。
【００５０】
ステップＳＡ１５でコンピュータＣ１は、具体的には、例えば、非線形圧縮後の各周波数成分の瞬時値を、数式１の右辺に示す関数Ｘｒｉ（ｘｉ）を量子化した値に実質的に等しくなるようなものへと変更することにより非線形圧縮を行えばよい。
【００５１】
【数３】
Ｘｒｉ（ｘｉ）＝ｓｇｎ（ｘｉ）・｜ｘｉ｜４／３・２｛ｇｌｏｂａｌ＿ｇａｉｎ（ｘｉ）｝／４
（ただし、ｓｇｎ（δ）＝（δ／｜δ｜）、ｘｉはスペクトル情報が表す周波数成分の元の瞬時値、ｇｌｏｂａｌ＿ｇａｉｎ（ｘｉ）は、フルスケールを設定するためのｘｉの関数）
【００５２】
また、ステップＳＡ１５でコンピュータＣ１は、非線形量子化された値を元の値に復元するためのデータ（圧縮情報）として、スペクトル情報にどのような特性の非線形量子化を施したかを示すデータを生成する。
【００５３】
そして、コンピュータＣ１は、ステップＳＡ１５までの処理で生成した発音記号列、韻律記号列、ピッチ情報、圧縮情報及び非線形圧縮後のスペクトル情報を、同一の音声を表すもの同士が互いに対応付けられた形で、記憶装置Ｄの記憶領域に格納する（ステップＳＡ１６）。
互いに対応付けて記憶装置Ｄに記憶された発音記号列、韻律記号列、ピッチ情報、圧縮情報及び非線形圧縮後のスペクトル情報の組がなす集合が、音声辞書を構成する。
【００５４】
以上説明した音声辞書生成システムにより生成される音声辞書に格納されるスペクトル情報は、単位ピッチ分の区間の時間長が規格化されピッチのゆらぎの影響が除去された音声データに基づいて生成されている。このため、このスペクトル情報は、音声の各周波数成分（基本周波数成分及び高調波成分）の強度の時間変化を正確に表すものとなる。また、ゆらぎを含んだ単位音声の各区間の元の時間長を表す情報も、この音声辞書に保存される。
【００５５】
なお、この音声辞書生成システムの構成は上述のものに限られない。
たとえば、コンピュータＣ１は、音声辞書に格納すべきデータを、記録媒体ドライバＳＭＤ１にセットされた記録媒体に、記録媒体ドライバＳＭＤ１を介して書き込むようにしてもよい。
【００５６】
また、コンピュータＣ１は、電話回線、専用回線、衛星回線等の通信回線を介して外部より音声データや表音データを取得するようにしてもよい。また、コンピュータＣ１、音声辞書に格納すべきデータを、通信回線等を介して外部に出力するようにしてもよい。これらの場合、コンピュータＣ１は、例えばモデムやＤＳＵ（Data Service Unit）等からなる通信制御部を備えていればよい。なお、コンピュータＣ１が通信回線を介して外部より音声データや表音データを取得する場合、記録媒体ドライバＳＭＤ１は不要である。
【００５７】
また、コンピュータＣ１は、マイクロフォン、ＡＦ増幅器、サンプラー、Ａ／Ｄ（Analog-to-Digital）コンバータ及びＰＣＭエンコーダなどからなる集音装置を備えていてもよい。集音装置は、自己のマイクロフォンが集音した音声を表す音声信号を増幅し、サンプリングしてＡ／Ｄ変換した後、サンプリングされた音声信号にＰＣＭ変調を施すことにより、音声データを取得すればよい。なお、コンピュータＣ１が取得する音声データは、必ずしもＰＣＭ信号である必要はない。
【００５８】
また、コンピュータＣ１は、ケプストラム解析又は自己相関係数に基づく解析のいずれかを行わなくてもよく、この場合は、ケプストラム解析又は自己相関係数に基づく解析のうち一方の手法で求めた基本周波数の逆数をそのままピッチ長として扱うようにすればよい。
【００５９】
また、コンピュータＣ１が音声データの各区間内の音声データを移相する量は（−Ψ）である必要はなく、例えば、コンピュータＣ１は、初期位相を表す各区間に共通な実数をεとして、それぞれの区間につき、（−Ψ＋ε）だけ、音声データを移相するようにしてもよい。また、コンピュータＣ１が音声データの音声データを区切る位置は、必ずしもピッチ信号がゼロクロスするタイミングである必要はなく、例えば、ピッチ信号が０でない所定の値となるタイミングであってもよい。
しかし、初期位相αを０とし、且つ、ピッチ信号がゼロクロスするタイミングで音声データを区切るようにすれば、各区間の始点の値は０に近い値になるので、音声データを各区間へと区切ることに各区間が含むようになるノイズの量が少なくなる。
【００６０】
なお、コンピュータＣ１は専用のシステムである必要はなく、パーソナルコンピュータ等であってよい。また、音声辞書作成プログラムは、音声辞書生成プログラムを格納した媒体（ＣＤ−ＲＯＭ、ＭＯ、フレキシブルディスク等）からコンピュータＣ１へとインストールするようにしてもよいし、通信回線の掲示板（ＢＢＳ）に音声辞書生成プログラムをアップロードし、これを通信回線を介して配信してもよい。また、音声辞書生成プログラムを表す信号により搬送波を変調し、得られた変調波を伝送し、この変調波を受信した装置が変調波を復調して音声辞書生成プログラムを復元するようにしてもよい。
【００６１】
また、音声辞書生成プログラムは、ＯＳの制御下に、他のアプリケーションプログラムと同様に起動してコンピュータＣ１に実行させることにより、上述の処理を実行することができる。なお、ＯＳが上述の処理の一部を分担する場合、記録媒体に格納される音声辞書生成プログラムは、当該処理を制御する部分を除いたものであってもよい。
【００６２】
（第１の実施の形態：音声合成システム）
次に、この発明の第１の実施の形態に係る音声合成システムを説明する。
この音声合成システムは、例えば、図４に示す構成を有している。図示するように、この音声合成システムは、互いに接続されているコンピュータＣ２及び記録媒体ドライバＳＭＤ２からなっている。コンピュータＣ２は、図１に示す音声辞書生成システムのコンピュータＣ１と実質的に同一の物理的構成を有し、記録媒体ドライバＳＭＤ２は、図１の音声辞書生成システムの記録媒体ドライバＳＭＤ１と実質的に同一の物理的構成を有している。
【００６３】
そして、コンピュータＣ２は更に、音声出力部を備えている。音声出力部は、たとえば、ＰＣＭデコーダの機能を行う制御回路と、Ｄ／Ａ（Digital-to-Analog）コンバータと、ＡＦ（Audio Frequency）増幅器と、スピーカ等とを備えている。
【００６４】
コンピュータＣ２は音声合成プログラムを予め記憶しており、この音声合成プログラムを実行することにより後述する処理を行う。
なお、同一のコンピュータが、コンピュータＣ１及びコンピュータＣ２の機能を行ってもよい。
【００６５】
また、コンピュータＣ２は、スペクトルテーブル及び韻律テーブルを予め記憶する。
スペクトルテーブルは、音声の発音を識別する発音記号とこの発音記号が表す音声のスペクトルを表すスペクトル情報とを互いに対応付けて格納するデータベースである。
韻律テーブルは、音声の韻律を識別する韻律記号とこの韻律記号が表す韻律を特徴付けるパラメータを含んだ韻律情報とを互いに対応付けて格納するデータベースである。
なお、スペクトルテーブル及び韻律テーブルは、ユーザ等がコンピュータＣ２の入力部を操作して入力し、コンピュータＣ２に記憶させるようにしてもよい。
【００６６】
また、コンピュータＣ２は、上述した記憶装置Ｄへのアクセスを制御するアクセス制御回路を介して、この記憶装置Ｄに着脱可能に接続される。なお、コンピュータＣ２に接続される記憶装置Ｄは、上述した音声辞書生成システムにより作成された音声辞書（又はこれと実質的に同一のデータ構造を有するデータの集合）を既に記憶しているものとする。すなわち、この記憶装置Ｄは、単位音声を表す発音記号列、韻律記号列、ピッチ情報、圧縮情報及び非線形圧縮後のスペクトル情報を、単位音声別に互いに対応付けて格納しているものとする。
【００６７】
（第１の実施の形態：音声信号伸長器の動作）
次に、図１の音声信号伸長器の動作を、図５を参照して説明する。図５は、この音声信号伸長器の動作の流れを示す図である。
【００６８】
ユーザが、音声を合成する対象の文章を記述したテキストデータを記録した記録媒体を記録媒体ドライバＳＭＤ２にセットして、コンピュータＣ２に、音声合成プログラムの起動を指示すると、コンピュータＣ２は、音声合成プログラムの処理を開始する。
すると、まず、コンピュータＣ２は、記録媒体ドライバＳＭＤ２を介し、記録媒体よりテキストデータを読み出す（図５、ステップＳＢ１）。
【００６９】
次に、コンピュータＣ２は、記録媒体より読み出したテキストデータが表す文章に形態素解析を施し、この文章を形態素（単語）の列へと分解する（ステップＳＢ２）。そして、得られた形態素の列に基づいて、合成する対象の音声を構成する単位音声を発音する順に表す発音記号（たとえば、カナ文字等の表音文字）の列を表すデータを生成する（ステップＳＢ３）。
【００７０】
次に、コンピュータＣ２は、ステップＳＢ３で得られたデータに含まれる発音記号をキーとして、この発音記号に対応付けられたスペクトル情報を、自己が記憶するスペクトルテーブルより索出する（ステップＳＢ４）。すなわち、ステップＳＢ３で得られたデータが表す発音記号が表す単位音声のスペクトルを特定する。
【００７１】
一方、コンピュータＣ２は、ステップＳＢ２で得られたデータが表す形態素の列に、たとえば藤崎モデルに基づいた解析を加えることにより、この形態素の列の韻律を特定し、特定した韻律を表す韻律記号の列を表すデータを生成する（ステップＳＢ５）。
【００７２】
次に、コンピュータＣ２は、ステップＳＢ５で生成されたデータが表す韻律記号をキーとして、この韻律記号に対応付けられた韻律情報を、自己が記憶する韻律テーブルより索出する（ステップＳＢ６）。すなわち、ステップＳＢ５で生成されたデータが表す韻律記号が表す韻律を特徴付けるパラメータを特定する。
【００７３】
次に、コンピュータＣ２は、ステップＳＢ４で索出されたスペクトル情報やステップＳＢ６で索出された韻律情報が表す音声にもっともよく近似できる単位音声を表す発音記号列、韻律記号列、ピッチ情報、圧縮情報及び非線形圧縮後のスペクトル情報の組を、音声辞書のうちから特定する（ステップＳＢ７）。
【００７４】
具体的には、ステップＳＢ７でコンピュータＣ２は、たとえば、
（ａ）  音声辞書が記憶する同一の単位音声のスペクトル情報及びピッチ情報について、このスペクトル情報の値とステップＳＢ４で索出されたスペクトル情報の値との相関係数、及び、このピッチ情報の値とステップＳＢ６で索出された韻律情報が示すピッチの値との相関係数を求め、更に、求めた相関係数の平均値を求める。
（ｂ）  上述した（ａ）の処理を、音声辞書がパラメータを記憶するすべての単位音声について行う。そして、各単位音声のうち、（ａ）の処理で求めた平均値が最も大きかったものを、ステップＳＢ４で索出されたスペクトル情報及びステップＳＢ６で索出された韻律情報が表す単位音声にもっとも近い単位音声として特定する。
【００７５】
次に、コンピュータＣ２は、ステップＳＢ７で特定されたスペクトル情報が表す各周波数成分の強度を、ステップＳＢ７で特定された圧縮情報が表す特性で非線形量子化する以前の値に復元する（ステップＳＢ８）。そして、強度の値が復元されたスペクトル情報に変換を施すことにより、このスペクトル情報により各周波数成分の非線形量子化後の強度が表されるピッチ波形データを復元する（ステップＳＢ９）。なお、このピッチ波形データは、たとえば、ＰＣＭ変調されたディジタル信号の形式を有しているものとする。
【００７６】
コンピュータＣ２がステップＳＢ９でスペクトル情報に施す変換は、このスペクトル情報を生成するために音素の波形に施した変換に対して実質的に逆変換の関係にあるような変換である。具体的には、たとえばこのスペクトル情報が音素にＤＣＴを施して生成されたものである場合、サブバンド合成部Ｂ８は、このスペクトル情報にＩＤＣＴ（Inverse DCT）を施すようにすればよい。
【００７７】
次に、コンピュータＣ２は、ステップＳＢ９で復元されたピッチ波形データの各区間の時間長を、ステップＳＢ６で索出された韻律情報が示すピッチの時間長になるよう変更する（ステップＳＢ１０）。区間の時間長の変更は、たとえば区間内にあるサンプルの間隔を変更することにより行えばよい。
【００７８】
そして、コンピュータＣ２は、ステップＳＢ１０で各区間の時間長を変更されたピッチ波形データを復調し、Ｄ／Ａ変換及び増幅を行い、得られたアナログ信号を用いてスピーカを駆動することにより、合成音声を再生する（ステップＳＢ１１）。
【００７９】
音声辞書に格納されるスペクトル情報は、上述の通り、単位ピッチ分の区間の時間長が規格化されピッチのゆらぎの影響が除去された音声データに基づいて生成されていて、音声の各周波数成分の強度の時間変化を正確に表すものであり、また、ゆらぎを含んだ単位音声の各区間の元の時間長を表す情報も音声辞書に保存されている。従って、上述した音声合成システムがこの音声辞書を用いて合成する音声は、人間が実際に発声した音声に近いものとなる。
【００８０】
なお、この音声合成システムの構成も上述のものに限られない。
たとえば、コンピュータＣ２は、通信回線等を介して外部からテキストデータを取得するようにしてもよい。この場合、コンピュータＣ２は、モデムやＤＳＵ等からなる通信制御部を備えていればよい。
【００８１】
また、コンピュータＣ２は、自己に供給されたデータが表す音声にもっともよく近似できる単位音声を特定するとき、一部の情報を他の情報より重視した形で特定を行ってもよい。
具体的には、たとえばステップＳＢ７の上述した（ａ）の処理で、スペクトル情報をピッチ情報より重視するため、音声辞書が記憶するスペクトル情報の値とステップＳＢ４で索出されたスペクトル情報の値との相関係数αに１より大きい重み係数βを乗じ、得られた値（α・β）を、相関係数の平均値の計算の際、値αに代えて用いるようにしてもよい。
【００８２】
なお、コンピュータＣ２は専用のシステムである必要はなく、パーソナルコンピュータ等であってよい。また、音声合成プログラムは、音声合成プログラムを格納した媒体からコンピュータＣ２へとインストールするようにしてもよいし、通信回線の掲示板（ＢＢＳ）に音声合成プログラムをアップロードし、これを通信回線を介して配信してもよい。また、音声合成プログラムを表す信号により搬送波を変調し、得られた変調波を伝送し、この変調波を受信した装置が変調波を復調して音声合成プログラムを復元するようにしてもよい。
【００８３】
また、音声合成プログラムは、ＯＳの制御下に、他のアプリケーションプログラムと同様に起動してコンピュータＣ２に実行させることにより、上述の処理を実行することができる。なお、ＯＳが上述の処理の一部を分担する場合、記録媒体に格納される音声合成プログラムは、当該処理を制御する部分を除いたものであってもよい。
【００８４】
（第２の実施の形態：音声辞書生成システム）
次に、この発明の第２の実施の形態を説明する。
図６は、この発明の第２の実施の形態に係る音声辞書生成システムの構成を示す図である。図示するように、この音声辞書生成システムは、音声データ入力部Ａ１と、表音データ入力部Ａ２と、記号列生成部Ａ３と、ピッチ抽出部Ａ４と、ピッチ長固定部Ａ５と、サブバンド分割部Ａ６と、非線形量子化部Ａ７と、データ出力部Ａ８とより構成されている。
【００８５】
音声データ入力部Ａ１及び表音データ入力部Ａ２は、例えば、いずれも、記録媒体（例えば、フレキシブルディスクやＭＯなど）に記録されたデータを読み取る記録媒体ドライバ（フレキシブルディスクドライブや、ＭＯドライブなど）等より構成されている。なお、音声データ入力部Ａ１及び表音データ入力部Ａ２の機能を単一の記録媒体ドライバが行ってもよい。
【００８６】
音声データ入力部Ａ１は、音声の波形を表す音声データを取得して、ピッチ抽出部Ａ４及びピッチ長固定部Ａ５に供給する。なお、音声データは、ＰＣＭ変調されたディジタル信号の形式を有しており、音声のピッチより十分短い一定の周期でサンプリングされた音声を表しているものとする。
【００８７】
表音データ入力部Ａ２は、音声の発音を示す表音記号の列をテキスト形式等で表す表音データを入力して、記号列生成部Ａ３に供給する。
【００８８】
記号列生成部Ａ３は、ＣＰＵ等のプロセッサより構成されている。
記号列生成部Ａ３は、表音データ入力部Ａ２より供給された表音データを解析し、この表音データが表す音声を、当該音声を構成する単位音声の発音を示す発音記号の列として表す、発音記号列を生成する。また、記号列生成部Ａ３は、この表音データを解析し、この表音データが表す音声の韻律を、当該音声を構成する単位音声の韻律を示す韻律記号の列として表す、韻律記号列を生成する。そして、記号列生成部Ａ３は、生成した発音記号列及び韻律記号列を、データ出力部Ａ８へと供給する。なお、単位音声は、上述した通り、言語音を構成する単位として機能する音声であり、たとえば上述のＣＶ音節などからなる。
【００８９】
ピッチ抽出部Ａ４、ピッチ長固定部Ａ５、サブバンド分割部Ａ６及び非線形量子化部Ａ７は、いずれも、ＤＳＰやＣＰＵ等のデータ処理装置より構成されている。
なお、ピッチ抽出部Ａ４、ピッチ長固定部Ａ５、サブバンド分割部Ａ６及び非線形量子化部Ａ７の一部又は全部の機能を単一のデータ処理装置が行うようにしてもよい。
【００９０】
ピッチ抽出部Ａ４は、音声データ入力部Ａ１より供給された音声データを解析し、この音声データが表す音声の単位ピッチ分（たとえば、１ピッチ分）にあたる区間を特定する。そして、特定した各区間の先頭や末尾のタイミングを示すピッチ信号をピッチ長固定部Ａ５へと供給する。
【００９１】
ピッチ抽出部Ａ４は、機能的には、たとえば図７に示すように、ケプストラム解析部Ａ４１と、自己相関解析部Ａ４２と、重み計算部Ａ４３と、ＢＰＦ係数計算部Ａ４４と、バンドパスフィルタＡ４５と、ゼロクロス解析部Ａ４６とより構成されている。
【００９２】
なお、ケプストラム解析部Ａ４１、自己相関解析部Ａ４２、重み計算部Ａ４３、ＢＰＦ係数計算部Ａ４４、バンドパスフィルタＡ４５及びゼロクロス解析部Ａ４６の一部又は全部の機能を同一のＤＳＰやＣＰＵが行ってもよい。
【００９３】
ピッチ抽出部Ａ４は、ケプストラム解析と、自己相関関数に基づく解析とを併用して、ピッチの長さを特定する。
すなわち、まず、ケプストラム解析部Ａ４１は、音声データ入力部Ａ１より供給される音声データにケプストラム解析を施すことにより、この音声データが表す音声の基本周波数を特定し、特定した基本周波数を示すデータを生成して重み計算部Ａ４３へと供給する。
【００９４】
具体的には、ケプストラム解析部Ａ４１は、音声データ入力部Ａ１より音声データを供給されると、まず、この音声データの強度を、元の値の対数に実質的に等しい値へと変換する。（対数の底は任意である。）
次に、ケプストラム解析部Ａ４１は、値が変換された音声データのスペクトル（すなわち、ケプストラム）を、高速フーリエ変換の手法（あるいは、離散的変数をフーリエ変換した結果を表すデータを生成する他の任意の手法）により求める。
そして、このケプストラムの極大値を与える周波数のうちの最小値を基本周波数として特定し、特定した基本周波数を示すデータを生成して重み計算部Ａ４３へと供給する。
【００９５】
一方、自己相関解析部Ａ４２は、音声データ入力部Ａ１より音声データを供給されると、音声データの波形の自己相関関数に基づいて、この音声データが表す音声の基本周波数を特定し、特定した基本周波数を示すデータを生成して重み計算部Ａ４３へと供給する。
【００９６】
具体的には、自己相関解析部Ａ４２は、音声データ入力部Ａ１より音声データを供給されるとまず、上述した自己相関関数ｒ（ｌ）を特定する。そして、特定した自己相関関数ｒ（ｌ）をフーリエ変換した結果得られるピリオドグラムの極大値を与える周波数のうち、所定の下限値を超える最小の値を基本周波数として特定し、特定した基本周波数を示すデータを生成して重み計算部Ａ４３へと供給する。
【００９７】
重み計算部Ａ４３は、ケプストラム解析部Ａ４１及び自己相関解析部Ａ４２より基本周波数を示すデータを１個ずつ合計２個供給されると、これら２個のデータが示す基本周波数の逆数の絶対値の平均を求める。そして、求めた値（すなわち、平均ピッチ長）を示すデータを生成し、ＢＰＦ係数計算部Ａ４４へと供給する。
【００９８】
ＢＰＦ係数計算部Ａ４４は、平均ピッチ長を示すデータを重み計算部Ａ４３より供給され、ゼロクロス解析部Ａ４６より後述のゼロクロス信号を供給されると、供給されたデータやゼロクロス信号に基づき、平均ピッチ長とピッチ信号とゼロクロスの周期とが互いに所定量以上異なっているか否かを判別する。そして、異なっていないと判別したときは、ゼロクロスの周期の逆数を中心周波数（バンドパスフィルタＡ４５の通過帯域の中央の周波数）とするように、バンドパスフィルタＡ４５の周波数特性を制御する。一方、所定量以上異なっていると判別したときは、平均ピッチ長の逆数を中心周波数とするように、バンドパスフィルタＡ４５の周波数特性を制御する。
【００９９】
バンドパスフィルタＡ４５は、中心周波数が可変なＦＩＲ（Finite Impulse Response）型のフィルタの機能を行う。
具体的には、バンドパスフィルタＡ４５は、自己の中心周波数を、ＢＰＦ係数計算部Ａ４４の制御に従った値に設定する。そして、音声データ入力部Ａ１より供給される音声データをフィルタリングして、フィルタリングされた音声データ（ピッチ信号）を、ゼロクロス解析部Ａ４６及びピッチ長固定部Ａ５へと供給する。ピッチ信号は、音声データのサンプルリング間隔と実質的に同一のサンプリング間隔を有するディジタル形式のデータからなるものとする。
なお、バンドパスフィルタＡ４５の帯域幅は、バンドパスフィルタＡ４５の通過帯域の上限が音声データの表す音声の基本周波数の２倍以内に常に収まるような帯域幅であることが望ましい。
【０１００】
ゼロクロス解析部Ａ４６は、バンドパスフィルタＡ４５から供給されたピッチ信号の瞬時値が０となる時刻（ゼロクロスする時刻）が来るタイミングを特定し、特定したタイミングを表す信号（ゼロクロス信号）を、ＢＰＦ係数計算部Ａ４４へと供給する。このようにして、音声データのピッチの長さが特定される。
ただし、ゼロクロス解析部Ａ４６は、ピッチ信号の瞬時値が０でない所定の値となる時刻が来るタイミングを特定し、特定したタイミングを表す信号を、ゼロクロス信号に代えてＢＰＦ係数計算部Ａ４４へと供給するようにしてもよい。
【０１０１】
ピッチ長固定部Ａ５は、音声データ入力部Ａ１より音声データを供給され、ピッチ抽出部Ａ４よりピッチ信号を供給されると、供給された音声データを、供給されたピッチ信号が示すタイミング（たとえば、ピッチ信号の１周期の境界が来るタイミング）で分割することにより、この音声データを、上述した区間へと分割する。
【０１０２】
次に、ピッチ長固定部Ａ５は、分割されてできる区間のそれぞれについて、この区間内の音声データの位相を種々変化させたものとこの区間内のピッチ信号との相関を求め、最も相関が高くなるときの音声データの位相を、この区間内の音声データの位相として特定する。このようにして、各区間につき音声データの位相が特定される。
【０１０３】
そして、ピッチ長固定部Ａ５は、各区間の音声データの位相を、各区間の位相が揃うように移相する。具体的には、ピッチ長固定部Ａ５は例えば、それぞれの区間毎に、上述した値Ψを特定してから、当該区間の音声データの位相を（−Ψ）だけ移相する。なお、区間の時間的な長さは、１ピッチ分程度であることが望ましい。
【０１０４】
次に、ピッチ長固定部Ａ５は、移相された各区間をリサンプリングすることにより、各区間の時間長が互いに実質的に同一になるように揃える。そして、時間長が揃えられた音声データ（ピッチ波形データ）をサブバンド分割部Ａ６へと供給する。
【０１０５】
また、ピッチ長固定部Ａ５は、この音声データの各区間の元のサンプル数（音声データ入力部Ａ１よりピッチ長固定部Ａ５へと供給された時点におけるこの音声データの各区間のサンプル数）を示すピッチ情報を生成し、データ出力部Ａ８へと供給する。音声データ入力部Ａ１が取得した音声データのサンプリング間隔が既知であるとものとすれば、ピッチ情報は、この音声データの単位ピッチ分の区間の元の時間長を表すものとして機能する。
【０１０６】
サブバンド分割部Ａ６は、ピッチ長固定部Ａ５より供給されたピッチ波形データにＤＣＴ等の直交変換を施すことにより、スペクトル情報を生成する。そして、生成したスペクトル情報を非線形量子化部Ａ７へと供給する。スペクトル情報は、第１の実施の形態の説明において上述したものと同様、ピッチ波形信号が表す音声の基本周波数成分の強度の時間変化を表すデータと、この音声のｙ個の基本周波数成分の強度の時間変化を表すｙ個のデータとを含むデータである。
【０１０７】
非線形量子化部Ａ７は、サブバンド分割部Ａ６よりスペクトル情報を供給されると、このスペクトル情報が表す各周波数成分の瞬時値に非線形圧縮を施して得られる値を量子化したものに相当するスペクトル情報を生成し、生成したスペクトル情報（非線形量子化後のスペクトル情報）をデータ出力部Ａ８に供給する。具体的には、例えば、非線形量子化部Ａ７は、非線形圧縮後の各周波数成分の瞬時値を、上述した関数Ｘｒｉ（ｘｉ）を量子化した値に実質的に等しくなるようなものへと変更することにより非線形圧縮を行えばよい。
【０１０８】
また、非線形量子化部Ａ７は、非線形量子化された値を元の値に復元するためのデータ（圧縮情報）として、スペクトル情報にどのような特性の非線形量子化を施したかを示すデータを生成し、この圧縮情報をデータ出力部Ａ８へと供給する。
【０１０９】
データ出力部Ａ８は、ハードディスクコントローラ等、音声辞書を記憶させる対象である外部の記憶装置（たとえば、ハードディスク装置等）Ｄへのアクセスを制御する制御回路等より構成されており、当該記憶装置Ｄに接続される。
【０１１０】
データ出力部Ａ８は、記号列生成部Ａ３より発音記号列及び韻律記号列を供給され、ピッチ長固定部Ａ５よりピッチ情報を供給され、非線形量子化部Ａ７より圧縮情報及び非線形圧縮後のスペクトル情報を供給されると、供給された発音記号列、韻律記号列、ピッチ情報、圧縮情報及び非線形圧縮後のスペクトル情報を、同一の音声を表すもの同士が互いに対応付けられた形で、記憶装置Ｄの記憶領域に格納する。
【０１１１】
互いに対応付けて記憶装置Ｄに記憶された発音記号列、韻律記号列、ピッチ情報、圧縮情報及び非線形圧縮後のスペクトル情報の組がなす集合が、音声辞書を構成する。
【０１１２】
（第２の実施の形態：音声合成システム）
次に、この発明の第２の実施の形態に係る音声合成システムを説明する。
図８は、この音声合成システムの構成を示す図である。図示するように、この音声合成システムは、テキスト入力部Ｂ１と、形態素解析部Ｂ２と、発音記号生成部Ｂ３と、韻律記号生成部Ｂ４と、スペクトルパラメータ生成部Ｂ５と、音源パラメータ生成部Ｂ６と、辞書単位選択部Ｂ７と、サブバンド合成部Ｂ８と、ピッチ長調整部Ｂ９と、音声出力部Ｂ１０とより構成されている。
【０１１３】
テキスト入力部Ｂ１は、たとえば、記録媒体ドライバ等より構成されている。テキスト入力部Ｂ１は、音声を合成する対象の文章を記述したテキストデータを外部から取得し、形態素解析部Ｂ２へと供給する。
【０１１４】
形態素解析部Ｂ２、発音記号生成部Ｂ３、韻律記号生成部Ｂ４、スペクトルパラメータ生成部Ｂ５及び音源パラメータ生成部Ｂ６は、いずれも、ＣＰＵ等のデータ処理装置より構成されている。
なお、形態素解析部Ｂ２、発音記号生成部Ｂ３、韻律記号生成部Ｂ４、スペクトルパラメータ生成部Ｂ５及び音源パラメータ生成部Ｂ６の一部又は全部の機能を単一のデータ処理装置が行うようにしてもよい。
【０１１５】
形態素解析部Ｂ２は、テキスト入力部Ｂ１より供給されたテキストデータが表す文章に形態素解析を施し、この文章を形態素の列へと分解する。そして、得られた形態素の列を表すデータを、発音記号生成部Ｂ３及び韻律記号生成部Ｂ４へと供給する。
【０１１６】
発音記号生成部Ｂ３は、形態素解析部Ｂ２より供給されたデータが表す形態素の列に基づいて、合成する対象の音声を構成する単位音声を発音する順に表す発音記号（たとえば、カナ文字等の表音文字）の列を表すデータを生成し、このデータをスペクトルパラメータ生成部Ｂ５へと供給する。
【０１１７】
韻律記号生成部Ｂ４は、形態素解析部Ｂ２より供給されたデータが表す形態素の列に、たとえば藤崎モデルに基づいた解析を加えることにより、この形態素の列の韻律を特定し、特定した韻律を表す韻律記号の列を表すデータを生成し、このデータを音源パラメータ生成部Ｂ６へと供給する。
【０１１８】
スペクトルパラメータ生成部Ｂ５は、発音記号生成部Ｂ３より供給されたデータが表す発音記号が表す単位音声のスペクトルを特定し、特定したスペクトルを表すスペクトル情報と、供給された発音記号とを、辞書単位選択部Ｂ７へと供給する。
【０１１９】
スペクトルパラメータ生成部Ｂ５は、具体的には、たとえば、参照用の発音記号と、この参照用の発音記号が表す音声のスペクトルを表すスペクトル情報とを互いに対応付けて格納するスペクトルテーブルを予め記憶する。そして、発音記号生成部Ｂ３より供給されたデータが表す発音記号をキーとして、この発音記号に対応付けられたスペクトル情報をスペクトルテーブルより索出し（すなわち、発音記号生成部Ｂ３より供給されたデータが表す発音記号が表す単位音声のスペクトルを特定し）、索出したスペクトル情報を、辞書単位選択部Ｂ７へと供給する。
ただしこの場合、スペクトルパラメータ生成部Ｂ５は、データ処理装置に加え、更に、ハードディスク装置やＲＯＭ（Read Only Memory）等の記憶装置を備えているものとする。
【０１２０】
音源パラメータ生成部Ｂ６は、韻律記号生成部Ｂ４より供給されたデータが表す韻律記号が表す韻律を特徴付けるパラメータ（たとえば、単位音声のピッチ、パワー及び持続期間）を特定し、特定したパラメータを表すデータ（韻律情報）を、辞書単位選択部Ｂ７及びピッチ長調整部Ｂ９へと供給する。
【０１２１】
音源パラメータ生成部Ｂ６は、具体的には、たとえば、参照用の韻律記号と、この参照用の韻律記号が表す韻律を特徴付けるパラメータを含んだ韻律情報とを互いに対応付けて格納する韻律テーブルを予め記憶する。そして、韻律記号生成部Ｂ４より供給されたデータが表す韻律記号をキーとして、この韻律記号に対応付けられた韻律情報を韻律テーブルより索出し（すなわち、韻律記号生成部Ｂ４より供給されたデータが表す韻律記号が表す韻律を特徴付けるパラメータを特定し）、索出した韻律情報を、辞書単位選択部Ｂ７へと供給する。
ただしこの場合、音源パラメータ生成部Ｂ６は、データ処理装置に加え、更に、ハードディスク装置やＲＯＭ等の記憶装置を備えているものとする。なお、単一の記憶装置が、スペクトルパラメータ生成部Ｂ５の記憶装置及び音源パラメータ生成部Ｂ６の記憶装置の機能を行うようにしてもよい。
【０１２２】
辞書単位選択部Ｂ７、サブバンド合成部Ｂ８及びピッチ長調整部Ｂ９は、いずれも、ＤＳＰやＣＰＵ等のデータ処理装置より構成されている。
なお、辞書単位選択部Ｂ７、サブバンド合成部Ｂ８及びピッチ長調整部Ｂ９の一部又は全部の機能を単一のデータ処理装置が行うようにしてもよい。また、形態素解析部Ｂ２、発音記号生成部Ｂ３、韻律記号生成部Ｂ４、スペクトルパラメータ生成部Ｂ５及び音源パラメータ生成部Ｂ６の一部又は全部の機能を行うデータ処理装置が、辞書単位選択部Ｂ７、サブバンド合成部Ｂ８及びピッチ長調整部Ｂ９の一部又は全部の機能を行うようにしてもよい。
【０１２３】
辞書単位選択部Ｂ７は、上述した図６の音声辞書生成システムにより作成された音声辞書（又はこれと実質的に同一のデータ構造を有するデータの集合）を記憶する外部の記憶装置Ｄに接続される。すなわち、記憶装置Ｄは、単位音声を表す発音記号列、韻律記号列、ピッチ情報、圧縮情報及び非線形圧縮後のスペクトル情報を、単位音声別に互いに対応付けて格納しているものとする。
【０１２４】
辞書単位選択部Ｂ７は、スペクトルパラメータ生成部Ｂ５より発音記号及びスペクトル情報を供給され、音源パラメータ生成部Ｂ６より韻律情報を供給されると、供給されたこれらのデータが表す音声にもっともよく近似できる単位音声を表す発音記号列、韻律記号列、ピッチ情報、圧縮情報及び非線形圧縮後のスペクトル情報の組を、音声辞書のうちから特定する。
【０１２５】
具体的には、辞書単位選択部Ｂ７は、たとえば、
（ａ）  音声辞書が記憶する同一の単位音声のスペクトル情報及びピッチ情報について、このスペクトル情報の値とスペクトルパラメータ生成部Ｂ５より供給されたスペクトル情報の値との相関係数、及び、このピッチ情報の値と音源パラメータ生成部Ｂ６より供給された韻律情報が示すピッチの値との相関係数を求め、更に、求めた相関係数の平均値を求める。
（ｂ）  上述した（ａ）の処理を、音声辞書がパラメータを記憶するすべての単位音声について行う。そして、各単位音声のうち、（ａ）の処理で求めた平均値が最も大きかったものを、スペクトルパラメータ生成部Ｂ５や音源パラメータ生成部Ｂ６より供給されたパラメータが表す単位音声にもっとも近い単位音声として特定する。
【０１２６】
そして、辞書単位選択部Ｂ７は、特定した単位音声を表すスペクトル情報及び圧縮情報をサブバンド合成部Ｂ８へと供給する。
【０１２７】
サブバンド合成部Ｂ８は、辞書単位選択部Ｂ７より供給されたスペクトル情報が表す各周波数成分の強度を、辞書単位選択部Ｂ７より供給された圧縮情報が表す特性で非線形量子化する以前の値に復元する。そして、強度の値が復元されたスペクトル情報に変換を施すことにより、このスペクトル情報により各周波数成分の非線形量子化後の強度が表されるピッチ波形データを復元する。そして、復元されたピッチ波形データを、ピッチ長調整部Ｂ９へと供給する。なお、このピッチ波形データは、たとえば、ＰＣＭ変調されたディジタル信号の形式を有しているものとする。
【０１２８】
サブバンド合成部Ｂ８がスペクトル情報に施す変換は、このスペクトル情報を生成するために音素の波形に施した変換に対して実質的に逆変換の関係にあるような変換である。具体的には、たとえばこのスペクトル情報が音素にＤＣＴを施して生成されたものである場合、サブバンド合成部Ｂ８は、このスペクトル情報にＩＤＣＴを施すようにすればよい。
【０１２９】
ピッチ長調整部Ｂ９は、サブバンド合成部Ｂ８より供給されたピッチ波形データの各区間の時間長を、音源パラメータ生成部Ｂ６より供給される韻律情報が示すピッチの時間長になるよう変更する。区間の時間長の変更は、たとえば区間内にあるサンプルの間隔を変更することにより行えばよい。
そして、ピッチ長調整部Ｂ９は、各区間の時間長を変更されたピッチ波形データ（すなわち、合成音声を表す音声データ）を音声出力部Ｂ１０へと供給する。
【０１３０】
音声出力部Ｂ１０は、たとえば、ＰＣＭデコーダの機能を行う制御回路と、Ｄ／Ａコンバータと、ＡＦ増幅器と、スピーカ等とを備えている。
音声出力部Ｂ１０は、ピッチ長調整部Ｂ９より、合成音声を表す音声データを供給されると、この音声データを復調し、Ｄ／Ａ変換及び増幅を行い、得られたアナログ信号を用いてスピーカを駆動することにより、合成音声を再生する。
【０１３１】
以上説明した図６の音声辞書生成システムにより生成される音声辞書に格納されるスペクトル情報も、単位ピッチ分の区間の時間長が規格化されピッチのゆらぎの影響が除去された音声データに基づいて生成されている。このため、このスペクトル情報は、音声の各周波数成分（基本周波数成分及び高調波成分）の強度の時間変化を正確に表すものとなる。また、ゆらぎを含んだ単位音声の各区間の元の時間長を表す情報も、この音声辞書に保存される。
従って、上述した図８の音声合成システムがこの音声辞書を用いて合成する音声も、人間が実際に発声した音声に近いものとなる。
【０１３２】
なお、この音声辞書生成システムや音声合成システムの構成は上述のものに限られない。
たとえば、音声データ入力部Ａ１は、電話回線、専用回線、衛星回線等の通信回線を介して外部より音声データを取得するようにしてもよい。この場合、音声データ入力部Ａ１は、例えばモデムやＤＳＵ等からなる通信制御部を備えていればよい。
【０１３３】
また、音声データ入力部Ａ１は、マイクロフォン、ＡＦ増幅器、サンプラー、Ａ／Ｄコンバータ及びＰＣＭエンコーダなどからなる集音装置を備えていてもよい。集音装置は、自己のマイクロフォンが集音した音声を表す音声信号を増幅し、サンプリングしてＡ／Ｄ変換した後、サンプリングされた音声信号にＰＣＭ変調を施すことにより、音声データを取得すればよい。なお、音声データ入力部Ａ１が取得する音声データは、必ずしもＰＣＭ信号である必要はない。
【０１３４】
また、このピッチ抽出部Ａ４は、ケプストラム解析部Ａ４１（又は自己相関解析部Ａ４２）を備えていなくてもよく、この場合、重み計算部Ａ４３は、ケプストラム解析部Ａ４１（又は自己相関解析部Ａ４２）が求めた基本周波数の逆数をそのまま平均ピッチ長として扱うようにすればよい。
【０１３５】
また、ゼロクロス解析部Ａ４６は、バンドパスフィルタＡ４５から供給されたピッチ信号を、そのままゼロクロス信号としてＢＰＦ係数計算部Ａ４４へと供給するようにしてもよい。
【０１３６】
また、データ出力部Ａ８は、音声辞書に格納すべきデータを、通信回線等を介して外部に出力するようにしてもよい。通信回線を介してデータを出力する場合、データ出力部Ａ８は、例えばモデムやＤＳＵ等からなる通信制御部を備えていればよい。
また、データ出力部Ａ８は、記録媒体ドライバを備えていてもよく、この場合、データ出力部Ａ８は、音声辞書に格納すべきデータを、この記録媒体ドライバにセットされた記録媒体の記憶領域に書き込むようにしてもよい。
なお、単一のモデムやＤＳＵや記録媒体ドライバが音声データ入力部Ａ１及びデータ出力部Ａ８を構成していてもよい。
【０１３７】
また、テキスト入力部Ｂ１は、通信回線等を介して外部からテキストデータを取得するようにしてもよい。この場合、テキスト入力部Ｂ１は、モデムやＤＳＵ等からなる通信制御部を備えていればよい。
【０１３８】
また、辞書単位選択部Ｂ７は、自己に供給されたデータが表す音声にもっともよく近似できる単位音声を特定するとき、一部の情報を他の情報より重視した形で特定を行ってもよい。
具体的には、辞書単位選択部Ｂ７は、たとえば、上述した（ａ）の処理で、スペクトル情報をピッチ情報より重視するため、音声辞書が記憶するスペクトル情報の値とスペクトルパラメータ生成部Ｂ５より供給されたスペクトル情報の値との相関係数αに１より大きい重み係数βを乗じ、得られた値（α・β）を、相関係数の平均値の計算の際、値αに代えて用いるようにしてもよい。
【０１３９】
【発明の効果】
以上説明したように、この発明によれば、自然な音声を合成するための音声辞書作成装置、音声辞書作成方法、及び、プログラムが実現される。
【図面の簡単な説明】
【図１】この発明の第１の実施の形態に係る音声辞書生成システムの構成を示すブロック図である。
【図２】図１の音声辞書生成システムの動作の流れを示す図である。
【図３】（ａ）及び（ｂ）は、移相される前の音声データの波形を示すグラフであり、（ｃ）は、ピッチ波形データの波形を表すグラフである。
【図４】この発明の第１の実施の形態に係る音声合成システムの構成を示すブロック図である。
【図５】図４の音声合成システムの動作の流れを示す図である。
【図６】この発明の第２の実施の形態に係る音声辞書生成システムの構成を示すブロック図である。
【図７】図６のピッチ抽出部の構成を示すブロック図である。
【図８】この発明の第２の実施の形態に係る音声合成システムの構成を示すブロック図である。
【図９】規則合成方式による音声合成の手順を説明するための図である。
【図１０】音声合成の概念を模式的に説明するための図である。
【符号の説明】
Ｃ１、Ｃ２      コンピュータ
ＳＭＤ１、ＳＭＤ２      記録媒体ドライバ
Ｄ      記憶装置
Ａ１      音声データ入力部
Ａ２      表音データ入力部
Ａ３      記号列生成部
Ａ４      ピッチ抽出部
Ａ４１      ケプストラム解析部
Ａ４２      自己相関解析部
Ａ４３      重み計算部
Ａ４４      ＢＰＦ係数計算部
Ａ４５      バンドパスフィルタ
Ａ４６      ゼロクロス解析部
Ａ５      ピッチ長固定部
Ａ６      サブバンド分割部
Ａ７      非線形量子化部
Ａ８      データ出力部
Ｂ１      テキスト入力部
Ｂ２      形態素解析部
Ｂ３      発音記号生成部
Ｂ４      韻律記号生成部
Ｂ５      スペクトルパラメータ生成部
Ｂ６      音源パラメータ生成部
Ｂ７      辞書単位選択部
Ｂ８      サブバンド合成部
Ｂ９      ピッチ長調整部
Ｂ１０      音声出力部
１      インパルス列発生源
２      白色雑音発生源
３      デジタルフィルタ
【図１】
0003994333.tif 000004
【図２】
0003994333.tif 000005
【図３】
0003994333.tif 000006
【図４】
0003994333.tif 000007
【図５】
0003994333.tif 000008
【図６】
0003994333.tif 000009
【図７】
0003994333.tif 000010
【図８】
0003994333.tif 000011
【図９】
0003994333.tif 000012
【図１０】
0003994333.tif 000013