(57)【特許請求の範囲】
【請求項１】
ある話者（変換前話者という）の音声を他の話者（変換後話者という）の音声の声質に変換する際に、変換前話者と変換後話者がそれぞれ発話する複数の話者声質変換用単語の音声データを所定時間のフレーム単位で分析してそれぞれのフレームごとに特徴データを求め、変換前話者の特徴データと変換後話者の特徴データとの対応付けを行い、その対応付けにより変換前話者のそれぞれの特徴データごとに変換後話者の対応する特徴データに対する移動ベクトルを求めておき、この移動ベクトルに基づいて変換前話者が発話して得られた変換対象音声の特徴データを変換後話者の特徴データ空間に変換して、変換後の特徴データを求め、その変換後の特徴データと前記変換前話者が発話して得られた変換対象音声データから得られる単位波形対応のパルス列とに基づいて音声合成を行う話者声質変換方法であって、
前記変換前話者が発話して得られた変換対象音声の特徴データを、前記移動ベクトルに基づいて変換後話者の特徴データ空間に変換したとき、前記移動ベクトルに基づいて変換後話者の特徴データ空間に変換された特徴データに距離の近い変換後話者の特徴データを求め、求められた変換後話者の特徴データを、前記変換対象音声の変換後の特徴データとして用い、その変換後の特徴データと前記変換前話者の変換対象音声データから得られる単位波形対応のパルス列とを基に音声合成することを特徴とする話者声質変換方法。
【請求項２】
前記変換前話者が発話して得られた変換対象音声波形の単位波形ごとの波高値と、前記変換後の特徴データと前記変換前話者の変換対象音声データから得られる単位波形対応のパルス列とに基づいて音声合成された合成波形における単位波形ごとの波高値との比を求め、その比により得られた係数を前記単位波形対応のパルス列に乗算し、前記係数が乗算されたパルス列と前記変換後の特徴データとを用いて音声合成することを特徴とする請求項１に記載の話者声質変換方法。
【請求項３】
前記変換前話者が発話して得られた変換対象音声波形の或るフレームにおける単位波形対応のインパルス応答波形と、音声合成後の合成波形の前記或るフレームと同一フレームの単位波形対応のインパルス応答波形とを比較し、連続する数個のフレームに対応するそれぞれのインパルス応答波形の時間に対する変化量が一定以上の差を有する場合は、変換対象音声波形のインパルス応答波形の時間に対する変化量が一定以上の差を有するフレームの特徴データとして、当該フレームの前または後のフレームにおける変換後の特徴データを用い、この特徴データと前記変換前話者の変換対象音声データから得られる単位波形対応のパルス列とを基に音声合成することを特徴とする請求項１又は２のいずれかに記載の話者声質変換方法。
【請求項４】
前記変換前話者が発話した変換対象音声から得られるフレームごとの特徴データで構成される特徴データ列軌道と、各特徴データを前記移動ベクトルにより変換後話者の特徴データ空間に変換したときの特徴データ列軌道とを比較し、変換前の特徴データ列軌道および変換後の特徴データ列軌道それぞれにおいて、時間に対する特徴データの変化量を調べ、変換前の特徴データ列軌道に対して変換後の特徴データ列軌道の或るフレームに対応する特徴データに一定以上の変化があった場合、
その一定以上の変化のあったフレームの変換前の特徴データに近い特徴データを持ったフレームを変換前のフレーム列の中から探し、そのフレームの特徴データに対する移動ベクトルを、前記一定以上の変化のあったフレームの変換前の特徴データの移動ベクトルとして用いて、変換後話者の特徴データ空間に変換し、変換後の特徴データを得て、この特徴データと前記変換前話者の変換対象音声データから得られる単位波形対応のパルス列とを基に音声合成することを特徴とする請求項１〜３のいずれかに記載の話者声質変換方法。
【請求項５】
前記移動ベクトルに基づいて変換前話者が発話して得られた変換対象音声の特徴データを変換後話者の特徴データ空間に変換する処理を行う際、変換前話者の特徴データ空間にて、変換前話者が発話して得られた変換対象音声データの或るフレームにおける特徴データの近傍の特徴データを探し、その近傍の特徴データに対する移動ベクトルを用いて変換対象音声の特徴データを変換後話者の特徴データ空間に変換する場合、近傍の特徴データまでの距離が所定の基準値以上か否かを判断し、その距離が基準値以上の場合は、前記変換対象音声の特徴データを変換後の特徴データとして用いることを特徴とする請求項１〜４のいずれかに記載の話者声質変換方法。
【請求項６】
前記変換前話者が発話して得られた変換対象音声の特徴データを、前記移動ベクトルに基づいて変換後話者の特徴データ空間に変換したとき、その変換された特徴データに距離の近い変換後話者の特徴データを求め、求められた変換後話者の特徴データを、変換後の特徴データとして用いる場合、前記距離が所定の基準値以上か否かを判断し、距離が基準値以上の場合は、前記変換対象音声の特徴データを変換後の特徴データとして用いることを特徴とする請求項１〜５のいずれかに記載の話者声質変換方法。
【請求項７】
前記変換前話者の特徴データ空間にて、変換前話者が発話して得られた変換対象音声データの或るフレームにおける特徴データの近傍の特徴データを探す処理を行う場合、
前記変換前話者の特徴データ空間をコードブック化して複数の領域に分割しておき、前記変換対象音声の特徴データの属する領域またはその領域に近接する領域内に存在する特徴データのみとの間で距離計算を行うことを特徴とする請求項５に記載の話者声質変換方法。
【請求項８】
前記変換前話者が発話して得られた変換対象音声の特徴データを、前記移動ベクトルに基づいて変換後話者の特徴データ空間に変換したとき、その特徴データの近傍の変換後話者の特徴データを求める処理を行う場合、
前記変換後話者の特徴データ空間をコードブック化して複数の領域に分割しておき、前記変換後話者の特徴データ空間に変換された特徴データの属する領域またはその領域に近接する領域内に存在する特徴データのみとの間で距離計算を行うことを特徴とする請求項１〜７のいずれかに記載の話者声質変換方法。
【請求項９】
ある話者（変換前話者という）の音声を他の話者（変換後話者という）の音声の声質に変換する話者声質変換装置であって、
音声データを所定時間のフレーム単位で分析してそれぞれのフレームごとに特徴データと単位波形対応のパルスを出力する分析部と、
前記変換前話者が複数の話者声質変換用単語を発話して得られた音声データを前記分析部に入力することにより得られた特徴データを記憶する変換前話者特徴データ記憶部と、
前記変換後話者が複数の話者声質変換用単語を発話して得られた音声データを前記分析部に入力することにより得られた特徴データを記憶する変換後話者特徴データ記憶部と、
前記変換前話者特徴データ記憶部に記憶された特徴データと、前記変換後話者特徴データ記憶部に記憶された特徴データとの対応付けを行い、その対応付けにより前記変換前話者の特徴データごとに前記変換後話者の対応する特徴データに対する移動ベクトルを求める手段と、
前記変換前話者が発話して得られた変換対象音声データを前記分析部に入力することにより得られた特徴データを、前記移動ベクトルに基づいて変換後話者の特徴データ空間に変換し、前記変換後話者の特徴データ空間に変換された特徴データに距離の近い変換後話者の特徴データを求め、求められた変換後話者の特徴データを変換後の特徴データとして出力する制御部と、
前記制御部から出力される特徴データと、前記分析部から出力される変換前話者の発話する変換対象音声データから得られた単位波形対応のパルス列とを基に音声合成する音声合成部と、
を有することを特徴とする話者声質変換装置。
【請求項１０】
前記制御部は、前記変換前話者が発話して得られた変換対象音声波形の単位波形ごとの波高値と、前記変換後の特徴データと前記分析部から出力される変換前話者の発話する変換対象音声データから得られた単位波形対応のパルス列とに基づいて音声合成された合成波形における単位波形ごとの波高値との比を求め、その比により得られた係数を前記単位波形対応のパルス列に乗算し、係数が乗算されたパルス列と前記変換後の特徴データとを出力し、
前記音声合成部は、前記制御部が出力した前記係数が乗算されたパルス列と前記変換後の特徴データとを基に音声合成することを特徴とする請求項９記載の話者声質変換装置。
【請求項１１】
前記制御部は、前記変換前話者が発話して得られた変換対象音声波形の或るフレームにおける単位波形対応のインパルス応答波形と、音声合成後の合成波形の前記或るフレームと同一フレームの単位波形対応のインパルス応答波形とを比較し、連続する数個のフレームに対応するそれぞれのインパルス応答波形の時間に対する変化量が一定以上の差を有する場合は、変換対象音声波形のインパルス応答波形の時間に対する変化量が一定以上の差を有するフレームの特徴データとして、当該フレームの前または後のフレームにおける変換後の特徴データを出力することを特徴とする請求項９または１０のいずれかに記載の話者声質変換装置。
【請求項１２】
前記制御部は、前記変換前話者が発話した変換対象音声から得られるフレームごとの特徴データで構成される特徴データ列軌道と、各特徴データを前記移動ベクトルにより変換後話者の特徴データ空間に変換したときの特徴データ列軌道とを比較し、変換前の特徴データ列軌道および変換後の特徴データ列軌道それぞれにおいて、時間に対する特徴データの変化量を調べ、変換前の特徴データ列軌道に対して変換後の特徴データ列軌道の或るフレームに対応する特徴データに一定以上の変化があった場合、その一定以上の変化のあったフレームの変換前の特徴データに近い特徴データを持ったフレームを変換前のフレーム列の中から探し、そのフレームの特徴データに対する移動ベクトルを、前記一定以上の変化のあったフレームの変換前の特徴データの移動ベクトルとして用いることを特徴とする請求項９〜１１のいずれかに記載の話者声質変換装置。
【請求項１３】
前記制御部は、前記変換前話者が発話して得られた変換対象音声データを前記分析部に入力することにより得られた特徴データを、前記移動ベクトルに基づいて変換後話者の特徴データ空間に変換する際、変換前話者の特徴データ空間にて、前記変換前話者が発話して得られた変換対象音声データを前記分析部に入力することにより得られた特徴データの近傍の特徴データを探し、その近傍の特徴データに対する移動ベクトルを用いて変換すべき特徴データを変換後話者の特徴データ空間に変換することを特徴とする請求項９〜１２のいずれかに記載の話者声質変換装置。
【請求項１４】
前記制御部は、前記変換前話者が発話して得られた変換対象音声データを前記分析部に入力することにより得られた特徴データの近傍の特徴データまでの距離が所定の基準値以上の場合は、変換前の特徴データを変換後の特徴データとして用い、前記変換前の特徴データを出力することを特徴とする請求項１３に記載の話者声質変換装置。
【請求項１５】
前記制御部は、前記変換前話者が発話して得られた変換対象音声データを前記分析部に入力することにより得られた特徴データを、前記移動ベクトルに基づいて変換後話者の特徴データ空間に変換し、前記変換後話者の特徴データ空間に変換された特徴データに距離の近い変換後話者の特徴データを求め、求められた変換後話者の特徴データを、変換後の特徴データとして用いる場合、前記距離が所定の基準値以上か否かを判断し、距離が基準値以上の場合は、変換前の前記特徴データを変換後の特徴データとして用い、前記変換前の特徴データを出力することを特徴とする請求項９〜１４のいずれかに記載の話者声質変換装置。
【請求項１６】
前記変換前話者の特徴データ空間をコードブック化して複数の領域に分割しておき、
前記制御部が、前記変換前話者の特徴データ空間にて、前記変換前話者が発話して得られた変換対象音声データを前記分析部に入力することにより得られた特徴データの近傍の特徴データを探す処理を行う場合、前記変換前話者が発話して得られた変換対象音声データを前記分析部に入力することにより得られた特徴データの属する領域またはその領域に近接する領域内に存在する特徴データのみとの間で距離計算を行うことを特徴とする請求項９〜１５のいずれかに記載の話者声質変換装置。
【請求項１７】
前記変換後話者の特徴データ空間をコードブック化して複数の領域に分割しておき、
前記制御部が、前記変換前話者が発話して得られた変換対象音声データを前記分析部に入力することにより得られた特徴データを、前記移動ベクトルに基づいて変換後話者の特徴データ空間に変換し、前記変換後話者の特徴データ空間に変換された特徴データに距離の近い変換後話者の特徴データを求める処理を行う場合、前記変換後話者の特徴データ空間に変換された特徴データの属する領域またはその領域に近接する領域内に存在する特徴データのみとの間で距離計算を行うことを特徴とする請求項９〜１６のいずれかに記載の話者声質変換装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は入力話者の音声を或る特定の話者の音声に変換して出力するための話者声質変換方法および話者声質変換装置に関する。
【０００２】
【従来の技術】
話者声質変換というのは、ある話者の入力音声を他の話者の音声の声質に変換して出力することである。この話者声質変換技術の一例を、図７を用いて説明する。
【０００３】
ここでは、話者Ａの音声を話者Ｂの音声に変換する例について説明する。まず、話者Ａと話者Ｂに、話者声質変換用の単語を幾つか発話してもらいその音声特徴データを得る。
【０００４】
図７は話者Ａと話者Ｂの音声特徴データ空間を示すもので、たとえば、話者声質変換用の単語として、「おはよう」、「ただいま」などの幾つかの単語について話者Ａと話者Ｂが発話して得られた各単語ごとの音声特徴ベクトル列が示されている。
【０００５】
これら各単語ごとの特徴ベクトル列はスペクトル包絡パラメータで表される特徴ベクトルで構成されている。この特徴ベクトルは、たとえば、話者Ａの発話した「おはよう」という単語について考えると、話者Ａの発話した音声をディジタル変換したあと、１フレームごとに（１フレームは２５msec程度、シフト量は１０msec）音声分析してその音声分析して得られたＬＰＣ（Ｌinear Ｐredictive Ｃoding）係数が一般的である。
【０００６】
このようにして、話者Ａが予め用意された話者声質変換用の幾つかの単語それぞれについて発話し、それぞれの単語ごとの特徴ベクトル列（以下、ＬＰＣ係数列という）を得る。同様に、話者Ａが発話する単語と同じ単語についてを話者Ｂが発話して、それぞれの単語ごとのＬＰＣ係数列を得る。
【０００７】
図７において、ＬＰＣ係数列Ａ１は話者Ａが発話して得られた「おはよう」のＬＰＣ係数列であるものとし、ＬＰＣ係数ａ１１，ａ１２，・・・，ａ１６で構成されているものとする。また、ＬＰＣ係数列Ａ２は話者Ａが発話して得られた「ただいま」のＬＰＣ係数列であるものとし、ＬＰＣ係数ａ２１，ａ２２，・・・，ａ２５で構成されているものとする。この話者Ａの特徴データ空間（以下、ＬＰＣ係数空間という）には、その他の話者声質変換用の幾つかの単語に対するそれぞれのＬＰＣ係数列が存在している。
【０００８】
同様に、ＬＰＣ係数列Ｂ１は話者Ｂが発話して得られた「おはよう」のＬＰＣ係数列であり、ＬＰＣ係数ｂ１１，ｂ１２，・・・，ｂ１６で構成されているものとする。また、ＬＰＣ係数列Ｂ２は話者Ｂが発話して得られた「ただいま」のＬＰＣ係数列であり、ＬＰＣ係数ｂ２１，ｂ２２，・・・，ｂ２７で構成されているものとする。この話者ＢのＬＰＣ係数空間には、話者ＡのＬＰＣ係数空間と同様、その他の話者声質変換用の幾つかの単語に対するそれぞれの特徴ベクトル列が存在している。
【０００９】
なお、この図７では図面を簡略化するために、４つの話者声質変換用の単語のＬＰＣ係数列Ａ１〜Ａ４、Ｂ１〜Ｂ４のみが示されているが、実際には、話者声質変換用の単語として用いられたすべてのＬＰＣ係数列が存在し、それぞれのＬＰＣ係数列を構成するＬＰＣ係数がそれぞれの空間内に多数散在することになる。
【００１０】
たとえば、話者声質変慣用の単語として５０単語用意されているとすれば、それぞれの単語に対応するＬＰＣ係数列が存在し、１つの単語が２５フレーム程度であるとすれば、１単語につき２５個のＬＰＣ係数で構成され、全体では、５０×２５＝１２５０のＬＰＣ係数が散在することになる。なお、図７では図面を簡略化するために１つの単語のＬＰＣ係数を数個程度としている。また、図中、それぞれの話者声質変換用の単語のＬＰＣ係数列を構成するＬＰＣ係数は、白丸で示されている。
【００１１】
また、話者声質変換用の単語としては、なるべく少ない単語数で幅広いＬＰＣ係数が得られるような単語が予め選ばれている。
【００１２】
そして、話者Ａの「おはよう」のＬＰＣ係数列を構成する各ＬＰＣ係数と話者Ｂの「おはよう」のＬＰＣ係数列を構成する各ＬＰＣ係数とをＤＰマッチングなどにより対応付けを行って、話者Ａの「おはよう」を構成する各ＬＰＣ係数に対するそれぞれの移動ベクトルを求めておく。同様にして、「おはよう」以外の話者声質変換用の各単語について話者Ａと話者Ｂのそれぞれの単語ごとにＬＰＣ係数を対応付けし、それぞれの単語を構成するＬＰＣ係数に対するそれぞれの移動ベクトルを求めておく。
【００１３】
今、話者声質変換用単語ではない単語、つまり、他の話者の音声に変換しようとする単語（これを変換対象単語という）として、たとえば「こんにちは」を話者Ａが発話すると、その変換対象単語をディジタル信号に変換した後、１フレームごとに音声分析して、そのフレームのＬＰＣ係数と１フレームを構成する幾つかの単位波形対応のパルス列を得る。そして、「こんにちは」の各フレームにおけるＬＰＣ係数がａｕ１，ａｕ２，・・・，ａｕ６であったとする。この変換対象単語のＬＰＣ係数は、図中、黒丸で示す。
【００１４】
この話者Ａの発話した変換対象単語のＬＰＣ係数列Ａｕが話者ＡのＬＰＣ係数空間上で図７に示すような位置であったとすると、それぞれのＬＰＣ係数に近い距離に位置する話者Ａの話者声質変換用単語のＬＰＣ係数を幾つか（ここでは、説明を簡単にするために３つとする）選ぶ。
【００１５】
この図７の場合、まず、変換対象単語の１フレーム目のＬＰＣ係数ａｕ１に近い３つのＬＰＣ係数を選ぶ。このとき選ばれた３つのＬＰＣ係数をａ１６，ａ２１，ａ３１とする。
【００１６】
ところで、これら選ばれた３つのＬＰＣ係数ａ１６，ａ２１，ａ３１は、前述したように、それぞれ話者ＢのＬＰＣ係数空間の対応するＬＰＣ係数に対する移動ベクトルが求められており、それぞれの移動ベクトルを、ｖ１，ｖ２，ｖ３とする。なお、この移動ベクトルは、対応づけられた話者ＡのＬＰＣ係数と話者ＢのＬＰＣ係数により、
移動ベクトル＝話者ＢのＬＰＣ係数−話者ＡのＬＰＣ係数・・・（１）
で求められる。
【００１７】
そして、これら選ばれた３つのＬＰＣ係数の移動ベクトルｖ１，ｖ２，ｖ３を用いて、変換対象単語における１フレーム目のＬＰＣ係数ａｕ１に対する移動ベクトルｖｕ１を求める。
【００１８】
この変換すべき単語における１フレーム目のＬＰＣ係数の移動ベクトルｖｕ１の求め方の一例としては、この場合、３つの移動ベクトルｖ１，ｖ２，ｖ３の平均を求めて、その平均値を変換すべき単語における１フレーム目のＬＰＣ係数の移動ベクトルｖｕ１とする。なお、この移動ベクトルｖｕ１は、距離に応じた重み付けを行って求めるようにしてもよい。
【００１９】
そして、求められた移動ベクトルｖｕ１を、変換対象単語における１フレーム目のＬＰＣ係数ａｕ１にプラスすることで話者ＢのＬＰＣ係数空間にマッピングし、そのマッピングされたＬＰＣ係数をｂｕ１とする。
【００２０】
以上の処理を各フレームごとに行い、各フレームごとの変換後のＬＰＣ係数を得る。このような処理を行うことにより、変換対象単語のＬＰＣ係数列Ａｕは変換後のＬＰＣ係数列Ｂｕに変換される。
【００２１】
また、変換後の各フレームのＬＰＣ係数と入力単語の音声から得られたパルス列を用いて音声合成すると、話者声質変換された音声が合成される。これにより、話者Ａが発話した「こんにちは」という単語が、話者Ａの抑揚を有し、話者Ｂの声質となって出力されることになる。
【００２２】
以上のように、話者Ａが発話して得られた各フレームごとのＬＰＣ係数を、話者ＢのＬＰＣ係数空間にマッピングすることにより、変換後の各ＬＰＣ係数が得られ、この変換後のＬＰＣ係数と話者Ａのパルス列を用いて音声合成すると、話者Ａが発話した単語が、話者Ａの抑揚を有し、声質は話者Ｂの声質となって出力されることになる。
【００２３】
【発明が解決しようとする課題】
しかしながら、以上説明したような方法での話者声質変換では、合成された音声の品質に問題が多い。つまり、従来の話者声質変換では、前述した例で説明すると、話者ＡのＬＰＣ係数を移動ベクトルを用いて話者ＢのＬＰＣ係数空間にマッピングする処理を行い、そのマッピングされたＬＰＣ係数を用いて音声合成を行うようにしている。
【００２４】
音声合成を行う際、その音声を構成するＬＰＣ係数列の中に、本来望ましい値から若干ずれたＬＰＣ係数が含まれていると、単位波形（音声は短い区間で観察すると数十msecほどの殆ど同じ波形の繰り返しとなっている。ここでは、繰り返される最小単位を単位波形と呼ぶことにする）が減衰せずに音が発散したり、異常音が混合したりして品質の悪い音声となる問題がある。
【００２５】
したがって、前述した従来の方法のように、移動ベクトルを用いて話者ＢのＬＰＣ係数空間にマッピングし、そのマッピングされたＬＰＣ係数を用いて音声合成を行う方法では、変換後のＬＰＣ係数は移動ベクトルによって大きく左右され、変換後のＬＰＣ係数として望ましい値からずれたものとなる場合もある。このように望ましい値からずれたＬＰＣ係数を用いて音声合成をすると、聴くに耐えられない音声となってしまう場合もある。
【００２６】
また、従来の方法では、移動ベクトルを用いて話者ＢのＬＰＣ係数空間にマッピングされたＬＰＣ係数を用いての音声合成であり、話者Ｂの音声そのものから得られたＬＰＣ係数を用いていないので、音声合成された声質は、変換すべき話者（この場合は話者Ｂ）の音声にかけ離れたものとなってしまうおそれもあり、良好な話者声質変換が行えないという問題もある。
【００２７】
さらに、従来の方法では、処理を行うためのアルゴリズムは計算量がきわめて多いという問題がある。つまり、従来の方法では、入力された単語の有る１つのＬＰＣ係数の移動ベクトルを求める際、話者ＡのＬＰＣ係数空間内において、変換対象単語のＬＰＣ係数に近い幾つかのＬＰＣ係数を見つける処理を行うが、その距離を求めるための計算量がきわめて多くなる。たとえば、話者声質変換用の単語として、前述したように、５０単語用意し、それぞれの単語のフレーム数が平均的に２５フレーム程度あるとすれば、ＬＰＣ係数空間には、１２５０個のＬＰＣ係数が存在することになり、この１２５０個のＬＰＣ係数すべてとの間で距離を求める必要が生じるため、計算量が多く処理に時間を要する問題がある。
【００２８】
そこで、本発明は、話者声質変換を行う際、変換後の音声を実用に十分耐えうる良好な音質とし、かつ、変換すべき声質に近い声質とすることを可能とし、加えて、計算量の大幅な削減を図れ処理の高速化を図ることを目的としている。
【００２９】
【課題を解決するための手段】
本発明の話者声質変換方法は、ある話者（変換前話者という）の音声を他の話者（変換後話者という）の音声の声質に変換する際に、変換前話者と変換後話者がそれぞれ発話する複数の話者声質変換用単語の音声データを所定時間のフレーム単位で分析してそれぞれのフレームごとに特徴データを求め、変換前話者の特徴データと変換後話者の特徴データとの対応付けを行い、その対応付けにより変換前話者のそれぞれの特徴データごとに変換後話者の対応する特徴データに対する移動ベクトルを求めておき、この移動ベクトルに基づいて変換前話者が発話して得られた変換対象音声の特徴データを変換後話者の特徴データ空間に変換して、変換後の特徴データを求め、その変換後の特徴データと前記変換前話者が発話して得られた変換対象音声データから得られる単位波形対応のパルス列とに基づいて音声合成を行う話者声質変換方法であって、まず、第１の手法として、前記変換前話者が発話して得られた変換対象音声の特徴データを、前記移動ベクトルに基づいて変換後話者の特徴データ空間に変換したとき、前記移動ベクトルに基づいて変換後話者の特徴データ空間に変換された特徴データに距離の近い変換後話者の特徴データを求め、求められた変換後話者の特徴データを、前記変換対象音声の変換後の特徴データとして用い、その変換後の特徴データと前記変換前話者の変換対象音声データから得られる単位波形対応のパルス列とを基に音声合成することを特徴としている。
【００３０】
また、本発明の話者声質変換方法は、第２の手法として、前記変換前話者が発話して得られた変換対象音声波形の単位波形ごとの波高値と、前記変換後の特徴データと前記変換前話者の変換対象音声データから得られる単位波形対応のパルス列とに基づいて音声合成された合成波形における単位波形ごとの波高値との比を求め、その比により得られた係数を前記単位波形対応のパルス列に乗算し、前記係数が乗算されたパルス列と前記変換後の特徴データとを用いて音声合成することを特徴としている。
【００３１】
また、本発明の話者声質変換方法は、第３の手法として、前記変換前話者が発話して得られた変換対象音声波形の或るフレームにおける単位波形対応のインパルス応答波形と、音声合成後の合成波形の前記或るフレームと同一フレームの単位波形対応のインパルス応答波形とを比較し、連続する数個のフレームに対応するそれぞれのインパルス応答波形の時間に対する変化量が一定以上の差を有する場合は、変換対象音声波形のインパルス応答波形の時間に対する変化量が一定以上の差を有するフレームの特徴データとして、当該フレームの前または後のフレームにおける変換後の特徴データを用い、この特徴データと前記変換前話者の変換対象音声データから得られる単位波形対応のパルス列とを基に音声合成することを特徴としている。
【００３２】
また、本発明の話者声質変換方法は、第４の手法として、前記変換前話者が発話した変換対象音声から得られるフレームごとの特徴データで構成される特徴データ列軌道と、各特徴データを前記移動ベクトルにより変換後話者の特徴データ空間に変換したときの特徴データ列軌道とを比較し、変換前の特徴データ列軌道および変換後の特徴データ列軌道それぞれにおいて、時間に対する特徴データの変化量を調べ、変換前の特徴データ列軌道に対して変換後の特徴データ列軌道の或るフレームに対応する特徴データに一定以上の変化があった場合、その一定以上の変化のあったフレームの変換前の特徴データに近い特徴データを持ったフレームを変換前のフレーム列の中から探し、そのフレームの特徴データに対する移動ベクトルを、前記一定以上の変化のあったフレームの変換前の特徴データの移動ベクトルとして用いて、変換後話者の特徴データ空間に変換し、変換後の特徴データを得て、この特徴データと前記変換前話者の変換対象音声データから得られる単位波形対応のパルス列とを基に音声合成することを特徴としている。
【００３３】
また、本発明の話者声質変換方法は、第５の手法（その１）として、前記移動ベクトルに基づいて変換前話者が発話して得られた変換対象音声の特徴データを変換後話者の特徴データ空間に変換する処理を行う際、変換前話者の特徴データ空間にて、変換前話者が発話して得られた変換対象音声データの或るフレームにおける特徴データの近傍の特徴データを探し、その近傍の特徴データに対する移動ベクトルを用いて変換対象音声の特徴データを変換後話者の特徴データ空間に変換する場合、近傍の特徴データまでの距離が所定の基準値以上か否かを判断し、その距離が基準値以上の場合は、前記変換対象音声の特徴データを変換後の特徴データとして用いることを特徴としている。
【００３４】
また、本発明の話者声質変換方法は、第５の手法（その２）として、前記変換前話者が発話して得られた変換対象音声の特徴データを、前記移動ベクトルに基づいて変換後話者の特徴データ空間に変換したとき、その変換された特徴データに距離の近い変換後話者の特徴データを求め、求められた変換後話者の特徴データを、変換後の特徴データとして用いる場合、前記距離が所定の基準値以上か否かを判断し、距離が基準値以上の場合は、前記変換対象音声の特徴データを変換後の特徴データとして用いることを特徴としている。
【００３５】
また、本発明の話者声質変換方法は、前記変換前話者の特徴データ空間にて、変換前話者が発話して得られた変換対象音声データの或るフレームにおける特徴データの近傍の特徴データを探す処理を行う場合、前記変換前話者の特徴データ空間をコードブック化して複数の領域に分割しておき、前記変換対象音声の特徴データの属する領域またはその領域に近接する領域内に存在する特徴データのみとの間で距離計算を行うことを特徴としている。
また、本発明の話者声質変換方法は、前記変換前話者が発話して得られた変換対象音声の特徴データを、前記移動ベクトルに基づいて変換後話者の特徴データ空間に変換したとき、その特徴データの近傍の変換後話者の特徴データを求める処理を行う場合、前記変換後話者の特徴データ空間をコードブック化して複数の領域に分割しておき、前記変換後話者の特徴データ空間に変換された特徴データの属する領域またはその領域に近接する領域内に存在する特徴データのみとの間で距離計算を行うことを特徴としている。
【００３６】
なお、本発明は以上の第１〜第５の手法はそれぞれを単独で採用してもよく、あるいは、第１〜第５の手法を任意に組み合わせることもかのうであり、さらに、すべてを組み合わせて処理するようにしてもよい。
【００３７】
また、本発明の話者声質変換装置は、ある話者（変換前話者という）の音声を他の話者（変換後話者という）の音声の声質に変換する話者声質変換装置であって、音声データを所定時間のフレーム単位で分析してそれぞれのフレームごとに特徴データと単位波形対応のパルスを出力する分析部と、前記変換前話者が複数の話者声質変換用単語を発話して得られた音声データを前記分析部に入力することにより得られた特徴データを記憶する変換前話者特徴データ記憶部と、前記変換後話者が複数の話者声質変換用単語を発話して得られた音声データを前記分析部に入力することにより得られた特徴データを記憶する変換後話者特徴データ記憶部と、前記変換前話者特徴データ記憶部に記憶された特徴データと、前記変換後話者特徴データ記憶部に記憶された特徴データとの対応付けを行い、その対応付けにより前記変換前話者の特徴データごとに前記変換後話者の対応する特徴データに対する移動ベクトルを求める手段と、前記変換前話者が発話して得られた変換対象音声データを前記分析部に入力することにより得られた特徴データを、前記移動ベクトルに基づいて変換後話者の特徴データ空間に変換し、前記変換後話者の特徴データ空間に変換された特徴データに距離の近い変換後話者の特徴データを求め、求められた変換後話者の特徴データを変換後の特徴データとして出力する制御部と、前記制御部から出力される特徴データと、前記分析部から出力される変換前話者の発話する変換対象音声データから得られた単位波形対応のパルス列とを基に音声合成する音声合成部と、を有することを特徴としている。
【００３９】
このような話者声質変換装置において、前記制御部は、前記変換前話者が発話して得られた変換対象音声波形の単位波形ごとの波高値と、前記変換後の特徴データと前記分析部から出力される変換前話者の発話する変換対象音声データから得られた単位波形対応のパルス列とに基づいて音声合成された合成波形における単位波形ごとの波高値との比を求め、その比により得られた係数を前記単位波形対応のパルス列に乗算し、係数が乗算されたパルス列と前記変換後の特徴データとを出力し、前記音声合成部は、前記制御部が出力した前記係数が乗算されたパルス列と前記変換後の特徴データとを基に音声合成するようにしている。
【００４０】
また、前記制御部は、前記変換前話者が発話して得られた変換対象音声波形の或るフレームにおける単位波形対応のインパルス応答波形と、音声合成後の合成波形の前記或るフレームと同一フレームの単位波形対応のインパルス応答波形とを比較し、連続する数個のフレームに対応するそれぞれのインパルス応答波形の時間に対する変化量が一定以上の差を有する場合は、変換対象音声波形のインパルス応答波形の時間に対する変化量が一定以上の差を有するフレームの特徴データとして、当該フレームの前または後のフレームにおける変換後の特徴データを出力するようにしている。
【００４１】
また、前記制御部は、前記変換前話者が発話した変換対象音声から得られるフレームごとの特徴データで構成される特徴データ列軌道と、各特徴データを前記移動ベクトルにより変換後話者の特徴データ空間に変換したときの特徴データ列軌道とを比較し、変換前の特徴データ列軌道および変換後の特徴データ列軌道それぞれにおいて、時間に対する特徴データの変化量を調べ、変換前の特徴データ列軌道に対して変換後の特徴データ列軌道の或るフレームに対応する特徴データに一定以上の変化があった場合、その一定以上の変化のあったフレームの変換前の特徴データに近い特徴データを持ったフレームを変換前のフレーム列の中から探し、そのフレームの特徴データに対する移動ベクトルを、前記一定以上の変化のあったフレームの変換前の特徴データの移動ベクトルとして用いるようにしている。
【００４２】
また、前記制御部は、前記変換前話者が発話して得られた変換対象音声データを前記分析部に入力することにより得られた特徴データを、前記移動ベクトルに基づいて変換後話者の特徴データ空間に変換する際、変換前話者の特徴データ空間にて、前記変換前話者が発話して得られた変換対象音声データを前記分析部に入力することにより得られた特徴データの近傍の特徴データを探し、その近傍の特徴データに対する移動ベクトルを用いて変換すべき特徴データを変換後話者の特徴データ空間に変換するようにしている。
また、前記制御部は、前記変換前話者が発話して得られた変換対象音声データを前記分析部に入力することにより得られた特徴データの近傍の特徴データまでの距離が所定の基準値以上の場合は、変換前の特徴データを変換後の特徴データとして用い、前記変換前の特徴データを出力するようにしている。
【００４３】
また、前記制御部は、前記変換前話者が発話して得られた変換対象音声データを前記分析部に入力することにより得られた特徴データを、前記移動ベクトルに基づいて変換後話者の特徴データ空間に変換し、前記変換後話者の特徴データ空間に変換された特徴データに距離の近い変換後話者の特徴データを求め、求められた変換後話者の特徴データを、変換後の特徴データとして用いる場合、前記距離が所定の基準値以上か否かを判断し、距離が基準値以上の場合は、変換前の前記特徴データを変換後の特徴データとして用い、前記変換前の特徴データを出力するようにしている。
【００４５】
また、前記変換前話者の特徴データ空間をコードブック化して複数の領域に分割しておき、前記制御部が、前記変換前話者の特徴データ空間にて、前記変換前話者が発話して得られた変換対象音声データを前記分析部に入力することにより得られた特徴データの近傍の特徴データを探す処理を行う場合、前記変換前話者が発話して得られた変換対象音声データを前記分析部に入力することにより得られた特徴データの属する領域またはその領域に近接する領域内に存在する特徴データのみとの間で距離計算を行うようにしている。
また、前記変換後話者の特徴データ空間をコードブック化して複数の領域に分割しておき、前記制御部が、前記変換前話者が発話して得られた変換対象音声データを前記分析部に入力することにより得られた特徴データを、前記移動ベクトルに基づいて変換後話者の特徴データ空間に変換し、前記変換後話者の特徴データ空間に変換された特徴データに距離の近い変換後話者の特徴データを求める処理を行う場合、前記変換後話者の特徴データ空間に変換された特徴データの属する領域またはその領域に近接する領域内に存在する特徴データのみとの間で距離計算を行うようにしている。
【００４６】
このように本発明は、幾つかの手法を用いて話者声質変換後の音声の品質を向上させるとともに、話者声質変換処理を行うためのアルゴリズムの計算量を削減しようとするものである。
【００４７】
まず、移動ベクトルに基づいて変換後話者の特徴データ空間に変換された特徴データに距離の近い変換後話者の特徴データを求め、求められた変換後話者の特徴データを、前記変換対象音声に対する変換後の特徴データとして用いることにより、変換後の特徴データは、変換後話者の特徴データそのものとなるので、変換後の話者により近い声質とすることができ、また、特徴データの値が発振を引き起こしたりするような不適切なものとなることが少ないので、音質の改善も図れ、耳障りな音となるのを防止することができる。
【００４８】
また、前記変換前話者が発話して得られた変換対象音声波形の単位波形に相当する区間ごとの波高値と、音声合成された合成波形における単位波形に相当する区間ごとの波高値との比を求め、その比により得られた係数を前記単位波形対応のパルスに乗算し、係数が乗算されたパルスと前記変換後の特徴データとを用いて音声合成するようにしているので、音声合成後のエンベローブに生じる凹凸を修正することができ、変換前話者が発話して得られた変換対象音声波形のエンベローブと音声合成後の合成波形のエンベローブを同じ様に滑らかなものとすることができる、これにより、喉に何かが絡まったようなゴロゴロした音声となるのを防止でき、良好な音質の音声とすることができる。
【００４９】
また、前記変換前話者が発話した変換対象音声波形の或るフレームにおける単位波形対応のインパルス応答波形と、音声合成後の合成波形の前記或るフレームと同一フレームの単位波形対応のインパルス応答波形とを比較し、連続する数個のフレームに対応するそれぞれのインパルス応答波形の時間に対する変化量が一定以上の差を有する場合は、変換対象音声波形のインパルス応答波形の特に大きく変化するフレームの特徴データとして、当該フレームの前または後のフレームにおける変換後の特徴データを用い、この特徴データと前記変換前話者の音声データから得られる単位波形対応のパルス列とを基に音声合成するようにしている。これは変換後の特徴データが不適切であるためであり、このような不適切な特徴データに対しては、前後のフレームのＬＰＣ係数を用いる。これによって、音声合成後の合成波形の或る一部が前後の波形と大きく異なるというようなことを防止でき、これによっても音質の改善を図ることができる。
【００５０】
また、前記変換前話者が発話した変換対象音声から得られるフレームごとの特徴データで構成される特徴データ列軌道と、各特徴データを前記移動ベクトルにより変換後話者の特徴データ空間に変換したときの特徴データ列軌道とを比較し、変換前の特徴データ列軌道および変換後の特徴データ列軌道それぞれにおいて、時間に対する特徴データの変化量を調べ、変換前の特徴データ列軌道に対して変換後の特徴データ列軌道の或るフレームに対応する特徴データに一定以上の変化があった場合、その一定以上の変化のあったフレームの変換前の特徴データに近い特徴データを持ったフレームを探し、そのフレームの特徴データに対する移動ベクトルを、前記一定以上変化したフレームの変換前の特徴データの移動ベクトルとして用いて、変換後話者の特徴データ空間に変換し、変換後の特徴データを得て、この特徴データと前記変換前話者の音声データから得られる単位波形対応のパルスとを基に音声合成するようにしている。これは前述同様、変換後の特徴データが不適切であるためであり、このような不適切な特徴データに対しては、前後のフレームの移動ベクトルを用いて変換後話者特徴データ区間に変換する。これによって、変換後の特徴データ列軌道が急激に変化することがなくなり、これによっても音質の改善を図ることができる。
【００５１】
また、前記移動ベクトルに基づいて変換前話者が発話する音声データを変換後話者の特徴データ空間に変換する処理を行う際、変換前話者の特徴データ空間において、変換前話者が発話する入力単語の特徴データに対する近傍の幾つかの特徴データとの距離の和が基準値以上であるか否かの判定を行うとともに、変換後話者の特徴データ空間において、変換後の特徴データと最近傍の特徴データとの距離が基準値以上であるか否かの判定を行う。そして、これらの２つの判定を行った結果、２つのうちいずれかの判定処理において基準値以上であると判定された場合は、その処理対象のフレームにおける変換後の特徴データとして、変換前話者が発話した音声の同じフレームの特徴データを用いる。このように、この第５の手法は、音声合成するために望ましい変換後のＬＰＣ係数が見つからないような場合には、変換後の特徴データとして原音声の特徴データを瞬間的にそのまま用いるようにする。これは、変換後話者の特徴データ空間で適切な特徴データが見つからない場合の処置である。適切な特徴データでない特徴データを用いて音声合成すると不自然な音質となるおそれがある。したがって、このような場合には、変換前の特徴データをそのまま用いる。これにより、適正でない値に変換された特徴データを用いて音声合成されたときに耳障りな合成音となるのを防止することができ、音質の改善が図れる。これは子音のように、特徴データの変動が大きい場合に特に有効となるものである。
【００５２】
また、本発明は、以上の各手法を単独で用いてもそれぞれの効果が得られるが、必要に応じて、幾つかを組み合わせるようにしてもよく、また、すべてを組み合わせるようにしてもよい。このように、それぞれの手法を組み合わせることによって、より一層の効果が得られる。
【００５３】
また、本発明では、変換前話者の特徴データ空間および変換後話者の特徴データ空間をそれぞれコードブック化して複数の領域に分割しておき、前記変換すべき音声の特徴データ近傍の特徴データを求める処理を行う際、前記変換すべき特徴データの属する領域またはその領域に近接する領域内に存在する特徴データのみとの間で距離計算を行うことにより、距離計算を行うための計算量を大幅に削減することができ、処理の高速化が図れる。
【００５４】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照しながら説明する。
【００５５】
本発明は、大きく分けると２つの要素を含む。その１つは話者声質変換後の合成音声の品質を向上させる手法であり、もう１つは、話者声質変換を行うためのアルゴリズムの計算量を削減する手法である。
【００５６】
（第１の実施の形態）
この第１の実施の形態では、話者声質変換後の合成音声の品質を向上させる手法について幾つかの具体例を用いて以下に説明する。
【００５７】
図１はその第１の手法を説明する図であり、ここで示される話者Ａと話者Ｂの音声データ空間は前述の従来技術で用いた図７と基本的には同じである。つまり、話者Ａが予め用意された話者声質変換用の幾つかの単語（５０単語程度）それぞれについて発話し、それぞれの単語ごとの特徴ベクトル列を得る。同様に、話者Ａが発話する単語と同じ単語についてを話者Ｂが発話して、それぞれの単語ごとのＬＰＣ係数列を得る。
【００５８】
図７において、ＬＰＣ係数列Ａ１は話者Ａが発話して得られた「おはよう」のＬＰＣ係数列であるものとし、ＬＰＣ係数ａ１１，ａ１２，・・・，ａ１６で構成されているものとする。また、ＬＰＣ係数列Ａ２は話者Ａが発話して得られた「ただいま」のＬＰＣ係数列であるものとし、ＬＰＣ係数ａ２１，ａ２２，・・・，ａ２７で構成されているものとする。この話者ＡのＬＰＣ係数空間には、その他の話者声質変換用の幾つかの単語に対するそれぞれのＬＰＣ係数列が存在している。
【００５９】
同様に、ＬＰＣ係数列Ｂ１は話者Ｂが発話して得られた「おはよう」のＬＰＣ係数列であり、ＬＰＣ係数ｂ１１，ｂ１２，・・・，ｂ１６で構成されているものとする。また、ＬＰＣ係数列Ｂ２は話者Ｂが発話して得られた「ただいま」のＬＰＣ係数列であり、ＬＰＣ係数ｂ２１，ｂ２２，・・・，ｂ２５で構成されているものとする。この話者ＢのＬＰＣ係数空間には、話者ＡのＬＰＣ係数空間と同様、その他の話者声質変換用の幾つかの単語に対するそれぞれのＬＰＣ係数列が存在している。
【００６０】
なお、この図１では図面を簡略化するために、４つの話者性変換用の単語のＬＰＣ係数列Ａ１〜Ａ４、Ｂ１〜Ｂ４のみが示されているが、実際には、話者声質変換用の単語として用いられたすべてのＬＰＣ係数列が有り、それぞれのＬＰＣ係数列を構成するＬＰＣ係数がそれぞれの空間内に多数散在することになる。
【００６１】
たとえば、話者声質変換用の単語として５０単語用意されているとすれば、それぞれの単語に対応する特徴ベクトル列が存在し、１つの単語が２５フレーム程度であるとすれば、１単語につき２５個のＬＰＣ係数で構成され、全体では、５０×２５＝１２５０のＬＰＣ係数が散在することになる。なお、図１では図面を簡略化するために１つの単語のＬＰＣ係数を数個程度としている。
【００６２】
また、話者声質変換用の単語としては、なるべく少ない単語数で幅広いＬＰＣ係数が得られるような単語が予め選ばれている。
【００６３】
そして、話者Ａの「おはよう」のＬＰＣ係数列を構成する各ＬＰＣ係数と話者Ｂの「おはよう」のＬＰＣ係数列を構成する各ＬＰＣ係数とをＤＰマッチングなどにより対応付けを行って、話者Ａの「おはよう」を構成する各ＬＰＣ係数に対するそれぞれの移動ベクトルを求めておく。同様にして、「おはよう」以外の話者声質変換用の各単語について話者Ａと話者Ｂのそれぞれの単語ごとにＬＰＣ係数を対応付けし、それぞれの単語を構成するＬＰＣ係数に対するそれぞれの移動ベクトルを求めておく。
【００６４】
今、話者Ａが変換対象単語（たとえば「こんにちは」）を発話すると、その変換対象単語をディジタル信号に変換した後、１フレームごとに音声分析して、そのフレームのＬＰＣ係数と１フレームを構成する幾つかの単位波形対応のパルス列を得る。そして、「こんにちは」の各フレームにおけるＬＰＣ係数がａｕ１，ａｕ２，・・・，ａｕ６であったとする。
【００６５】
この話者Ａの発話した変換対象単語の特徴ベクトル列Ａｕが話者ＡのＬＰＣ係数空間上で図１に示すような位置であったとすると、それぞれのＬＰＣ係数に近い距離に位置する話者Ａの話者声質変換用単語のＬＰＣ係数を幾つか（ここでは、説明を簡単にするために３つとする）選ぶ。
【００６６】
この図１の場合、まず、変換すべき入力単語の１フレーム目のＬＰＣ係数ａｕ１に近い３つのＬＰＣ係数を選ぶ。このとき選ばれた３つのＬＰＣ係数をａ１６，ａ２１，ａ３１とする。
【００６７】
ところで、これら選ばれた３つのＬＰＣ係数ａ１６，ａ２１，ａ３１は、前述したように、それぞれ話者ＢのＬＰＣ係数空間の対応するＬＰＣ係数に対する移動ベクトルが求められており、それぞれの移動ベクトルを、ｖ１，ｖ２，ｖ３とする。
【００６８】
そして、これら選ばれた３つのＬＰＣ係数の移動ベクトルｖ１，ｖ２，ｖ３とを用いて、変換対象単語における１フレーム目のＬＰＣ係数ａｕ１に対する移動ベクトルｖｕ１を求める。
【００６９】
この変換対象単語における１フレーム目のＬＰＣ係数の移動ベクトルｖｕ１の求め方の一例としては、この場合、３つの移動ベクトルｖ１，ｖ２，ｖ３の平均を求めて、その平均値を変換対象単語における１フレーム目のＬＰＣ係数の移動ベクトルｖｕ１とする。なお、この移動ベクトルｖｕ１は、単なる平均ではなく、変換対象入力単語の１フレーム目のＬＰＣ係数ａｕ１と、３つのＬＰＣ係数ａ１６，ａ２１，ａ３１とのそれぞれの距離に応じた重み付けを行って１フレーム目のＬＰＣ係数に対する移動ベクトルｖｕ１を求めるようにしてもよい。
【００７０】
そして、求められた移動ベクトルｖｕ１を、変換対象単語における１フレーム目のＬＰＣ係数ａｕ１にプラスすることで、話者ＢのＬＰＣ係数空間におけるＬＰＣ係数を得る。こうして求められた話者ＢのＬＰＣ係数空間におけるＬＰＣ係数をｂｕ１とする。
【００７１】
ここまでは従来の処理と同様である。本発明は、以上のようにして求められた話者ＢのＬＰＣ係数空間における話者Ａの発話した変換対象単語の各フレームごとのＬＰＣ係数に対し、以下のような処理を行う。
【００７２】
まず、１フレーム目のＬＰＣ係数ｂｕ１が求められると、このＬＰＣ係数ｂｕ１の近傍（この実施の形態では最も近い位置）に存在する話者ＢのＬＰＣ係数を距離計算によって求める。求められたＬＰＣ係数をｂ１０とする。
【００７３】
以上の処理を各フレームごとに行う。すなわち、話者ＡのＬＰＣ係数空間において、変換対象単語の２フレーム目のＬＰＣ係数ａｕ２に近い３つのＬＰＣ係数を選び、選ばれた３つのＬＰＣ係数のそれぞれの移動ベクトルを用いて、そのＬＰＣ係数ａｕ２に対する移動ベクトルｖｕ２を求める。
【００７４】
そして、求められた移動ベクトルｖｕ２を、そのＬＰＣ係数ａｕ２にプラスすることで、話者ＢのＬＰＣ係数空間におけるＬＰＣ係数を得る。こうして求められた話者Ｂの音声データ空間におけるＬＰＣ係数をｂｕ２とする。そして、話者ＢのＬＰＣ係数空間における２フレーム目のＬＰＣ係数ｂｕ２に最も近い話者ＢのＬＰＣ係数を距離計算によって求め、求められたＬＰＣ係数をｂ２０とする。
【００７５】
同様にして、３フレーム以降の話者ＡのＬＰＣ係数（ＬＰＣ係数ａｕ３，ａｕ４，ａｕ５）が、話者Ｂの音声データ空簡にそれぞれの移動ベクトルを用いてマッピングして得られたＬＰＣ係数（ＬＰＣ係数ｂｕ３，ｂｕ４，ｂｕ５）それぞれについて、それぞれのＬＰＣ係数ｂｕ３，ｂｕ４，ｂｕ５に最も近い話者ＢのＬＰＣ係数を求める。
【００７６】
以上のようにして求められた「こんにちは」に対する話者ＢのＬＰＣ係数空間におけるＬＰＣ係数列がｂｕ１０，ｂｕ２０，・・・，ｂｕ５０であるとする。
【００７７】
このＬＰＣ係数列ｂｕ１０，ｂｕ２０，・・・，ｂｕ５０は、話者Ａが発話した「こんにちは」という音声を、話者ＢのＬＰＣ係数空間に変換して得られたＬＰＣ係数列であり、このＬＰＣ係数列を構成するそれぞれのＬＰＣ係数ｂｕ１０，ｂｕ２０，・・・，ｂｕ５０は、もともと話者Ｂが、幾つかの話者声質変換用の単語について発話した音声から得られたＬＰＣ係数である。
【００７８】
このように、本発明では、話者Ａの音声のＬＰＣ係数を、移動ベクトルを用いて話者ＢのＬＰＣ係数空間にマッピングしたとき、そのマッピングして得られたＬＰＣ係数を話者ＢのＬＰＣ係数空間にもともと存在する話者ＢのＬＰＣ係数に変換するようにしている。
【００７９】
こうして得られた各フレームごとの変換後のＬＰＣ係数（話者ＢのＬＰＣ係数空間にもともと存在するＬＰＣ係数のいずれか）と、話者Ａが発話した変換対象音声の音声データから得られた単位波形対応のパルス列を用いて音声合成する。
【００８０】
このように、話者Ａの変換対象音声から得られたＬＰＣ係数を、話者ＢのＬＰＣ係数空間に変換した後の変換後のＬＰＣ係数は、もともと話者Ｂが、幾つかの話者声質変換用の単語について発話した音声から得られたＬＰＣ係数のうちのいずれかのＬＰＣ係数となる。したがって、変換後のＬＰＣ係数は音質に悪影響を与えるような値となることはなく、良好な音質が得られ、また、もともと話者Ｂの音声から得られたＬＰＣ係数を用いているので、話者声質変換も良好に行われる。
【００８１】
次に合成音声の品質改善のために本発明が行う第２の手法を説明する。
【００８２】
一般に、話者声質変換後に音声合成された波形のエンベローブ（包絡線）は、原波形（変換前の音声波形）のエンベローブに比べて滑らかさに欠けた凹凸の激しいものとなる傾向にある。図２（ａ）は原波形、同図（ｂ）は合成音声の波形を示すもので、原波形のエンベローブ１１は滑らかな曲線を描いているのに対し、合成音声では弦は径の同じ部分には無い急激に突出した部分ｐ１や急激に立ち下がった部分ｐ２などが存在し、これによりそのエンベローブ１２の凹凸が激しくなる。
【００８３】
このように、合成音声のエンベローブが滑らかでなく凹凸が激しいと、その音声は喉に何かが絡まったようなゴロゴロした音声（うがいをしながら喋ったときのような音声）となる。
【００８４】
これに対処するために、本発明では、以下のような処理を行う。
【００８５】
音声合成を行う場合、話者声質変換後のＬＰＣ係数と単位波形ごとのパルス列を用いて１フレーム単位で音声合成を行う。したがって、各フレームごとの単位波形ごとに原波形と音声合成後の波形の各単位波形ごとの最大波高値を求める。
【００８６】
図２（ａ）は話者の発話した或る単語の音声波形（原波形）を示すもので、同図（ｂ）は合成後の波形を示すものである。このような音声波形において、ある１フレームのそれぞれの単位波形に相当する区間ごとに最大波高値を求める。そして、それぞれの単位波形に相当する区間ごとに、
係数α＝原波形の最大波高値／合成波形の最大波高値・・・（２）
を求める。このようにして求められた係数αを用いて、その単位波形に対応するパルスをα倍する。そして、α倍されたパルスとそのフレームにおけるＬＰＣ係数を用いて再度音声合成を行う。
【００８７】
このような音声波形において、図２（ａ），（ｂ）に示す音声波形の或る１フレームについて考える。今、その１フレームを構成するそれぞれの単位波形に相当する区間をｘ１、ｘ２，ｘ３とすると、区間ｘ１における原波形の最大波高値と、区間ｘ１における合成波形の最大波高値を調べて、前記（２）式により係数α（α１とする）を求めたとき、係数α１＝0.5と求められたとする。つまり、区間ｘ１において、合成波形の最大波高値が原波形の最大波高値に対して２倍となっている部分が存在していることになる。したがって、これを補正するために、図２（ｃ）に示すように、区間ｘ１に対応するパルスＩＰ１の振幅をα１倍（0.5倍）する。なお、図２（ｃ）は図２（ａ），（ｂ）の或る１部（１フレームに相当する部分）を示すもので、図２（ｃ）の時間軸の単位と、図２（ａ），（ｂ）の時間軸の単位とは異なる。
【００８８】
同様にして、次に区間ｘ２における原波形の最大波高値と区間ｘ２における合成波形の最大波高値を調べて、前記（２）式により係数α（α２とする）を求めたとき、係数α２＝２と求められたとする。つまり、区間ｘ２において、合成波形の最大波高値が原波形の最大波高値に対して１／２倍となっている部分が存在していることになる。したがって、これを補正するために、区間ｘ２に対応するパルスＩＰ２の振幅をα２倍（２倍）する。
【００８９】
さらに、区間ｘ３における原波形の最大波高値と区間ｘ３における合成波形の最大波高値を調べて、前記（２）式により係数α（α３とする）を求めたとき、係数α２＝１と求められたとする。つまり、区間ｘ３においては、合成波形の最大波高値と原波形の最大波高値とが同じであるということであり、この場合は、区間ｘ３に対応するパルスＩＰ３の振幅をα３倍（１倍）する。
【００９０】
以上の処理を各フレーム単位に単位波形に相当する区間ごとに行い、それぞれの単位波形に対応するパルスの振幅をそれぞれの区間ごとに求められた係数αを用いて補正する。
【００９１】
このようにして補正されたパルス列を用いるとともに各フレームごとのＬＰＣ係数を用いて音声合成する。つまり、この第２の手法は、まず最初に、求められた各フレームごとのＬＰＣ係数とパルス列を用いて合成波形を作り、その合成波形と原波形を比較して、前記（２）式により各単位波形に相当する区間ごとの係数αを求める。そして、この係数αにより各単位波形対応のパルスの振幅を補正して、振幅が補正されたパルス列を作る。次に、この補正されたパルス列と各フレームごとのＬＰＣ係数を用いて音声合成する。
【００９２】
このような処理を行うことにより、合成された音声波形は、原波形と同じような滑らかな曲線を描くエンベローブを持つ波形とすることができる。これにより、喉に何かが絡まったようなゴロゴロした音声となるのを防止でき、良好な音質の音声とすることができる。
【００９３】
なお、この第２の手法は、前述した従来の話者声質変換処理にそのまま単独に用いても好結果が期待できるが、前記した第１の手法法を行って得られた合成波形に対して行えば、より一層、良好な話者声質変換が可能となるとともに、音質をより高品質なものとすることができる。
【００９４】
次に合成音声の品質改善のために本発明が行う第３の手法を説明する。
【００９５】
前述したように、話者Ａの音声から得られたＬＰＣ係数を、移動ベクトルを用いて話者Ｂの音声データ空間にマッピングして話者Ｂの音声データ空間上におけるＬＰＣ係数を求める場合、必ずしも適正なＬＰＣ係数が得られるとは限らず、むしろ、望ましくないＬＰＣ係数となってしまうことも多い。
【００９６】
このようなＬＰＣ係数よって音声合成された合成波形の各フレームごとのインパルス応答波形の時間に対する変化量（時間軸上で連続する２つのフレームのインパルス応答波形同志を重ねたときの縦軸方向の差の絶対値の合計）は、原波形のそれと比較したとき、極端なずれが生じている場合がある。
【００９７】
たとえば、原波形の各フレームごとのインパルス応答波形の時間に対する変化量がそれほど大きくないにも係わらず、図３（ａ）に示すように、合成波形の各フレームごとの単位波形対応のインパルス応答波形の時間に対する変化量が大きい場合がある。
【００９８】
図３（ａ）は音声合成後の１フレーム目、２フレーム目、３フレーム目、４フレーム目の各フレームにおける単位波形対応のインパルス応答波形ｈ１，ｈ２，ｈ３，ｈ４を示すもので、前後関係から判断して、明らかに３フレーム目のインパルス応答波形だけが他のフレームのインパルス応答波形に比べて大きく異なっていることがわかる。
【００９９】
このように、前後関係から判断してインパルス応答波形が前後のフレームのインパルス応答波形と明らかに異なっていると判断した場合には、本発明では、合成を行うためのＬＰＣ係数としては、その直前のフレームあるいは直後のフレームで用いたＬＰＣ係数を用いて音声合成を行うようにする。たとえば、直前のフレーム（２フレーム目）がＬＰＣ係数ｂｕ２を用いたとすると、インパルス応答波形が前後に比べて大きく変化した３フレーム目においても２フレーム目と同じＬＰＣ係数ｂｕ２を用いる。
【０１００】
このようにして、インパルス応答波形が前後に比べて大きく変化したフレームに対しては、そのフレームの直前あるいは直後のフレームで用いたＬＰＣ係数を用いて合成を行う。これにより、図３（ｂ）に示すように、３フレーム目のインパルス応答波形ｈ３は２フレーム目のインパルス応答波形ｈ２と同じような波形となり、全体的に、原波形に近い音声合成波形を得ることができ、良好な音質を得ることができる。
【０１０１】
また、この第３の方法の他の方法としては、前後関係から見て明らかに異なる波形があった場合、前後のフレームのインパルス応答波形の平均を計算し、その平均のインパルス応答波形で置き換えるようにしてもよい。このような処理を行うことによっても、全体的に、原波形に近い音声合成波形を得ることができ、良好な音質を得ることができる。
【０１０２】
なお、この第３の手法は、前述した従来の話者声質変換処理にそのまま単独で用いても良好な結果が得られるが、前述の第１の手法と組み合わせるようにしてもよく、また、第２の手法と組み合わせるようにしてよく、さらには、第１、第２の手法の両方とこの第３の手法すべてを組み合わせるようにしてもよい。
【０１０３】
次に合成音声の品質改善のために本発明が行う第４の手法を説明する。
【０１０４】
この第４の手法は、話者ＡのＬＰＣ係数空間におけるある変換対象単語のＬＰＣ係数列の軌道と、その変換対象単語のＬＰＣ係数を、話者ＢのＬＰＣ空間に変換後のＬＰＣ係数列の軌道とを比較したとき、変換後のＬＰＣ係数列の軌道に変換前のＬＰＣ係数列の軌道には無い凹凸があったときにこれを修正処理するものである。このように、変換後のＬＰＣ係数列の軌道に、変換前のＬＰＣ係数列の軌道には無い凹凸が存在すると、それにより合成された合成音は音質が劣化したものとなる。これに対処するため以下のような処理を行う。
【０１０５】
図４は話者Ａの発話したある変換対象単語から得られたＬＰＣ係数の軌道Ｌａと、そのＬＰＣ係数を話者ＢのＬＰＣ空間に変換した変換後のＬＰＣ係数の軌道Ｌｂを示すものである。図４からもわかるように一般に、変換後のＬＰＣ係数列の軌道Ｌｂと変換前のＬＰＣ係数の軌道Ｌａはある程度は異なるが、変換前のＬＰＣ係数列の軌道Ｌａには無い凸部５１が存在している。この凸部５１が音質の劣化に大きく影響するため、この部分を修正する必要がある。この修正処理について以下に説明する。なお、図４において白丸で示される点はそれぞれのＬＰＣ係数空間に存在する話者声質変換用単語のＬＰＣ係数の一部を示している。
【０１０６】
まず、時間に対するＬＰＣ係数の変化量（ベクトル量をスカラ量に変換）を変換前のＬＰＣ係数の軌道Ｌａと変換後のＬＰＣ係数の軌道Ｌｂからそれぞれ調べる。
【０１０７】
そして、両方の変化量の推移を調べ、極端な変化があった場合は、そのフレームについて次のような処理を行う。
【０１０８】
今、そのフレームをここでは３番目のフレームであるとする。そして、変換前のＬＰＣ係数列軌道Ｌａにおける３番目のフレームのＬＰＣ係数に近いＬＰＣ係数を持ったフレームを探す。その探索されたフレームが極端な変化のあったフレームの直前のフレーム（２番目のフレーム）であったとすると、その２番目のフレームのＬＰＣ係数に対する移動ベクトルを用いて変換前の３番目のフレームのＬＰＣ係数を、話者ＢのＬＰＣ係数空間にマッピングする。これを図４により説明する。
【０１０９】
つまり、変換前のＬＰＣ係数列軌道Ｌａを構成するＬＰＣ係数が、１フレーム目から順に、ａｕ１０，ａｕ２０，・・・，ａｕ７０であるとし、２番目のフレームのＬＰＣ係数の移動ベクトルをｖｕ２０とすれば、処理対象である３番目のフレームのＬＰＣ係数ａｕ３０に対しても、ＬＰＣ係数ａｕ２０の移動ベクトルｖｕ２０を用いて、話者ＢのＬＰＣ係数空間にマッピングする。
【０１１０】
このような処理を行うことにより、前後のフレームと大きくかけ離れた値となったフレームのＬＰＣ係数を補正することができ、局部的な軌道のずれを修正することができ、変換後の合成音の品質の向上することができる。
【０１１１】
なお、この第４の手法は、前述した従来の話者声質変換処理にそのまま単独で用いても良好な結果が得られるが、前述の第１〜第３の手法と任意に組み合わせるようにしてもよく、また、第１、第２、第３の手法のすべてとこの第４の手法を組み合わせるようにしてもよい。
【０１１２】
次に合成音声の品質改善のために本発明が行う第５の手法を説明する。
【０１１３】
この第５の手法は、特に子音部における変換後のＬＰＣ係数が大きく変化してしまうような場合に適した処理である。
【０１１４】
一般に、母音については、ＬＰＣ係数空間（この場合、話者ＢのＬＰＣ係数空間）に、変換後の音声として望ましいＬＰＣ係数が存在する場合が多いが、子音については望ましいＬＰＣ係数が存在しない場合も多い。このような場合、話者ＢのＬＰＣ係数空間で無理矢理に変換後のＬＰＣ係数を見つけ、そのＬＰＣ係数で音声合成を行うと不自然な合成音となるおそれがある。これに対処するために、以下の様な処理を行う。
【０１１５】
まず、前述の第１の手法を行う場合について説明する。この第１の手法は、話者ＡのＬＰＣ係数空間において、変換対象単語の或るフレームのＬＰＣ係数に近い３つのＬＰＣ係数を選び、選ばれた３つのＬＰＣ係数のそれぞれの移動ベクトルをもとに、変換すべき単語におけるそのＬＰＣ係数に対する移動ベクトルを求め、その求められた移動ベクトルを変換すべきＬＰＣ係数にプラスすることで話者ＢのＬＰＣ係数空間におけるＬＰＣ係数を得る。こうして求められた話者ＢのＬＰＣ係数空間におけるＬＰＣ係数に対し、最も近い話者ＢのＬＰＣ係数を距離計算によって求め、求められたＬＰＣ係数を変換後のＬＰＣ係数として用いる。
【０１１６】
このようにして変換後のＬＰＣ係数（話者Ｂがもともと発話して得られたＬＰＣ係数）を求めるが、この変換後のＬＰＣ係数を求める際、話者ＢのＬＰＣ係数空間における最近傍のＬＰＣ係数を変換後のＬＰＣ係数として採用する。このとき、最近傍とされるＬＰＣ係数が、変換後のＬＰＣ係数として望ましいものか否かを判定する必要がある。
【０１１７】
さらに、前段階の処理として、話者ＡのＬＰＣ係数空間において、変換対象単語の或るフレームのＬＰＣ係数に近い３つのＬＰＣ係数を選ぶ処理を行うが、この３つのＬＰＣ係数との距離が離れすぎていないかどうかの判定を行う必要もある。以下に、これらの判定方法を説明する。
【０１１８】
まず、第５の手法（その１）として、入力音声により得られたＬＰＣ係数と話者ＡのＬＰＣ係数空間における近傍の幾つかのＬＰＣ係数（この実施に形態では、３つのＬＰＣ係数）との距離を求める際、その距離が適正か否かを判定する。
【０１１９】
この判定方法としては、たとえば、図１に示されるように、変換すべき入力単語の１フレーム目のＬＰＣ係数をａｕ１としたとき、そのＬＰＣ係数に近い３つのＬＰＣ係数として、ａ１６，ａ２１，ａ３１が選ばれたとする。そして、ＬＰＣ係数ａｕ１とａ１６との距離がｄ１，ＬＰＣ係数ａｕ１とａ２１との距離がｄ２、ＬＰＣ係数ａｕ１とａ３１との距離がｄ３とすると、これらの距離の和（ｄ１＋ｄ２＋ｄ３）が予め求められている基準値より大きいか否かを調べる。
【０１２０】
この基準値は、他のフレームにおいて各フレームごとに既に求められた３つのＬＰＣ係数との距離の和の平均値を求め、その平均値に基づいて基準値を設定する。たとえば、平均値の５倍の距離を基準値として設定し、前述のそれぞれの距離の和がその基準値より大きいか否かを判定する。
【０１２１】
次に第５の手法（その２）について説明する。この第５の手法（その２）は、変換後のＬＰＣ係数を求める際、話者ＢのＬＰＣ係数空間における最近傍のＬＰＣ係数を変換後のＬＰＣ係数として採用するが、最近傍とされるＬＰＣ係数が、変換後のＬＰＣ係数として望ましいものか否かを判定する。
【０１２２】
この判定方法としては、たとえば、図１に示されるように、変換後の１フレーム目のＬＰＣ係数をｂｕ１としたとき、そのＬＰＣ係数に最近傍のＬＰＣ係数としてＬＰＣ係数ｂ１０が選ばれたとする。そして、ＬＰＣ係数ｂｕ１とｂ１０との距離がｄ１０とすると、この距離のｄ１０が予め求められている基準値より大きいか否かを調べる。
【０１２３】
この基準値は、既に変換されたフレームにおいて各フレームごとに求められたＬＰＣ係数と最近傍のＬＰＣ係数との距離の平均を求め、その平均値に基づいて基準値を設定する。たとえば、平均値の５倍の距離を基準値として設定し、前述の距離ｄ１０がその基準値より大きいか否かを判定する。
【０１２４】
このようにして、話者ＡのＬＰＣ係数空間において、話者Ａが発話する入力単語のＬＰＣ係数に対する近傍の幾つかのＬＰＣ係数との距離の和が基準値以上であるか否かの判定を行うとともに、話者ＢのＬＰＣ係数空間において、変換後のＬＰＣ係数と最近傍のＬＰＣ係数との距離が基準値以上であるか否かの判定を行う。
【０１２５】
そして、これらの２つの判定を行った結果、２つのうちいずれかの判定処理において基準値以上であると判定された場合は、その処理対象のフレームにおける変換後のＬＰＣ係数として、原音声（話者Ａが発話した音声）の同じフレームのＬＰＣ係数を用いる。
【０１２６】
たとえば、原音声の或るフレームのＬＰＣ係数を話者ＢのＬＰＣ係数空間にマッピングして、その最近傍として選ばれたＬＰＣ係数が、基準値以上であると判定された場合は、その最近傍のＬＰＣ係数を変換後のＬＰＣ係数として用いないで、原音声の同じフレームのＬＰＣ係数をそのまま変換後のＬＰＣ係数とし、そのＬＰＣ係数を用いて音声合成を行うようにする。
【０１２７】
また、話者ＡのＬＰＣ係数空間において、原音声の或るフレームのＬＰＣ係数とその近傍の幾つかのＬＰＣ係数を選ぶ際に、それらの距離の和が基準値以上であると判定された場合も、その原音声の同じフレームのＬＰＣ係数をそのまま変換後のＬＰＣ係数とし、そのＬＰＣ係数を用いて音声合成を行うようにする。
【０１２８】
このように、この第５の手法は、音声合成するために望ましい変換後のＬＰＣ係数が見つからないような場合の処理であり、ごく短い時間以内（50msec程度以内）でこのような状況が生じた場合、変換後のＬＰＣ係数として原音声のＬＰＣ係数を瞬間的にそのまま用いるようにする。
【０１２９】
このような処理は、子音において特に有効である。子音は波形が大きく変化するために、その中の瞬間的な１フレーム程度のＬＰＣ係数に、原音声のＬＰＣ係数をそのまま用いて音声合成しても、聴感上は殆ど問題とならない。むしろ、適正でない値に変換されたＬＰＣ係数を用いて音声合成すると、耳障りな合成音となる場合が多く、その方が問題である。
【０１３０】
以上、第１から第５の手法について説明したが、これらの方法を採用することにより、音質の改善が図れ（第１から第５の手法）、また、適正な話者声質変換が行える（特に第１の手法）。これにより、高品質な合成音を得ることができる。なお、これら、第１から第５の手法は、それらを単独で用いても効果が得られるが、使用する機器の特性などを考慮し、必要に応じて選択的に組み合わせてもよく、また、すべてを組み合わせるようにしてもよい。
【０１３１】
図５は以上説明した各種の手法を行うための装置構成例を示すもので、入力された音声をＡ／Ｄ変換するＡ／Ｄ変換部６１、Ａ／Ｄ変換された音声データを周波数分析する分析部６２、この分析部６２により得られたＬＰＣ係数を入力してそのＬＰＣ係数を話者声質変換するために前述したような種々の処理を行う話者声質変換制御部６３、この話者声質変換制御部６３からの変換後のＬＰＣ係数と前記分析部６２による分析結果から得られたパルス列を用いて音声合成する音声合成部６４、この音声合成部６４からの音声データをＤ／Ａ変換するＤ／Ａ変換部６５などから構成されている。
【０１３２】
前記話者声質変換制御部６３は、前述した第１〜第５の手法を予め設定された処理プログラムに基づいて行うもので、第１〜第５の手法を行うための処理プログラムを格納した第１〜第５の処理プログラム記憶部（ＲＯＭ）６３１〜６３５とこれらの処理プログラムに基づいた制御を行う制御部６３６、前述した話者ＡのＬＰＣ係数空間に対応する話者ＡのＬＰＣ係数記憶部６３７、前述した話者ＢのＬＰＣ係数空間に対応する話者ＢのＬＰＣ係数記憶部６３８、前記パルスをα倍する乗算部６３９などから構成されている。なお、乗算部６３９は第２の手法を行ったとき得られる係数αをパルスに掛け算するものであり、第２の手法を行わないときはα＝１としておく。
【０１３３】
前記第１の処理プログラム記憶部６３１には第１の手法を行うための処理プログラムが格納され、第２の処理プログラム記憶部６３２には第２の手法を行うための処理プログラムが格納され、第３の処理プログラム記憶部６３３には第３の手法を行うための処理プログラムが格納され、第４の処理プログラム記憶部６３４には第４の手法を行うための処理プログラムが格納され、第５の処理プログラム記憶部６３５には第５の手法を行うための処理プログラムが格納されている。
【０１３４】
このような構成において、前記第１〜第５の処理プログラム記憶部６３１〜６３５に基づいて制御部６３６が行う処理は、前述した通りであるので、ここでは、それらの処理についての説明は省略する。
【０１３５】
また、第１〜第５の処理プログラム記憶部６３１〜６３５はすべてを設けて、いずれか１つを選択して処理を行う用意してもよく、あるいは幾つかを組み合わせて処理を行うようにしてもよい。たとえば、本発明を適用する機器の特性などに応じて、第１の処理プログラム６３１のみを行わせたり、あるいは、第１の処理プログラムと第２の処理プロラムを行わせたりというように、その機器にとって必要とする処理を行うようにすることもできる。勿論、第１〜第５の処理プログラムすべてを行わせるようにしてもよい。また、機器によって必要な処理プログラムだけを設定するようにしてもよい。たとえば、前記した第１の手法のみを行わせればよい場合には、始めから第１の処理プログラムだけを搭載するということもできる。
【０１３６】
（第２の実施の形態）
前述した第１の実施の形態では、変換後のＬＰＣ係数を用いて音声合成する際の合成音声の品質向上を図る手法について説明したが、この第２の実施の形態では、処理を行うためのアルゴリズムの計算量を削減する手法について説明する。ここで削減しようとする計算量は、話者ＡのＬＰＣ係数空間において、話者Ａが発話した入力単語により得られたＬＰＣ係数の近傍の複数のＬＰＣ係数を見つけるための距離計算の計算量と、話者ＢのＬＰＣ係数空間において、最近傍のＬＰＣ係数を見つけるための距離計算の計算量である。
【０１３７】
たとえば、話者ＡのＬＰＣ係数区間において、幾つかの近傍のＬＰＣ係数を見つけるための距離計算は、前述の例では、話者Ａが発話して得られた音声データの１フレームごとに得られたＬＰＣ係数に対して、話者ＡのＬＰＣ係数空間に存在する千個以上のＬＰＣ係数すべてとの距離計算を行うことになり、膨大な計算量となる。これは話者ＢのＬＰＣ係数空間について最近傍のＬＰＣ係数を見つける場合も同様である。
【０１３８】
これに対処するために、この第２の実施の形態では、話者ＡのＬＰＣ係数空間および話者ＢのＬＰＣ係数空間をそれぞれコードブック化して分割し、その分割された領域内あるいは近接する領域内に存在するＬＰＣ係数のみを距離計算対象とする。
【０１３９】
まず、話者ＡのＬＰＣ係数空間および話者ＢのＬＰＣ係数空間をそれぞれコードブック化して幾つかの領域に分割しておく。このコードブック化する処理について図６を参照して簡単に説明する。ここでは、話者ＡのＬＰＣ係数空間を例にとって説明する。
【０１４０】
この話者ＡのＬＰＣ係数区間には、ここでは、５０単語×２５フレームの１２５０個のＬＰＣ係数が散在しているものとする（ＬＰＣ係数を点で示す）。まず、図６（ａ）に示すように、これらのＬＰＣ係数のうち、最も距離の遠い２つのＬＰＣ係数（ａ１、ａｚとする）を選び、他のＬＰＣ係数がこれら２つのどちらに近いかによって、２つのグループＧ１１，Ｇ１２に分割する（２つに分割する境界線を破線で示す）。これら２つのグループＧ１１，Ｇ１２において重心（ａｍ，ａｎとする）を求め、今度は、これらの重心のどちらに近いかによって、２つのグループに分ける。そして、新たなグループで重心を求め、それらのＬＰＣ係数のどちらに近いかによって２つのグループに分ける。このような処理を繰り返し行い、境界線が動かなくなる（収束する）まで行う。
【０１４１】
そして、図６（ｂ）の状態で収束したとすると、今度は、収束した状態の２つのグループ（Ｇ２１，Ｇ２２とする）それぞれに存在するＬＰＣ係数のなかで、最も距離の遠い２つのＬＰＣ係数をそれぞれ選び、他のＬＰＣ係数がこれら２つのどちらに近いかによって、２つのグループに分割する。たとえば、グループＧ２１について考えると、最も遠い２つのＬＰＣ係数を求めグループＧ２１の中のＬＰＣ係数がこれら２つのＬＰＣ係数の中でどちらに近いかで、２つのグループに分割する。そして、これら２つのグループにおいて重心のＬＰＣ係数を求め、今度は、これらの重心のどちらに近いかによって、２つのグループに分ける。そして、新たなグループで重心を求め、それらの重心のどちらに近いかによって２つのグループに分ける。このような処理を繰り返し行い、境界線が動かなくなる（収束する）まで行う。グループＧ２２についても同様の処理を行う。
【０１４２】
以上のような処理を繰り返し行うことで、それぞれのＬＰＣ係数空間は幾つかの領域に分割されて行く。実際のコードブックは、たとえば、２５６個というような領域に分割されたものとなるが、この実施の形態を行うには、数十の領域に分割すればよい。ただし、こここでは説明を簡単にするために、図６（ｃ）のように領域Ｚ１〜Ｚ８に分割されたものとする。
【０１４３】
本発明では、このようにコードブック化処理を行って分割された領域内あるいは近接する領域内に存在するＬＰＣ係数のみを距離計算対象とする。今、話者Ａの発話した音声の或るフレームのＬＰＣ係数ａｕ１が、たとえば、領域Ａ２内であったとすると、このＬＰＣ係数ａｕ１に対する幾つかの近傍点のＬＰＣ係数を見つける場合、その領域Ｚ２内あるいは、領域Ｚ２に近接する領域Ｚ１，Ｚ３内に存在するＬＰＣ係数のみを距離計算の対象とする。なお、このような処理は、話者ＢのＬＰＣ係数空間における最近傍のＬＰＣ係数を見つけるための処理にも適用する。
【０１４４】
このように限られた領域内に存在するＬＰＣ係数のみを距離計算の対象とすることにより、距離計算処理を大幅に削減することが可能となり、処理速度の高速化が図れる。
【０１４５】
この第２の実施の形態を行うための装置構成は、前述の第１の実施の形態にて説明した図５を用いることにより対応できる。ただし、この場合、話者ＡのＬＰＣ係数空間に対応する話者ＡのＬＰＣ係数記憶部６３７、話者ＢのＬＰＣ係数空間に対応する話者ＢのＬＰＣ係数記憶部６３８の内容を、それぞれコードブック化して幾つかの領域に分割しておき、入力音声から得られたＬＰＣ係数の領域内あるいは近接する領域内に存在するＬＰＣ係数のみを距離計算対象とするという処理を行う。
【０１４６】
なお、以上説明した実施の形態は、本発明の好適な実施の形態の例であるが、これに限定されるものではなく、本発明の要旨を逸脱しない範囲で、種々変形実施可能である。たとえば、前述の実施の形態では、特徴ベクトルとしてＬＰＣ係数を用いて話者声質変換を行ったが、これに限らず、ＰＡＲＣＯＲ係数でも同様の処理が可能である。また、本発明の処理を行う処理プログラムは、フロッピィディスク、光ディスク、ハードディスクなどの記憶媒体に記憶させておくことができ、本発明は、それらの記憶媒体をも含むものであり、また、ネットワークからデータを得る形式でもよい。
【０１４７】
【発明の効果】
以上説明したように本発明は、幾つかの手法を用いて話者声質変換後の合成音声の品質を向上させるとともに、話者声質変換処理を行うためのアルゴリズムの計算量を削減しようとするものである。
【０１４８】
まず、話者声質変換後の合成音声の品質改善を図るための第１の手法として、移動ベクトルに基づいて変換後話者の特徴データ空間に変換された特徴データに距離の近い変換後話者の特徴データを求め、求められた変換後話者の特徴データを、前記変換対象音声に対する変換後の特徴データとして用いるようにしている。これにより、変換後の特徴データは、変換後話者の特徴データそのものとなるので、変換後の話者により近い声質とすることができ、また、特徴データの値が発振を引き起こすような不適当なものとなることが少ないので、音質の改善も図れ、耳障りな音となるのを防止することができる。
【０１４９】
また、話者声質変換後の合成音声の品質改善を図るための第２の手法として、前記変換前話者が発話して得られた変換対象音声波形の単位波形に相当する区間ごとの波高値と、音声合成された合成波形における単位波形に相当する区間ごとの波高値との比を求め、その比により得られた係数を前記単位波形対応のパルス列に乗算し、係数が乗算されたパルス列と前記変換後の特徴データとを用いて音声合成するようにしているので、音声合成後のエンベローブに生じる凹凸を修正することができ、音声合成後の合成波形のエンベローブを変換前話者が発話して得られた音声波形のエンベローブと同じ様に滑らかなものとすることができる、これにより、喉に何かが絡まったようなゴロゴロした音声となるのを防止でき、良好な音質の音声とすることができる。
【０１５０】
また、話者声質変換後の合成音声の品質改善を図るための第３の手法として、前記変換前話者が発話した変換対象音声波形の或るフレームにおける単位波形対応のインパルス応答波形と、音声合成後の合成波形の前記フレームと同一フレームの単位波形対応のインパルス応答波形とを比較し、連続する数個のフレームに対応するそれぞれのインパルス応答波形の時間に対する変化量が一定以上の差を有する場合は、変換対象音声波形のインパルス応答波形の特に大きく変化するフレームの特徴データとして、当該フレームの前または後のフレームにおける変換後の特徴データを用い、この特徴データと前記変換前話者の変換対象音声データから得られる単位波形対応のパルス列とを基に音声合成するようにしている。これによって、音声合成後の合成波形が同じ時間軸上における前後のフレームの波形と大きく異なるというようなことがなくなり、これによっても音質の改善を図ることができる。
【０１５１】
また、話者性変換後の合成音声の品質改善を図るための第４の手法として、前記変換前話者が発話した変換対象音声から得られるフレームごとの特徴データで構成される特徴データ列軌道と、各特徴データを前記移動ベクトルにより変換後話者の特徴データ空間に変換したときの特徴データ列軌道とを比較し、変換前の特徴データ列軌道および変換後の特徴データ列軌道それぞれにおいて、時間に対する特徴データの変化量を調べ、変換前の特徴データ列軌道に対して変換後の特徴データ列軌道の特徴データに一定以上の変化があった場合、その一定以上の変化のあったフレームの変換前の特徴データに近い特徴データを持ったフレームを探し、そのフレームの特徴データに対する移動ベクトルを、前記一定以上変化したフレームの変換前の特徴データの移動ベクトルとして用いて、変換後話者の特徴データ空間に変換し、変換後の特徴データを得て、この特徴データと前記変換前話者の音声データから得られる単位波形対応のパルスとを基に音声合成するようにしている。これにより、変換後の特徴データが前後のフレームと大きくかけ離れた値となるのを防止でき、変換後の特徴データ列軌道が急激に変化することがなくなり、これによっても音質の改善を図ることができる。
【０１５２】
また、話者声質変換後の合成音声の品質改善を図るための第５の手法として、変換前話者の特徴データ空間において、変換前話者が発話する変換対象音声の特徴データに対する近傍の幾つかの特徴データとの距離の和が基準値以上であるか否かの判定を行うとともに、変換後話者のＬＰＣ係数空間において、変換後の特徴データと最近傍の特徴データとの距離が基準値以上であるか否かの判定を行う。そして、これらの２つの判定を行った結果、２つのうちいずれかの判定処理において基準値以上であると判定された場合は、その処理対象のフレームにおける変換後の特徴データとして、変換前話者が発話した変換対象音声の同じフレームの特徴データを用いる。このように、この第５の手法は、音声合成するために望ましい変換後のＬＰＣ係数が見つからないような場合には、変換後の特徴データとして原音声の特徴データを瞬間的にそのまま用いるようにする。これにより、適正でない値に変換されたＬＰＣ係数を用いて音声合成されたときに耳障りな合成音となるのを防止することができ、音質の改善が図れる。これは子音のように、特徴データの変動が大きい場合に特に有効となるものである。
【０１５３】
また、本発明は、以上の各手法を単独で用いてもそれぞれの効果が得られるが、必要に応じて、幾つかを任意に組み合わせるようにしてもよく、すべてを組み合わせるようにしてもよい。このように、それぞれの手法を組み合わせることによって、より一層の効果が得られる。
【０１５４】
また、本発明では、変換前話者の特徴データ空間および変換後話者の特徴データ空間をそれぞれコードブック化して複数の領域に分割しておき、前記変換対象音声の特徴データ近傍の特徴データを求める処理を行う際、前記変換すべき特徴データの属する領域またはその領域に近接する領域内に存在する特徴データのみとの間で距離計算を行うことにより、距離計算を行うための計算量を大幅に削減することができ、処理の高速化が図れる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態における第１の手法を、変換前話者（話者Ａ）のＬＰＣ係数空間と変換後話者（話者Ｂ）のＬＰＣ係数空間を用いて説明する図。
【図２】本発明の第１の実施の形態における第２の手法を、原波形と音声合成後の波形を用いて説明する図。
【図３】本発明の第１の実施の形態における第３の手法を、音声合成後の単位波形対応のインパルス応答波形を用いて説明する図。
【図４】本発明の第１の実施の形態における第４の手法を、変換前話者（話者Ａ）のＬＰＣ係数空間と変換後話者（話者Ｂ）のＬＰＣ係数空間におけるＬＰＣ係数列軌道を用いて説明する図。
【図５】本発明の第１の実施の形態を実現するための装置構成例を示すブロック図。
【図６】本発明の第２の実施の形態である計算量削減を行うために変換前話者（話者Ａ）のＬＰＣ係数空間および変換後話者（話者Ｂ）のＬＰＣ係数空間をコードブック化して領域に分割する処理を説明する図。
【図７】従来の話者声質変換処理を説明する手法を、変換前話者（話者Ａ）のＬＰＣ係数空間と変換後話者（話者Ｂ）のＬＰＣ係数空間を用いて説明する図。
【符号の説明】
Ａｕ  話者Ａによる変換対象単語のＬＰＣ係数列
ａｕ１，ａｕ２，・・・，ａｕ５  話者Ａの変換対象単語のＬＰＣ係数
ｂｕ１，ｂｕ２，・・・，ｂｕ５  変換対象単語の変換後のＬＰＣ係数
ｐ１，ｐ２  エンベローブの凹凸部
ｘ１，ｘ２，ｘ３  単位は径に相当する区間
Ｌａ  話者Ａの変換対象単語のＬＰＣ係数列軌道
Ｌｂ  変換対象単語の変換後のＬＰＣ係数列軌道
５１  ＬＰＣ係数列軌道における局部的な軌道のずれ
６１  Ａ／Ｄ変換部
６２  分析部
６３  話者声質変換制御部
６４  音声合成部
６５  Ｄ／Ａ変換部
６３１  第１の処理プログラム記憶部
６３２  第２の処理プログラム記憶部
６３３  第３の処理プログラム記憶部
６３４  第４の処理プログラム記憶部
６３５  第５の処理プログラム記憶部
６３６  制御部
６３７  話者ＡのＬＰＣ係数記憶部
６３８  話者ＢのＬＰＣ係数記憶部
６３９  乗算部（×α）
６４０
【図１】
0003695059.tif 000002
【図２】
0003695059.tif 000003
【図３】
0003695059.tif 000004
【図４】
0003695059.tif 000005
【図５】
0003695059.tif 000006
【図６】
0003695059.tif 000007
【図７】
0003695059.tif 000008