(57)【特許請求の範囲】
【請求項１】
入力された文字系列に従い音声波形のパラメータとしてのパワスペクトル包絡を生成するパラメータ生成手段と、
入力された合成音声の声の高さ情報に基づいてパワスペクトル包絡のサンプル値を決定し，該サンプル値を正弦級数の係数とし、前記声の高さ情報に基づいて決定される正弦関数との積和とから、合成音声のピッチ周期を１周期とするピッチ波形を生成するピッチ波形生成手段と、
前記生成されたピッチ波形を接続して得た音声波形を出力する音声波形出力手段とを備えることを特徴とする音声合成装置。
【請求項２】
前記正弦関数において、位相を半周期ずつずらした正弦関数を使うことを特徴とする請求項１に記載の音声合成装置。
【請求項３】
前記ピッチ波形生成手段は、前記音声の対数パワスペクトル包絡から求めたインパルス応答波形から、前記インパルス応答波形を係数とする入力された合成音声の声の高さ情報に基づいて決定される余弦関数と，前記スペクトル包絡のサンプル値を係数とする前記声の高さに基づいて決定される正弦関数との積和を、行列としてピッチ毎に導出し、該導出された行列と前記インパルス応答波形との積を求めることを特徴とする請求項１に記載の音声合成装置。
【請求項４】
前記正弦関数において、位相を半周期ずつずらした正弦関数を使うことを特徴とする請求項３に記載の音声合成装置。
【請求項５】
入力された文字系列に従い音声波形のパラメータとしてのパワスペクトル包絡を生成するパラメータ生成工程と、
入力された合成音声の声の高さ情報に基づいてパワスペクトル包絡のサンプル値を決定し，該サンプル値を正弦級数の係数とし、前記声の高さ情報に基づいて決定される正弦関数との積和とから、合成音声のピッチ周期を１周期とするピッチ波形を生成するピッチ波形生成工程と、
前記生成されたピッチ波形を接続して得た音声波形を出力する音声波形出力工程とを備えることを特徴とする音声合成方法。
【請求項６】
前記正弦関数において、位相を半周期ずつずらした正弦関数を使うことを特徴とする請求項５に記載の音声合成方法。
【請求項７】
前記ピッチ波形生成工程は、前記音声の対数パワスペクトル包絡から求めたインパルス応答波形から、前記インパルス応答波形を係数とする入力された合成音声の声の高さ情報に基づいて決定される余弦関数と，前記スペクトル包絡のサンプル値を係数とする前記声の高さに基づいて決定される正弦関数との積和を、行列としてピッチ毎に導出し、該導出された行列と前記インパルス応答波形との積を求めることを特徴とする請求項５に記載の音声合成方法。
【請求項８】
前記正弦関数において、位相を半周期ずつずらした正弦関数を使うことを特徴とする請求項７に記載の音声合成方法。
【請求項９】
入力された文字系列に従い音声波形のパラメータとしてのパワスペクトル包絡を生成するパラメータ生成手段と、
入力された合成音声の声の高さ情報に基づいてパワスペクトル包絡のサンプル値を決定し，該サンプル値を正弦級数の係数とし、前記声の高さ情報に基づいて決定される正弦関数との積和とから、合成音声のピッチ周期を１周期とするピッチ波形を生成するピッチ波形生成手段と、
前記生成されたピッチ波形を接続して得た音声波形を出力するよう制御する音声波形出力制御手段とを備えることを特徴とする音声合成装置。
【請求項１０】
入力された文字系列に従い音声波形のパラメータとしてのパワスペクトル包絡を生成するパラメータ生成工程と、
入力された合成音声の声の高さ情報に基づいてパワスペクトル包絡のサンプル値を決定し，該サンプル値を正弦級数の係数とし、前記声の高さ情報に基づいて決定される正弦関数との積和とから、合成音声のピッチ周期を１周期とするピッチ波形を生成するピッチ波形生成工程と、
前記生成されたピッチ波形を接続して得た音声波形を出力するよう制御する音声波形出力制御工程とを備えることを特徴とする音声合成方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、規則合成方式による音声合成方法および装置に関する。
本発明は、入力された文字列に対応する合成音声を出力するよう制御する音声合成制御方法および装置に関する。
【０００２】
【従来の技術】
従来の音声規則合成装置では、合成音声の生成方法として、合成フィルタ方式（ＰＡＲＣＯＲ、ＬＳＰ、ＭＬＳＡ）、波形編集方式、インパルス応答波形の重ね合わせ方式を用いるものがあった。
【０００３】
【発明が解決しようとしている問題点】
しかしながら、上述した従来技術においては、合成フィルタ方式では音声波形の生成に要する計算量が多く、波形編集方式では合成音声の声の高さに合わせる波形編集処理が複雑であり、合成音声の音質が劣化する。また、インパルス応答波形の重ね合わせ方式では波形の重なり合う部分で音質が劣化する、というように、各方法共問題があった。
【０００４】
上述した従来技術では、サンプリング周期の整数倍にならないピッチ周期をもつ音声波形を生成する処理が難しく、そのため、正確なピッチの合成音声が得られないという問題があった。
【０００５】
上述した従来技術では、合成音声のサンプリング周波数を変換するときに、サンプリング速度を上昇・下降させる処理と低域フィルタの処理を行わなければならず、処理が複雑で計算量が多い、という問題がある。
【０００６】
上述した従来技術では、周波数領域でのパラメータ操作ができず、操作者にとって感覚的にわかりにくいものであった。
【０００７】
上述した従来技術では、合成音声の音色を変える為にはパラメータそのものを操作しなければならず、処理が非常に複雑になるという問題があった。
【０００８】
上述した従来技術では、合成音声全ての音声波形を上述の合成フィルタ方式、波形編集方式、インパルス応答波形の重ね合わせ方式で生成しなければならず、計算量が多大になるという問題があった。
【０００９】
【課題を解決するための手段】
上記課題を解決するために、本発明は、入力された文字系列に従い音声波形のパラメータとしてのパワスペクトル包絡を生成するパラメータ生成手段と、入力された合成音声の声の高さ情報に基づいてパワスペクトル包絡のサンプル値を決定し，該サンプル値を正弦級数の係数とし、前記声の高さ情報に基づいて決定される正弦関数との積和とから、合成音声のピッチ周期を１周期とするピッチ波形を生成するピッチ波形生成手段と、前記生成されたピッチ波形を接続して得た音声波形を出力する音声波形出力手段とを備えることを特徴とする音声合成装置を提供する。
【００１１】
上記課題を解決するために、本発明は、入力された文字系列に従い音声波形のパラメータとしてのパワスペクトル包絡を生成するパラメータ生成手段と、入力された合成音声の声の高さ情報と前記生成されたパラメータとしてのパワスペクトル包絡のサンプル値を正弦級数の係数とし、正弦関数との積和とから、ピッチ波形を生成するピッチ波形生成手段と、前記生成されたピッチ波形を接続して得た音声波形を出力するよう制御する音声波形出力制御手段とを備えることを特徴とする音声合成制御装置を提供する。
【００１２】
上記課題を解決するために、本発明は、入力された文字系列に従い音声波形のパラメータとしてのパワスペクトル包絡を生成するパラメータ生成工程と、入力された合成音声の声の高さ情報と前記生成されたパラメータとしてのパワスペクトル包絡のサンプル値を正弦級数の係数とし、正弦関数との積和とから、ピッチ波形を生成するピッチ波形生成工程と、前記生成されたピッチ波形を接続して得た音声波形を出力するよう制御する音声波形出力制御工程とを備えることを特徴とする音声合成制御方法を提供する。
【００２６】
【実施例】
（実施例１）
図２５は実施例の音声合成装置の構成を示すブロック図である。
【００２７】
１０１は合成音声のテキストや制御コマンド等を入力する為のキーボード（Ｋ．Ｂ）、１０２は表示器１０８の表示画面上の所望の位置を入力し得るポインティングデバイスであり、これによりアイコンを指示することで所望の制御コマンド等を入力することができる。１０３は本装置により実行される、後述する実施例中の各種処理を制御する中央処理装置（ＣＰＵ）であり、ＲＯＭ１０５に格納されている制御プログラムに従って処理を実行する。１０４は通信インターフェイス（Ｉ／Ｆ）であり、各種通信機関を利用したデータの送受信を制御する。１０５はリードオンリーメモリ（ＲＯＭ）であり、実施例に示すフローチャートに示す処理の制御プログラムを格納する。１０６はランダムアクセスメモリ（ＲＡＭ）であり、実施例中の各種処理で生じるデータを格納する手段として用いる。１０７はスピーカであり、合成音声やオペレータへのメッセージ等の音声を出力する。１０８はＬＣＤやＣＲＴ等の表示器であり、キーボードから入力されるテキストや処理途中のデータ表示を行う。１０９はバスであり、各構成間のデータ、コマンド等の伝送を行う。
【００２８】
図１は実施例１の音声合成装置の機能構成を示すブロック図である。これらの各機能は、図２５のＣＰＵ１０３の制御により実行される。１は文字系列入力部であり、合成すべき音声の文字系列を入力する。例えば合成すべき音声が「あいうえお」であるときには、「ＡＩＵＥＯ」というような表音テキストの文字系列を入力する。また、この文字系列入力部１より入力する文字系列中には、表音テキストの他に発声速度や声の高さなどを設定するための制御シーケンスなどを意味する文字系列が含まれることもある。文字系列入力部１は、入力した文字系列が表音テキストであるか制御シーケンスであるか判断する。２は制御データ格納部であり、文字系列入力部１で制御シーケンスと判断され、送られてきた文字系列や、ユーザインタフェースより入力される発声速度や声の高さなどの制御データを内部レジスタに格納する。３はパラメータ生成部であり、文字系列入力部１で入力され、表音テキストであると判断された文字系列に対応して、あらかじめ記憶してあるパラメータ系列をＲＯＭ１０５より読み出し、生成する。４はパラメータ格納部であり、パラメータ生成部３で生成されたパラメータ系列から処理対象とするフレームのパラメータを取り出して内部レジスタに格納する。５はフレーム時間長設定部であり、制御データ格納部２に格納された発声速度に関する制御データとパラメータ格納部４に格納された発声速度係数Ｋ（発声速度に応じてフレーム時間長を決めるために使用するパラメータ）から、各フレームの時間長Ｎｉを計算する。６は波形ポイント数格納部であり、１フレームの波形ポイント数ｎＷを計算して内部レジスタに格納する。７は合成パラメータ補間部であり、パラメータ格納部４に格納されている合成パラメータを、フレーム時間長設定部５で設定されたフレーム時間長Ｎｉと波形ポイント数格納部６に格納された波形ポイント数ｎＷ  で補間する。８はピッチスケール補間部であり、パラメータ格納部４に格納されているピッチスケールを、フレーム時間長設定部５で設定されたフレーム時間Ｎｉと波形ポイント数格納部６に格納された波形ポイント数ｎＷ  で補間する。９は波形生成部であり、合成パラメータ補間部７で補間された合成パラメータとピッチスケール補間部８で補間されたピッチスケールからピッチ波形を生成し、ピッチ波形を接続して合成音声を出力する。
【００２９】
波形生成部９で行われるピッチ波形の生成について、図２、図３、図４、図５、図６を参照して説明する。
【００３０】
ピッチ波形の生成に用いる合成パラメータについて説明する。図２において、フーリエ変換の次数をＮ、合成パラメータの次数をＭとする。ここでＮ、ＭはＮ＞２Ｍを満たすようにする。音声の対数パワスペクトル包絡を
【００３１】
【外１】
0003548230.tif 000002
とする。対数パワスペクトル包絡を指数関数に入力して線形に戻し、逆フーリエ変換して求めたインパルス応答は、
【００３２】
【外２】
0003548230.tif 000003
となる。
【００３３】
合成パラメータ
ｐ（ｍ）（０＜ｍ＜Ｍ）
は、インパルス応答の０次の値と１次以降の値の比を相対的に２倍することにより得られる。すなわち、ｒ≠０として、
ｐ（０）＝ｒｈ（０）
ｐ（ｍ）＝２ｒｈ（ｍ）（１＜ｍ＜Ｍ）
とする。
【００３４】
サンプリング周波数を
ｆｓ
とする。サンプリング周期は
【００３５】
【外３】
0003548230.tif 000004
である。合成音声のピッチ周波数を
ｆ
とすると、ピッチ周期は
【００３６】
【外４】
0003548230.tif 000005
となり、ピッチ周期ポイント数は
【００３７】
【外５】
0003548230.tif 000006
となる。［ｘ］でｘ以下の最大の整数を表し、ピッチ周期ポイント数を整数で量子化して
Ｎｐ  （ｆ）＝［ｆＳ／ｆ］
とする。ピッチ周期を角度２πに対応させたときの１ポイントごとの角度をθとすると、
【００３８】
【外６】
0003548230.tif 000007
となる。ピッチ周波数の整数倍におけるスペクトル包絡の値は
【００３９】
【外７】
0003548230.tif 000008
となる（図３）。ピッチ波形を
ｗ（ｋ）（０＜ｋ＜Ｎｐ  （ｆ））
ピッチ周波数ｆに対応するパワ正規化係数を
Ｃ（ｆ）
とする。Ｃ（ｆ）＝１．０となるピッチ周波数をｆ０  として
【００４０】
【外８】
0003548230.tif 000009
によってＣ（ｆ）が与えられる。
【００４１】
基本周波数の整数倍の正弦波を重ね合わせて
【００４２】
【外９】
0003548230.tif 000010
のようにピッチ波形ｗ（ｋ）（０＜ｋ＜Ｎｐ  （ｆ））が生成される（図４）。
【００４３】
または、ピッチ周期の半分位相をずらして重ね合わせて
【００４４】
【外１０】
0003548230.tif 000011
のようにピッチ波形ｗ（ｋ）（０＜ｋ＜Ｎｐ  （ｆ））が生成される（図５）。
【００４５】
ピッチスケールを声の高さを表現するための尺度とする。式（１）、（２）の演算を直接行う代わりに、以下のように計算を高速化することもできる。ピッチスケールｓに対応するピッチ周期ポイント数をＮｐ  （ｓ）とし、
【００４６】
【外１１】
0003548230.tif 000012
として、式（１）の場合
【００４７】
【外１２】
0003548230.tif 000013
式（２）の場合
【００４８】
【外１３】
0003548230.tif 000014
を計算してテーブルに記憶しておく。波形生成行列を
ＷＧＭ（ｓ）＝（ｃｋｍ（ｓ））  （０＜ｋ＜Ｎｐ  （ｓ），０＜ｍ＜Ｍ）
とする。さらに、ピッチスケールｓに対応するピッチ周期ポイント数Ｎｐ  （ｓ）、パワ正規化係数Ｃ（ｓ）をテーブルに記憶しておく。
【００４９】
波形生成部９では、合成パラメータ補間部７より出力された合成パラメータｐ（ｍ）（０＜ｍ＜Ｍ）とピッチスケール補間部８より出力されたピッチスケールｓを入力として、ピッチ周期ポイント数Ｎｐ  （ｓ）、パワ正規化係数Ｃ（ｓ）、波形生成行列ＷＧＭ（ｓ）＝（ｃｋｍ（ｓ））をテーブルから読み出し、
【００５０】
【外１４】
0003548230.tif 000015
によりピッチ波形を生成する（図６）。
【００５１】
以上の表音テキストの入力からピッチ波形を生成するまでの動作を、図７のフローチャートを参照して説明する。
【００５２】
ステップＳ１で、文字系列入力部１より表音テキストを入力する。
【００５３】
ステップＳ２で、外部入力された制御データ（発声速度、声の高さ）と入力された表音テキスト中の制御データを制御データ格納部２に格納する。
【００５４】
ステップＳ３で、文字系列入力部１より入力された表音テキストからパラメータ生成部３においてパラメータ系列を生成する。
【００５５】
図８にステップＳ３で生成されたパラメータ１フレーム分のデータ構造例を示す。
【００５６】
ステップＳ４で波形ポイント数格納部６の内部レジスタを０に初期化する。波形ポイント数をｎＷ  で表すと
ｎＷ  ＝０
となる。
【００５７】
ステップＳ５で、パラメータ系列カウンタｉを０に初期化する。
【００５８】
ステップＳ６で、パラメータ生成部３から第ｉフレームと第ｉ＋１フレームのパラメータをパラメータ格納部４の内部レジスタに取り込む。
【００５９】
ステップＳ７で、制御データ格納部２より、発声速度をフレーム時間長設定部５に取り込む。
【００６０】
ステップＳ８で、フレーム時間長設定部５において、パラメータ格納部４に取り込まれたパラメータの発声速度係数と、制御データ格納部２より取り込まれた発声速度を用いて、フレーム時間長Ｎｉを設定する。
【００６１】
ステップＳ９で、波形ポイント数ｎＷ  がフレーム時間長Ｎｉ未満か否かを判別することにより、第ｉフレームの処理が終了していないか否かを判断し、ｎＷ ＞Ｎｉの場合は第ｉフレームの処理が終了したと判断してステップＳ１４へ進み、ｎＷ  ＜Ｎｉの場合は第ｉフレームの処理途中であると判断してステップＳ１０へ進み、処理が続けられる。
【００６２】
ステップＳ１０で、合成パラメータ補間部７において、パラメータ格納部４に取り込まれた合成パメータと、フレーム時間長設定部５で設定されたフレーム時間長と、波形ポイント数格納部６に格納された波形ポイント数を用いて、合成パラメータの補間を行う。図９は、合成パラメータの補間についての説明図である。第ｉフレームの合成パラメータをｐｉ  ［ｍ］（０＜ｍ＜Ｍ）、第ｉ＋１フレームの合成パラメータをｐｉ＋１  ［ｍ］（０＜ｍ＜Ｍ）、第ｉフレームの時間長をＮｉ  ポイントとする。このとき、１ポイント当たりの合成パラメータの差分Δｐ  ［ｍ］（０＜ｍ＜Ｍ）は、
【００６３】
【外１５】
0003548230.tif 000016
となる。次に、ピッチ波形を生成するごとに合成パラメータｐ［ｍ］（０＜ｍ＜Ｍ）を更新する。
【００６４】
ｐ［ｍ］＝ｐｉ  ［ｍ］＋ｎｗ  Δｐ  ［ｍ］            （３）
の処理をピッチ波形開始点で行う。
【００６５】
ステップＳ１１で、ピッチスケール補間部８において、パラメータ格納部４に取り込まれたピッチスケールと、フレーム時間長設定部５で設定されたフレーム時間長と波形ポイント数格納部６に格納された波形ポイント数を用いて、ピッチスケールの補間を行う。図１０はピッチスケールの補間についての説明図である。第ｉフレームのピッチスケールをｓｉ  、第ｉ＋１フレームのピッチスケールをｓｉ＋１  、第ｉフレームのフレーム時間長をＮｉ  ポイントとする。このとき、１ポイント当たりのピッチスケールの差分Δｓ  は、
【００６６】
【外１６】
0003548230.tif 000017
となる。次に、ピッチ波形を生成するごとにピッチスケールｓを更新する。
【００６７】
ｓ＝ｓｉ  ＋ｎＷ  Δｓ                        （４）
の処理をピッチ波形開始点で行う。
【００６８】
ステップＳ１２で、式（３）によって得られた合成パラメータｐ［ｍ］（０＜ｍ＜Ｍ）と式（４）によって得られたピッチスケールｓを用いて波形生成部９においてピッチ波形を生成する。ピッチスケールｓに対応するピッチ周期ポイント数Ｎｐ  （ｓ）とパワ正規化係数Ｃ（ｓ）と波形生成行列ＷＧＭ（ｓ）＝（ｃｋｍ（ｓ））（０＜ｋ＜Ｎｐ  （ｓ），０＜ｍ＜Ｍ）をテーブルから読み出し、ピッチ波形を
【００６９】
【外１７】
0003548230.tif 000018
によって生成する。
【００７０】
図１１は生成されたピッチ波形の接続についての説明図である。波形生成部９から合成音声として出力される音声波形を
Ｗ（ｎ）  （０＜ｎ）
とする。ピッチ波形の接続は、第ｊフレームのフレーム時間をＮｊ  として
Ｗ（ｎＷ  ＋ｋ）＝ｗ（ｋ）  （ｉ＝０，０＜ｋ＜Ｎｐ  （ｓ））
【００７１】
【外１８】
0003548230.tif 000019
によって行う。
【００７２】
ステップＳ１３で、波形ポイント数格納部６で波形ポイント数ｎＷ  を
ｎＷ  ＝ｎＷ  ＋Ｎｐ  （ｓ）
のように更新し、ステップＳ９に戻り、処理を続ける。
【００７３】
ステップＳ９で、ｎＷ ＞Ｎｉの場合はステップＳ１４に進む。
【００７４】
ステップＳ１４で、波形ポイント数ｎＷ  を
ｎＷ  ＝ｎＷ  −Ｎｉ
のように初期化する。
【００７５】
ステップＳ１５で、全フレームの処理が終了したか否かを判別し、終了していない場合はステップＳ１６に進む。
【００７６】
ステップＳ１６では外部入力された制御データ（発声速度、声の高さ）を制御データ格納部２に格納し、ステップＳ１７でパラメータ系列カウンタｉを
ｉ＝ｉ＋１
のように更新し、ステップＳ６に戻り、処理を続ける。
【００７７】
ステップＳ１５で全フレームの処理が終了したと判断される場合は処理を終了する。
【００７８】
（実施例２）
実施例２の音声合成装置の構成および機能構成を示すブロック図は、実施例１と同じく図２５および図１である。
【００７９】
本実施例では、ピッチ周期ポイント数の小数部分を表現すべく、位相のずれたピッチ波形を生成し、接続する例について説明する。
【００８０】
波形生成部９で行われるピッチ波形の生成について、図１２を参照して説明する。
【００８１】
ピッチ波形の生成に用いる合成パラメータを
ｐ（ｍ）  （０≦ｍ＜Ｍ）
とする。サンプリング周波数を
ｆｓ
とする。サンプリング周期は
【００８２】
【外１９】
0003548230.tif 000020
である。合成音声のピッチ周波数を
ｆ
とすると、ピッチ周期は
【００８３】
【外２０】
0003548230.tif 000021
となり、ピッチ周期ポイント数は
【００８４】
【外２１】
0003548230.tif 000022
となる。
【００８５】
［ｘ］でｘ以下の整数を表す。
【００８６】
ピッチ周期ポイント数の小数部を、位相のずれたピッチ波形を接続することで表す。周波数ｆに対応するピッチ波形の個数を、位相数
ｎｐ  （ｆ）
とする。図１２はｎｐ  （ｆ）＝３としたときのピッチ波形の例を示したものである。さらに、拡張ピッチ周期ポイント数を
【００８７】
【外２２】
0003548230.tif 000023
とし、ピッチ周期ポイント数を
【００８８】
【外２３】
0003548230.tif 000024
と量子化する。ピッチ周期ポイント数を角度２πに対応させたときの１ポイントごとの角度をθ１  とすると、
【００８９】
【外２４】
0003548230.tif 000025
となる。ピッチ周波数の整数倍におけるスペクトル包絡の値は
【００９０】
【外２５】
0003548230.tif 000026
となる。拡張ピッチ周期ポイント数を２πに対応させたときの１ポイントごとの角度をθ２  とすると、
【００９１】
【外２６】
0003548230.tif 000027
となる。拡張ピッチ波形を
ｗ（ｋ）  （０＜ｋ＜Ｎ（ｆ））
ピッチ周波数ｆに対応するパワ正規化係数を
Ｃ（ｆ）
とする。Ｃ（ｆ）＝１．０となるピッチ周波数をｆ０  として
【００９２】
【外２７】
0003548230.tif 000028
によってＣ（ｆ）が与えられる。
【００９３】
ピッチ周波数の整数倍の正弦波を重ね合わせて
【００９４】
【外２８】
0003548230.tif 000029
のように拡張ピッチ波形ｗ（ｋ）（０＜ｋ＜Ｎ（ｆ））が生成される。
【００９５】
または、ピッチ周期の半分位相をずらして重ね合わせて
【００９６】
【外２９】
0003548230.tif 000030
のように拡張ピッチ波形ｗ（ｋ）（０＜ｋ＜Ｎ（ｆ））を生成する。
【００９７】
位相インデックスを
ｉｐ  （０＜ｉｐ  ＜ｎｐ  （ｆ））
とする。ピッチ周波数ｆ、位相インデックスｉｐ  に対応する位相角を
【００９８】
【外３０】
0003548230.tif 000031
と定義する。ａ  ｍｏｄ  ｂはａをｂで割った剰余を表すとして、
ｒ（ｆ，ｉｐ  ）＝ｉｐＮ（ｆ）ｍｏｄ  ｎｐ  （ｆ）
と定義する。位相インデックスｉｐ  に対応するピッチ波形のピッチ波形ポイント数は
【００９９】
【外３１】
0003548230.tif 000032
によって計算される。位相インデックスｉｐ  に対応するピッチ波形は
【０１００】
【外３２】
0003548230.tif 000033
となる。この後、位相インデックスを
ｉｐ  ＝（ｉｐ  ＋１）ｍｏｄ  ｎｐ  （ｆ）
と更新し、更新された位相インデックスを用いて、位相角を
φｐ  ＝φ（ｆ，ｉｐ  ）
と計算する。さらに、次のピッチ波形を生成するときにピッチ周波数がｆ′に変更されるときは、φｐ  に最も近い位相角を得るために
【０１０１】
【外３３】
0003548230.tif 000034
【０１０２】
ピッチスケールを声の高さを表現するための尺度とする。式（５）、（６）の演算を直接行う代わりに、以下のように計算を高速化することもできる。ピッチスケールｓ∈Ｓ（Ｓはピッチスケールの集合）に対応する位相数をｎｐ  （ｓ）、位相インデックスをｉｐ  （０＜ｉｐ  ＜ｎｐ  （ｓ））、拡張ピッチ周期ポイント数をＮ（ｓ）、ピッチ周期ポイント数をＮｐ  （ｓ）、ピッチ波形ポイント数をＰ（ｓ，ｉｐ  ）とし、
【０１０３】
【外３４】
0003548230.tif 000035
として、式（５）の場合
【０１０４】
【外３５】
0003548230.tif 000036
式（６）の場合
【０１０５】
【外３６】
0003548230.tif 000037
を計算してテーブルに記憶しておく。波形生成行列を
ＷＧＭ（ｓ，ｉｐ  ）＝（ｃｋｍ（ｓ，ｉｐ  ））
（０≦ｋ＜Ｐ（ｓ，ｉｐ  ），０≦ｍ＜Ｍ）
とする。ピッチスケールｓと位相インデックスｉｐ  に対応する位相角
【０１０６】
【外３７】
0003548230.tif 000038
をテーブルに記憶しておく。また、ピッチスケールｓと位相角φｐ  （∈｛φ（ｓ，ｉｐ  ）｜ｓ∈Ｓ，０＜ｉ＜ｎｐ  （ｓ）｝）に対して
【０１０７】
【外３８】
0003548230.tif 000039
を満たすｉ０  を与える対応関係を
ｉ０  ＝Ｉ（ｓ，φｐ  ）
として、テーブルに記憶しておく。さらに、ピッチスケールｓと位相インデックスｉｐ  に対応する位相数ｎｐ  （ｓ）、ピッチ波形ポイント数Ｐ（ｓ，ｉｐ  ）、パワ正規化係数Ｃ（ｓ）をテーブルに記憶しておく。
【０１０８】
波形生成部９では、内部レジスタに格納されている位相インデックスをｉｐ  、位相角をφｐ  とし、合成パラメータ補間部７より出力された合成パラメータｐ（ｍ）（０≦ｍ＜Ｍ）とピッチスケール補間部８より出力されたピッチスケールｓを入力として、位相インデックスを
ｉｐ  ＝Ｉ（ｓ，φｐ  ）
により決定し、ピッチ波形ポイント数Ｐ（ｓ，ｉｐ  ）、パワ正規化係数Ｃ（ｓ）、波形生成行列ＷＧＭ（ｓ，ｉｐ  ）＝（ｃｋｍ（ｓ，ｉｐ  ））をテーブルから読み出し、
【０１０９】
【外３９】
0003548230.tif 000040
によりピッチ波形を生成する。ピッチ波形を生成した後、位相インデックスを
ｉｐ  ＝（ｉｐ  ＋１）ｍｏｄ  ｎｐ  （ｓ）
のように更新し、更新された位相インデックスを用いて位相角を
φｐ  ＝φ（ｓ，ｉｐ  ）
のように更新する。
【０１１０】
以上の動作を、図１３のフローチャートを参照して説明する。
【０１１１】
ステップＳ２０１で、文字系列入力部１より表音テキストを入力する。
【０１１２】
ステップＳ２０２で、外部入力された制御データ（発声速度、声の高さ）と入力された表音テキスト中の制御データを制御データ格納部２に格納する。
【０１１３】
ステップＳ２０３で、文字系列入力部１より入力された表音テキストからパラメータ生成部３においてパラメータ系列を生成する。
【０１１４】
ステップＳ２０３で生成されたパラメータ１フレームのデータ構造は実施例１と同じであり、図８に示されている。
【０１１５】
ステップＳ２０４で、波形ポイント数格納部６の内部レジスタを０に初期化する。波形ポイント数をｎｗ  で表すと
ｎｗ  ＝０
となる。
【０１１６】
ステップＳ２０５で、パラメータ系列カウンタｉを０に初期化する。
【０１１７】
ステップＳ２０６で、位相インデックスｉｐ  を０に、位相角φｐ  を０に初期化する。
【０１１８】
ステップＳ２０７で、パラメータ生成部３から第ｉフレームと第ｉ＋１フレームのパラメータをパラメータ格納部４に取り込む。
【０１１９】
ステップＳ２０８で、制御データ格納部２より、発声速度をフレーム時間長設定部５に取り込む。
【０１２０】
ステップＳ２０９で、フレーム時間長設定部５において、パラメータ格納部４に取り込まれたパラメータの発声速度係数と、制御データ格納部２より取り込まれた発声速度を用いて、フレーム時間長Ｎｉ  を設定する。
【０１２１】
ステップＳ２１０で、波形ポイント数ｎｗ  がフレーム時間長Ｎｉ  未満か否かを判別し、ｎｗ ＞Ｎｉ  の場合はステップＳ２１７へ進み、ｎｗ  ＜Ｎｉ  の場合はステップＳ２１１へ進み、処理を続ける。
【０１２２】
ステップＳ２１１で、合成パラメータ補間部７において、パラメータ格納部４に取り込まれた合成パラメータと、フレーム時間長設定部５で設定されたフレーム時間長と、波形ポイント数格納部６に格納された波形ポイント数を用いて、合成パラメータの補間を行う。パラメータの補間は実施例１のステップＳ１０と同じである。
【０１２３】
ステップＳ２１２で、ピッチスケール補間部８において、パラメータ格納部４に取り込まれたピッチスケールと、フレーム時間長設定部５で設定されたフレーム時間長と波形ポイント数格納部６に格納された波形ポイント数を用いて、ピッチスケールの補間を行う。ピッチスケールの補間は実施例１のステップＳ１１と同じである。
【０１２４】
ステップＳ２１３で、式（４）によって得られたピッチスケールｓと位相角φｐ  から
ｉｐ  ＝Ｉ（ｓ，φｐ  ）
によって位相インデックスを決定する。
【０１２５】
ステップＳ２１４で、式（３）によって得られた合成パラメータｐ［ｍ］（０＜ｍ＜Ｍ）と式（４）によって得られたピッチスケールｓを用いて波形生成部９においてピッチ波形を生成する。ピッチスケールｓに対応するピッチ波形ポイント数Ｐ（ｓ，ｉｐ  ）とパワ正規化係数Ｃ（ｓ）と波形生成行列ＷＧＭ（ｓ，ｉｐ  ）＝（ｃｋｍ（ｓ，ｉｐ  ））（０＜ｋ＜Ｐ（ｓ，ｉｐ  ），０＜ｍ＜Ｍ）をテーブルから読み出し、ピッチ波形を
【０１２６】
【外４０】
0003548230.tif 000041
によって生成する。
【０１２７】
波形生成部９から合成音声として出力される音声波形を
Ｗ（ｎ）（０＜ｎ）
とする。ピッチ波形の接続は実施例１と同様であり、第ｊフレームのフレーム時間長をＮｊ  として
Ｗ（ｎＷ  ＋ｋ）＝ｗｐ  （ｋ）  （ｉ＝０，０＜ｋ＜Ｐ（ｓ，ｉｐ  ））
【０１２８】
【外４１】
0003548230.tif 000042
によって行う。
【０１２９】
ステップＳ２１５で、位相インデックスを
ｉｐ  ＝（ｉｐ  ＋１）ｍｏｄ  ｎｐ  （ｓ）
のように更新し、更新された位相インデックスｉｐ  を用いて、位相角を
φｐ  ＝φ（ｓ，ｉｐ  ）
のように更新する。
【０１３０】
ステップＳ２１６で、波形ポイント数格納部６で波形ポイント数ｎｗ  を
ｎｗ  ＝ｎｗ  ＋Ｐ（ｓ，ｉｐ  ）
のように更新し、ステップＳ２１０に戻り、処理を続ける。
【０１３１】
ステップＳ２１０で、ｎｗ ＞Ｎｉ  の場合はステップＳ２１７へ進む。
【０１３２】
ステップＳ２１７で、波形ポイント数ｎｗ  を
ｎｗ  ＝ｎｗ  −Ｎｉ
のように初期化する。
【０１３３】
ステップＳ２１８で、全フレームの処理が終了したか否かを判別し、終了していない場合はステップＳ２１９に進む。
【０１３４】
ステップＳ２１９では外部入力された制御データ（発声速度、声の高さ）を制御データ格納部２に格納し、ステップＳ２２０でパラメータ系列カウンタｉを
ｉ＝ｉ＋１
のように更新し、ステップＳ２０７に戻り、処理を続ける。
【０１３５】
ステップＳ２１８で全フレームの処理が終了したと判断される場合は処理を終了する。
【０１３６】
（実施例３）
本実施例では、実施例１におけるピッチ波形生成の方法に加え、無声波形の生成について説明する。
【０１３７】
図１４は、実施例３の音声合成装置の機能構成を示すブロック図である。これらの各機能は、図２５のＣＰＵ１０３の制御により実行される。３０１は文字系列入力部であり、合成すべき音声の文字系列を入力する。例えば合成すべき音声が「音声」であるときには、「ＯｎＳＥＩ」というような表音テキストの文字系列を入力する。また、この文字系列入力部３０１より入力する文字系列中には、表音テキストの他に発声速度や声の高さなどを設定するための制御シーケンスを意味する文字系列などが含まれることもある。文字系列入力部３０１は、入力した文字系列が表音テキストであるか制御シーケンスであるか判断する。３０２は制御データ格納部であり、文字系列入力部３０１で制御シーケンスと判断され、送られてきた文字系列や、ユーザインタフェースより入力される発声速度や声の高さなどの制御データを内部レジスタに格納する。３０３はパラメータ生成部であり、文字系列入力部３０１で入力され、表音テキストであると判断された文字系列に対応して予め記憶してあるパラメータ系列をＲＯＭ１０５より読み出し、生成する。３０４はパラメータ格納部であり、パラメータ生成部３０３で生成されたパラメータ系列から処理対象とするフレームのパラメータを取り出して内部レジスタに格納する。３０５はフレーム時間長設定部であり、制御データ格納部３０２に格納された発声速度に関する制御データとパラメータ格納部３０４に格納された発声速度係数Ｋ（発声速度に応じてフレーム時間長を決めるために使用するパラメータ）から、各フレームの時間長Ｎｉ  を計算する。３０６は波形ポイント数格納部であり、１フレームの波形ポイント数ｎｗ  を計算して内部レジスタに格納する。３０７は合成パラメータ補間部であり、パラメータ格納部３０４に格納されている合成パラメータを、フレーム時間長設定部３０５で設定されたフレーム時間長Ｎｉ  と波形ポイント数格納部３０６に格納された波形ポイント数ｎｗ  で補間する。３０８はピッチスケール補間部であり、パラメータ格納部３０４に格納されているピッチスケールを、フレーム時間長設定部３０５で設定されたフレーム時間長Ｎｉ  と波形ポイント数格納部３０６に格納された波形ポイント数ｎｗ  で補間する。３０９は波形生成部であり、合成パラメータ補間部３０７で補間された合成パラメータとピッチスケール補間部３０８で補間されたピッチスケールからピッチ波形を生成し、ピッチ波形を接続して合成音声を出力する。また、波形生成部３０９は、合成パラメータ補間部３０７より出力された合成パラメータから無声波形を生成し、無声波形を接続して合成音声を出力する。
【０１３８】
波形生成部３０９で行われるピッチ波形の生成は実施例１における波形生成部９と同じである。
【０１３９】
本実施例では、波形生成部３０９で行われるピッチ波形の生成の他に更なる無声波形の生成について説明する。
【０１４０】
無声波形の生成に用いる合成パラメータを
ｐ（ｍ）（０≦ｍ＜Ｍ）
とする。サンプリング周波数を
ｆｓ
とする。サンプリング周期は
【０１４１】
【外４２】
0003548230.tif 000043
である。無声波形の生成に使用する正弦波のピッチ周波数を
ｆ
とする。ｆは、可聴周波数帯域よりも低い周波数に設定される。
【０１４２】
［ｘ］でｘ以下の整数を表す。
【０１４３】
ピッチ周波数ｆに対応するピッチ周期ポイント数は
【０１４４】
【外４３】
0003548230.tif 000044
となる。無声波形ポイント数を
Ｎｕｖ＝Ｎｐ  （ｆ）
とする。無声波形ポイント数を角度２πに対応させたときの１ポイントごとの角度をθとすると、
【０１４５】
【外４４】
0003548230.tif 000045
となる。ピッチ周波数ｆの整数倍におけるスペクトル包絡の値は
【０１４６】
【外４５】
0003548230.tif 000046
となる。無声波形を
ｗｕｖ（ｋ）（０＜ｋ＜Ｎｕｖ）
ピッチ周波数ｆに対応するパワ正規化係数を
Ｃ（ｆ）
とする。Ｃ（ｆ）＝１．０となるピッチ周波数をｆ０  として
【０１４７】
【外４６】
0003548230.tif 000047
によってＣ（ｆ）が与えられる。無声波形生成に使用するパワ正規化係数を
Ｃｕｖ＝Ｃ（ｆ）
とする。
【０１４８】
ピッチ周波数ｆの整数倍の正弦波を、位相をランダムにずらして重ね合わせることにより無声波形を生成する。位相のずれをαｌ  （１＜ｌ＜［Ｎｕｖ／２］）とする。αｌ  は
−π＜αｌ  ＜π
を満たすランダムな値に設定される。
【０１４９】
【外４７】
0003548230.tif 000048
のように無声波形ｗｕｖ（ｋ）（０≦ｋ＜Ｎｕｖ）が生成される。
【０１５０】
式（７）の演算を直接行う代わりに、以下のように計算を高速化することもできる。無声波形インデックスを
ｉｕｖ（０≦ｉｕｖ＜Ｎｕｖ）
として、
【０１５１】
【外４８】
0003548230.tif 000049
を計算してテーブルに記憶しておく。無声波形生成行列を
ＵＶＷＧＭ（ｉｕｖ）＝（ｃ（ｉｕｖ，ｍ））（０≦ｉｕｖ＜Ｎｕｖ  ，０≦ｍ＜Ｍ）
とする。さらに、ピッチ周期ポイント数Ｎｕｖ、パワ正規化係数Ｃｕｖをテーブルに記憶しておく。
【０１５２】
波形生成部３０９では、内部レジスタに格納されている無声波形インデックスをｉｕｖ、合成パラメータ補間部７より出力された合成パラメータｐ（ｍ）（０＜ｍ＜Ｍ）を入力として、パワ正規化係数Ｃｕｖ、無声波形生成行列ＵＶＷＧＭ（ｉｕｖ）＝（ｃ（ｉｕｖ，ｍ））がテーブルから読み出され、
【０１５３】
【外４９】
0003548230.tif 000050
により無声波形が１ポイント生成される。無声波形が生成された後、ピッチ周期ポイント数Ｎｕｖがテーブルから読み出され、無声波形インデックスｉｕｖを
ｉｕｖ＝（ｉｕｖ＋１）ｍｏｄＮｕｖ
のように更新し、波形ポイント数格納部３０６に格納されている波形ポイント数ｎｗ  を
ｎｗ  ＝ｎｗ  ＋１
のように更新する。
【０１５４】
以上の動作を、図１５のフローチャートを参照して説明する。
【０１５５】
ステップＳ３０１で、文字系列入力部３０１より表音テキストを入力する。
【０１５６】
ステップＳ３０２で、外部入力された制御データ（発声速度、声の高さ）と入力された表音テキスト中の制御データを制御データ格納部３０２に格納する。
【０１５７】
ステップＳ３０３で、文字系列入力部３０１より入力された表音テキストからパラメータ生成部３０３においてパラメータ系列を生成する。
【０１５８】
図１６は、ステップＳ３０３で生成されたパラメータ１フレームのデータ構造を示す。
【０１５９】
ステップＳ３０４で、波形ポイント数格納部３０６の内部レジスタを０に初期化する。波形ポイント数をｎｗ  で表すと
ｎｗ  ＝０
となる。
【０１６０】
ステップＳ３０５で、パラメータ系列カウンタｉを０に初期化する。
【０１６１】
ステップＳ３０６で、無声波形インデックスｉｕｖを０に初期化する。
【０１６２】
ステップＳ３０７で、パラメータ生成部３０３から第ｉフレームと第ｉ＋１フレームのパラメータをパラメータ格納部３０４に取り込む。
【０１６３】
ステップＳ３０８で、制御データ格納部３０２より、発声速度をフレーム時間長設定部３０５に取り込む。
【０１６４】
ステップＳ３０９で、フレーム時間長設定部３０５において、パラメータ格納部３０４に取り込まれた発声速度係数と、制御データ格納部３０２より取り込まれた発声速度を用いて、フレーム時間長Ｎｉ  を設定する。
【０１６５】
ステップＳ３１０で、パラメータ格納部３０４に取り込まれた有声・無声情報を用いて第ｉフレームのパラメータが無声であるか否かを判断し、無声の場合はステップＳ３１１に進み、有声の場合はステップＳ３１７に進む。
【０１６６】
ステップＳ３１１で、波形ポイント数ｎｗ  がフレーム時間長Ｎｉ  未満か否かを判別し、ｎｗ ＞Ｎｉ  の場合はステップＳ３１５へ進み、ｎｗ  ＜Ｎｉ  の場合はステップＳ３１２へ進み、処理を続ける。
【０１６７】
ステップＳ３１２で、合成パラメータ補間部３０７より入力された第ｉフレームの合成パラメータｐｉ  ［ｍ］（０≦ｍ＜Ｍ）を用いて波形生成部３０９において無声波形を生成する。パワ正規化係数Ｃｕｖをテーブルから読み出し、さらに、無声波形インデックスｉｕｖに対応する無声波形生成行列ＵＶＷＧＭ（ｉｕｖ）＝（ｃ（ｉｕｖ，ｍ））（０≦ｍ＜Ｍ）をテーブルから読み出し、無声波形が
【０１６８】
【外５０】
0003548230.tif 000051
によって生成される。
【０１６９】
波形生成部３０９から合成音声として出力される音声波形を
Ｗ（ｎ）（０＜ｎ）
とする。無声波形の接続は、第ｊフレームのフレーム時間長をＮｊ  として
Ｗ（ｎｗ  ＋１）＝ｗｕｖ（ｉｕｖ）（ｉ＝０）
【０１７０】
【外５１】
0003548230.tif 000052
によって行う。
【０１７１】
ステップＳ３１３で、無声波形ポイント数Ｎｕｖをテーブルから読み出し、無声波形インデックスを
ｉｕｖ＝（ｉｕｖ＋１）ｍｏｄＮｕｖ
のように更新する。
【０１７２】
ステップＳ３１４で、波形ポイント数格納部３０６で波形ポイント数ｎｗ  を
ｎｗ  ＝ｎｗ  ＋１
のように更新し、ステップＳ３１１に戻り、処理を続ける。
【０１７３】
ステップＳ３１０で有声・無声情報が有声の場合、ステップＳ３１７に進み、第ｉフレームのピッチ波形を生成・接続する。ここで行われる処理は実施例１のステップＳ９、Ｓ１０、Ｓ１１、Ｓ１２、Ｓ１３で行われる処理に同じである。
【０１７４】
ステップＳ３１１でｎｗ ＞Ｎｉ  の場合、ステップＳ３１５へ進み、波形ポイント数ｎｗ  を
ｎｗ  ＝ｎｗ  −Ｎｉ
のように初期化する。
【０１７５】
ステップＳ３１６で、全フレームの処理が終了したか否かを判別し、終了していない場合はステップＳ３１８に進む。
【０１７６】
ステップＳ３１８では外部入力された制御データ（発声速度、声の高さ）を制御データ格納部３０２に格納し、ステップＳ３１９でパラメータ系列カウンタｉを
ｉ＝ｉ＋１
のように更新し、ステップＳ３０７に戻り、処理を続ける。
【０１７７】
ステップＳ３１６で全フレームの処理が終了したと判断される場合は処理を終了する。
【０１７８】
（実施例４）
本実施例では、分析時と合成時で異なるサンプリング周波数で処理を可能とする例について説明する。
【０１７９】
実施例４の音声合成装置の構成及び機能構成を示すブロック図は、実施例１と同じく図２５及び図１である。
【０１８０】
波形生成部９で行われるピッチ波形の生成について説明する。
【０１８１】
ピッチ波形の生成に用いる合成パラメータを
ｐ（ｍ）（０＜ｍ＜Ｍ）
とする。合成パラメータであるインパルス応答波形のサンプリング周波数を分析サンプリング周波数
ｆｓ１
とする。分析サンプリング周期は
【０１８２】
【外５２】
0003548230.tif 000053
である。合成音声のピッチ周波数を
ｆ
とすると、ピッチ周期は
【０１８３】
【外５３】
0003548230.tif 000054
となる。分析ピッチ周期ポイント数は
【０１８４】
【外５４】
0003548230.tif 000055
となる。
【０１８５】
［ｘ］でｘ以下の最大の整数を表し、分析ピッチ周期ポイント数を整数で量子化して
Ｎｐ１  （ｆ）＝［ｆＳ１／ｆ］
とする。
【０１８６】
合成音声のサンプリング周波数を合成サンプリング周波数
ｆｓ２
とする。合成ピッチ周期ポイント数は
【０１８７】
【外５５】
0003548230.tif 000056
となり、さらに、
【０１８８】
【外５６】
0003548230.tif 000057
と量子化する。
【０１８９】
分析ピッチ周期ポイント数を角度２πに対応させたときの１ポイントごとの角度をθ１  とすると、
【０１９０】
【外５７】
0003548230.tif 000058
となる。ピッチ周波数の整数倍におけるスペクトル包絡の値は
【０１９１】
【外５８】
0003548230.tif 000059
となる。合成ピッチ周期ポイント数を２πに対応させたときの１ポイントごとの角度をθ２  とすると、
【０１９２】
【外５９】
0003548230.tif 000060
となる。ピッチ波形を
ｗ（ｋ）（０＜ｋ＜Ｎｐ２（ｆ））
ピッチ周波数ｆに対応するパワ正規化係数を
Ｃ（ｆ）
とする。Ｃ（ｆ）＝１．０となるピッチ周波数をｆ０  として
【０１９３】
【外６０】
0003548230.tif 000061
によってＣ（ｆ）が与えられる。
【０１９４】
ピッチ周波数の整数倍の正弦波を重ね合わせて
【０１９５】
【外６１】
0003548230.tif 000062
のようにピッチ波形ｗ（ｋ）（０＜ｋ＜Ｎｐ２（ｆ））を生成する。
【０１９６】
または、ピッチ周期の半分位相をずらして重ね合わせて
【０１９７】
【外６２】
0003548230.tif 000063
のようにピッチ波形ｗ（ｋ）（０＜ｋ＜Ｎｐ２（ｆ））を生成する。
【０１９８】
ピッチスケールを声の高さを表現するための尺度とする。式（８）、（９）の演算を直接行う代わりに、以下のように計算を高速化することもできる。ピッチスケールｓ∈Ｓ（Ｓはピッチスケールの集合）に対応する分析ピッチ周期ポイント数をＮｐ１（ｓ）、合成ピッチ周期ポイント数をＮｐ２（ｓ）とし、
【０１９９】
【外６３】
0003548230.tif 000064
として、式（８）の場合
【０２００】
【外６４】
0003548230.tif 000065
式（９）の場合
【０２０１】
【外６５】
0003548230.tif 000066
を計算してテーブルに記憶しておく。波形生成行列を
ＷＧＭ（ｓ）＝（ｃｋｍ（ｓ））（０≦ｋ＜Ｎｐ２（ｓ），０≦ｍ＜Ｍ）
とする。さらに、ピッチスケールｓに対応する合成ピッチ周期ポイント数Ｎｐ２（ｓ）、パワ正規化係数Ｃ（ｓ）をテーブルに記憶しておく。
【０２０２】
波形生成部９では、合成パラメータ補間部７より出力された合成パラメータｐ（ｍ）（０≦ｍ＜Ｍ）とピッチスケール補間部８より出力されたピッチスケールｓを入力として、合成ピッチ周期ポイント数Ｎｐ２（ｓ）、パワ正規化係数Ｃ（ｓ）、波形生成行列ＷＧＭ（ｓ）＝（ｃｋｍ（ｓ））をテーブルから読み出し、
【０２０３】
【外６６】
0003548230.tif 000067
によりピッチ波形を生成する。
【０２０４】
以上の動作を、図７のフローチャートを参照して説明する。
【０２０５】
ステップＳ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５、Ｓ６、Ｓ７、Ｓ８、Ｓ９、Ｓ１０、Ｓ１１は実施例１と同じである。
【０２０６】
ステップＳ１２のピッチ波形生成処理について、本実施例における処理を説明する。式（３）によって得られた合成パラメータｐ［ｍ］（０≦ｍ＜Ｍ）と式（４）によって得られたピッチスケールｓを用いて波形生成部９においてピッチ波形が生成される。ピッチスケールｓに対応する合成ピッチ周期ポイント数Ｎｐ２（ｓ）とパワ正規化係数Ｃ（ｓ）と波形生成行列ＷＧＭ（ｓ）＝（ｃｋｍ（ｓ））（０≦ｋ＜Ｎｐ２（ｓ），０≦ｍ＜Ｍ）がテーブルから読み出され、ピッチ波形を
【０２０７】
【外６７】
0003548230.tif 000068
によって生成する。
【０２０８】
波形生成部９から合成音声として出力される音声波形を
Ｗ（ｎ）（０＜ｎ）
とする。ピッチ波形の接続は、第ｊフレームのフレーム時間長をＮｊ  として
Ｗ（ｎｗ  ＋ｋ）＝ｗ（ｋ）（ｉ＝０，０＜ｋ＜Ｎｐ２（ｓ））
【０２０９】
【外６８】
0003548230.tif 000069
によって行う。
【０２１０】
ステップＳ１３で、波形ポイント数格納部６で波形ポイント数ｎｗ  を
ｎｗ  ＝ｎｗ  ＋Ｎｐ２（ｓ）
のように更新する。
【０２１１】
ステップＳ１４、Ｓ１５、Ｓ１６、Ｓ１７は実施例１と同じである。
【０２１２】
（実施例５）
本実施例では、パワスペクトル包絡からピッチ波形を生成することにより、パワスペクトル包絡を利用した周波数領域でのパラメータ操作を可能とする例について説明する。
【０２１３】
実施例５の音声合成装置の構成及び機能構成を示すブロック図は、実施例１と同じく図２５及び図１である。
【０２１４】
波形生成部９で行われるピッチ波形の生成について説明する。
【０２１５】
まず、ピッチ波形の生成に用いる合成パラメータについて説明する。図１７において、フーリエ変換の次数をＮ、ピッチ波形の生成に用いるインパルス応答波形の次数をＭとする。ここでＮ、ＭはＮ＞２Ｍを満たすようにする。音声の対数パワスペクトル包絡を
【０２１６】
【外６９】
0003548230.tif 000070
とする。対数パワスペクトル包絡を指数関数に入力して線形に戻し、逆フーリエ変換して求めたインパルス応答は、
【０２１７】
【外７０】
0003548230.tif 000071
となる。
【０２１８】
ピッチ波形の生成に用いるインパルス応答波形
ｈ′（ｍ）（０＜ｍ＜Ｍ）
は、インパルス応答の０次の値と１次以降の値の比を相対的に２倍することにより得られる。すなわち、ｒ≠０として、
ｈ′（０）＝ｒｈ（０）
ｈ′（ｍ）＝２ｒｈ（ｍ）（１＜ｍ＜Ｍ）
とする。
【０２１９】
合成パラメータを
ｐ（ｎ）＝ｒ・ｅｘｐ（ａ（ｎ））（０＜ｎ＜Ｎ）
とする。このとき、
【０２２０】
【外７１】
0003548230.tif 000072
となる。
【０２２１】
【外７２】
0003548230.tif 000073
とすると、
【０２２２】
【外７３】
0003548230.tif 000074
となる。
【０２２３】
サンプリング周波数を
ｆｓ
とする。サンプリング周期は、
【０２２４】
【外７４】
0003548230.tif 000075
である。合成音声のピッチ周波数を
ｆ
とすると、ピッチ周期は
【０２２５】
【外７５】
0003548230.tif 000076
となり、ピッチ周期ポイント数は
【０２２６】
【外７６】
0003548230.tif 000077
となる。［ｘ］でｘ以下の最大の整数を表し、ピッチ周期ポイント数を整数で量子化して
Ｎｐ  （ｆ）＝［ｆＳ１／ｆ］
とする。ピッチ周期を角度２πに対応させたときの１ポイントごとの角度をθとすると、
【０２２７】
【外７７】
0003548230.tif 000078
となる。ピッチ周波数の整数倍におけるスペクトル包絡の値は
【０２２８】
【外７８】
0003548230.tif 000079
となる。ピッチ波形を
ｗ（ｋ）（０＜ｋ＜Ｎｐ  （ｆ））
ピッチ周波数ｆに対応するパワ正規化係数を
Ｃ（ｆ）
とする。Ｃ（ｆ）＝１．０となるピッチ周波数をｆ０  として
【０２２９】
【外７９】
0003548230.tif 000080
によってＣ（ｆ）が与えられる。
【０２３０】
基本周波数の整数倍の正弦波を重ね合わせて
【０２３１】
【外８０】
0003548230.tif 000081
のようにピッチ波形ｗ（ｋ）（０＜ｋ＜Ｎｐ  （ｆ））を生成する。
【０２３２】
または、ピッチ周期の半分位相をずらして重ね合わせて
【０２３３】
【外８１】
0003548230.tif 000082
のようにピッチ波形ｗ（ｋ）（０＜ｋ＜Ｎｐ  （ｆ））を生成する。
【０２３４】
ピッチスケールを声の高さを表現するための尺度とする。式（１０）、（１１）の演算を直接行う代わりに、以下のように計算を高速化することもできる。ピッチスケールｓに対応するピッチ周期ポイント数をＮｐ  （ｓ）とし、
【０２３５】
【外８２】
0003548230.tif 000083
として、式（１０）の場合
【０２３６】
【外８３】
0003548230.tif 000084
式（１１）の場合
【０２３７】
【外８４】
0003548230.tif 000085
を計算してテーブルに記憶しておく。波形生成行列を
ＷＧＭ（ｓ）＝（ｃｋｎ（ｓ））
（０≦ｋ＜Ｎｐ  （ｓ），０≦ｎ＜Ｎ）
とする。さらに、ピッチスケールｓに対応するピッチ周期ポイント数Ｎｐ  （ｓ）、パワ正規化係数Ｃ（ｓ）をテーブルに記憶しておく。
【０２３８】
波形生成部９では、合成パラメータ補間部７より出力された合成パラメータｐ（ｎ）（０＜ｎ＜Ｎ）とピッチスケール補間部８より出力されたピッチスケールｓを入力として、ピッチ周期ポイント数Ｎｐ  （ｓ）、パワ正規化係数Ｃ（ｓ）、波形生成行列ＷＧＭ（ｓ）＝（ｃｋｎ（ｓ））をテーブルから読み出し、
【０２３９】
【外８５】
0003548230.tif 000086
によりピッチ波形を生成する（図１８）。
【０２４０】
以上の動作を、図７のフローチャートを参照して説明する。
【０２４１】
ステップＳ１、Ｓ２、Ｓ３は実施例１と同じである。
【０２４２】
図１９は、ステップＳ３で生成されたパラメータ１フレームのデータ構造を示す。
【０２４３】
ステップＳ４、Ｓ５、Ｓ６、Ｓ７、Ｓ８、Ｓ９は実施例１と同じである。
【０２４４】
ステップＳ１０で、合成パラメータ補間部７において、パラメータ格納部４に取り込まれた合成パラメータと、フレーム時間長設定部５で設定されたフレーム時間長と、波形ポイント数格納部６に格納された波形ポイント数を用いて、合成パラメータの補間が行われる。図２０は、合成パラメータの補間についての説明図である。第ｉフレームの合成パラメータをｐｉ  ［ｎ］（０＜ｎ＜Ｎ）、第ｉ＋１フレームの合成パラメータをｐｉ＋１  ［ｎ］（０＜ｎ＜Ｎ）、第ｉフレームの時間長をＮｉ  ポイントとする。このとき、１ポイント当たりの合成パラメータの差分Δｐ  ［ｎ］（０＜ｎ＜Ｎ）は、
【０２４５】
【外８６】
0003548230.tif 000087
となる。次に、ピッチ波形を生成するごとに合成パラメータｐ［ｎ］（０＜ｎ＜Ｎ）を更新する。
【０２４６】
ｐ［ｎ］＝ｐｉ  ［ｎ］＋ｎｗ  Δｐ  ［ｎ］    （１２）
の処理をピッチ波形開始点で行う。
【０２４７】
ステップＳ１１は、実施例１と同じである。
【０２４８】
ステップＳ１２で、式（１２）によって得られた合成パラメータｐ［ｎ］（０＜ｎ＜Ｎ）と式（４）によって得られたピッチスケールｓを用いて波形生成部９においてピッチ波形を生成する。ピッチスケールｓに対応するピッチ周期ポイント数Ｎｐ  （ｓ）とパワ正規化係数Ｃ（ｓ）と波形生成行列ＷＧＭ（ｓ）＝（ｃｋｎ（ｓ））（０＜ｋ＜Ｎｐ  （ｓ），０＜ｎ＜Ｎ）をテーブルから読み出し、ピッチ波形を
【０２４９】
【外８７】
0003548230.tif 000088
によって生成する。
【０２５０】
図１１は、生成されたピッチ波形の接続についての説明図である。波形生成部９から合成音声として出力される音声波形を
Ｗ（ｎ）（０＜ｎ）
とする。ピッチ波形の接続は、第ｊフレームのフレーム時間長をＮｊ  として
Ｗ（ｎｗ  ＋ｋ）＝ｗ（ｋ）（ｉ＝０，０＜ｋ＜Ｎｐ  （ｓ））
【０２５１】
【外８８】
0003548230.tif 000089
によって行う。
【０２５２】
ステップＳ１３、Ｓ１４、Ｓ１５、Ｓ１６、Ｓ１７は実施例１と同じである。
【０２５３】
（実施例６）
本実施例では、周波数特性を決定する関数を用いてスペクトル包絡を変換する例について説明する。
【０２５４】
実施例６の音声合成装置の構成及び機能構成を示すブロック図は、実施例１と同じく図２５及び図１である。
【０２５５】
波形生成部９で行われるピッチ波形の生成について説明する。
【０２５６】
ピッチ波形の生成に用いる合成パラメータを
ｐ（ｍ）（０＜ｍ＜Ｍ）
とする。サンプリング周波数を
ｆｓ
とする。サンプリング周期は
【０２５７】
【外８９】
0003548230.tif 000090
である。合成音声のピッチ周波数を
ｆ
とすると、ピッチ周期は
【０２５８】
【外９０】
0003548230.tif 000091
となり、ピッチ周期ポイント数は
【０２５９】
【外９１】
0003548230.tif 000092
となる。［ｘ］でｘ以下の最大の整数を表し、ピッチ周期ポイント数を整数で量子化して
Ｎｐ  （ｆ）＝［ｆＳ／ｆ］
とする。ピッチ周期を角度２πに対応させたときの１ポイントごとの角度をθとすると、
【０２６０】
【外９２】
0003548230.tif 000093
となる。ピッチ周波数の整数倍におけるスペクトル包絡の値は
【０２６１】
【外９３】
0003548230.tif 000094
となる。スペクトル包絡の操作に用いる周波数特性関数を
ｒ（ｘ）（０＜ｘ＜ｆｓ  ／２）
とする。図２１は、ｆ１  以上の周波数の高調波の振幅を２倍にする例である。ｒ（ｘ）を変えることによって、スペクトル包絡を操作することができる。この関数を用いて、ピッチ周波数の整数倍におけるスペクトル包絡の値を
【０２６２】
【外９４】
0003548230.tif 000095
と変換する。ピッチ波形を
ｗ（ｋ）（０＜ｋ＜Ｎｐ  （ｆ））
ピッチ周波数ｆに対応するパワ正規化係数を
Ｃ（ｆ）
とする。Ｃ（ｆ）＝１．０となるピッチ周波数をｆ０  として
【０２６３】
【外９５】
0003548230.tif 000096
によってＣ（ｆ）が与えられる。
【０２６４】
基本周波数の整数倍の正弦波を重ね合わせて
【０２６５】
【外９６】
0003548230.tif 000097
のようにピッチ波形ｗ（ｋ）（０＜ｋ＜Ｎｐ  （ｆ））を生成する。
【０２６６】
または、ピッチ周期の半分位相をずらして重ね合わせて
【０２６７】
【外９７】
0003548230.tif 000098
のようにピッチ波形ｗ（ｋ）（０＜ｋ＜Ｎｐ  （ｆ））を生成する。
【０２６８】
ピッチスケールを声の高さを表現するための尺度とする。式（１３）、（１４）の演算を直接行う代わりに、以下のように計算を高速化することもできる。ピッチスケールｓに対応するピッチ周波数をｆ、ピッチ周期ポイント数をＮｐ  （ｓ）とし、
【０２６９】
【外９８】
0003548230.tif 000099
とする。さらに、周波数特性関数を
ｒ（ｘ）（０≦ｘ≦ｆｓ  ／２）
とする。そして、式（１３）の場合
【０２７０】
【外９９】
0003548230.tif 000100
式（１４）の場合
【０２７１】
【外１００】
0003548230.tif 000101
を計算してテーブルに記憶しておく。波形生成行列を
ＷＧＭ（ｓ）＝（ｃｋｍ（ｓ））（０≦ｋ＜Ｎｐ  （ｓ），０≦ｍ＜Ｍ）
とする。さらに、ピッチスケールｓに対応するピッチ周期ポイント数Ｎｐ  （ｓ）、パワ正規化係数Ｃ（ｓ）をテーブルに記憶しておく。
【０２７２】
波形生成部９では、合成パラメータ補間部７より出力された合成パラメータｐ（ｍ）（０＜ｍ＜Ｍ）とピッチスケール補間部８より出力されたピッチスケールｓを入力として、ピッチ周期ポイント数Ｎｐ  （ｓ）、パワ正規化係数Ｃ（ｓ）、波形生成行列ＷＧＭ（ｓ）＝（ｃｋｍ（ｓ））をテーブルから読み出し、
【０２７３】
【外１０１】
0003548230.tif 000102
によりピッチ波形を生成する。（図６）
以上の動作を、図７のフローチャートを参照して説明する。
【０２７４】
ステップＳ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５、Ｓ６、Ｓ７、Ｓ８、Ｓ９、Ｓ１０、Ｓ１１は実施例１と同じである。
【０２７５】
ステップＳ１２で、式（３）によって得られた合成パラメータｐ［ｍ］（０＜ｍ＜Ｍ）と式（４）によって得られたピッチスケールｓを用いて波形生成部９においてピッチ波形を生成する。ピッチスケールｓに対応するピッチ周期ポイント数Ｎｐ  （ｓ）とパワ正規化係数Ｃ（ｓ）と波形生成行列ＷＧＭ（ｓ）＝（ｃｋｍ（ｓ））（０＜ｋ＜Ｎｐ  （ｓ），０＜ｍ＜Ｍ）をテーブルから読み出し、ピッチ波形を
【０２７６】
【外１０２】
0003548230.tif 000103
によって生成する。
【０２７７】
図１１は、生成されたピッチ波形の接続についての説明図である。波形生成部９から合成音声として出力される音声波形を
Ｗ（ｎ）（０＜ｎ）
とする。ピッチ波形の接続は、第ｊフレームのフレーム時間長をＮｊ  として
Ｗ（ｎｗ  ＋ｋ）＝ｗ（ｋ）（ｉ＝０，０＜ｋ＜Ｎｐ  （ｓ））
【０２７８】
【外１０３】
0003548230.tif 000104
によって行う。
【０２７９】
ステップＳ１３、Ｓ１４、Ｓ１５、Ｓ１６、Ｓ１７は実施例１と同じである。
【０２８０】
（実施例７）
本実施例では、実施例１における正弦関数に変えて余弦関数を用いる例について説明する。
【０２８１】
実施例７の音声合成装置の構成及び機能構成を示すブロック図は、実施例１と同じく図２５及び図１である。
【０２８２】
波形生成部９で行われるピッチ波形の生成について説明する。
【０２８３】
ピッチ波形の生成に用いる合成パラメータを
ｐ（ｍ）（０＜ｍ＜Ｍ）
とする。
【０２８４】
サンプリング周波数を
ｆｓ
とする。サンプリング周期は、
【０２８５】
【外１０４】
0003548230.tif 000105
である。合成音声のピッチ周波数を
ｆ
とすると、ピッチ周期は
【０２８６】
【外１０５】
0003548230.tif 000106
となり、ピッチ周期ポイント数は
【０２８７】
【外１０６】
0003548230.tif 000107
となる。［ｘ］でｘ以下の最大の整数を表し、ピッチ周期ポイント数を整数で量子化し
て
Ｎｐ  （ｆ）＝［ｆＳ／ｆ］
とする。ピッチ周期を角度２πに対応させたときの１ポイントごとの角度をθとすると、
【０２８８】
【外１０７】
0003548230.tif 000108
となる。ピッチ周波数の整数倍におけるスペクトル包絡の値は
【０２８９】
【外１０８】
0003548230.tif 000109
となる。（図３）ピッチ波形を
ｗ（ｋ）（０＜ｋ＜Ｎｐ  （ｆ））
ピッチ周波数ｆに対応するパワ正規化係数を
Ｃ（ｆ）
とする。Ｃ（ｆ）＝１．０となるピッチ周波数をｆ０  として
【０２９０】
【外１０９】
0003548230.tif 000110
によってＣ（ｆ）が与えられる。
【０２９１】
基本周波数の整数倍の余弦波を重ね合わせて
【０２９２】
【外１１０】
0003548230.tif 000111
となる。さらに、次のピッチ波形のピッチ周波数をｆ′とすると、次のピッチ波形の０次の値は
【０２９３】
【外１１１】
0003548230.tif 000112
となる。
【０２９４】
【外１１２】
0003548230.tif 000113
として、
ｗ（ｋ）＝γ（ｋ）ｗ（ｋ）
のようにピッチ波形ｗ（ｋ）（０＜ｋ＜Ｎｐ  （ｆ））を生成する（図２２）。
【０２９５】
または、ピッチ周期の半分位相をずらして重ね合わせて
【０２９６】
【外１１３】
0003548230.tif 000114
のようにピッチ波形ｗ（ｋ）（０＜ｋ＜Ｎｐ  （ｆ））を生成する（図２３）。
【０２９７】
ピッチスケールを声の高さを表現するための尺度とする。式（１５）、（１６）の演算を直接行う代わりに、以下のように計算を高速化することもできる。ピッチスケールｓに対応するピッチ周期ポイント数をＮｐ  （ｓ）とし
【０２９８】
【外１１４】
0003548230.tif 000115
として、式（１５）の場合
【０２９９】
【外１１５】
0003548230.tif 000116
式（１６）の場合
【０３００】
【外１１６】
0003548230.tif 000117
を計算してテーブルに記憶しておく。波形生成行列を
ＷＧＭ（ｓ）＝（ｃｋｍ（ｓ））（０≦ｋ＜Ｎｐ  （ｓ），０≦ｍ＜Ｍ）
とする。さらに、ピッチスケールｓに対応するピッチ周期ポイント数Ｎｐ  （ｓ）、パワ正規化係数Ｃ（ｓ）をテーブルに記憶しておく。
【０３０１】
波形生成部９では、合成パラメータ補間部７より出力された合成パラメータｐ（ｍ）（０＜ｍ＜Ｍ）とピッチスケール補間部８より出力されたピッチスケールｓを入力として、ピッチ周期ポイント数Ｎｐ  （ｓ）、パワ正規化係数Ｃ（ｓ）、波形生成行列ＷＧＭ（ｓ）＝（ｃｋｍ（ｓ））をテーブルから読み出し、
【０３０２】
【外１１７】
0003548230.tif 000118
によりピッチ波形を生成する。さらに、式（１７）によって波形生成行列を計算した場合、次のピッチ波形のピッチスケールをｓ′として
【０３０３】
【外１１８】
0003548230.tif 000119
を計算し、
ｗ（ｋ）＝γ（ｋ）ｗ（ｋ）
をピッチ波形とする。
【０３０４】
以上の動作を、図７のフローチャートを参照して説明する。
【０３０５】
ステップＳ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５、Ｓ６、Ｓ７、Ｓ８、Ｓ９、Ｓ１０、Ｓ１１は実施例１と同じである。
【０３０６】
ステップＳ１２で、式（３）によって得られた合成パラメータｐ［ｍ］（０＜ｍ＜Ｍ）と式（４）によって得られたピッチスケールｓを用いて波形生成部９においてピッチ波形を生成する。ピッチスケールｓに対応するピッチ周期ポイント数Ｎｐ  （ｓ）とパワ正規化係数Ｃ（ｓ）と波形生成行列ＷＧＭ（ｓ）＝（ｃｋｍ（ｓ））（０≦ｋ＜Ｎｐ  （ｓ），０≦ｍ＜Ｍ）をテーブルから読み出し、ピッチ波形を
【０３０７】
【外１１９】
0003548230.tif 000120
によって生成する。さらに、式（１７）によって波形生成行列を計算した場合、ピッチスケール補間部８から１ポイント当たりのピッチスケールの差分Δｓ  を読み出して、次のピッチ波形のピッチスケールを
ｓ′＝ｓ＋Ｎｐ  （ｓ）Δｓ
のように計算する。このｓ′を用いて
【０３０８】
【外１２０】
0003548230.tif 000121
を計算し、
ｗ（ｋ）＝γ（ｋ）ｗ（ｋ）
をピッチ波形とする。
【０３０９】
図１１は、生成されたピッチ波形の接続についての説明図である。波形生成部９から合成音声として出力される音声波形を
Ｗ（ｎ）（０＜ｎ）
とする。ピッチ波形の接続は、第ｊフレームのフレーム時間長をＮｊ  として
Ｗ（ｎｗ  ＋ｋ）＝ｗ（ｋ）（ｉ＝０，０＜ｋ＜Ｎｐ  （ｓ））
【０３１０】
【外１２１】
0003548230.tif 000122
によって行う。
【０３１１】
ステップＳ１３、Ｓ１４、Ｓ１５、Ｓ１６、Ｓ１７は実施例１と同じである。
【０３１２】
（実施例８）
本実施例では、ピッチ波形の対称性を利用して、半周期のピッチ波形を１周期分に用いる例について説明する。
【０３１３】
実施例８の音声合成装置の構成及び機能構成を示すブロック図は、実施例１と同じく図２５及び図１である。
【０３１４】
波形生成部９で行われるピッチ波形の生成について説明する。
【０３１５】
ピッチ波形の生成に用いる合成パラメータを
ｐ（ｍ）（０＜ｍ＜Ｍ）
とする。
【０３１６】
サンプリング周波数を
ｆｓ
とする。サンプリング周期は
【０３１７】
【外１２２】
0003548230.tif 000123
である。合成音声のピッチ周波数を
ｆ
とすると、ピッチ周期は
【０３１８】
【外１２３】
0003548230.tif 000124
となり、ピッチ周期ポイント数は
【０３１９】
【外１２４】
0003548230.tif 000125
となる。［ｘ］でｘ以下の整数を表し、ピッチ周期ポイント数を整数で量子化して
Ｎｐ  （ｆ）＝［Ｎｐ  （ｆ）］
とする。ピッチ周期を角度２πに対応させたときの１ポイントごとの角度をθとすると、
【０３２０】
【外１２５】
0003548230.tif 000126
となる。ピッチ周波数の整数倍におけるスペクトルの包絡の値は
【０３２１】
【外１２６】
0003548230.tif 000127
となる。半周期ピッチ波形を
【０３２２】
【外１２７】
0003548230.tif 000128
ピッチ周波数ｆに対応するパワ正規化係数を
Ｃ（ｆ）
とする。Ｃ（ｆ）＝１．０となるピッチ周波数をｆ０  として
【０３２３】
【外１２８】
0003548230.tif 000129
によってＣ（ｆ）が与えられる。
【０３２４】
基本周波数の整数倍の正弦波を重ね合わせて
【０３２５】
【外１２９】
0003548230.tif 000130
のように半周期ピッチ波形ｗ（ｋ）（０＜ｋ＜［Ｎｐ  （ｆ）／２］）が生成される。
【０３２６】
または、ピッチ周期の半分位相をずらして重ね合わせて
【０３２７】
【外１３０】
0003548230.tif 000131
のように半周期ピッチ波形ｗ（ｋ）（０＜ｋ＜［Ｎｐ  （ｆ）／２］）が生成される。
【０３２８】
ピッチスケールを声の高さを表現するための尺度とする。式（１８）、（１９）の演算を直接行う代わりに、以下のように計算を高速化することもできる。ピッチスケールｓに対応するピッチ周期ポイント数をＮｐ  （ｓ）とし、
【０３２９】
【外１３１】
0003548230.tif 000132
として、式（１８）の場合
【０３３０】
【外１３２】
0003548230.tif 000133
式（１９）の場合
【０３３１】
【外１３３】
0003548230.tif 000134
を計算してテーブルに記憶しておく。波形生成行列を
【０３３２】
【外１３４】
0003548230.tif 000135
とする。さらに、ピッチスケールｓに対応するピッチ周期ポイント数Ｎｐ  （ｓ）、パワ正規化係数Ｃ（ｓ）をテーブルに記憶しておく。
【０３３３】
波形生成部９では、合成パラメータ補間部７より出力された合成パラメータｐ（ｍ）（０＜ｍ＜Ｍ）とピッチスケール補間部８より出力されたピッチスケールｓを入力として、ピッチ周期ポイント数Ｎｐ  （ｓ）、パワ正規化係数Ｃ（ｓ）、波形生成行列ＷＧＭ（ｓ）＝（ｃｋｍ（ｓ））をテーブルから読み出し、
【０３３４】
【外１３５】
0003548230.tif 000136
により半周期ピッチ波形を生成する。
【０３３５】
以上の動作を、図７のフローチャートを参照して説明する。
【０３３６】
ステップＳ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５、Ｓ６、Ｓ７、Ｓ８、Ｓ９、Ｓ１０、Ｓ１１は実施例１と同じである。
【０３３７】
ステップＳ１２で、式（３）によって得られた合成パラメータｐ［ｍ］（０＜ｍ＜Ｍ）と式（４）によって得られたピッチスケールｓを用いて波形生成部９において半周期ピッチ波形を生成する。ピッチスケールｓに対応するピッチ周期ポイント数Ｎｐ  （ｓ）とパワ正規化係数Ｃ（ｓ）と波形生成行列ＷＧＭ（ｓ）＝（ｃｋｍ（ｓ））（０＜ｋ＜［Ｎｐ  （ｓ）／２］，０＜ｍ＜Ｍ）をテーブルから読み出し、半周期ピッチ波形を
【０３３８】
【外１３６】
0003548230.tif 000137
によって生成する。
【０３３９】
生成された半周期ピッチ波形の接続について説明する。波形生成部９から合成音声として出力される音声波形を
Ｗ（ｎ）（０＜ｎ）
とする。半周期ピッチ波形の接続は、第ｊフレームのフレーム時間長をＮｊ  として
【０３４０】
【外１３７】
0003548230.tif 000138
によって行う。
【０３４１】
ステップＳ１３、Ｓ１４、Ｓ１５、Ｓ１６、Ｓ１７は実施例１と同じである。
【０３４２】
（実施例９）
本実施例ではピッチ周期ポイント数に小数点部分があるピッチ波形における波形の対称性を利用して繰り返し用いる例について説明する。
【０３４３】
実施例９の音声合成装置の構成及び機能構成を示すブロック図は、実施例１と同じく図２５及び図１である。
【０３４４】
波形生成部９で行われるピッチ波形の生成について、図２４を参照して説明する。
【０３４５】
ピッチ波形の生成に用いる合成パラメータを
ｐ（ｍ）（０＜ｍ＜Ｍ）
とする。サンプリング周波数を
ｆｓ
とする。サンプリング周期は
【０３４６】
【外１３８】
0003548230.tif 000139
である。合成音声のピッチ周波数を
ｆ
とすると、ピッチ周期は
【０３４７】
【外１３９】
0003548230.tif 000140
となり、ピッチ周期ポイント数は
【０３４８】
【外１４０】
0003548230.tif 000141
となる。
【０３４９】
［ｘ］でｘ以下の整数を表す。
【０３５０】
ピッチ周期ポイント数の小数部を、位相のずれたピッチ波形を接続することで表す。周波数ｆに対応するピッチ波形の個数を、位相数
ｎｐ  （ｆ）
とする。図２４はｎｐ  （ｆ）＝３のときのピッチ波形の例を示したものである。さらに、拡張ピッチ周期ポイント数を
【０３５１】
【外１４１】
0003548230.tif 000142
とし、ピッチ周期ポイント数を
【０３５２】
【外１４２】
0003548230.tif 000143
と量子化する。ピッチ周期ポイント数を角度２πに対応させたときの１ポイントごとの角度をθ１  とすると、
【０３５３】
【外１４３】
0003548230.tif 000144
となる。ピッチ周波数の整数倍におけるスペクトル包絡の値は
【０３５４】
【外１４４】
0003548230.tif 000145
となる。拡張ピッチ周期ポイント数を２πに対応させたときの１ポイントごとの角度をθ２  とすると、
【０３５５】
【外１４５】
0003548230.tif 000146
となる。ａ  ｍｏｄ  ｂはａをｂで割った剰余を表すとして、拡張ピッチ波形ポイント数を
【０３５６】
【外１４６】
0003548230.tif 000147
拡張ピッチ波形を
ｗ（ｋ）（０＜ｋ＜Ｎｅｘ（ｆ））
ピッチ周波数ｆに対応するパワ正規化係数を
Ｃ（ｆ）
とする。Ｃ（ｆ）＝１．０となるピッチ周波数をｆ０  として
【０３５７】
【外１４７】
0003548230.tif 000148
によってＣ（ｆ）が与えられる。
【０３５８】
ピッチ周波数の整数倍の正弦波を重ね合わせて、
【０３５９】
【外１４８】
0003548230.tif 000149
のように拡張ピッチ波形ｗ（ｋ）（０＜ｋ＜Ｎｅｘ（ｆ））を生成する。
【０３６０】
または、ピッチ周期の半分位相をずらして重ね合わせて
【０３６１】
【外１４９】
0003548230.tif 000150
のように拡張ピッチ波形ｗ（ｋ）（０＜ｋ＜Ｎｅｘ（ｆ））を生成する。
【０３６２】
位相インデックスを
ｉｐ  （０＜ｉｐ  ＜ｎｐ  （ｆ））
とする。ピッチ周波数ｆ、位相インデックスｉｐ  に対応する位相角を
【０３６３】
【外１５０】
0003548230.tif 000151
と定義する。
【０３６４】
ｒ（ｆ，ｉｐ  ）＝ｉｐ  Ｎ（ｆ）ｍｏｄ  ｎｐ  （ｆ）
と定義する。位相インデックスｉｐ  に対応するピッチ波形のピッチ波形ポイント数は
【０３６５】
【外１５１】
0003548230.tif 000152
によって計算される。位相インデックスｉｐ  に対応するピッチ波形は
【０３６６】
【外１５２】
0003548230.tif 000153
となる。この後、位相インデックスを
ｉｐ  ＝（ｉｐ  ＋１）ｍｏｄ  ｎｐ  （ｆ）
と更新し、更新された位相インデックスを用いて、位相角を
φｐ  ＝φ（ｆ，ｉｐ  ）
と計算する。さらに、次のピッチ波形を生成するときにピッチ周波数がｆ′に変更されるときは、φｐ  に最も近い位相角を得るために
【０３６７】
【外１５３】
0003548230.tif 000154
【０３６８】
ピッチスケールを声の高さを表現するための尺度とする。式（２０）、（２１）の演算を直接行う代わりに、以下のように計算を高速化することもできる。ピッチスケールｓ∈Ｓ（Ｓはピッチスケールの集合）に対応する位相数をｎｐ  （ｓ）、位相インデックスをｉｐ  （０＜ｉｐ  ＜ｎｐ  （ｓ））、拡張ピッチ周期ポイント数をＮ（ｓ）、ピッチ周期ポイント数をＮｐ  （ｓ）、ピッチ波形ポイント数をＰ（ｓ，ｉｐ  ）とし、
【０３６９】
【外１５４】
0003548230.tif 000155
として、式（２０）の場合
【０３７０】
【外１５５】
0003548230.tif 000156
式（２１）の場合
【０３７１】
【外１５６】
0003548230.tif 000157
を計算してテーブルに記憶しておく、波形生成行列を
ＷＧＭ（ｓ，ｉｐ  ）＝（ｃｋｍ（ｓ，ｉｐ  ））
（０≦ｋ＜Ｐ（ｓ，ｉｐ  ），０≦ｍ＜Ｍ）
とする。ピッチスケールｓと位相インデックスｉｐ  に対応する位相角
【０３７２】
【外１５７】
0003548230.tif 000158
をテーブルに記憶しておく、また、ピッチスケールｓと位相角φｐ  （∈｛φ（ｓ，ｉｐ  ）｜ｓ∈Ｓ，０＜ｉ＜ｎｐ  （ｓ）｝）に対して
【０３７３】
【外１５８】
0003548230.tif 000159
を満たすｉ０  を与える対応関係を
ｉ０  ＝Ｉ（ｓ，φｐ  ）
として、テーブルに記憶しておく。さらに、ピッチスケールｓと位相インデックスｉｐ  に対応する位相数ｎｐ  （ｓ）、ピッチ波形ポイント数Ｐ（ｓ，ｉｐ  ）、パワ正規化係数Ｃ（ｓ）をテーブルに記憶しておく。
【０３７４】
波形生成部９では、内部レジスタに格納されている位相インデックスをｉｐ  、位相角をφｐ  とし、合成パラメータ補間部７より出力された合成パラメータｐ（ｍ）（０＜ｍ＜Ｍ）とピッチスケール補間部８より出力されたピッチスケールｓを入力として、位相インデックスを
ｉｐ  ＝Ｉ（ｓ，φｐ  ）
により決定し、ピッチ波形ポイント数Ｐ（ｓ，ｉｐ  ）、パワ正規化係数Ｃ（ｓ）をテーブルから読み出す。そして、
【０３７５】
【外１５９】
0003548230.tif 000160
のとき、波形生成行列ＷＧＭ（ｓ，ｉｐ  ）＝（ｃｋｍ（ｓ，ｉｐ  ））をテーブルから読み出し、
【０３７６】
【外１６０】
0003548230.tif 000161
によりピッチ波形を生成する。また、
【０３７７】
【外１６１】
0003548230.tif 000162
のとき、
ｋ′＝Ｐ（ｓ，ｎｐ  （ｓ）−１−ｉｐ  ）−１−ｋ（０＜ｋ＜Ｐ（ｓ，ｉｐ  ））
として、波形生成行列ＷＧＭ（ｓ，ｉｐ  ）＝（ｃｋ  ′ｍ  （ｓ，ｎｐ  （ｓ）−１−ｉｐ  ））をテーブルから読み出し、
【０３７８】
【外１６２】
0003548230.tif 000163
によりピッチ波形を生成する。ピッチ波形を生成した後、位相インデックスを
ｉｐ  ＝（ｉｐ  ＋１）ｍｏｄ  ｎｐ  （ｓ）
のように更新し、更新された位相インデックスを用いて位相角を
φｐ  ＝φ（ｓ，ｉｐ  ）
のように更新する。
【０３７９】
以上の動作を、図１３のフローチャートを参照して説明する。
【０３８０】
ステップＳ２０１、Ｓ２０２、Ｓ２０３、Ｓ２０４、Ｓ２０５、Ｓ２０６、Ｓ２０７、Ｓ２０８、Ｓ２０９、Ｓ２１０、Ｓ２１１、Ｓ２１２、Ｓ２１３は実施例２と同じである。
【０３８１】
ステップＳ２１４で、式（３）によって得られた合成パラメータｐ［ｍ］（０＜ｍ＜Ｍ）と式（４）によって得られたピッチスケールｓを用いて波形生成部９においてピッチ波形を生成する。ピッチスケールｓに対応するピッチ波形ポイント数Ｐ（ｓ，ｉｐ  ）とパワ正規化係数Ｃ（ｓ）をテーブルから読み出す。そして、
【０３８２】
【外１６３】
0003548230.tif 000164
のとき、波形生成行列ＷＧＭ（ｓ，ｉｐ  ）＝（ｃｋｍ（ｓ，ｉｐ  ））をテーブルから読み出し、
【０３８３】
【外１６４】
0003548230.tif 000165
によりピッチ波形を生成する。また、
【０３８４】
【外１６５】
0003548230.tif 000166
のとき、
ｋ′＝Ｐ（ｓ，ｎｐ  （ｓ）−１−ｉｐ  ）−１−ｋ（０≦ｋ＜Ｐ（ｓ，ｉｐ  ））
として、波形生成行列ＷＧＭ（ｓ，ｉｐ  ）＝（Ｃｋ  ′ｍ（ｓ，ｎｐ  （ｓ）−１−ｉｐ  ））をテーブルから読み出し、
【０３８５】
【外１６６】
0003548230.tif 000167
によりピッチ波形を生成する。
【０３８６】
波形生成部９から合成音声として出力される音声波形を
Ｗ（ｎ）（０＜ｎ）
とする。ピッチ波形の接続は実施例１と同様であり、第ｊフレームのフレーム時間長をＮｊ  として
Ｗ（ｎｗ  ＋ｋ）＝ｗｐ  （ｋ）（ｉ＝０，０＜ｋ＜Ｐ（ｓ，ｉｐ  ））
【０３８７】
【外１６７】
0003548230.tif 000168
によって行なう。
【０３８８】
ステップＳ２１５、Ｓ２１６、Ｓ２１７、Ｓ２１８、Ｓ２１９、Ｓ２２０は実施例２と同じである。
【０３８９】
以上説明したように、本発明によれば、合成音声の声の高さ（ピッチ）とパラメータからピッチ波形および無声波形を生成して接続することにより音声波形を生成するようにしたことにより、合成音声の音質劣化を防止する効果がある。
【０３９０】
以上説明したように、本発明によれば、ピッチ波形および無声波形の生成において、あらかじめ求めた行列とパラメータとの積を計算するようにしたことにより、音声波形の生成に要する計算量を低減する効果がある。
【０３９１】
以上説明したように、本発明によれば、ピッチ波形の生成において、ピッチ周期ポイント数の小数部を表すために、位相のずれたピッチ波形を生成して接続するようにしたことにより、正確なピッチの合成音声が得られる効果がある。
【０３９２】
以上説明したように、本発明によれば、ピッチ波形生成において、あるサンプリング周波数で求めたパラメータ（インパルス応答波形）を用いて、任意のサンプリング周波数でピッチ波形を生成して接続するようにしたことにより、任意のサンプリング周波数の合成音声が簡単な方法で生成することができる効果がある。
【０３９３】
以上説明したように、本発明によれば、パラメータとして、音声のパワスペクトル包絡を使用し、このパワスペクトル包絡からピッチ波形を生成するようにしたことにより、周波数領域のパラメータから音声波形を生成でき、周波数領域でのパラメータ操作が可能となる効果がある。
【０３９４】
以上説明したように、本発明によれば、ピッチ波形の生成において、周波数特性を決定する関数を持ち、ピッチ周波数の整数倍における関数値を掛けることにより、パラメータから求めたスペクトル包絡のサンプル値を変換し、変換されたサンプル値をフーリエ変換することによりピッチ波形を生成するようにしたことにより、パラメータを操作せずに合成音声の音色を変えることが可能となる効果がある。
【０３９５】
以上説明したように、本発明によれば、ピッチ波形の生成において、波形の対称性を利用するようにしたことにより、音声波形の生成に要する計算量を低減する効果がある。
【発明の効果】
以上説明したように、本発明によれば、合成音声の声の高さ情報とパラメータとしてのパワスペクトル包絡のサンプル値を正弦級数の係数とし、正弦関数との積和とから、ピッチ波形を生成することにより、合成音声の音質の劣化を防止する効果がある。
【図面の簡単な説明】
【図１】本発明の実施例に係る音声合成装置の機能構成を示すブロック図。
【図２】本発明の実施例に係る合成パラメータについての説明図。
【図３】本発明の実施例に係るスペクトル包絡についての説明図。
【図４】正弦波の重ね合わせについての説明図。
【図５】正弦波の重ね合わせについての説明図。
【図６】ピッチ波形の生成についての説明図。
【図７】音声波形生成手段を示すフローチャート。
【図８】パラメータ１フレームのデータ構造を示す図。
【図９】合成パラメータの補間についての説明図。
【図１０】ピッチスケールの補間についての説明図。
【図１１】波形接続についての説明図。
【図１２】ピッチ波形についての説明図。
【図１３】音声波形生成手段を示すフローチャート。
【図１４】音声合成装置の機能構成を示すブロック図。
【図１５】音声波形生成手段を示すフローチャート。
【図１６】パラメータ１フレームのデータ構造を示す図。
【図１７】合成パラメータについての説明図。
【図１８】ピッチ波形の生成についての説明図。
【図１９】パラメータ１フレームのデータ構造を示す図。
【図２０】合成パラメータの補間についての説明図。
【図２１】周波数特性関数についての説明図。
【図２２】余弦波の重ね合わせについての説明図。
【図２３】余弦波の重ね合わせについての説明図。
【図２４】ピッチ波形についての説明図。
【図２５】実施例における音声合成装置の構成を示すブロック図。
【図１】
0003548230.tif 000169
【図２】
0003548230.tif 000170
【図３】
0003548230.tif 000171
【図４】
0003548230.tif 000172
【図５】
0003548230.tif 000173
【図６】
0003548230.tif 000174
【図７】
0003548230.tif 000175
【図８】
0003548230.tif 000176
【図９】
0003548230.tif 000177
【図１０】
0003548230.tif 000178
【図１１】
0003548230.tif 000179
【図１２】
0003548230.tif 000180
【図１３】
0003548230.tif 000181
【図１４】
0003548230.tif 000182
【図１５】
0003548230.tif 000183
【図１６】
0003548230.tif 000184
【図１７】
0003548230.tif 000185
【図１８】
0003548230.tif 000186
【図１９】
0003548230.tif 000187
【図２０】
0003548230.tif 000188
【図２１】
0003548230.tif 000189
【図２２】
0003548230.tif 000190
【図２３】
0003548230.tif 000191
【図２４】
0003548230.tif 000192
【図２５】
0003548230.tif 000193