(57)【特許請求の範囲】
【請求項１】
サイクルのシーケンスに対応する合成有声音波形出力を生成する方法であり、
（ａ）合成波形サンプル（ｘ’i）を生成するステップと、
（ｂ）前記合成波形サンプル（ｘ’i）および変換データ（Ｔi）から連続的な波形サンプル（ｘ’i+1）を生成するステップと、
（ｃ）前記連続的な波形サンプル（ｘ’i+1）を合成波形サンプル（ｘ’i）として指定し、ステップ（ｂ）を繰り返すステップと、
（ｄ）ステップ（ｃ）を複数回繰り返して、複数の前記サイクルに対応する前記連続的な波形サンプルのシーケンスを生成するステップと、
（ｅ）前記合成波形出力を生成するために前記シーケンスのサンプルを出力する（５１８）ステップとを含み、
前記変換データが、前記合成波形サンプルの時間的な近接で前記サイクルの発展と、サイクルからサイクルへ前記時間的な近接で前記サイクルの形の変化とを定めるデータ（Ｔi）を含み、
前記サイクルの発展および前記サイクルの形の変化を定めている前記変換データ（Ｔi）は、予め定められた参照波形シーケンスをサンプリングすることにより得られ、
変換データ（Ｔi）は、前記参照波形シーケンスの第1の時間点（Ｓi）から合成されるべき波形上の対応する時間点（Ｓ’i）へ延在している第1の変位ベクトル（ｂi）を、前記参照波形シーケンスの第1の点に後続する第2の点（Ｓi+1）から合成されるべき波形上の対応する第2の点（Ｓ’i+1）へ延在している第2の変位ベクトル（ｂi+1）へ変換する近似変換を表わすことを特徴とする方法。
【請求項２】
前記参照波形シーケンスは記憶された音声波形を含む請求項１記載の方法。
【請求項３】
前記ステップ（ｂ）が前記変換データ（Ｔi）を一組の記憶された波形値から計算する（８１４）ことを含む請求項１または２記載の方法。
【請求項４】
前記波形を最初に合成する前記ステップ（ａ）の最初の動作が、前記波形の前の合成で選択された先行する初期値と異なる初期値の選択（５１６）ステップ含む請求項１乃至３の何れか1項記載の方法。
【請求項５】
前記選択ステップ（５１６）が擬乱ランダム数生成アルゴリズムを実行して、前記異なる初期値を選択することを含む請求項４記載の方法。
【請求項６】
前記選択ステップ（５１６）が、記憶された波形サンプル値を参照し、前記記憶された波形値に類似しているが異なる合成された最初の波形値を線形補間により計算することを含む請求項４または５記載の方法。
【発明の詳細な説明】
本発明は、波形合成方法および装置、とくに限定はしないが音声合成（speech synthesis）に関する。
種々のタイプの音声合成器が知られており、大抵の音声合成器はフォニームまたは異音（allophone）のレパートリを使用し、フォニームまたは異音をシーケンスで生成して、対応する発話（utterlance）を合成する。従来の幾つかのタイプの音声合成器は、A. Breenの文献（”Speech Synthesis Models: A Review”, Electronics and Communication Engeerning Journal, 19乃至31頁, 1992年2月）に記載されている。幾つかのタイプの音声合成器では、例えば線形予測を利用するソースフィルタ近似を使用することによって生成された音声のモデル化を試みている。他の音声合成器は、実際の音声セグメントを記録してそれをシーケンスで出力する。
合成された音声に関する主な問題は言語音（speech sound）を自然のそれにすることである。合成された音声が不自然に聞こえてしまうのには多くの理由がある。しかしながら、記録された実際の音声を使用する後出のクラスの音声合成器の主な問題は、各母音または異音の同じ記録を、対象の母音または異音が必要とされる度に使用することである。これは、保持音（sustained sound）を生成するために、フォニームまたは異音の短いセグメントをシーケンスで数回繰返すとき、このような合成器でさらに一層顕著になる。
本発明は１つの態様では、合成開始値を選択して、次に別の値のシーケンスを選択して出力することによって音声の波形を直接に合成する言語合成器であり、この別の値の選択では、常にそれに先行する値および実際に記録した人間の音声のダイナミックモデルの両方に基づいている言語合成器を提供する。
こうして必要な継続期間をもつ合成されたシーケンスを生成することができる。さらにシーケンスの進行（progression）はその開始値に依存するので、異なる開始値を選択することによって、同じフォニームまたは異音に対応する異なるシーケンスを生成することができる。
本発明の発明者は、以前に文献（”Speech characterisation by non-liner methods”, M. Banbrook and S.McLaughlin, IEEE Transactions on Speech and Audio Processing, 1996; ”Speech characterisation by non-liner methods”, M. Banbrook and S. McLaughlin, IEEE Workshop on non-liner signal and image processing 396-400頁, 1995年”）を報告し、本発明が主に関係している有声音（voiced speech）は、低次元で、非線形の、カオスを生じない（non-chaotic）系として振舞うように見えるものとしている。有声音は本質的に繰返されるもの（サイクリック）であり、類似してはいるが同一でない形状のピッチパルスの時系列を含む。したがって好ましい実施形態では、本発明は音声信号の低次元の状態の空間表示を利用し、連続するピッチパルスのサイクルを重ね合わせて、各サイクル内およびサイクルからサイクルへの音声信号の進行を評価する。
この音声信号のダイナミックス（変遷の型）の推定は波形を合成するときに有益であり、合成された波形は記録した音声、すなわちダイナミックスを解析したときに基準とした音声には対応しないが、類似形状の繰返しをもち、かつ解析したときに基準とした音声と類似の可変性を示す。
例えば、状態空間表示は、Takensの遅延方法（Takens’ Method of Delays）（文献（F. Takens, ”Dynamical Systems and Turbulence”, Vol. 898 of Lecture Notes in Mathematics”, 366乃至381頁, ベルリン：1981年春）参照）に基いてもよい。この方法では、状態空間の異なる座標軸は所定の時間間隔によって分けられた波形値からなるので、状態空間の点はｔ1、ｔ2，ｔ3での値の組によって定められる（なお、ｔ2−ｔ1＝Δ1、ｔ3−ｔ2＝Δ1、両方とも定数で、等価である）。
合成された音声に関する現在の別の問題は、異なる音を１つのシーケンスに一緒に連結するとき、“接合部（join）”がときどき聞き取れてしまい、聞き取れる人工音、例えば合成した音声のフォニームレートのわずかな変化となることである。
したがって本発明は別の態様で、音声合成方法および装置として、連結されることになる２つの言語音声の状態空間表示間、または一般的には２つの音の各ピッチ期間についての対応して整列している部分間で補間が実行されて音声を合成する方法および装置を提供する。こうして、１つのピッチパルスの形状が次第に別の形状に変化する。
本発明の別の態様および好ましい形態は以下の説明および特許請求項から明白になるであろう。
ここで本発明を添付の図面を引用して例示的に記載する。
図１は、（概略的な）有声音信号における信号振幅対時間のグラフを示す。
図２は、概略的な繰返し波形の信号振幅対時間のグラフであり、遅延方法に基く状態シーケンス点の微分（derivation）を示す
図３は、図２の点の状態シーケンスの空間プロットを示す。
図４は、状態シーケンス空間内でアトラクタを定める概略的な有声音の軌線を示す状態シーケンスの空間プロットを示す。
図５は、複数の異なる母音に対するシーケンス空間のアトラクタ（図４のアトラクタに対応する）を示すフォルマントチャートである。
図６は、本発明の第１の実施形態にしたがう音声合成器の構造を模式的に示すブロック図である。
図７は、図６の音声合成器の動作方法を例示的に示すフローチャートである。
図８は、発話を構成している有声音セグメントと無音セグメントのシーケンスを例示的に示す時間ラインである。
図９ａは、概略的な有声音の１サイクル、およびそれから合成された合成音の１サイクルの一部分を示す状態シーケンスの空間座標である。
図９ｂは、図９ａの詳細図である。
図９ｃは、波形の多数のサイクルを示す状態シーケンス空間図である。
図９ｄは、１サイクル上の１点を取囲む隣接部を示す図９ｃの詳細図であり、図６の実施形態では時間に関するこの隣接部の変換が利用されている。
図１０は、図６の実施形態で使用する合成されたデータを導き出す装置の構成要素を模式的に示すブロック図である。
図１１ａ乃至ｄは、図１０の装置の動作プロセスの種々の段階で生成されたデータを示す。
図１２は、図１０の装置の動作段階を示すフローチャートである。
図１３は、図９ｃ隣接部の時間に関する変換の結果を例示的に示す状態シーケンス空間図である。
図１４は、図７のフローチャートの一部を形成しているプロセス、すなわち１つの音から別の音への進むプロセスをより詳細に示すフローチャートである。
図１５は、図１４のプロセス中に実行される２つの状態の空間シーケンスの組み合わせを示す図である。
図１６は、本発明の第２の実施形態で１つの音から別の音へ進むプロセスを示すフローチャートである。
音声信号の状態空間表示
本発明の実施形態を詳細に記載する前に、本発明の実施形態で使用する音声信号の状態空間表示を簡単に記載する。（しかしながら、それ自身は音声解析用ツールとして知られており、例えば文献（”Lyapunov exponents from a time series: a noise-robust extraction algorithm”; M. Banbrook, G. Ushaw, S. McLaughlin, IEEE Transactions on signal processing, 1995年10月）に記載されているので、さらに詳細が必要なときは、この文献を参照されたい。）
図１は、音声信号、より正確には音声信号内に含まれる有声音の一部を示している。図１の信号は類似しているが、同一ではないピッチパルスｐ1、ｐ2、ｐ3のシーケンスから成ることがわかる。ピッチパルスの形状は有声音の音色を特徴付け、その期間は知覚したピッチを特徴付けている。
図２を参照すると、時間シーケンスＸの状態空間表示を生成するために、間隔を置いた時間ｘi-10、ｘi、ｘi+10で波形Ｘの複数の値（この場合は３つ）をとり、それらを結合して、対応する座標軸の数によって定義される空間内の単一の点ｓiを表す。
ここで図２および３を参照すると、第１の点ｓ1は、サンプル時間０、１０、２０（それぞれｘ0、ｘ10、およびｘ20で）で波形Ｘの値を表す曲線Ｘ上の３つのドットによって表されている。これらの３つの値の全ては正であるので、それらがｓ1を定める点は図３の空間の正のオクタント内にある。
別の点ｓ2は、図２の波形Ｘで３つのＸ符号によって表されている。この点ｓ2は３つの値ｘ1、ｘ11、およびｘ21によって定められる。点ｓ2の各３つ値の全てが点ｓ1の各３つの値の全てよりも大きい正の値であるので、図３の状態シーケンス空間内の点ｓ2は同じオクタント内にあり、さらに点ｓiよりもさらに半径方向外側にある。
同様に、第３の点ｓ3は時間２、１２、および２２（それぞれｘ2、ｘ12、およびｘ22）における波形Ｘの値によって定められる。この点は、図２の波形Ｘ上で３つの三角（Δ）符号によって示されている。
したがって一般に、時間シーケンスＸ（すなわち、音声波形）の状態空間表示を構成するこの時間遅延方法においては、各連続する時間サンプルｘiに対して、この状態シーケンス空間内の対応する点ｓiは、先行および後続の点ｘi-j、ｘi+k（なお、都合よくｊはｋと等しく、この場合ｊおよびｋは１０に等しい）と一緒に表されている。
図２の波形が単に斜め（４５°）方向の直線であれば、図３の状態空間の表示も同様に直線になる。
しかしながら、図１または２に示された形式の繰返し時間シーケンスにおいて、波形の変曲点によって状態空間内の対応する点のシーケンスは軌線を定め、この軌線は同様に変曲し、実質的に閉ループに従い、その開始点の近くに戻る。点ｘi、ｘi-j、ｘi+kの相対値は、図４に示したように、それらが表す時間シーケンスの連続サイクルによく類似しているので、ある波形のＮサイクルのシーケンスの状態空間表示（例えば、ピッチパルスｐ1−ｐn）は、Ｎのよく似た巡回を実行する状態シーケンス空間を通る継続的な軌線となり、したがってＮストランド（連鎖の要素）またはトラックを含むぐるりと回った多面体表面、すなわちマニホールドを定める。このような無限数のサイクルによって生成されることになる表面は、それを生成する波形Ｘの“アトラクタ”として示される。
図４のアトラクタは、ダブル（二連）ループ（これは、投影図では、それ自身交差しているように見えるが、実際は３次元で交差していない）から成る。
図５を参照すると、我々が判断したことは、各有声音がこの特徴をもつアトラクタを生成し、この全てが３次元の状態空間で適切に表すことができるが、場合によっては少なくとも２次元で、多いときは４、５、またはそれ以上の次元を使用できることである。このような状態空間で有声音を効果的に表わす重要なパラメータは、選択した次元数および隣接するサンプル間の時間遅延である。
図５に示されているように、アトラクタが分散している座標軸としてｆ1（第１のフォルマントの周波数）と、ｆ2−ｆ1（Ｆ2は第２のフォルマントの周波数である）とが対応させられ、アトラクタの形状は（アトラクタに対応する音声波形の対応する形状と）著しく異なるが、各アトラクタのトポロジとそれらが対応する音との間にはある関係がある。
上述の説明は有声音（例えば母音および有声子音）に関係している。もちろん、何等かの波形の状態シーケンスの表示を準備することができるが、無声音（すなわち、摩擦音）の場合、状態空間表示は、うまく定義されたトポロジをもつ連続する非常に類似したループに従わずに、その代り明らかにランダムなやり方で状態シーケンス空間内の体積（立体）を通る軌線にしたがうことになる。
本発明の第１の実施形態の概要
図６を参照すると、本発明の第１の実施形態の構成が示されており、音声合成器はスピーカ２を含み、スピーカ２はデジタル対アナログコンバータ４からアナログ出力を供給され、デジタル対アナログコンバータ４は中央処理装置（ＣＰＵ）６の出力ポートに接続されて、記憶システム８（計算するときにＣＰＵ６が使用するランダムアクセスメモリ８ａ；ＣＰＵのオペレーティングプログラムを記憶するプログラムメモリ８ｂ；および合成するときに使用するデータを記憶するデータコンスタントメモリ８ｃ）と通信する。
図６の装置は、パーソナルコンピュータおよびサウンドカード、例えばＣＰＵ６として３３ＭＨｚ  Intel 486マイクロプロセッサを含むElonex（TM）パーソナルコンピュータ、およびデジタル対アナログコンバータ４を備え、スピーカ２へ出力するUltrasound Max（TM）サウンドカードを含むと都合がよい。代りに同様の類似か、より高性能の他のデジタルプロセッサを使用することもできる。
都合よいのは、記憶システム８はマス記憶装置（例えばハードディスク）を含み、マス記憶装置は合成するときに使用するオペレーティングプログラムとデータ、および分割領域８ａ、８ｂ、８ｃを含むランダムアクセスメモリを含み、図６の装置を使用する前に、プログラムおよびデータがそれぞれ８ｂ、８ｃにロードされる。
記憶データメモリ８ｃ内に保持されている記憶されたデータは、１組の記録10ａ、10ｂ、…10ｃを含み、各記録は１ワードの小さいセグメントを表し、１ワードまたは１フレーズ（すなわち、それぞれフォニームまたは異音に対応している）でそのコンテキストに関係なく明らかに識別できると考えられる。フォニームは多数の異なるフォネチックアルファベット（発音記号）によって表すことができ；この実施形態では、ＳＡＭＰＡ（Speech Assessment Methodology Phonetic Alphabet）を使用しており、それは上述のように文献（A. Breen, ”Speech Synthesis Models: A Review”, Electronics and Communication Engeerning Journal, 19乃至31頁, 1992年2月）に記載されている。各記録は、各波形記録11を含み、波形記録11は、連続するサンプルｘ1、ｘ2、…ｘNとして、このフォニームを含む実際の発話の波形の連続するデジタル値（例えば２０ｋＨｚでサンプルを取られる）を含む。
さらに、有声音（すなわち、フォネチックアルファベットの母音および有声子音）と関係付けられた各記録10は、各記憶したサンプルｘiにおいて、９つの記憶した定数値によって定められる変換マトリックスを含む。
したがってデータメモリ８ｃは、（選択したフォネチックアルファベットに依存して）３０乃至４０程度の記録10を含み、各記録は記録したデジタル波形の２分の１程度を含み（すなわち２０ｋＨｚで、約１０，０００のサンプルｘiをサンプリングし、有声音の各サンプル記録は関係付けられた９つの要素の変換マトリックスをもつ）したがってデータメモリ８ｃによって要求される体積は、（（９＋１）×１０，０００×４０＝４００，０００）の１６ビットメモリのロケーションである。
データメモリ８ｃの内容を導き出す方法を以下でより詳しく記載する。
図８に示されているように、音声合成器によって合成される発話は、それぞれ関係付けられた継続時間をもつ部分のシーケンスからなり、無音部分（silence portion）14ａを含み、その後部分14ｂ−14ｆのシーケンスを含むワードが続き、部分14ｂ−14ｆはそれぞれ所定の継続期間をもつフォニームから成り、その後別の無音部分14ｇが続き、その後それぞれ関係付けられた継続期間をもつフォニーム部分14ｈ乃至14ｊから成る別のワードが続き、以下同様の構成が続く。フォニームのシーケンスは、その継続時間と一緒に、本発明の一部を形成してはいないが、制御プログラム内に含まれている幾つかの周知の規則体系の１つによって記憶されるかまたは導き出される。
図７を参照して、ここでＣＰＵ６の制御プログラムの動作をより詳しく記載する。
段階502では、ＣＰＵ６は決められたシーケンスにしたがって、図８に示したシーケンス内のフォニームの１つに対応する第１の音（サウンド）の記録10を選択する。
段階504では、以下でより詳しく記載するように、ＣＰＵ６はその音への遷移を行う。
段階506で、ＣＰＵ６はフォニーム波形ｘ’iの合成のための開始点を選択する。図９を参照すると、合成の開始点の選択は２つの段階から成る。第１に、進行段階504の結果として、以下でより詳しく記載するように、ＣＰＵ６は記憶した波形上の点ｘiを選択する。次に次の段階で新しい点を選択し、状態シーケンス空間で既に選択した点に領域内にランダムに配置する。
例えば、図９ｂを参照すると、ＣＰＵ６がアクセスした（さらに合成された音声としてＤＡＣ４およびスピーカ２への出力される２）最も最近の記憶点は、対応する状態空間点ｓ21をもつｘ21であり、段階506で、第１の合成した開始点ｓ’iをｓ21の近くに選択する。
近接点を選択する方法は以下のとおりである：
１．状態シーケンス空間の第１の点ｓiを値ｘi、ｘi-10、およびｘi+10を読取ることによって見つける。
２．状態シーケンス空間内の軌線上の次の点ｓi+1を、アクセス値ｘi+1、ｘi+11、およびｘi-9にアクセスすることによって見付ける。
３．状態シーケンス空間内における２つの点ｓiおよびｓi+1間のユークリッド（すなわち二乗平均根）距離を計算する。
４．疑似ランダムシーケンスアルゴリズムを使用して、ゼロと上述のように計算した距離との間のユークリッド距離だけ点ｓiから離れた、状態空間内の点ｓ’iのランダム座標を作成する。
第１の合成された開始点ｓ’1を、最後の実際の点出力（この場合はｘ21）の領域内の記憶したサンプル値によってマークされる状態空間の軌線の１つのストランドに近接しているが一致しないところに決定して、段階508で、ＣＰＵ６は、記憶した軌線上で新しく合成される点ｓ’1に最も近い点を決定する。
段階508で選択した最も近い点は、実際は現在のストランド（この場合は、ｓ21）上の最後の点であることが非常に多い。しかしながら、その代わりにそのストランド上の最も近くに隣接する点の１つ（この場合はｓ22がより近い）、または（図９ｃに示されているように、状態シーケンス空間内でわずかに離れている）軌線の別のストランド上の点に対応することができる。
こうして記憶した波形点ｘiから構成される記憶した軌線上の最も近接した点を決定すると、段階510でＣＰＵ６は、段階508で選択した記憶した軌線上の最も近い点から合成した点ｓ’1へのオフセットベクトルを計算するようにされている。したがってこうして計算したオフセットベクトルｂiは、３つの成分ベクトルを含む。
次に段階512で、先の点ｘiに関係して（この場合は点ｘ22に関係して）記憶したマトリックスＴiを読取り、第１のオフセットベクトルｂiの配置行列によって乗算することによって、次のオフセットベクトルｂi+1（この場合はｂ2）をＣＰＵ６で計算する。
次に、段階514でＣＰＵ６は、次の記憶した軌線点ｓi+1、この場合は点ｓ23（値ｘ23、ｘ13、およびｘ33によって定められる）を選択する。
段階516で、新しく計算したオフセットベクトルｂi+1を軌線上の点ｓi+1へ付加することによって、次の合成した音声点（ｓ’i+1）を計算する。
次に、新しく合成した点ｓ’i+1の中心値ｘ’i+1をＤＡＣ４およびスピーカ２へ出力する。
段階520で、ＣＰＵ６は、合成されたフォニームの必要な所定の継続時間に到達したか否かを判断する。到達していないときは、ＣＰＵ６は制御プログラムの段階508へ戻り、軌線上で最も新しく合成された点へ最も近い点を判断する。多くの場合、これは合成された点それ自身を計算するのに使用する点ｓi+1と同じであってもよいが、必ずしも同じでなくてもよい。
したがって、段階506-518のプロセスに続いて、ＣＰＵ６は記憶した波形値ｘiから音声のような波形（図９ａおよび９ｂの状態シーケンス空間に破線の軌線として示されている）を合成し、マトリックスＴiを変換することができる。
何れにしても合成されたシーケンスの長さは記憶した値の数に依存せず、合成したシーケンスは記憶したシーケンスの一部を正確に複製しない。
その代りに、合成されたシーケンス上の各点は、合成されたシーケンスの先行する点；記憶したシーケンスの（状態シーケンス空間内の）最も近い他の点；および記憶したシーケンス内の最も近い点に対する変換マトリックスに連帯的に依存する。
したがって、段階506で開始点をランダムに選択することによって、生成された合成波形は１つの合成プロセスと次の合成プロセスとでは異なる。
段階520で当該のフォニームに対する所定の終了点に到達し、段階522でＣＰＵ６は所望のシーケンス（例えば、図８に示されているもの）の最後に到達したか否かを判断し、到達しているときは、段階524でＣＰＵ６は出力のシーケンスを黙音にする（以下で詳細に記載する）。
シーケンスの最後に到達していないときは、ＣＰＵ６はシーケンス内の次の音を選択し（段階525）、段階526で、次の音が有声音であるか否かを判断する。次の音が有声音のときは、ＣＰＵ６は図７の段階502へ戻り、一方で次の音が無声音のときは、段階528でＣＰＵ６は選択した無声音へ進み（これは以下でより詳しく記載する）、この選択された無声音は段階530で再生される（これは以下でより詳しく記載する）。次にＣＰＵ６は図７の段階522へ戻る。
変換マトリックスの計算
図１０を参照すると、記憶したサンプルおよび変換記録10を導き出す装置は、マイクロフォン22、アナログ対デジタルコンバータ24、ＣＰＵ26、および記憶装置28を含み、記憶装置28（例えば、ディスクドライブおよびランダムアクセスメモリのようなマス記憶装置によって準備される）は、動作用（ワーキング）スクラッチパッドメモリ28ａおよびプログラムメモリ28ｂを含む。
当然、ＣＰＵ26および記憶装置28は、図６に示したような音声合成器に物理的に構成することができるが、必ずしも構成されていなくてもよい。その理由は図６の音声合成器を特徴付けるデータは合成プロセスに先行し、かつ独立して導き出されるからである。
都合よく、アナログ対デジタルコンバータ24は約２０kHzの周波数で、１６ビットの精度で、マイクロフォン22からアナログ音声波形をサンプリングするようにされている。
ここで図１１および１２を参照して、図１０の装置の動作を記載する。図１１ａに示されているように段階602で、人間の話者が所望の音（例えば、母音）を１回発声し、ＣＰＵ26およびアナログ対デジタルコンバータは24は、マイクロフォン22の出力で生成されたアナログ波形をサンプリングし、ワーキングメモリ領域28ａで連続するサンプルを記憶する（例えば、音声の約２分の１に対応する１０、０００サンプル）。
次に段階604で、ＣＰＵ26は、例えばそのゼロクロス点を決定することによって各ピッチパルス期間（図１参照）の始めと終わりを判断し、次に最初に記憶したサンプルの間に挿入することによって各ピッチ期間内のサンプル数（例えば、各ピッチ期間に１４０サンプル）を均等に分配して、記録した発話のピッチを正規化するようにされている。
このような正規化の結果として、記憶した波形はピッチパルスからなり、各ピッチパルスは同数のサンプルをもつ。次にこれらは、この音に対する記録10のサンプル記録11として記憶され（段階606）、次の合成のときに使用される。
次に段階608では、サンプルｘ0、ｘ1…の線形アレイは３次元の座標点ｓ0、ｓ1…のアレイに変換され、各座標点ｓiは３つのサンプルｘi-10、ｘi、ｘi+10に対応し、図１１ｂに示したように、状態シーケンス空間内に音声信号を埋め込む（すなわち、表す）。
こうして第１の座標点を選択する（すなわち、ｓ10）。
状態シーケンス空間を通る点の軌線は、図３および４に関して上記したように、実質的に反復性である。したがって、軌線は各点においても多数の近接する“ストランド”または“トラック”から成り、それぞれ異なるピッチパルスをもつ等価部分から成る。
段階610を参照すると、選択した点ｓi（この場合、第１の点ｓ10）において、アトラクタの他のトラック上に他の点があり、他の点は状態シーケンス空間内の選択した点ｓiに近接している。例えば、図１１ｃに示されているように、第１のトラック上の点ｓ13、ｓ14、および第２のトラック上の点ｓ153、ｓ154は、点ｓ10に近接している。したがって、段階610でＣＰＵ26は他のトラック上（すなわち、他のピッチ期間）に全ての点を配置し、これらの点は状態シーケンス空間内の所定の距離Ｄ（Ｄは、計算を簡単にするためのユークリッド、すなわち二乗平均根の距離である）よりも近くにある。全ての１０，０００の記憶した点の検索および距離の比較を避けるために、ＣＰＵ26は制限された範囲の点、例えばｓ(i+/-5+k140)の範囲内のみを検査することができる。なおｋは整数であり、この例ではピッチ期間に１４０サンプルがあり、参照点ｓiが位置する各ピッチパルスのほぼ対応している領域を検査することができる。
参照点ｓiのグループではなく、他のトラック上の点のグループを配置して、次に段階612の図１１ｄに示されているように、ＣＰＵ26はベクトルｂiの隣接アレイＢiを記憶する。アレイＢiの各ベクトルｂiは、図１１および１３に示されているように、参照点ｓiから、アトラクタの異なるトラック上の他の隣接する点の１つへ向かうベクトルである。このような１組のベクトルは、隣接マトリックスＢiによって表されており、参照点ｓiを取囲むアトラクタのローカルな形状を表しており、これを使用して、以下に記載するようにアトラクタの形状がどのように変化するかを判断することができる。
次に、段階614でＣＰＵ26は最初の基準点ｓiと同じトラックに沿って次の点ｓi+1を選択する。
次に、段階616でＣＰＵ26はアトラクタの他の各トラック上の１つの点へ進んで、段階616で新しい参照点ｓi+1に隣接する新しい点を形成している他のトラック上の対応する点を配置する。段階618で、ＣＰＵ26はベクトルＢi+1の対応する隣接アレイを計算する。
記録された発話のピッチパルスは互いにわずかに異なっているので、記録されたサンプルによってマークされたアトラクタの軌線の対応するトラックも互いにわずかに異なる。トラックは、ある点ではより接近しており、別のある点ではより離れている。
したがって、オフセットベクトルｂi+1の新しい組Ｂi+1は位置を変更し、（アトラクタがループを形成するとき）幾らか回転し、さらに一般的にベクトルｂiの先の組Ｂiに対して異なる長さをもつことになる。したがって、１つのサンプルから次のサンプルへアトラクタのトラックの周りで進むとき、ベクトルｂ1i、ｂ2iの組Ｂi（およびそれらが表すアトラクタそれ自身の形状）は、移動、回転、およびスケーリングによって連続的に変換される。
次に段階620では、変換マトリックスＴiを計算し、点ｓiの近くにアトラクタを定めるベクトルの組Ｂiを基準点ｓi+1の領域内のアトラクタの近くに定めるベクトルの組Ｂi+1に変換する。したがってマトリックスは次のように定められる：
ＢTi+1＝ＴiＢiT
この式が次のように変形することができる：
ＴiT＝Ｂi-1Ｂi+1
一般的に、Ｂiはｄ×３のマトリックスであるので（なお、ｄは使用した移動ベクトル数であり、３より大きくてもよい）、Ｂiは正確な逆数Ｂi-1をもたなくなるが、その代りに疑似逆数を計算することができる。これはMooreおよびPenroseの文献（”A generalised inverse for matrices”, Proc. Camb. Phil. Soc., Vol. 51, 406-413頁, 1955年）に記載されている。
したがって計算した３×３の変換マトリックスＴiは、隣接マトリックスＢiを形成しているベクトルの１つを変換したものに近似している。しかしながら、状態シーケンス空間内の隣接マトリックスは小さく、小さい時間間隔で音声は局部的に線形であるので、この近似値は合理的である。
次に、段階622でＣＰＵ26は新しい基準点として次の点ｓi+1を選択し、段階610に戻る。
したがって、デジタル形式の音声サンプル値ｘ1に対応する各点ｓ1に対して段階610乃至622のプロセスを実行した後で、計算された全ての変換マトリックスをデータ記録12に記憶され（段階624）、マトリックスが導き出された基準点ｓ1に対応している各データ値ｘ1と関係付けがされている。
したがって図１２のプロセスの最後では、各記憶した変換マトリックスＴiは、変換マトリックスが計算された相手のアトラクタ上の点から、空間内で隣接する別の点までアトラクタに沿って１つのサンプルを前方向に時間内に移動するときに、変位ベクトルｂiに何が生ずるかを表している。したがって、こうして計算された変換マトリックスを図７で使用し、アトラクタの一部を形成している記憶した実際の軌線と、先の合成点（したがって記憶した軌線からこの先の合成点への先行のベクトル）と、変換マトリックスそれ自身とを使用して、アトラクタ上の新しい合成点がどのように構成可能かが分かる。
上述の説明は、有声音の合成のために記憶したデータを導き出すことに関する。無声音に関係しているデータを記憶するとき、変換マトリックスを記憶する必要はないので、段階602および606のみを実行する。
上述のようにフォネチックアルファベットの各有声音と無声音のために必要なデータを導き出して、（通信リンクまたは取り外し可能なキャリア、例えばフロッピーディスクによって）記憶したデータを図６の合成装置のメモリ８へ転送する。
無声音の再生
段階530では無声音を示している。上述のように、無声音は安定した低い次元の特徴を示していないので、無声音は状態シーケンス空間で規則正しい繰返すアトラクタにしたがわない。故に上述のアトラクタの合成は不安定である。したがってこの実施形態では、記憶した記憶波形値ｘiを無声音としてＤＡＣ４に出力するだけで無声音が生成される。同様のことが破裂音にも当てはまる。
音への進行
図７の段階504,524,528では、音へのまたは音間の進行について記載している。上述に記載した実施形態で使用できる進行の１つの可能なやり方をここでより詳しく記載する。
図１４および１５を参照すると、図１４は図７の段階504または段階528を構成している段階を示し、一方で図１５はその効果を図示している。
概略すると、本発明では、それぞれ状態シーケンス空間の各音を表す２つの波形間で補間を行なう。補間が行われる波形の一方または両方を合成するとき、状態空間表示が有益である（すなわち、波形の一方または両方は有声波形である）。概要として、この実施形態では合成点を導出し、次にこの合成点間で補間された点を計算する；事実、以下に記載するように、１つの座標軸で補間を行うことだけが必要であるので、状態空間表示は実際の補間プロセスでは役にたたない。
状態シーケンス空間内の２つの波形間でユークリッド距離を次第に線形に変化させることによって、２以上のピッチパルスサイクル（例えば１０サイクル）で補間が行われる。
したがって図１５に示されているように、有声音間の遷移中に所定の点ｓcmの座標は、第１の音ｓakのアトラクタ上の合成点および第２の音ｓblのアトラクタ上の対応する点の状態シーケンス空間内の座標から導き出される。
より詳しくは、図１４を参照すると、段階702で指数ｊで（例えば、ゼロで）始められる。
段階704で、図７に関係して上述で記載したように、第１の波形ｓ′ak上の合成されたアトラクタの現在の値を計算する。
段階706で、ＣＰＵ６は次に進んでいくことに第２の音に対して記録したサンプル値を走査し、（例えばゼロクロス点を決定することによって）点ｓkaと同じ第２の波形のピッチ期間内の相対的な位置でサンプルｓlｂlを置く。言い換えると、第１の波形上の点ｓkaが、そのゼロクロス点から第１の音のピッチ期間内の３０番目の点であるとき、第２の音のピッチ期間のゼロクロスの後で、点ｓibも３０番目の点で選択する。
次に、合成したアトラクタの点ｓ’lbを、図７に関係して上述で開示したように計算する。
次に、段階708で補間された点ｓmcは、線形補間によって計算される。補間されたアトラクタの１つの次元のみを計算すればよい。その理由は、合成されることが望まれるのは、従前の１０サンプルまたは先の１０サンプルではなく、現在の出力サンプル値のみからである。したがって、段階708で実際に行われる補間の計算は次のようになる：
ｘ′cm+j＝（（N-j）．ｘ′ak+j＋ｊ．ｘ′bl+j）／Ｎ
Ｎが、補間が行われるサンプル値の数であるとき、ｊは指数で、０からＮになりあり、ｋは第１の音のアトラクタのサンプル値（補間のときに使用される）、ｌは第２の音のアトラクタ、およびｍは中間の状態空間シーケンスを示す。
次に、段階709でＣＰＵはｘ′ci、すなわちこのように計算された現在のサンプル値を、合成のためにＤＡＣおよびスピーカ２へ出力する。
段階710で、ＣＰＵ６は（例えば、４００のサンプル、すなわちＮ＝４００から）所定の遷移継続期間の最後に到達したか否かをテストし、到達していないときは、段階712で指数ｊをインクリメントし、段階704,706,および708を反復して、合成したアトラクタ（ｓ′ak+j）の次の値、および新しい音のアトラクタ（ｓ′bl+j）を計算し、出力される次のサンプル値を導き出す。
段階710で遷移の最後のサンプルｊ＝Ｎに到達したとき、ＣＰＵ６は、図７に関係して上述で開示したように、段階506または530へ進み、第２の音のアトラクタに対応する新しい音を合成する。
上述のプロセスは、無音（黙音）から記憶された表示音への遷移を行うときに等しく応用する。この場合、ｓ′aiに対して値を計算するのではなく、ＣＰＵ６がゼロの対応する値を読取り、対応する効果は単に、必要な合成される音に対する線形フェード（linear fade）である。
同様に、段階524のように、音から黙音へ遷移するとき、図１４に関係して上述で記載したのと同じシーケンスが行われるが、第２の音のアトラクタの連続的に合成された値を計算する代りに、ＣＰＵ６はゼロの値を代替して、黙音へ線形フェード（fade）を行うようにされていることのみが異なる。
無声音間の進行
図１４に関係して上述に示した進行プロセスを、無声音との間の進行に対して変更する。その理由は無声音を合成するのではなく、無声音の実際に記憶した値を再生するからである。したがって、１つの無声音から別の無声音への進行では、状態シーケンス空間は役に立たない。その理由は古い無声音と新しい無声音との間の対応する連続する点の対の間の補間はほとんど必要ないからである。同様に、無声音と黙音との間の進行では、無声音の連続する点の値との間で線形フェードが行われる。
第２の実施形態
第２の実施形態では各点で変換マトリックスを記憶するのではなく、新しく合成した点で直接に変換マトリックスを計算する；この場合、図６の合成器は図１０の装置の機能と結合する。このような計算は、より高速の処理を必要とするが、必要な記憶空間の大きさを約１オーダだけ減らす。
この実施形態では、第１の実施形態において上述で示したようにサンプル値の間で直接に補間して、出力サンプル値を生成するのではなく、中間のアトラクタのシーケンス、および中間の変換シーケンスのダイナミックを記載した対応変換マトリックスを生成する。これにより融通性はさらに大きくなり、要求される期間中に中間音を生成を拡大することができる。
図１６を参照すると、この実施形態では段階802で第１のカウンタｉを始動する。カウンタｉは生成された中間テンプレート数を設定し、都合よく幾つかのピッチサイクルに対応する長さをもつ（言換えると、Ｎはｉに対する最大値であり、約３００乃至４００である）。
段階804では、別のカウンタｊの値を初期化する；これは２つの記憶した各波形上の記憶した点の数に対応する（したがってその最大値Ｍは一般的に約１０，０００である）。
段階806で、点ｓak、ｓ±blの対応する対を記憶した波形記録10から読取る；第１の実施形態に記載されているように、点は２つの波形の各ピッチパルスサイクルの整合部分に対応する。
次に段階808で、第１の実施形態に記載されたように補間された点ｓcmを計算する。
波形上の最後の点に到達しなかったとき（段階810）、段階812で波形ｊに沿ってカウンタの値をインクリメントし、段階806乃至810を反復する。
こうして各記憶した点に対して段階804乃至812を実行した後で、反復性の軌線を定める第２の中間波形の約半分を計算することになる。
次に段階814で、ＣＰＵ６は図１２の段階610乃至622を実行して、この記憶したトラックに沿う各点に対して変換マトリックスＴkを計算する。
段階814の実行後、この中間軌線から必要な長さの波形を合成するのに、（記憶した補間軌線および記憶した補間変換マトリックスの形態の）十分な情報を使用できる。しかしながら事実、この計算されたデータを使用して、段階816で最も最近出力されたｓ′iの元の値を変換することによって状態シーケンス空間ｓ′i+1で単一の新しい点のみを導き出す。
サンプル値ｘ′i+1は、段階818で出力においてｓ′i+1の一部として計算され、遷移部分の最後に到達するまで（段階820）、補間指数ｉはインクリメントされ（段階822）、ＣＰＵ６は段階804に戻って、次の補間された軌線ダイナミックＴkの組、および出力される次の点を計算する。
上述の実施形態では、各補間された軌線および変換ベクトルの組を一度だけ使用して、１つの出力値のみを計算するが、事実、より少ない数の補間された軌線の組および変換マトリックスの組を計算できて、幾つかの連続する出力サンプルに対して同じ軌線を使用した。
同様に、線形補間を上述で記載したが、非線形補間（例えばＳ字形関数を示すもの）を使用することもできる。
同様に、図１６のプロセスは、補間によって２つの音間の進行を行ったが、段階804乃至818のプロセスを使用して、２つの記憶した音間の定中間音を生成し、より一層制限されたサブセットの記憶した音から中間母音（intermediate vowel）または他の音を生成することができる。
他の実施形態および変形例
上述の記載から明らかなように、上述の実施形態に対して多くの変更および変形を本発明の技術的範囲から逸脱することなく生成できることが明らかである。
第１に、上述では多数のピッチパルスシーケンスのメモリを記載したが、各有声音ごとに１つのみのピッチパルスシーケンス（すなわち、アトラクタの単一のトラック）を記憶してもよい。その理由は合成プロセスによって、多数の異なる合成されたピッチパルスシーケンスの再生できるからである。これはある環境のもとでメモリに必要なデータ容量を低減することができる。
事実、実際のアトラクタトラックを記憶するのではなく、他の曲線から実際のアトラクタのストランドへ変換マトリックスへの変換マトリックスを上述のように予め計算したとき、幾つかの他の参照カーブ（例えば、平均のアトラクタトラック）を記憶することが明らかである。
上述の実施形態では、（状態シーケンス空間内で）音声波形のダイナミックスが、アトラクタの隣接ストランドを走るベクトルの変換を記述している隣のマトリックスによって記述されているが、その代りに変換マトリックスはアトラクタ上の点の進展（evolution）を直接に記載できることが明らかである。
しかしながら、実際のアトラクタと、別の実際のまたは合成されたアトラクタの間の異なるベクトルの変換が一層安定性を増すという長所をもつことが分かっている。その理由は合成された波形は実際に記憶したアトラクタの適度に近くに常に位置し続けるからである。
有声音の各合成した値間の進行ではなく、無声音間の進行に関して上記で説明したのと同じやり方で、各記憶した値間の進行が可能であり；したがってこの場合、２つの音の対応する記憶したサンプル点の連続する対間の線形補間によって、進行は簡単に行われるが、上述のようにピッチパルスの対応する部分からの点間で補間を行うときに動作が向上する。
上述のようにゼロクロッシングを利用せずに、連続するピッチパルスの対応する点を判断するために、喉頭グラフを使用して、図１２に関係して記載した発話を記録する人間の話者を監視し、人間の発声器官（vocal system）の物理的な動作を記録して、人間の発声器官の対応する物理的な位置を直接に識別することができる。同様に、２つの音の各アトラクタの状態シーケンス空間の位置を使用して、音の各部分を識別することができる（しかしながらこの方法では不明瞭になるときがある）。
図６の実施形態の音声合成器では、各サンプルを計算するときにサンプルを１つづつ生成すると記載したが、もちろん再生する前にサンプルのシーケンスを生成し、バッファすることができる。
図６に関係して上述で記載した合成器を変形して、計算された各出力サンプル値を測定するか、またはスピーカ２に接続されたアナログ増幅器を直接に制御することによって、ＣＰＵが直接に振幅の制御を行なうようにすることが簡単である。
この場合黙音間の進行は、漸進的な振幅の増大および縮小を付加的にまたは代替的に利用することができる。
同様に、記載した実施形態では、ＣＰＵ６が出力サンプルをデジタル対アナログコンバータ４へ供給するレートを変更することによって、ピッチを簡単に変化させる。
上述の実施形態では、デジタル対アナログコンバータおよびスピーカを準備しているが、もちろんデジタル対アナログコンバータおよびスピーカを離して配置することができる。例えば、他の実施形態で音声合成器を遠隔通信ネットワーク内のあるサイト（例えば、ネットワーク制御局または交換局内に）に準備することができる。このような場合、音声合成器はアナログ出力を供給できるが、電話ネットワークによって搬送される音声がデジタル形式のときがあるので、同様に音声合成器が列状のデジタルサンプル出力を供給できることが都合がよく；したがってこの実施形態では、音声合成器の一部を形成しているデジタル対アナログコンバータおよびスピーカではなく、ローカル交換局またはエンドユーザ端末の構成要素によって、最後にアナログ波形を再構成する。このような実施形態は、例えば自動ディレクトリ照会に対して応用でき、記憶した加入者の電話番号のデジタル情報は、人間のオペレータまたは音声認識装置の制御のもとで音声信号として再生される。
多くの他の変形および変更を本発明の本質から逸脱することなく形成できることが明らかである。
【図１】
0004194656.tif 000002
【図２】
0004194656.tif 000003
【図３】
0004194656.tif 000004
【図４】
0004194656.tif 000005
【図５】
0004194656.tif 000006
【図６】
0004194656.tif 000007
【図７】
0004194656.tif 000008
【図８】
0004194656.tif 000009
【図９ｃ】
0004194656.tif 000010
【図９ｄ】
0004194656.tif 000011
【図９ａ】
0004194656.tif 000012
【図９ｂ】
0004194656.tif 000013
【図１０】
0004194656.tif 000014
【図１３】
0004194656.tif 000015
【図１１ａ】
0004194656.tif 000016
【図１１ｂ】
0004194656.tif 000017
【図１１ｃ】
0004194656.tif 000018
【図１１ｄ】
0004194656.tif 000019
【図１２】
0004194656.tif 000020
【図１４】
0004194656.tif 000021
【図１５】
0004194656.tif 000022
【図１６】
0004194656.tif 000023