(57)【特許請求の範囲】
【請求項１】
スピーチ信号においてピッチを追跡する方法であって、
第１時間マークを中心とする第１時間ウィンドウにおいて前記スピーチ信号をサンプルし、第１ウィンドウ・ベクトルを求めるステップと、
第２時間マークを中心とする第２時間ウィンドウにおいて前記スピーチ信号をサンプルし、第２ウィンドウ・ベクトルを求めるステップであって、前記第２時間マークを検査ピッチ期間だけ前記第１時間マークから分離する、ステップと、
前記第１ウィンドウ・ベクトルが表す前記スピーチ信号の部分のエネルギを示すエネルギ値を計算するステップと、
前記第１ウィンドウ・ベクトルおよび前記第２ウィンドウ・ベクトルに基づいて相互相関値を計算するステップと、
前記エネルギ値および前記相互相関値を組み合わせて、予測可能エネルギ係数を求めるステップと、
部分的に前記予測可能エネルギ係数に基づいて、前記検査ピッチ期間に対するピッチ・スコアを判定するステップと、
部分的に前記ピッチ・スコアに基づいて、ピッチ・トラックの少なくとも一部を識別するステップと、
から成る方法。
【請求項２】
請求項１記載の方法において、第１時間ウィンドウにおいて前記スピーチ信号をサンプルするステップは、前記検査ピッチ期間と同じ長さである第１時間ウィンドウにおいて前記スピーチ信号をサンプルするステップから成る方法。
【請求項３】
請求項２記載の方法において、前記第２時間ウィンドウにおいて前記スピーチ信号をサンプルするステップは、前記検査ピッチ期間と同じ長さである第２時間ウィンドウにおいて前記スピーチ信号をサンプルするステップから成る方法。
【請求項４】
請求項１記載の方法において、前記相互相関値を計算するステップは、前記第１ウィンドウベクトルおよび前記第２ウィンドウベクトルのスカラー積を、前記第１ウィンドウ・ベクトルおよび前記第２ウィンドウ・ベクトルの大きさで除算し、初期相互相関値を求めるステップをから成る方法。
【請求項５】
請求項４記載の方法において、前記相互相関値を計算するステップは、更に、前記相互相関値を前記初期相互相関値に等しく設定するステップを含む方法。
【請求項６】
請求項４記載の方法において、前記相互相関値を計算するステップは、更に、前記初期相互相関値が０未満である場合、前記相互相関値を０に設定するステップを含む方法。
【請求項７】
請求項４記載の方法であって、更に、第３時間マークを中心とする第３時間ウィンドウにおいて前記スピーチ信号をサンプルするステップであって、前記第３時間マークを前記第１時間マークから前記検査ピッチ期間だけ分離する、ステップを含む方法。
【請求項８】
請求項７記載の方法において、前記相互相関値を計算するステップは、更に、
前記第１ウィンドウ係数および前記第３ウィンドウ係数に基づいて第２相互相関値を計算するステップと、
前記初期相互相関値を前記第２相互相関値と比較するステップと、
前記第２相互相関値が前記初期相互相関値よりも高い相関を示す場合、前記相互相関値を前記第２相互相関値に等しく設定し、それ以外の場合には前記相互相関値を前記初期相互相関値に等しく設定するステップと、
を含む方法。
【請求項９】
請求項４記載の方法において、前記相互相関値を計算するステップは、更に、
前記第１時間マークを中心とする第１高調波時間ウィンドウにおいて前記スピーチ信号をサンプルし、第１高調波ウィンドウ・ベクトルを求めるステップと、
第２高調波時間マークを中心とする第２高調波時間ウィンドウにおいて前記スピーチ信号をサンプルし、第２高調波ウィンドウ・ベクトルを求めるステップであって、前記第２高調波時間マークを前記検査ピッチ期間の半分だけ前記第１時間マークから分離する、ステップと、
前記第１高調波ウィンドウ・ベクトルおよび前記第２高調波ウィンドウ・ベクトルに基づいて、高調波相互相関値を計算するステップと、
前記高調波相互相関値を減少係数と乗算し、高調波減少値を求めるステップと、
前記初期相互相関値から前記高調波減少値を減算し、前記相互相関値をその差に等しく設定するステップと、
を含む方法。
【請求項１０】
請求項１記載の方法において、ピッチ・スコアを判定するステップは、前記検査ピッチ期間が、前記第１時間マークを中心とする前記スピーチ信号の一部に対する実際のピッチ期間である確率を判定するステップをから成る方法。
【請求項１１】
請求項１０記載の方法において、前記検査ピッチ期間が前記実際のピッチ期間である確率を判定するステップは、直前のピッチ期間から前記検査ピッチ期間に遷移する確率を示す遷移確率に、前記予測可能エネルギ係数を加算するステップから成る方法。
【請求項１２】
請求項１１記載の方法であって、更に、複数のピッチ・スコアを判定するステップであって、複数の直前のピッチ・スコアから前記検査ピッチ期間までの可能な遷移の各々に対して、１つのピッチ・スコアを判定する、ステップを含む方法。
【請求項１３】
請求項１２記載の方法であって、更に、前記複数のピッチ・スコアを過去のピッチ・スコアと組み合わせて、ピッチ・トラック・スコアを求めるステップであって、各ピッチ・トラック・スコアが、検査ピッチ・トラックが前記スピーチ信号の実際のピッチ・トラックに等しい確率を示す、ステップを含む方法。
【請求項１４】
請求項１３記載の方法において、前記ピッチ・トラックを識別するステップは、前記ピッチ・トラックを最高のピッチ・トラック・スコアと関連付けるステップから成る方法。
【請求項１５】
請求項１記載の方法であって、更に、前記第１時間マーカが前記スピーチ信号の発声領域内にあるか否か判定を行なうステップを含む方法。
【請求項１６】
請求項１５記載の方法において、前記第１時間マーカが前記スピーチ信号の発声領域にあるか否か判定するステップは、前記エネルギ値および前記相互相関値に基づいて、前記第１時間マーカが発声領域内にある確率を判定するステップから成る方法。
【請求項１７】
スピーチ機能を実行するように設計したコンピュータ・スピーチ・システムにおいて、
前記スピーチ信号の現ウィンドウおよび直前のウィンドウのそれぞれから、現ウィンドウ・ベクトルおよび直前ウィンドウ・ベクトルを構築するウィンドウ・サンプリング・ユニットであって、前記現ウィンドウの中心を、検査ピッチ期間だけ、直前のウィンドウの中心から分離した、ウィンドウ・サンプリング・ユニットと、
前記現ウィンドウの全エネルギを計算するエネルギ計算部と、
前記現ウィンドウ・ベクトルおよび前記直前ウィンドウ・ベクトルに基づいて相互相関値を計算する相互相関計算部と、
前記全エネルギを前記相互相関値と乗算し、予測可能エネルギ係数を求める乗算器と、
前記予測可能エネルギに基づいてピッチ・スコアを求めるピッチ・スコア算出部と、
少なくとも部分的に前記ピッチ・スコアに基づいて、前記スピーチ信号に対してピッチ・トラックの少なくとも一部を識別するピッチ・トラック識別部と、
から成るピッチ追跡装置。
【請求項１８】
請求項１７記載のピッチ追跡装置において、前記コンピュータ・スピーチ・システムがスピーチ合成システムであるピッチ追跡装置。
【請求項１９】
請求項１７記載のピッチ追跡装置において、前記コンピュータ・スピーチ・システムがスピーチ・コーダであるピッチ追跡装置。
【請求項２０】
スピーチ信号においてピッチを追跡する方法であって、
前記スピーチ信号において第１波形をサンプルするステップと、
前記スピーチ信号において第２波形をサンプルするステップであって、前記第１波形の中心を、検査ピッチ期間だけ前記第２波形の中心から分離する、ステップと、
前記第１波形と前記第２波形との間の類似度を示す相関値を形成するステップであって、
前記第１波形および前記第２波形間の相互相関を判定するステップと、
前記第１波形のエネルギを判定するステップと、
前記相互相関を前記エネルギと乗算し相関値を求めるステップと、
によって相関値を形成するステップと、
前記検査ピッチ期間と直前のピッチ期間との間の類似度を示すピッチ輪郭係数を形成するステップと、
前記相関値および前記ピッチ輪郭係数を組み合わせて、直前のピッチ期間から前記検査ピッチ期間への遷移に対するピッチ・スコアを求めるステップと、
少なくとも１つのピッチ・スコアに基づいて、ピッチ・トラックの一部を識別するステップと、
から成る方法。
【請求項２１】
請求項２０記載の方法において、前記相互相関を判定するステップは、前記第１波形のサンプルに基づいて第１ウィンドウ・ベクトルを形成するステップと、前記第２波形のサンプルに基づいて第２ウィンドウ・ベクトルを形成するステップとを含む方法。
【請求項２２】
請求項２１記載の方法において、前記相互相関を判定するステップは、更に、前記第１ウィンドウ・ベクトルおよび前記第２ウィンドウ・ベクトルのスカラー積を、前記第１ウィンドウ・ベクトルおよび第２ウィンドウ・ベクトルの大きさで除算し、初期相互相関値を求めるステップを含む方法。
【請求項２３】
請求項２２記載の方法において、前記相互相関値を判定するステップは、更に、前記相互相関値を前記初期相互相関値に等しく設定するステップを含む方法。
【請求項２４】
請求項２２記載の方法において、前記相互相関値を判定するステップは、更に、前記初期相互相関値が０未満である場合、前記相互相関を０に設定するステップを含む方法。
【請求項２５】
請求項２２記載の方法であって、更に、前記スピーチ信号において第３波形をサンプルするステップであって、前記第３波形の中心を、前記検査ピッチ期間だけ、前記第１波形の中心から分離する、ステップと、
前記第３波形のサンプルに基づいて第３ウィンドウ・ベクトルを形成するステップと、
を含む方法。
【請求項２６】
請求項２５記載の方法において、前記相互相関を判定するステップは、更に、
前記第１ウィンドウ・ベクトルおよび前記第３ウィンドウ・ベクトルに基づいて第２相互相関値を計算するステップと、
前記初期相互相関値を前記第２相互相関値と比較するステップと、
前記第２相互相関値が前記初期相互相関値よりも高い場合、前記相互相関を前記第２相互相関値に等しく設定し、それ以外の場合前記相互相関値を前記初期相互相関値に等しく設定するステップと、
を含む方法。
【請求項２７】
請求項２２記載の方法において、前記相互相関を判定するステップは、更に、
第１高調波波形をサンプルし、前記第１高調波波形のサンプルに基づいて第１高調波ウィンドウ・ベクトルを形成するステップと、
第２高調波波形をサンプルし、前記第２高調波波形のサンプルに基づいて第２高調波ウィンドウ・ベクトルを形成するステップであって、前記第２高調波波形の中心を、前記検査ピッチ期間の半分だけ、前記第１高調波波形の中心から分離する、ステップと、
前記第１高調波ウィンドウ・ベクトルおよび前記第２高調波ウィンドウ・ベクトルに基づいて高調波相互相関値を計算するステップと、
前記高調波相互相関値を減少係数と乗算し、高調波減少値を求めるステップと、
前記初期相互相関値から前記高調波減少値を減算し、前記相互相関値をその差に等しく設定するステップと、
を含む方法。
【請求項２８】
請求項２０記載の方法において、前記第１波形の長さが前記検査ピッチ期間に等しい方法。
【請求項２９】
請求項２０記載の方法において、前記ピッチ輪郭係数を形成するステップは、前記直前のピッチ期間から前記検査ピッチ期間を減算するステップから成る方法。
【請求項３０】
請求項２９記載の方法において、前記相関値および前記ピッチ輪郭係数を組み合わせるステップは、前記相関値から前記ピッチ輪郭係数を減算するステップから成る方法。
【請求項３１】
請求項２０記載の方法において、ピッチ・トラックの一部を識別するステップは、少なくとも２つのピッチ・トラックに対して複数のピッチ・スコアを決定するステップを含み、各検査ピッチ・トラックにおける各ピッチ遷移毎にピッチ・スコアを１つずつ決定する方法。
【請求項３２】
請求項３１記載の方法において、ピッチ・トラックの一部を識別するステップは、更に、各検査ピッチ・トラックのピッチ・スコアを互いに加算し、和が最大の検査ピッチ・トラックを、前記スピーチ信号のピッチ・トラックとして選択するステップを含む方法。
【請求項３３】
スピーチ信号におけるピッチを追跡するピッチ追跡システムであって、
前記スピーチ信号における第１波形および第２波形のサンプルを形成するウィンドウ・サンプラと、
前記第１波形および前記第２波形間の相互相関を判定するステップと、
前記第１波形のエネルギを判定するステップと、
前記相互相関を前記エネルギと乗算して相関値を求めるステップによって、前記第１波形と前記第２波形との間の類似度を示す相関値を形成する相関計算部と、
検査ピッチ期間と直前のピッチ期間との間の類似度を示すピッチ輪郭係数を計算するピッチ輪郭計算部と、
前記相関値および前記ピッチ輪郭係数に基づいて、ピッチ・スコアを計算するピッチ・スコア計算部と、
前記ピッチ・スコアに基づいてピッチ・トラックを識別するピッチ・トラック識別部と、
から成るシステム。
【請求項３４】
スピーチ信号の領域が発声領域であるか否か判定を行なう方法であって、
前記スピーチ信号の第１波形および第２波形をサンプルするステップと、
前記第１波形および前記第２波形間の相関を判定するステップと、
前記第１波形の全エネルギを判定するステップと、
前記第１波形の全エネルギ、ならびに前記第１波形および前記第２波形間の相関が双方共高い場合、前記領域を発声領域であると判定するステップと、
から成る方法。
【請求項３５】
請求項３４記載の方法であって、更に、前記第１波形の全エネルギ、ならびに前記第１波形および前記第２波形間の相関が双方共低い場合、前記スピーチ信号の領域を無発声領域であると判定するステップを含む方法。
【請求項３６】
コンピュータ・システムにおいて用い、スピーチ信号の領域が発声領域であるか否か判定可能なピッチ追跡装置であって、
第１波形および第２波形をサンプルするサンプラと、
前記第１波形および前記第２波形間の相関を計算する相関計算部と、
前記第１波形の全エネルギを計算するエネルギ計算部と、
前記第１波形および前記第２波形間の相関が高く、かつ前記第１波形の前記全エネルギが高い場合、前記スピーチ信号の領域を発声領域として識別する領域識別部と、
から成るピッチ追跡装置。
【発明の詳細な説明】
【０００１】
（発明の背景）
本発明は、コンピュータ・スピーチ・システムに関する。特に、本発明は、コンピュータ・スピーチ・システムにおけるピッチ（ｐｉｔｃｈ）追跡に関する。
【０００２】
現在、コンピュータは多数のスピーチ関連機能を実行するために用いられており、その中には、コンピュータ・ネットワークを通じた人のスピーチの伝送、人のスピーチの認識、および入力テキストからのスピーチ合成が含まれる。これらの機能を実行するためには、コンピュータは、人のスピーチの様々な成分を認識可能でなければならない。これらの成分の１つに、スピーチのピッチ即ちメロディがある。これは、話者の声帯によって、スピーチの発声部分の間に生成される。ピッチの例は、「ｓｉｘ」における「ｉｈ」音のような母音において聞くことができる。
【０００３】
人のスピーチにおけるピッチは、スピーチ信号内では、ほぼ反復する波形のように見える。この波形は、多数の異なる周波数の正弦波の組み合わせである。これらのほぼ反復する波形間の期間がピッチを決定する。
【０００４】
スピーチ信号においてピッチを識別するために、従来技術はピッチ追跡装置を用いている。ピッチ追跡の総合的な研究が、”A Robust Algorithm for Pitch Tracking (PART)”（ロバストなピッチ追跡アルゴリズム），D.Talkin、 Speech Coding and Synthesis,pp.495〜518、Elsevier,1995に提示されている。このようなピッチ追跡装置の１つでは、スピーチ信号の２部分を識別し、これらをピッチ期間候補によって分離し、２つの部分を互いに比較する。ピッチ期間候補がスピーチ信号の実際のピッチに等しい場合、２つの部分は互いにほぼ同一である。この比較を行なう際、通常相互相関技法を用い、各部分の多数のサンプルを互いに比較し合う。
【０００５】
しかしながら、このようなピッチ追跡装置は常に高精度である訳ではない。このため、ピッチ追跡誤りが生じ、コンピュータ・スピーチ・システムの性能を損なう虞れがある。特に、ピッチ追跡誤りのために、コンピュータ・システムがスピーチの発声部分を無発声部分として誤って識別したり、その逆を行なったり、スピーチ・システムによるスピーチ信号のセグメント化がうまく行われない可能性がある。
（発明の概要）
スピーチ信号におけるピッチ追跡方法において、スピーチ信号の第１および第２ウィンドウにて取り込んだサンプルから第１および第２ウィンドウ・ベクトルを形成する。第１ウィンドウは、第２ウィンドウから検査ピッチ期間だけ分離している。第１ウィンドウにおけるスピーチ信号のエネルギを、第１ウィンドウ・ベクトルおよび第２ウィンドウ・ベクトル間の相関と組み合わせ、予測可能エネルギ係数を求める。次に、予測可能エネルギ係数を用いて、検査ピッチ期間に対するピッチ・スコアを決定する。部分的にピッチ・スコアに基づいて、ピッチ・トラックの一部を識別する。
【０００６】
本発明の別の実施形態では、ピッチ追跡方法は、スピーチ信号内において第１および第２波形のサンプルを取り込む。第１および第２波形の中心は、検査ピッチ期間だけ離れている。第１および第２波形間の類似度を記述する相関値を判定し、検査ピッチ期間と直前のピッチ期間との間の類似度を記述するピッチ輪郭係数を判定する。次に、相関値およびピッチ輪郭係数を組み合わせ、直前のピッチ期間から検査ピッチ期間への遷移に対するピッチ・スコアを求める。このピッチ・スコアを用いて、ピッチ・トラックの一部を識別する。
【０００７】
本発明の別の実施形態は、スピーチ信号の領域が発声領域か否か判定を行なう方法を提供する。この方法は、第１および第２波形をサンプルするステップと、２つの波形間の相関を判定するステップとを含む。次に、第１波形のエネルギを判定する。相関およびエネルギの双方が高い場合、この方法は、前記領域を発声領域として識別する。
【０００８】
（例示実施形態の詳細な説明）
図１および関連する論述は、本発明の実現するのに適した計算機環境の端的な一般的な説明を行なうことを意図している。必ずしもその必要はないが、本発明の説明は、少なくとも部分的には、プログラム・モジュールのような、パーソナル・コンピュータが実行する一般的なコンピュータ実行可能命令に関連して行なう。一般に、プログラム・モジュールは、ルーチン・プログラム、オブジェクト、コンポーネント、データ構造等を含み、特定のタスクを実行したり、あるいは特定の抽象的データ・タイプを実装する。更に、本発明は、別のコンピュータ・システム構成でも実施可能であることを当業者は認めよう。別のコンピュータ・システム構成には、ハンド・ヘルド・デバイス、マルチプロセッサ・システム、マイクロプロセッサ系電子機器またはプログラマブル消費者電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレーム・コンピュータ等が含まれる。また、本発明は、分散型計算機環境においても実施可能であり、この場合、通信ネットワークを通じてリンクされたリモート処理デバイスによってタスクを実行する。分散型計算機環境では、プログラム・モジュールは、ローカルおよびリモート・メモリ記憶装置双方に位置することができる。
【０００９】
図１を参照すると、本発明を実現するシステムの一例は、従来のパーソナル・コンピュータ２０の形態の汎用計算機を含む。このパーソナル・コンピュータ２０は、演算装置（ＣＰＵ）２１、システム・メモリ２２、およびシステム・メモリ２２から演算ユニット２１までを含む種々のシステム・コンポーネントを結合するシステム・バス２３を含む。システム・バス２３は、数種類のバス構造のいずれでもよく、メモリ・バスまたはメモリ・コントローラ、周辺バス、および種々のバス構造のいずれかを用いてローカル・バスが含まれる。システム・メモリ２２は、リード・音リ・メモリ（ＲＯＭ）２４およびランダム・アクセス・メモリ（ＲＡＭ）２５を含む。基本入出力システム２６（ＢＩＯＳ）は、起動中のように、パーソナル・コンピュータ２０内のエレメント間におけるデータ転送を補助する基本的なルーティンを含み、ＲＡＭ２４内に格納されている。更に、パーソナル・コンピュータ２０は、図示しないハード・ディスクの読み書きを行なうハード・ディスク・ドライブ２７、リムーバブル磁気ディスク２９の読み書きを行なう磁気ディスク・ドライブ２８、ＣＤ  ＲＯＭまたはその他の光媒体のようなリムーバブル光ディスク３１の読み書きを行なう光ディスク・ドライブ３０のような種々の周辺ハードウエア・デバイスも含む。ハード・ディスク・ドライブ２７、磁気ディスク・ドライブ２８、および光ディスク・ドライブ３０は、それぞれ、ハード・ディスク・ドライブ・インターフェース３２、磁気ディスク・ドライブ・インターフェース３３、および光ドライブ・インターフェース３４を介して、システム・バス２３に接続されている。ドライブおよびそれに関連するコンピュータ読取可能媒体は、コンピュータ読取可能命令、データ構造、プログラム・モジュールおよびパーソナル・コンピュータ２０のその他のデータの不揮発性格納を行なう。
【００１０】
ここに記載する環境の一例は、ハード・ディスク、リムーバブル磁気ディスク２９およびリムーバブル光ディスク３１を採用するが、磁気カセット、フラッシュ・メモリ・カード、ディジタル・ビデオ・ディスク（ＤＶＤ）、ベルヌーイ・カートリッジ、ランダム・アクセス・メモリ（ＲＡＭ）、リード・オンリ・メモリ（ＲＯＭ）等のように、コンピュータによるアクセスが可能なデータを格納することができる、別の形式のコンピュータ読取可能媒体も、動作環境例では使用可能であることは、当業者には認められよう。
【００１１】
ハード・ディスク、磁気ディスク２９、光ディスク３１、ＲＯＭ２４またはＲＡＭ２５上には、多数のプログラム・モジュールを格納可能であり、オペレーティング・システム３５、１つ以上のアプリケーション・プログラム３６、その他のプログラム・モジュール３７、およびプログラム・データ３８を含む。ユーザは、キーボード４０、ポインティング・デバイス４２およびマイクロフォン４４のような入力デバイスによって、コマンドおよび情報をパーソナル・コンピュータ２０に入力することができる。他の入力デバイス（図示せず）は、ジョイスティック、ゲーム・パッド、衛星ディッシュ、スキャナ等を含むことができる。これらおよびその他の入力デバイスは、多くの場合、システム・バス２３に結合するシリアル・ポート・インターフェース４６のような周辺ハードウエア・デバイスを介して、演算装置２１に接続されるが、パラレル・ポート、ゲーム・ポートまたはユニバーサル・シリアル・バス（ＵＳＢ）のようなその他のインターフェースによって接続することも可能である。また、ビデオ・アダプタ４８のような周辺ハードウエア・インターフェース・デバイスを介して、モニタ４７またはその他の種類のディスプレイ装置もシステム・バス２３に接続してある。モニタ４７に加えて、パーソナル・コンピュータは、典型的に、スピーカ４５およびプリンタのような、その他の周辺出力デバイス（図示せず）を含む。
【００１２】
パーソナル・コンピュータ２０は、リモート・コンピュータ４９のような１つ以上のリモート・コンピュータ（移動デバイス１８以外）への論理接続を用いれば、ネットワーク環境においても動作可能である。リモート・コンピュータ４９は、別のパーソナル・コンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア・デバイス、またはその他の共通ネットワーク・ノードとすることができ、典型的に、パーソナル・コンピュータ２０に関して先に述べたエレメントの多くまたは全てを含むが、図１にはメモリ記憶装置４０のみを図示している。図１に示す論理接続は、ローカル・エリア・ネットワーク（ＬＡＮ）５１およびワイド・エリア・ネットワーク（ＷＡＮ）５２を含む。このようなネットワーク環境は、会社全域に及ぶコンピュータ・ネットワーク、イントラネットおよびインターネットでは一般的である。
【００１３】
ＬＡＮネットワーク環境で用いる場合、パーソナル・コンピュータ２０は、ネットワーク・インターフェースまたはアダプタ５３を介してローカル・ネットワーク５１に接続する。ＷＡＮネットワーク環境で用いる場合、パーソナル・コンピュータ２０は、典型的に、モデム５４、またはインターネットのようなワイド・エリア・ネットワーク５２を通じて通信を確立するその他の手段を含む。モデム５４は、内蔵でも外付けでもよく、シリアル・ポート・インターフェース４６を介してシステム・バス２３に接続する。ネットワーク環境では、同期コンポーネント２６を含む、パーソナル・コンピュータ２０に関して図示したプログラム・モジュールまたはその一部は、ローカルまたはリモートメモリ記憶装置に格納することができる。尚、図示のネットワーク接続は一例であり、コンピュータ間に通信リンクを確立する別の手段も使用可能であることは認められよう。例えば、ワイヤレス通信リンクをネットワークの１つ異常の部分間に確立することもできる。
【００１４】
図２および図３は、人のスピーチにおけるピッチの性質を記述するグラフである。図２は、人のスピーチ信号２００のグラフであり振幅を縦軸２０２に沿って取り、時間を水平軸２０４に沿って取っている。発声部分２０６は、波形２１２および２１４のように、ほぼ反復する波形を含み、これらはピッチ期間２１６によって分離されている。ピッチ期間２１６の長さは、発声部分２０６のピッチを決定する。
【００１５】
図３は、平叙文について、基本ピッチ周波数（縦軸２３０）を時間（水平軸２３２）の関数として示すグラフである。基本ピッチ周波数は、単に基本周波数Ｆ0と言ってもわかるであろうが、ピッチ期間の逆に等しい。グラフ２３４から、ピッチは時間と共に変化することは明白である。即ち、基本ピッチ周波数は、平叙文の開始時に上昇して文章の主題を強調し、次いで文章の終端まで一定して低下する。また、ピッチも単語内で変化し、単語の発声部分および無発声部分間の境界において最も顕著である。
【００１６】
ピッチ変化の追跡は、図４のスピーチ合成システム２４０のような、スピーチ合成システムを含む多数のスピーチ・システムにおいて行われている。スピーチ合成システム２４０は、２つのセクション、訓練セクション２４２および合成セクション２４４を含み、これらが協働して入力テキストから合成スピーチを形成する。訓練セクション２４２は、人のスピーチのテンプレートをサンプルして格納し、これらを合成セクション２４４が修正し、組み合わせて合成スピーチを形成する。訓練セクション２４２によって形成されたテンプレートは、ユーザがマイクロフォンに向かって発話する場合は、マイクロフォン４３が生成するアナログの人間スピーチ信号に基づく。
【００１７】
マイクロフォン４３からのアナログ信号は、アナログ／ディジタル（Ａ／Ｄ）変換器２４６に供給され、この信号を周期的にサンプルして、この信号のディジタル・サンプルを形成する。次に、ディジタル・サンプルは特徴抽出コンポーネント２４８およびピッチ追跡装置２５０に供給される。
【００１８】
特徴抽出コンポーネント２４８は、デジタル化スピーチ信号のスペクトル分析を実行することによって、ディジタル化入力スピーチ信号のパラメトリック表現を抽出する。この結果、入力スピーチ信号のフレーム列の周波数成分を表す係数が得られる。スペクトル分析を行なう方法は、信号処理の技術分野では周知であり、高速フーリエ変換、線形予測符号化（ＬＰＣ）、およびケプストラム係数を含む。得られたスペクトル係数は、分析エンジン２５２に供給される。
【００１９】
ディジタル化信号は、ピッチ追跡部２５０にも供給され、ピッチ追跡部２５０はこの信号を分析し、当該信号の一連のピッチ・マークを判定する。ピッチ・マークは、ディジタル化信号のピッチと一致するように設定されており、信号のピッチ期間に等しい量だけ時間的に分離されている。本発明の下でのピッチ追跡部２５０の動作について、以下で更に論ずることにする。ピッチ追跡部２５０によって生成したピッチ・マークは、分析エンジン２５２に供給される。
【００２０】
分析エンジン２５２は、入力スピーチ信号において発見された各音素スピーチ単位（phonetic speech unit）の音響モデルを作成する。このようなスピーチ・ユニットは、音素、二重母音（２つの音素）、三重母音（３つの音素）を含むことができる。これらのモデルを作成するために、分析エンジン２５２は、スピーチ信号のテキストをその音素単位に変換する。スピーチ信号のテキストは、テキスト・ストレージ２５４に格納され、辞書ストレージ２５６を用いて、その音素単位に分割する。辞書ストレージ２５６は、テキスト・ストレージ２５４内の各単語の音素記述を含む。
【００２１】
次いで、分析エンジン２５２は、モデル・ストレージ２５８から、各音素スピーチ単位の初期モデルを検索する。このようなモデルの例には、音素に対する三状態隠れマルコフ・モデルが含まれる。初期モデルを入力スピーチ信号のスペクトル係数と比較し、モデルが入力スピーチ信号を適正に表すまで、モデルを修正する。次いで、モデルを単位ストレージ２６０に格納する。
【００２２】
ストレージは限られているので、分析エンジン２５２は、入力スピーチ信号において発見された音素スピーチ単位のあらゆるインスタンスを格納する訳ではない。代わりに、分析エンジン２５２は、各音素スピーチ単位のインスタンスのサブセットを選択し、スピーチ・ユニットの全ての出現を表すようにしている。
【００２３】
単位ストレージ２６０に格納されている音素スピーチ単位毎に、分析エンジン２５２は、当該スピーチ・ユニットに関連するピッチ・マークもピッチ・ストレージ２６２に格納する。
【００２４】
合成セクション２４４は、入力テキスト２６４からスピーチ信号を発声し、自然言語パーザ（ＮＬＰ）２６６に供給する。自然言語パーザ２６６は、入力テキストを単語および句に分割し、これらの単語および句にタグを割り当て、テキストの種々の成分間の関係を記述する。テキストおよびタグは、文字／音（ＬＴＳ）コンポーネント２６８および韻律エンジン２７０に渡される。ＬＴＳコンポーネント２６８は、辞書２５６および規則ストレージ２７２にある１組の文字／音素単位規則を用いて、各単語を、音素、二重母音、または三重母音のような音素スピーチ単位に分割する。文字／音素単位規則は、綴りは同一であるが発音が異なる単語に対する発音規則や、数詞をテキストに変換する変換規則（即ち、「１」を「一」に変換する）を含む。
【００２５】
ＬＴＳ２６８の出力は、音素ストリングおよび音節コンポーネント２７４に供給され、入力テキストに対して、適正な音節を有する音素ストリングを生成する。次いで、音素ストリングは、韻律エンジン２７０に渡され、音韻エンジン２７０はポーズ・マーカを挿入し、テキスト・ストリング内の各音素単位の強度、ピッチ、および持続時間を示す、韻律パラメータを決定する。典型的に、韻律エンジン２７０は、韻律記憶装置２７６に格納されている韻律モデルを用いて韻律を決定する。音素ストリングおよび韻律パラメータは、次いで、スピーチ合成部２７８に渡される。
【００２６】
スピーチ合成部２７８は、単位ストレージ２６０およびピッチ・ストレージ２６２にアクセスすることによって、音素ストリング内の各音素単位毎に、音声モデルおよびピッチ・マークを検索する。スピーチ合成部２７８は、次に、格納されているユニットのピッチ、強度および持続時間を変換し、これらが、韻律エンジン２７０によって識別されたピッチ、強度および持続時間と一致するようにする。その結果、ディジタル出力スピーチ信号が得られる。次いで、ディジタル出力スピーチ信号は、出力エンジン２８０に供給され、格納するかまたはアナログ出力信号に変換する。
【００２７】
格納されている単位のピッチを、韻律エンジン２７０が設定したピッチに変換するステップを、図５−１、図５−２および図５−３に示す。図５−１は、波形２８３、２８４、および２８５から成る、格納スピーチ・ユニット２８２のグラフである。スピーチ・ユニット２８２のピッチを低下させるために、スピーチ合成部２７８は、格納ピッチ・マークに基づいて個々の波形をセグメント化し、セグメント化した波形間の時間を延長する。この分離は、図５−２に示され、セグメント化波形２８６、２８７、および２８８は、図５−１の波形２８３、２８４、および２８５に対応する。
【００２８】
ピッチ・マークがスピーチ・ユニットに対して適正に決定されていない場合、このセグメント化技法では、ピッチ低下が得られない。この例を図５−３に示す。この場合、スピーチ信号をセグメント化するために使用した格納ピッチ・マークは、誤ったピッチ期間を識別した。即ち、ピッチ・マークは、スピーチ信号に対して長すぎるピッチ期間を示した。その結果、単一のセグメント２９４内に多数のピーク２９０および２９２が現れ、韻律エンジン２７０が要求するピッチよりも高いピッチが作成された。したがって、精度の高いピッチ追跡装置は、スピーチ合成には必須である。
【００２９】
ピッチ追跡は、スピーチ・コーディングにも用いられ、チャネルを通じて送られるスピーチ・データ量を削減する。本質的に、スピーチ・コーディングは、スピーチ・データを圧縮する際、スピーチ信号の発声部分において、スピーチ信号がほぼ反復する波形から成ることを認識する。各波形の各部分の正確な値を送る代わりに、スピーチ・コーダは、１つのテンプレート波形の値を送る。すると、後続の各波形を記述するには、直後に発生する波形を参照すれば済む。このようなスピーチ・コーダの一例を図６のブロック図に示す。
【００３０】
図６において、スピーチ・コーダ３００は、スピーチ信号３０２を受け取り、アナログ／ディジタル変換器３０４によってディジタル信号に変換する。ディジタル信号を線形予測符号化フィルタ（ＬＰＣ）３０６に通し、信号を白色化してピッチ追跡を改善する。信号を白色化するために用いられる機能は、ＬＰＣ係数によって記述され、これらの係数は、後に完全な信号を再生する際に用いることができる。白色化信号はピッチ追跡部３０８に供給され、ピッチ追跡部３０８はスピーチ信号のピッチを識別する。
【００３１】
スピーチ信号は、減算ユニット３１０にも供給され、遅延させたスピーチ・ユニットを、スピーチ・ユニットから減算する。スピーチ・ユニットの遅延量は、遅延回路３１２によって制御する。遅延回路３１２は、現波形がスピーチ信号における直前の波形と一致するように、スピーチ信号を遅延させることが理想的である。この結果を得るために、遅延回路３１２は、ピッチ追跡部３０８が決定したピッチを利用する。これは、スピーチ信号内における連続波形間の時間的分離を示す。
【００３２】
乗算ユニット３１４において、遅延波形を利得係数「ｇ（ｎ）」と乗算し、その後現波形からこれを減算する。利得係数は、減算ユニット３１０が算出する差を最小化するように選択する。これを行なうには、負フィードバック・ループ３１６を用い、差が最小化するまで利得係数を調節する。
【００３３】
一旦利得係数を最小化したなら、ベクトル量子化ユニット３１８によって、減算ユニット３１０からの差、およびＬＰＣ係数をベクトル量子化してコードワードを形成する。スカラー量子化ユニット３１９によって、利得ｇ（ｎ）およびピッチ周期をスカラー量子化してコードワードを形成する。次いで、チャネルを通じてコードワードを送る。図６のスピーチ・コーダにおいて、減算ユニット３１０からの差が最小化されるならば、コーダの性能は向上する。波形の不一致は、波形間の差を増大させるので、ピッチ追跡部３０８の性能が低いと、コーディング性能も低くなる。したがって、効率的なスピーチ・コーディングには、高精度のスピーチ追跡部は必須である。
【００３４】
従来技術では、ピッチ追跡は、相互相関を用いて行われていた。これは、現サンプリング・ウィンドウと直前のサンプリング・ウィンドウとの間の類似度の指示を与える。相互相関は、−１ないし＋１間の値を有することができる。２つのウィンドウにおける波形が大きく異なる場合、相互相関は０に近い。しかしながら、２つの波形が類似している場合、相互相関は＋１に近い。
【００３５】
このようなシステムでは、相互相関を多数の異なるピッチ周期について計算する。一般に、実際のピッチ期間に最も近い検査ピッチ周期が、最も高い相互相関を得る。何故なら、ウィンドウ内の波形は非常に類似しているからである。実際のピッチ期間と異なる検査ピッチ期間では、相互相関は低い。何故なら、２つのサンプル・ウィンドウ内の波形は互いに一致していないからである。
【００３６】
生憎、従来技術のピッチ追跡装置は、常に正しくピッチを識別するとは言えない。例えば、従来技術の相互相関システムの下では、スピーチ信号の無発声部分が偶然半反復波形を有する場合、これをピッチを与える発声部分として、誤った解釈をする可能性がある。これは重大な誤りである。何故なら、無発声領域は、スピーチ信号にピッチを与えないからである。ピッチを無発声領域と関連付けることによって、従来技術のピッチ追跡装置は、スピーチ信号に対するピッチの計算が不正確となり、無発声領域を発声領域として誤って解釈してしまう。
【００３７】
従来技術の相互相関方法に対する改良において、本発明者は、ピッチ追跡に慨然論的モデルを構築した。蓋然論的モデルは、スピーチ信号に対して、検査ピッチ・トラックＰが実際のピッチ・トラックである確率を決定する。この決定は、部分的に、一連のウィンドウ・ベクトル<B>Ｘ</B>を次のように試験することによって行なう。ここで、<B>Ｐ</B>および<B>Ｘ</B>は以下のように定義する。
【００３８】
【数１】
0004354653.tif 000002
【００３９】
【数２】
0004354653.tif 000003
ここで、Piは、ピッチ・トラックにおけるｉ番目のピッチを表し、xiは一連のウィンドウ・ベクトルにおけるｉ番目のウィンドウ・ベクトルを表し、Ｍはピッチ・トラックにおけるピッチの総数、および一連のウィンドウ・ベクトルにおけるウィンドウ・ベクトルの総数を表す。
【００４０】
各ウィンドウベクトルxiは、入力スピーチ信号のウィンドウ内にあるサンプルの集合体として定義される。次の式において、
【００４１】
【数３】
0004354653.tif 000004
Nはウィンドウのサイズ、ｔはウィンドウ中央における時間マーク、x[t]は時刻ｔにおける入力信号のサンプルである。
【００４２】
以下の論述では、数式３において定義したウィンドウ・ベクトルのことを、現ウィンドウ・ベクトルxtと呼ぶ。この基準に基づいて、直前のウィンドウ・ベクトルxt-Pは、次のように定義することができる。
【００４３】
【数４】
0004354653.tif 000005
ここで、Ｎはウィンドウのサイズ、Ｐは現ウィンドウの中心と直前のウィンドウの中心との間の時間期間を記述するピッチ期間、およびt-Pは直前のウィンドウの中心である。
【００４４】
一連のウィンドウ・ベクトル<B>Ｘ</B>が与えられた場合の検査ピッチ・トラック
<B>Ｐ</B>が実際のピッチ・トラックである確率は、f(P|X)として表すことができる。この確率を多数の検査ピッチ・トラックについて計算すれば、確率を互いに比較し合って、実際のピッチ・トラックに等しい可能性が最も高いピッチ・トラックを特定することができる。したがって、ピッチ・トラックの最大後見（ＭＡＰ）推定値は次のようになる。
【００４５】
【数５】
0004354653.tif 000006
ベイズの公式を用いると、数式５の確率を次のように展開することができる。
【００４６】
【数６】
0004354653.tif 000007
ここで、f(Ｐ)は、いずれかのスピーチ信号に現れるピッチ・トラック<B>Ｐ</B>の確率、f(Ｘ)は一連のウィンドウ・ベクトル<B>Ｘ</B>の確率、そしてf(Ｘ｜Ｐ)はピッチ・トラック<B>Ｐ</B>が与えられたときの一連のウィンドウ・ベクトル<B>Ｘ</B>の確率である。数式６は、この式の右辺の係数によって表される総合確率を最大化するピッチ・トラックを求めるので、検査ピッチ・トラックの関数である係数のみを考慮すればよい。ピッチ・トラックの関数でない係数は無視することができる。f(Ｘ)はＰの関数ではないので、数式６は次のように簡略化される。
【００４７】
【数７】
0004354653.tif 000008
このように、最も確率が高いピッチ・トラックを決定するために、本発明は、各検査ピッチ・トラック毎に２つの確率を決定する。第１に、本発明は、検査ピッチ・トラック<B>Ｐ</B>に対して、一連のウィンドウ・ベクトル<B>Ｘ</B>がスピーチ信号内に現れる確率を決定する。第２に、本発明は、いずれかのスピーチ信号内に検査ピッチ・トラック<B>Ｐ</B>が現れる確率を決定する。
【００４８】
検査ピッチ・トラック<B>Ｐ</B>に対する一連のウィンドウ・ベクトル<B>Ｘ</B>の確率は、本発明によって、１群の個々の確率の積として近似され、群内の各確率は、個々のウィンドウ・ベクトルxiが、当該ウィンドウ・ベクトルに対してピッチPiが与えられた場合にスピーチ信号内に現れる確率を表す。式で表すと次のようになる。
【００４９】
【数８】
0004354653.tif 000009
ここで、Ｍは一連のウィンドウ・ベクトル<B>Ｘ</B>内におけるウィンドウ・ベクトルの数であり、ピッチ・トラック<B>Ｐ</B>内におけるピッチの数である。
【００５０】
ピッチPiが時間ウィンドウに対して与えられたときにスピーチ信号内に個々のウィンドウ・ベクトルxiが現れる確率f(xi, Pi)は、スピーチ信号をモデル化することによって決定することができる。このモデルの基礎は、現ウィンドウ・ベクトルは、次の式にしたがって過去のウィンドウ・ベクトルの関数として記述できるという本発明者の観察である。
【００５１】
【数９】
0004354653.tif 000010
ここで、xtは現ウィンドウ・ベクトル、ρは予測利得、xt-Pは直前のウィンドウ・ベクトル、etはエラー・ベクトルである。この関係は、図７の二次元ベクトル空間において確認でき、xtはρxt-Pを一方の脚５０４として、etを他方の脚５０６として有する三角形５０２の斜辺５００として示されている。斜辺５００および脚５０４間の角度５０８をθで示す。
【００５２】
図７から、最小予測誤差|et|2は、次のように定義される。
【００５３】
【数１０】
0004354653.tif 000011
ここで、
【００５４】
【数１１】
0004354653.tif 000012
数式１１において、<xt, xt-P>はxtおよびxt-Pのスカラー積であり、次のように定義する。
【００５５】
【数１２】
0004354653.tif 000013
ここで、x(t+n)は時点t+nにおける入力信号のサンプルであり、x[t+n-P]は時点t+n-Pにおける入力信号のサンプルであり、Ｎはウィンドウのサイズである。数式１１の|xi|は、xtおよびxtのスカラー積の平方根であり、| xt-P |はxt-Pのxt-Pとのスカラー積の平方根である。式で表すと次のようになる。
【００５６】
【数１３】
0004354653.tif 000014
【００５７】
【数１４】
0004354653.tif 000015
数式１１、１２、１３および１４を組み合わせると、次の式が求まる。
【００５８】
【数１５】
0004354653.tif 000016
数式１５の右辺は、現ウィンドウ・ベクトルの相互相関αt(P)、およびピッチＰに対する直前のウィンドウ・ベクトルに等しい。したがって、相互相関は、数式１０におけるcos(θ)と置換することができ、その結果次の式が求まる。
【００５９】
【数１６】
0004354653.tif 000017
本発明の一実施形態の下では、本発明者は最小予測誤差|et|2 発生の確率を、標準偏差σを有するゼロ平均ガウス・ランダム・ベクトルとしてモデル化する。したがって、|et|2 の値の確率は、そのいずれについても次の式で与えられる。
【００６０】
【数１７】
0004354653.tif 000018
|et|2 の対数尤度（log likelihood）は、両辺の対数を取ることによって、数式１７から決定することができ、その結果次の式が求まる。
【００６１】
【数１８】
0004354653.tif 000019
これは、定数を単一の定数Ｖとして表すことによって簡略化することができ、次の式が求まる。
【００６２】
【数１９】
0004354653.tif 000020
先の数式１６を用いて|et|2 に代入することによって、次の式が得られる。
【００６３】
【数２０】
0004354653.tif 000021
ピッチの関数でない係数は、集合化し、１つの定数Ｋで表すことができる。何故なら、これらの係数はピッチの最適化に影響を及ぼさないからである。この簡略化によって、次の式が求まる。
【００６４】
【数２１】
0004354653.tif 000022
数式２１に記述するように、ピッチ期間Ｐに対して特定の予測誤差を有する確率は、直前のウィンドウ・ベクトルおよびピッチ期間Ｐに対する現ウィンドウ・ベクトルの確率と同じである。したがって、数式２１は次のように書き直すことができる。
【００６５】
【数２２】
0004354653.tif 000023
ここで、f(xt|Pt)は、直前のウィンドウ・ベクトルおよびピッチ期間Ｐに対する現ウィンドウ・ベクトルの確率である。
【００６６】
前述のように、本発明の下では、２つの確率を組み合わせ、最尤ピッチ・トラックを特定する。第１に、ピッチ・トラックに対する一連のウィンドウ・ベクトルの確率である。この確率は、数式２２を先の数式８と組み合わせることによって計算することができる。第２の確率は、スピーチ信号内においてピッチ・トラックが生ずる確率である。
【００６７】
本発明は、スピーチ信号内に生ずるピッチ・トラックの確率を近似するに当たり、あるフレームにおけるピッチ期間の先験的確率は、当該ピッチ・トラックにおける直前のピッチに対してスピーチ信号内に個々のピッチ各々が生ずる確率の積となる。数式で表すと次のようになる。
【００６８】
【数２３】
0004354653.tif 000024
確率f(PT-1|PT-2)に対して可能な１つの選択は、平均が直前のピッチ期間に等しいガウス分布である。この結果、以下のように、個々のピッチ期間に対する対数尤度が得られる。
【００６９】
【数２４】
0004354653.tif 000025
ここで、γはガウス分布の標準偏差であり、k'は定数である。
【００７０】
数式７、８および２３を組み合わせ、項を整理すると、次の数式が得られる。
【００７１】
【数２５】
0004354653.tif 000026
対数は単調であるので、数式２５を最大化するＰの値は、数式２５の右辺の対数も最大化する。
【００７２】
【数２６】
0004354653.tif 000027
数式２６を数式２２および２４と組み合わせ、定数ｋおよびk'を無視することにより、次の数式が得られる。
【００７３】
【数２７】
0004354653.tif 000028
ここで、λ＝σ2/γ2である。尚、数式２７において、分子２σ2は、数式の右辺から除去されていることを注記しておく。何故なら、これは最尤ピッチ・トラックの決定には無意味であるからである。
【００７４】
したがって、検査ピッチ・トラックが実際のピッチ・トラックである確率は、３つの項から成る。第１に、スピーチ信号からサンプルされた第１ウィンドウ内にあるエネルギを記述する初期エネルギ項α02(P0)|x0|2である。
【００７５】
第２の項は、従来技術のピッチ追跡装置において見られる相互相関項の修正を表す予測可能なエネルギ項αi2(Pi)|xi|2である。予測可能エネルギ項は、２つの係数、即ち、現ウィンドウの全エネルギ|xi|2、および現ウィンドウおよび直前のウィンドウ間の相互相関αi2(Pi)を含む。全エネルギが含まれているので、この項は、従来技術の相互相関項よりも、ピッチの識別においては遥かに精度が高い。この理由の１つは、予測可能エネルギ項は、スピーチ信号の無発声部分において異常に大きな相互相関を軽視（deweight）するからである。この軽視は、従来技術では見られず、これを用いるのは、スピーチ信号の無発声部分の全エネルギは低く、予測可能なエネルギも低くなるからである。
【００７６】
検査ピッチ・トラックの確率における第３の項は、ピッチ・トラックにおける大きな遷移を制限（penalize）するピッチ遷移項λ(Pi-Pt-1)2である。この項が数式２７に含まれているので、従来技術に対して更に改善されることになる。従来技術のシステムでは、一旦１組の時間マークの各々において最尤ピッチが決定されたなら、ピッチ・トラックを平滑化するには、別個のステップを実行していた。本発明の下では、この別個のステップは、ピッチ・トラックのための単一の確率計算に組み込まれている。
【００７７】
数式２７の加算部分は、１連の個々の確率スコアの和として見なすことができ、各スコアは、個々の時点における個々のピッチ遷移の確率を示す。これらの個々の確率のスコアは次のように表される。
【００７８】
【数２８】
0004354653.tif 000029
ここで、Si(Pi, P i-1)は、時点i-1におけるピッチPi-1から時点ｉにおけるピッチPiへ遷移する確率スコアである。
【００７９】
数式２８を数式２７と結合すると、次の式が得られる。
【００８０】
【数２９】
0004354653.tif 000030
数式２９は、ピッチPM-1で終了する最尤ピッチ・トラックである。ピッチPMで終了する最尤ピッチ・トラックを計算するために、数式２９を展開して次の式を求める。
【００８１】
【数３０】
0004354653.tif 000031
数式３０を数式２９と比較すると、新たなピッチPMで終了する最尤ピッチ・トラックを計算するためには、直前のピッチPM-1で終了するピッチ・パスについて計算した確率に、新たなピッチに遷移することに関連するピッチ・スコアSM(PM, P M-1)を加算する。
【００８２】
本発明の一実施形態の下では、ピッチ・トラック・スコアは、１組の時間マークt=iTにおいて決定され、ピッチPM-1で終了するピッチ・トラック・スコアを時点t=(M-1)Tにおいて決定するようにする。時点t=(M-1)Tにおいて決定したピッチ・トラック・スコアを格納し、数式３０を用いることによって、本発明のこの実施形態は、ピッチPMで終了する最尤ピッチ・トラック・スコアを計算するためには、時点t=MTにおけるパス・スコアSM(PM, P M-1)を決定するだけ済む。
【００８３】
数式３０に基づいて、図８に示すように、本発明のピッチ追跡装置３５０を提供する。ピッチ追跡装置３５０の動作について、図９のフロー図で説明する。
ピッチ追跡装置３５０は、入力３５２においてスピーチ信号のディジタル・サンプルを受け取る。多くの実施形態では、スピーチ信号をバンド・パス・フィルタにかけ、その後にディジタル・サンプルに変換することによって、発声スピーチに関連のない高周波および低周波を除去する。ピッチ追跡装置３５０内では、ストレージ・エリア３５４にディジタル・サンプルを格納し、ピッチ追跡装置３５０が多数回サンプルにアクセスできるようにしている。
【００８４】
図９のステップ５２０において、図８のピッチ指定部３６０は、現時間期間t=Mtに対する検査ピッチPMを指定する。多くの実施形態では、ピッチ指定部３６０は、人のスピーチに見られるピッチ例のリストを含むピッチ・テーブル３６２から検査ピッチPMを検索する。多くの実施形態では、ピッチのリストは、互いに対数的に分離したピッチを含む。一実施形態の下では、１／４セミトーンの分解能によって、良好な結果が得られることがわかっている。検索される個々のピッチは任意である。何故なら、リストにあるピッチの各々は、結局この時間期間中に検索されるからである。これについては以下で論ずる。
【００８５】
ピッチ指定部３６０によって指定された検査ピッチPMは、ウィンドウ・サンプラ３５８に供給される。指定された検査ピッチおよびサンプル・ストレージ３５４に格納されているサンプルに基づいて、ウィンドウ・サンプラ３５８は、図９のステップ５２２において、現ウィンドウ・ベクトルxtおよび直前のウィンドウ・ベクトルxt-Pを構築する。現ウィンドウ・ベクトルおよび直前のウィンドウ・ベクトルは、先の数式３および４によって記述されるサンプルの集合体を含む。
【００８６】
現ウィンドウ・ベクトルxtおよび直前のウィンドウ・ベクトルxt-Pに見られるサンプルの例を図１０に示す。これは、時間の関数としての入力スピーチ信号４０４のグラフである。図１０では、現ウィンドウ４０２は、ピッチ指定部３６０が指定したピッチ期間４０６だけ、直前のウィンドウ４００から分離している。直前のウィンドウ・ベクトルxt-Pのサンプルx[t-P-4],  x[t-P-3]およびx[t-P-2]が、直前のウィンドウ４００におけるサンプル４０８、４１０および４１２として示されている。現ウィンドウ・ベクトルxtのサンプルx[t+n-4],  x[t+n-3]およびx[t+n-2]が、現ウィンドウ４０２におけるサンプル４１４、４１６および４１８として示されている。
【００８７】
ウィンドウ・サンプラ３５８は、現ウィンドウ・ベクトルxtをエネルギ計算部３６６に供給し、図９のステップ５２４において、ベクトルのエネルギ|xt|2を計算する。一実施形態では、エネルギを計算するには先の数式１３を用いる。
【００８８】
また、ウィンドウ・サンプラ３５８は、現ウィンドウ・ベクトルxtを相互相関計算部３６４に、前ウィンドウ・ベクトルxt-Pと共に供給する。先の数式１５を用いて、相互相関計算部３６４は、図９のステップ５２６において、前進相互相関αt(P)を計算する。本発明の実施形態の一部では、数式１５におけるウィンドウＮのサイズは、検査対象のピッチＰに等しく設定してある。これらの実施形態において小さ過ぎるウィンドウを用いるのを回避するために、本発明者は、検査するＰには無関係に、必要な最小ウィンドウ長を５ミリ秒とする。
【００８９】
本発明の実施形態の一部では、ウィンドウ・サンプラ３５８は次のウィンドウベクトルxt+Pも相互相関計算部３６４に供給する。次のウィンドウ・ベクトルxt+Pは、現ウィンドウ・ベクトルxtからは、ピッチ指定部３６０が求めたピッチに等しい量だけ時間的に先んじている。図９のステップ５２８において、相互相関計算部３６４は、次のウィンドウ・ベクトルxt+Pを用いて、後進相互相関αt(-P)を計算する。後進相互相関αt(-P)は、先の数式１５を用い、(+P)を(-P)と置換することによって計算することができる。
【００９０】
ステップ５２８において後方相互相関を計算した後、本発明の実施形態の一部では、ステップ５３０において前進相互相関αt(P)を後進相互相関αt(-P)と比較する。この比較を行なうのは、スピーチ信号が突然変化しなかったか否か判定するためである。同じピッチ期間に対して後進相互相関が前進相互相関よりも高い場合、入力スピーチ信号は、直前のウィンドウと現ウィンドウとの間で変化した確率が高い。このような変化は、典型的に、音素間の境界においてスピーチ信号において生ずる。信号が直前のウィンドウおよび現ウィンドウ間で変化した場合、後進相互相関は、前進相互相関よりも、現ウィンドウにおける予測可能なウィンドウを一層正確に判定することができる。
【００９１】
後進相互相関の方が前進相互相関よりも高い場合、ステップ５３２において後進相互相関を０と比較する。ステップ５３２において後進相互相関が０未満である場合、次のウィンドウと現ウィンドウとの間には負の相互相関がある。相互相関は、数式２７においてピッチ・スコアを計算するために用いられる前に、二乗されるので、負の相互相関は、数式２７における正の相互相関と誤って見なされる可能性がある。これを避けるために、ステップ５３２において後進相互相関が０未満である場合、ステップ５３４において、２回修正した相互相関αt"(P)を０にセットする。ステップ５３２において後進相互相関が０よりも大きい場合、ステップ５３６において１回修正した相互相関αt'(P)を後進相互相関αt(-P)に等しく設定する。
【００９２】
ステップ５３０において前進相互相関が後進相互相関よりも大きい場合、ステップ５３８において前進相互相関を０と比較する。ステップ５３８において、前進相互相関が０未満である場合、ステップ５３４において、２回修正した相互相関αt"(P)を０にセットする。ステップ５３８において、前進相互相関が０よりも大きい場合、ステップ５４２において、１回修正した相互相関αt'(P)を前進相互相関αt(P)に等しく設定する。
【００９３】
本発明の更に別の実施形態では、ステップ５４４において、１回修正した相互相関αt'(P)を更に修正し、２回修正相互相関αt"(P)を形成する。この時、１回修正相互相関αt'(P)から高調波減少値（harmonic reduction value）を減算する。高調波減少値は２つの部分を有する。第１部分は、ピッチ周期の半分（ｐ／２）だけ分離したウィンドウ・ベクトルの相互相関である。第２の部分は、ｐ／２相互相関値を乗算した高調波減少係数である。式では、この修正は次のように表される。
【００９４】
【数３１】
αt"(P) =αt'(P) - βαt'(P/2)
ここで、βは、０＜β＜１となるような減少係数である。一部の実施形態では、βは（０．２）である。
【００９５】
ステップ５３４および５４４の後、図９のプロセスはステップ５４６に進み、各パス毎に現パス・スコアSM(PM, P M-1)を計算し、直前の時間マークにおけるピッチから現時間マークt=MTにおける、現選択ピッチまで拡張する。現パス・スコアを計算するには、先の数式２８を用いる。予測可能エネルギαt2(Pt)|xt|2を計算するには、相互相関計算部３６４の出力を二乗し、この二乗にエネルギ計算部３６６の出力を乗算する。これらの関数は、図８の二乗ブロック３６８および乗算ブロック３７０によって表されている。尚、一部の実施形態では、２回修正相互相関αt"(Pt)は、αt(Pt)の代わりに、相互相関計算部３６４によって求める。このような実施形態では、２回修正相互相関は、予測可能エネルギを計算するために用いられる。
【００９６】
数式２８のピッチ遷移項λ(PM-PM-1)2は、図８のピッチ遷移計算部３７２によって形成する。時点t=(M-1)Tにおける各ピッチ毎に、ピッチ遷移計算部３７２は別個のピッチ遷移項λ(PM-PM-1)2を計算する。ピッチ遷移計算部３７２は、ピッチ指定部３６０から現ピッチPMを受け取り、ピッチ・テーブル３６２を用いて、直前のピッチPM-1を識別する。
【００９７】
ピッチ遷移計算部３７２によって求めた別個のピッチ遷移項は、各々、減算ユニット３７４によって、乗算器３７０の出力から減算される。これによって、時点t=(M-1)Tにおける直前のピッチPM-1から時点t=MTにおける現検査ピッチPMまでのパスの各々について、ピッチ・スコアを求める。
【００９８】
図９のステップ５４８において、ピッチ指定部３６０は、時点t=MTにおける各ピッチPMにパス・スコアを求めたか否か判定する。パス・スコアを求めるために用いられていないピッチがt=MTにおいてある場合、ステップ５５０においてピッチ指定部３６０においてこのピッチを選択する。次いで、プロセスはステップ５２２に戻り、直前のピッチPM-1から新たに選択したピッチPMへの遷移に対するパス・スコアを求める。このプロセスは、直前の各ピッチPM-1から可能な全ての現ピッチPMまでのパスの各々に対して計算し終えるまで継続する。
【００９９】
ステップ５４８において現パス・スコアを全て計算したなら、プロセスはステップ５５２に進み、動的プログラミング３７６は数式３０を用いて、現パス・スコアSM(PM, P M-1)を過去のピッチ・トラック・スコアに加算する。先に論じたように、過去のピッチ・トラック・スコアは、直前の時間マークt=(M-1)Tにおいて終了した各トラックに対するピッチ・スコアの和を表す。現パス・スコアを過去のピッチ・トラック・スコアに加算することにより、現時間マークt=MTにおいて終了した各ピッチ・トラックに対するピッチ・トラック・スコアが得られる。
【０１００】
このプロセスの一部として、動的プログラミング３７６の実施形態の一部では、過度に低いパス・スコアを有するピッチ・トラックを排除する。これによって、今後のパス・スコアを計算する複雑性が低減し、しかも性能に重大な影響を及ぼすこともない。このような間引きのため、時点t=(M-S)T以前の全ての時点に可能なピッチ・トラックを、単一の最も確率が高いピッチ・トラックに収束させる。ここで、「Ｓ」の値は、部分的に、間引きの厳格性、およびスピーチ信号におけるピッチの安定性によって決定される。次にステップ５５４において、この確率が最も高いピッチ・トラックを出力する。
【０１０１】
ステップ５５６において、時点t=MTで決定した残りのピッチ・トラックに対するスコアを格納し、ステップ５５８において、時間マークをt=(M+1)Tに増分する。次に、図９のプロセスはステップ５２０に戻り、ピッチ指定部３６０は、新たな時間マーカに対する最初のピッチを選択する。
【０１０２】
ピッチ・トラックを識別することに加えて、本発明は、スピーチ信号の発声部分および無発声部分を識別する手段も備えている。これを行なうために、本発明は、図１１にモデル６００として示す、二状態隠れマルコフ（ＨＭＭ）を定義する。モデル６００は、発声状態６０２および無発声状態６０４を含み、遷移パス６０６および６０８が２つの状態間に延びている。また、モデル６００は、状態６０２および６０４をそれ自体にそれぞれ接続する、自己遷移パス６１０および６１２も含む。
【０１０３】
いずれの時間期間においても発声状態または無発声状態のいずれかにある確率は、２つの確率の組み合わせとなる。第１の確率は、スピーチ信号が発声領域から無発声領域に、またはその逆に遷移する、あるいはスピーチ信号が発声領域または無発声領域内に留まる尤度を表す遷移確率である。したがって、第１の確率は、遷移パス６０６、６０８、６１０または６１２の１つをスピーチ信号が通過する尤度を示す。多くの実施形態では、発声領域および無発声領域双方が小さくなり過ぎないことを保証し、連続性を維持するように、遷移確率を経験的に決定している。
【０１０４】
スピーチ信号が発声領域または無発声領域のどちらにあるか判定する際に用いる第２の確率は、現時間期間におけるスピーチ信号の特性に基づく。即ち、第２の確率は、現サンプリング・ウィンドウ|xt|2の全エネルギ、および当該ウィンドウに対して特定した最大先見的ピッチPMAPにおいて決定された現サンプリング・ウィンドウの２回修正相互相関αt"(PMAP)の組み合わせに基づいている。本発明の下では、これらの特性は、発声領域および無発声領域の強力な指示となることがわかっている。これは、図１２のグラフにおいて見ることができる。図１２は、全エネルギ値（横軸６３０）および相互相関値（縦軸６３２）の関数として、発声ウィンドウ・サンプル６４３および無発声ウィンドウ・サンプル６３６の相対的集合化を示す。図１２において、発声ウィンドウ・サンプル６３４は、高い全エネルギおよび高い相互相関を有する傾向があり、一方無発声ウィンドウ・サンプル６３６は低い全エネルギおよび低い相互相関を有する傾向があることがわかる。
【０１０５】
本発明の下における、スピーチ信号の発声領域および無発声領域を識別する方法を、図１３のフロー図に示す。この方法は、ステップ６５０にて開始し、現時点ｔを中心とする現ウィンドウ・ベクトルxtおよび以前の時点t-PMAPを中心とする直前のウィンドウ・ベクトルxt-Pを用いて、相互相関を計算する。相互相関の計算では、PMAPは、前述のピッチ追跡プロセスによって現時点ｔに対して識別された最大先見的ピッチである。加えて、一部の実施形態では、ウィンドウ・ベクトルxtおよびxt-Pの長さは最大先見的ピッチPMAPに等しい。
【０１０６】
ステップ６５０において相互相関を計算した後、ステップ６５２においてウィンドウ・ベクトルxtの全エネルギを判定する。次に、ステップ６５４において、相互相関および全エネルギを用いて、ウィンドウ・ベクトルが発声領域をカバーする確率を計算する。一実施形態では、この計算は、発声サンプル、全エネルギおよび相互相関の間の関係のガウス・モデルを基本とする。サンプルの発声に基づいた発声クラスタおよび無発声クラスタ双方に対する平均および標準偏差を推定するＥＭ（推定最大化）アルゴリズムを用いて、ガウス分布の平均および標準偏差を計算する。このアルゴリズムは、発声クラスタおよび無発声クラスタ双方の平均および標準偏差の初期推定から開始する。次いで、どのクラスタが最大の確率をもたらすかに基づいて、サンプル発音（sample utterance）のサンプルを分類する。このサンプルのクラスタに対する割り当てにより、各クラスタの平均および標準偏差を再度推定する。このプロセスは、収束に達し、各クラスタの平均および標準偏差が繰り返しの間でさほど変わらなくなるまで、繰り返される。初期値は、このアルゴリズムにとっていくらか重要である。本発明の一実施形態の下では、発声状態の初期平均は、最高の対数エネルギのサンプルに等しく設定され、無発声状態の平均は、最低の対数エネルギのサンプルに等しく設定される。発声クラスタおよび無発声クラスタ双方の初期標準偏差は、サンプル全ての全域標準偏差に等しい値に、互いに等しく設定される。
【０１０７】
ステップ６５６において、本方法は、現ウィンドウ・ベクトルxtがスピーチ信号の無発声部分をカバーする確率を計算する。一実施形態では、この計算も、無発声サンプル、全エネルギおよび相互相関の間の関係のガウス・モデルを基本とする。
【０１０８】
ステップ６５８において、適切な遷移確率を、ステップ６５４および６５６において計算した確率の各々に加算する。適切な遷移確率とは、モデルの直前の状態からそれぞれの状態への遷移に関連する確率である。したがって、直前の時間マークにおいて、スピーチ信号が図１１の無発声状態６０４にあった場合、発声状態６０２に関連する遷移確率は、遷移パス６０６に関連する確率となる。同じ直前の状態では、無発声状態６０４に関連する遷移確率は、遷移パス６１２に関連する確率となる。
【０１０９】
ステップ６６０において、各状態に関連する確率の和を、発声状態および無発声状態において現時間フレームに入る可能性のある複数の発声トラック（voicing track）に対するそれぞれのスコアに加算する。動的プログラミングを用いて、過去の時間期間に対する発声判断を、発声トラックの現スコアから行なう。このような動的プログラミング・システムは、当技術分野では周知である。
【０１１０】
ステップ６６１において、ボイス追跡システムは、これがスピーチ信号における最後のフレームか否か判定を行なう。これが最後のフレームでない場合、ステップ６６２においてスピーチ信号における次の時間マークを選択し、プロセスはステップ６５０に戻る。これが最後のフレームである場合、ステップ６６３において、最後のフレームにおいて終了した可能性がある発声トラックの全てに対するスコアを試験することによって、完全な最適発声トラックを判定する。
【０１１１】
以上、特定実施形態を参照しながら本発明について説明したが、本発明の精神および範囲から逸脱することなく、形態および詳細において変更が可能であることを当業者は認めよう。加えて、本発明を説明するためにブロック図を用いたが、本発明のコンポーネントは、コンピュータ命令としても実現可能であることを当業者は認めよう。
【図面の簡単な説明】
【図１】  本発明の環境例の平面図である。
【図２】  スピーチ信号のグラフである。
【図３】  時間の関数としての平叙文に対するピッチのグラフである。
【図４】  スピーチ合成システムのブロック図である。
【図５】  図５−1は、スピーチ信号のグラフである。
図５−２は、図５−１のスピーチ信号のピッチを適正に低下させた場合のグラフである。
図５−３は、図５−１のスピーチ信号のピッチを適正に低下させた場合のグラフである。
【図６】  スピーチ・コーダのブロック図である。
【図７】  スピーチ信号のウィンドウ・ベクトルの二次元表現である。
【図８】  本発明のピッチ追跡装置のブロック図である。
【図９】  本発明のピッチ追跡方法のフロー図である。
【図１０】  ウィンドウ・ベクトルを形成するサンプルを示すスピーチ信号のグラフである。
【図１１】  スピーチ信号の発声および無発声領域を識別する隠れマルコフ・モデルのグラフである。
【図１２】  エネルギおよび相互相関の関数としての発声および無発声サンプルの集合化のグラフである。
【図１３】  本発明の下で発声および無発声領域を識別する方法のフロー図である。
【図１】
0004354653.tif 000032
【図２】
0004354653.tif 000033
【図３】
0004354653.tif 000034
【図４】
0004354653.tif 000035
【図５】
0004354653.tif 000036
【図６】
0004354653.tif 000037
【図７】
0004354653.tif 000038
【図８】
0004354653.tif 000039
【図９】
0004354653.tif 000040
【図１０】
0004354653.tif 000041
【図１１】
0004354653.tif 000042
【図１２】
0004354653.tif 000043
【図１３】
0004354653.tif 000044