米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 楽器;音響 -> セイコーエプソン株式会社

発明の名称 話者音質変換方法および話者音質変換装置
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開平10−312195
公開日 平成10年(1998)11月24日
出願番号 特願平9−122711
出願日 平成9年(1997)5月13日
代理人 【弁理士】
【氏名又は名称】鈴木 喜三郎 (外2名)
発明者 相澤 直 / 長谷川 浩 / 稲積 満広 / 宮沢 康永
要約 目的


構成
特許請求の範囲
【請求項1】 ある話者(変換前話者という)の音声を他の話者(変換後話者という)の音声の声質に変換する際に、変換前話者と変換後話者がそれぞれ発話する複数の話者性変換用単語の音声データを所定時間のフレーム単位で分析してそれぞれのフレームごとに特徴データを求め、変換前話者特徴データと変換後話者の特徴データとの対応付けを行い、その対応付けにより変換前話者のそれぞれの特徴データごとに変換後話者の対応する特徴データに対する移動ベクトルを予め求めておき、この移動ベクトルに基づいて変換前話者が発話する変換対象音声を変換後話者の特徴データ空間に変換して、変換後の特徴データを求め、その変換後の特徴データと前記変換前話者の変換対象音声データから得られる単位波形対応のパルス列とに基づいて音声合成を行う話者声質変換方法において、前記変換前話者が発話する変換対象音声の特徴データを、前記移動ベクトルに基づいて変換後話者の特徴データ空間に変換したとき、前記移動ベクトルに基づいて変換後話者の特徴データ空間に変換された特徴データに距離の近い変換後話者の特徴データを求め、求められた変換後話者の特徴データを、前記変換対象音声の変換後特徴データとして用い、その変換後特徴データと前記変換前話者の変換対象音声データから得られる単位波形対応のインパルス列とを基に音声合成することを特徴とする話者声質変換方法。
【請求項2】 ある話者(変換前話者という)の音声を他の話者(変換後話者という)の音声の声質に変換する際に、変換前話者と変換後話者がそれぞれ発話する複数の話者性変換用単語の音声データを所定時間のフレーム単位で分析してそれぞれのフレームごとに特徴データを求め、変換前話者特徴データと変換後話者の特徴データとの対応付けを行い、その対応付けにより変換前話者のそれぞれの特徴データごとに変換後話者の対応する特徴データに対する移動ベクトルを予め求めておき、この移動ベクトルに基づいて変換前話者が発話する変換対象音声を変換後話者の特徴データ空間に変換して、変換後の特徴データを求め、その変換後の特徴データと前記変換前話者の変換対象音声データから得られる単位波形対応のパルス列とに基づいて音声合成を行う話者声質変換方法において、前記変換前話者が発話して得られた変換対象音声波形の単位波形ごとの波高値と、前記変換後の特徴データと前記変換前話者の発話した変換対象音声の分析結果から得られる単位波形対応のパルス列とに基づいて音声合成された合成波形における単位波形ごとの波高値との比を求め、その比により得られた係数を前記単位波形対応のパルス列に乗算し、係数が乗算されたパルス列と前記変換後の特徴データとを用いて音声合成することを特徴とする話者声質変換方法。
【請求項3】 前記変換対象音声に対する変換後の特徴データとして、変換前話者が発話する変換対象音声の特徴データを、前記移動ベクトルに基づいて変換後話者の特徴データ空間に変換したとき、前記移動ベクトルに基づいて変換後話者の特徴データ空間に変換された特徴データに距離の近い変換後話者の特徴データを求め、求められた変換後話者の特徴データを用いることを特徴とする請求項2記載の話者声質変換方法。
【請求項4】 ある話者(変換前話者という)の音声を他の話者(変換後話者という)の音声の声質に変換する際に、変換前話者と変換後話者がそれぞれ発話する複数の話者性変換用単語の音声データを所定時間のフレーム単位で分析してそれぞれのフレームごとに特徴データを求め、変換前話者特徴データと変換後話者の特徴データとの対応付けを行い、その対応付けにより変換前話者のそれぞれの特徴データごとに変換後話者の対応する特徴データに対する移動ベクトルを予め求めておき、この移動ベクトルに基づいて変換前話者が発話する変換対象音声を変換後話者の特徴データ空間に変換して、変換後の特徴データを求め、その変換後の特徴データと前記変換前話者の変換対象音声データから得られる単位波形対応のパルス列とに基づいて音声合成を行う話者声質変換方法において、前記変換前話者が発話した変換対象音声波形の或るフレームにおける単位波形対応のインパルス応答波形と、音声合成後の合成波形の前記或るフレームと同一フレームの単位波形対応のインパルス応答波形とを比較し、連続する数個のフレームに対応するそれぞれのインパルス応答波形の時間に対する変化量が一定以上の差を有する場合は、変換対象音声波形のインパルス応答波形の特に大きく変化するフレームの特徴データとして、当該フレームの前または後のフレームにおける変換後の特徴データを用い、この特徴データと前記変換前話者の変換対象音声データから得られる単位波形対応のパルス列とを基に音声合成することを特徴とする話者声質変換方法。
【請求項5】 前記変換対象音声に対する変換後の特徴データとして、変換前話者が発話する変換対象音声の特徴データを、前記移動ベクトルに基づいて変換後話者の特徴データ空間に変換したとき、前記移動ベクトルに基づいて変換後話者の特徴データ空間に変換された特徴データに距離の近い変換後話者の特徴データを求め、求められた変換後話者の特徴データを用いることを特徴とする請求項4記載の話者声質変換方法。
【請求項6】 前記変換前話者が発話して得られた変換対象音声波形の単位波形ごとの波高値と、前記変換後の特徴データと前記変換前話者の発話する変換対象音声の音声分析結果から得られる単位波形対応のパルス列とに基づいて音声合成された合成波形における単位波形ごとの波高値との比を求め、その比により得られた係数を前記単位波形対応のパルス列に乗算し、係数が乗算されたパルス列と前記変換後の特徴データとを用いて音声合成することを特徴とする請求項4または5記載の話者声質変換方法。
【請求項7】 ある話者(変換前話者という)の音声を他の話者(変換後話者という)の音声の声質に変換する際に、変換前話者と変換後話者がそれぞれ発話する複数の話者性変換用単語の音声データを所定時間のフレーム単位で分析してそれぞれのフレームごとに特徴データを求め、変換前話者特徴データと変換後話者の特徴データとの対応付けを行い、その対応付けにより変換前話者のそれぞれの特徴データごとに変換後話者の対応する特徴データに対する移動ベクトルを予め求めておき、この移動ベクトルに基づいて変換前話者が発話する変換対象音声を変換後話者の特徴データ空間に変換して、変換後の特徴データを求め、その変換後の特徴データと前記変換前話者の変換対象音声データから得られる単位波形対応のパルス列とに基づいて音声合成を行う話者声質変換方法において、変換前話者が発話した変換対象音声から得られるフレームごとの特徴データで構成される特徴データ列軌道と、各特徴データを前記移動ベクトルにより変換後話者の特徴データ空間に変換したときの特徴データ列軌道とを比較し、変換前の特徴データ列軌道および変換後の特徴データ列軌道それぞれにおいて、時間に対する特徴データの変化量を調べ、変換前の特徴データ列軌道に対して変換後の特徴データ列軌道の或るフレームに対応する特徴データに一定以上の変化があった場合、その一定以上の変化のあったフレームの変換前の特徴データに近い特徴データを持ったフレームを変換前のフレーム列の中から探し、そのフレームの特徴データに対する移動ベクトルを、前記一定以上変化したフレームの変換前の特徴データの移動ベクトルとして用いて、変換後話者の特徴データ空間に変換し、変換後の特徴データを得て、この特徴データと前記変換前話者の変換対象音声データから得られる単位波形対応のパルス列とを基に音声合成することをすることを特徴とする話者声質変換方法。
【請求項8】 前記変換対象音声に対する変換後の特徴データとして、変換前話者が発話する変換対象音声の特徴データを、前記移動ベクトルに基づいて変換後話者の特徴データ空間に変換したとき、前記移動ベクトルに基づいて変換後話者の特徴データ空間に変換された特徴データに距離の近い変換後話者の特徴データを求め、求められた変換後話者の特徴データを用いることを特徴とする請求項7記載の話者声質変換方法。
【請求項9】 前記変換前話者が発話して得られた変換対象音声波形の単位波形ごとの波高値と、前記変換後の特徴データと前記変換前話者の発話した変換対象音声の分析結果から得られる単位波形対応のパルス列とに基づいて音声合成された合成波形における単位波形ごとの波高値との比を求め、その比により得られた係数を前記単位波形対応のパルス列に乗算し、係数が乗算されたパルス列と前記変換後の特徴データとを用いて音声合成することを特徴とする請求項7または8記載の話者声質変換方法。
【請求項10】 前記変換前話者が発話した変換対象音声波形の或るフレームにおける単位波形対応のインパルス応答波形と、音声合成後の合成波形の前記或るフレームと同一フレームの単位波形対応のインパルス応答波形とを比較し、連続する数個のフレームに対応するそれぞれのインパルス応答波形の時間に対する変化量が一定以上の差を有する場合は、変換対象音声波形のインパルス応答波形の特に大きく変化するフレームの特徴データとして、当該フレームの前または後のフレームにおける変換後の特徴データを用い、この特徴データ列と前記変換前話者の変換対象音声データから得られる単位波形対応のパルス列とを基に音声合成することを特徴とする請求項7〜9のいずれかに記載の話者声質変換方法。
【請求項11】 ある話者(変換前話者という)の音声を他の話者(変換後話者という)の音声の声質に変換する際に、変換前話者と変換後話者がそれぞれ発話する複数の話者性変換用単語の音声データを所定時間のフレーム単位で分析してそれぞれのフレームごとに特徴データを求め、変換前話者特徴データと変換後話者の特徴データとの対応付けを行い、その対応付けにより変換前話者のそれぞれの特徴データごとに変換後話者の対応する特徴データに対する移動ベクトルを予め求めておき、この移動ベクトルに基づいて変換前話者が発話する変換対象音声を変換後話者の特徴データ空間に変換して、変換後の特徴データを求め、その変換後の特徴データと前記変換前話者の変換対象音声データから得られる単位波形対応のパルス列とに基づいて音声合成を行う話者声質変換方法において、前記移動ベクトルに基づいて変換前話者が発話する変換対象音声データを変換後話者の特徴データ空間に変換する処理を行う際、変換前話者の特徴データ空間にて、変換前話者が発話する変換対象音声データの或るフレームにおける特徴データの近傍の特徴データを探し、その近傍の特徴データに対する移動ベクトルを用いて変換対象特徴データを変換後話者の特徴データ空間に変換する場合、近傍の特徴データまでの距離が予め定めた基準値以上か否かを判断し、その距離が基準値以上の場合は、変換前の前記変換対象特徴データを変換後の特徴データとして用いることを特徴とする話者声質変換方法。
【請求項12】 前記変換対象音声に対する変換後の特徴データとして、変換前話者が発話する変換対象音声の特徴データを、前記移動ベクトルに基づいて変換後話者の特徴データ空間に変換したとき、前記移動ベクトルに基づいて変換後話者の特徴データ空間に変換された特徴データに距離の近い変換後話者の特徴データを求め、求められた変換後話者の特徴データを用いることを特徴とする請求項11記載の話者声質変換方法。
【請求項13】 前記変換前話者が発話して得られた変換対象音声波形の単位波形ごとの波高値と、前記変換後の特徴データと前記変換前話者の発話する変換対象音声の分析結果から得られる単位波形対応のパルス列とに基づいて音声合成された合成波形における単位波形ごとの波高値との比を求め、その比により得られた係数を前記単位波形対応のパルス列に乗算し、係数が乗算されたパルス列と前記変換後の特徴データとを用いて音声合成することを特徴とする請求項11または12記載の話者声質変換方法。
【請求項14】 前記変換前話者が発話した変換対象音声波形の或るフレームにおける単位波形対応のインパルス応答波形と、音声合成後の合成波形の前記或るフレームと同一フレームの単位波形対応のインパルス応答波形とを比較し、連続する数個のフレームに対応するそれぞれのインパルス応答波形の時間に対する変化量が一定以上の差を有する場合は、変換対象音声波形のインパルス応答波形の特に大きく変化するフレームの特徴データとして、当該フレームの前または後のフレームにおける変換後の特徴データを用い、この特徴データと前記変換前話者の発話する変換対象音声データから得られる単位波形対応のパルス列とを基に音声合成することを特徴とする請求項11〜13のいずれかに記載の話者声質変換方法。
【請求項15】 前記変換前話者が発話した変換対象音声から得られるフレームごとの特徴データで構成される特徴データ列軌道と、各特徴データを前記移動ベクトルにより変換後話者の特徴データ空間に変換したときの特徴データ列軌道とを比較し、変換前の特徴データ列軌道および変換後の特徴データ列軌道それぞれにおいて、時間に対する特徴データの変化量を調べ、変換前の特徴データ列軌道に対して変換後の特徴データ列軌道の或るフレームに対応する特徴データに一定以上の変化があった場合、その一定以上の変化のあったフレームの変換前の特徴データに近い特徴データを持ったフレームを変換前のフレーム列の中から探し、そのフレームの特徴データに対する移動ベクトルを、前記一定以上変化したフレームの変換前の特徴データの移動ベクトルとして用いて、変換後話者の特徴データ空間に変換し、変換後の特徴データを得て、この特徴データと前記変換前話者の発話する変換対象音声データから得られる単位波形対応のパルス列とを基に音声合成することをすることを特徴とする請求項11〜14のいずれかに記載の話者声質変換方法。
【請求項16】 ある話者(変換前話者という)の音声を他の話者(変換後話者という)の音声の声質に変換する際に、変換前話者と変換後話者がそれぞれ発話する複数の話者性変換用単語の音声データを所定時間のフレーム単位で分析してそれぞれのフレームごとに特徴データを求め、変換前話者特徴データと変換後話者の特徴データとの対応付けを行い、その対応付けにより変換前話者のそれぞれの特徴データごとに変換後話者の対応する特徴データに対する移動ベクトルを予め求めておき、この移動ベクトルに基づいて変換前話者が発話する変換対象音声を変換後話者の特徴データ空間に変換して、変換後の特徴データを求め、その変換後の特徴データと前記変換前話者の変換対象音声データから得られる単位波形対応のパルス列とに基づいて音声合成を行う話者声質変換方法において、前記変換前話者が発話する変換対象単語の特徴データを、前記移動ベクトルに基づいて変換後話者の特徴データ空間に変換したとき、その変換された特徴データに距離の近い変換後話者の特徴データを求め、求められた変換後話者の特徴データを、変換後の特徴データとして用いる場合、前記距離が予め定めた基準値以上か否かを判断し、距離が基準値以上の場合は、変換前の前記特徴データを変換後の特徴データとして用いることを特徴とする話者声質変換方法。
【請求項17】 前記変換前話者が発話して得られた変換対象音声波形の単位波形ごとの波高値と、前記変換後の特徴データと前記変換前話者が発話した変換対象音声の分析結果から得られる単位波形対応のパルス列とに基づいて音声合成された合成波形における単位波形ごとの波高値との比を求め、その比により得られた係数を前記単位波形対応のパルス列に乗算し、係数が乗算されたパルス列と前記変換後の特徴データとを用いて音声合成することを特徴とする請求項16記載の話者声質変換方法。
【請求項18】 前記変換前話者が発話した変換対象音声波形の或るフレームにおける単位波形対応のインパルス応答波形と、音声合成後の合成波形の前記或るフレームと同一フレームの単位波形対応のインパルス応答波形とを比較し、連続する数個のフレームに対応するそれぞれのインパルス応答波形の時間に対する変化量が一定以上の差を有する場合は、変換対象音声波形のインパルス応答波形の特に大きく変化するフレームの特徴データとして、当該フレームの前または後のフレームにおける変換後の特徴データを用い、この特徴データと前記変換前話者の変換対象音声データから得られる単位波形対応のパルス列とを基に音声合成することを特徴とする請求項16または17のいずれかに記載の話者声質変換方法。
【請求項19】 前記変換前話者が発話した変換対象音声から得られるフレームごとの特徴データで構成される特徴データ列軌道と、各特徴データを前記移動ベクトルにより変換後話者の特徴データ空間に変換したときの特徴データ列軌道とを比較し、変換前の特徴データ列軌道および変換後の特徴データ列軌道それぞれにおいて、時間に対する特徴データの変化量を調べ、変換前の特徴データ列軌道に対して変換後の特徴データ列軌道の或るフレームに対応する特徴データに一定以上の変化があった場合、その一定以上の変化のあったフレームの変換前の特徴データに近い特徴データを持ったフレームを変換前のフレーム列の中から探し、そのフレームの特徴データに対する移動ベクトルを、前記一定以上変化したフレームの変換前の特徴データの移動ベクトルとして用いて、変換後話者の特徴データ空間に変換し、変換後の特徴データを得て、この特徴データと前記変換前話者の変換対象音声データから得られる単位波形対応のパルス列とを基に音声合成することをすることを特徴とする請求項16〜18のいずれかに記載の話者声質変換方法。
【請求項20】 ある話者(変換前話者という)の音声を他の話者(変換後話者という)の音声の声質に変換する際に、変換前話者と変換後話者がそれぞれ発話する複数の話者性変換用単語の音声データを所定時間のフレーム単位で分析してそれぞれのフレームごとに特徴データを求め、変換前話者特徴データと変換後話者の特徴データとの対応付けを行い、その対応付けにより変換前話者のそれぞれの特徴データごとに変換後話者の対応する特徴データに対する移動ベクトルを予め求めておき、この移動ベクトルに基づいて変換前話者が発話する変換対象音声を変換後話者の特徴データ空間に変換して、変換後の特徴データを求め、その変換後の特徴データと前記変換前話者の変換対象音声データから得られる単位波形対応のパルス列とに基づいて音声合成を行う話者声質変換方法において、前記変換前話者の特徴データ空間にて、変換前話者が発話して得られた変換対象音声データの或るフレームにおける特徴データの近傍の特徴データを探し、その近傍の特徴データの移動ベクトルを用いて前記変換対象音声の特徴データを変換後話者の特徴データ空間に変換する際の近傍の特徴データを求める処理、または、前記変換前話者が発話して得られた変換対象音声の特徴データを、前記移動ベクトルに基づいて変換後話者の特徴データ空間に変換したとき、その特徴データの近傍の変換後話者の特徴データを求める処理を行う場合、前記変換前話者の特徴データ空間および変換後話者の特徴データ空間をそれぞれコードブック化して複数の領域に分割しておき、前記変換対象音声の特徴データ近傍の特徴データを求める際、前記変換対象特徴データの属する領域またはその領域に近接する領域内に存在する特徴データのみとの間で距離計算を行うことを特徴とする話者声質変換方法。
【請求項21】 ある話者(変換前話者という)の音声を他の話者(変換後話者という)の音声の声質に変換する際に、変換前話者と変換後話者がそれぞれ発話する複数の話者性変換用単語の音声データを所定時間のフレーム単位で分析してそれぞれのフレームごとに特徴データを求め、変換前話者特徴データと変換後話者の特徴データとの対応付けを行い、その対応付けにより変換前話者のそれぞれの特徴データごとに変換後話者の対応する特徴データに対する移動ベクトルを予め求めておき、この移動ベクトルに基づいて変換前話者が発話する変換対象音声を変換後話者の特徴データ空間に変換して、変換後の特徴データを求め、その変換後の特徴データと前記変換前話者の変換対象音声データから得られる単位波形対応のパルス列とに基づいて音声合成を行う話者声質変換装置において、前記変換対象音声データを所定時間のフレーム単位で分析してそれぞれのフレームごとに話者声質変換用特徴データと単位波形対応のパルスを出力する分析部と、前記変換前話者が複数の話者声質変換用音声を発話することにより得られたそれぞれの音声データを構成する各フレームごとの特徴データを記憶する変換前話者特徴データ記憶部と、前記変換後話者が複数の話者声質変換用音声を発話することにより得られたそれぞれの音声データを構成する各フレームごとの特徴データを記憶する変換後話者特徴データ記憶部と、話者声質変換による合成音の品質改善を行うための処理プログラムが格納される処理プログラム記憶部と、話者声質変換の全般的な処理および前記処理プログラム記憶部に格納された内容に基づく処理を行う制御部と、この制御部から出力される変換後の特徴データと、前記分析部から出力される変換前話者の発話する変換対象音声データから得られた単位波形対応のパルスとを基に音声合成する音声合成部と、を少なくとも有することを特徴とする話者声質変換装置。
【請求項22】 前記予め設定されたプログラムに従って制御部が行う処理は、前記分析部から出力される変換前話者が発話して得られた変換対象音声の特徴データを、前記移動ベクトルに基づいて変換後話者の特徴データ空間に変換する際、前記移動ベクトルに基づいて変換後話者の特徴データ空間に変換された特徴データに距離の近い変換後話者の特徴データを求め、求められた変換後話者の特徴データを変換後の特徴データとして前記音声合成部に出力することを特徴とする請求項21記載の話者声質変換装置。
【請求項23】 前記予め設定されたプログラムに従って制御部が行う処理は、変換対象音声に対する変換後の特徴データとして、前記変換前話者が発話して得られた変換対象音声波形の単位波形ごとの波高値と、前記変換後の特徴データと前記変換前話者の発話する変換対象音声の分析結果から得られる単位波形対応のパルス列とに基づいて音声合成された合成波形における単位波形ごとの波高値との比を求め、その比により得られた係数を前記単位波形対応のパルス列に乗算し、係数が乗算されたパルス列と前記変換後の特徴データとを前記音声合成部に出力することを特徴とする請求項21または22記載の話者声質変換装置。
【請求項24】 前記予め設定されたプログラムに従って制御部が行う処理は、前記変換前話者が発話した変換対象音声波形の或るフレームにおける単位波形対応のインパルス応答波形と、音声合成後の合成波形の前記或るフレームと同一フレームの単位波形対応のインパルス応答波形とを比較し、連続する数個のフレームに対応するそれぞれのインパルス応答波形の時間に対する変化量が一定以上の差を有する場合は、変換対象音声波形のインパルス応答波形の特に大きく変化するフレームの特徴データとして、当該フレームの前または後のフレームにおける変換後の特徴データを用い、この特徴データを前記音声合成部に出力することを特徴とする請求項21〜23のいずれかに記載の話者声質変換装置。
【請求項25】 前記予め設定されたプログラムに従って制御部が行う処理は、前記変換前話者が発話した変換対象音声から得られるフレームごとの特徴データで構成される特徴データ列軌道と、各特徴データを前記移動ベクトルにより変換後話者の特徴データ空間に変換したときの特徴データ列軌道とを比較し、変換前の特徴データ列軌道および変換後の特徴データ列軌道それぞれにおいて、時間に対する特徴データの変化量を調べ、変換前の特徴データ列軌道に対して変換後の特徴データ列軌道の或るフレームに対応する特徴データに一定以上の変化があった場合、その一定以上の変化のあったフレームの変換前の特徴データに近い特徴データを持ったフレームを変換前のフレーム列の中から探し、そのフレームの特徴データに対する移動ベクトルを、前記一定以上変化したフレームの変換前の特徴データの移動ベクトルとして用いて、変換後話者の特徴データ空間に変換し、変換後の特徴データを得て、この特徴データを前記音声合成部に出力することを特徴とする請求項21〜24のいずれかに記載の話者声質変換装置。
【請求項26】 前記予め設定されたプログラムに従って制御部が行う処理は、前記移動ベクトルに基づいて変換前話者が発話する変換対象音声データを変換後話者の特徴データ空間に変換する処理を行う際、変換前話者の特徴データ空間にて、変換前話者が発話する音声データの或るフレームにおける特徴データの近傍の特徴データを探し、その近傍の特徴データに対する移動ベクトルを用いて変換すべき特徴データを変換後話者の特徴データ空間に変換する場合、近傍の特徴データまでの距離が予め定めた基準値以上か否かを判断し、その距離が基準値以上の場合は、変換前の前記変換すべき特徴データを変換後の特徴データとして用い、その特徴データを前記音声合成部に出力することを特徴とする請求項21〜25のいずれかに記載の話者声質変換装置。
【請求項27】 前記予め設定されたプログラムに従って制御部が行う処理は、前記変換前話者が発話する変換対象単語の特徴データを、前記移動ベクトルに基づいて変換後話者の特徴データ空間に変換したとき、その変換された特徴データに距離の近い変換後話者の特徴データを求め、求められた変換後話者の特徴データを、変換後の特徴データとして用いる場合、前記距離が予め定めた基準値以上か否かを判断し、距離が基準値以上の場合は、変換前の前記特徴データを変換後の特徴データとして用い、その特徴データを前記音声合成部に出力することを特徴とする請求項22〜26のいずれかに記載の話者声質変換装置。
【請求項28】 ある話者(変換前話者という)の音声を他の話者(変換後話者という)の音声の声質に変換する際に、変換前話者と変換後話者がそれぞれ発話する複数の話者性変換用単語の音声データを所定時間のフレーム単位で分析してそれぞれのフレームごとに特徴データを求め、変換前話者特徴データと変換後話者の特徴データとの対応付けを行い、その対応付けにより変換前話者のそれぞれの特徴データごとに変換後話者の対応する特徴データに対する移動ベクトルを予め求めておき、この移動ベクトルに基づいて変換前話者が発話する変換対象音声を変換後話者の特徴データ空間に変換して、変換後の特徴データを求め、その変換後の特徴データと前記変換前話者の変換対象音声データから得られる単位波形対応のパルス列とに基づいて音声合成を行う話者声質変換装置において、前記変換対象音声データを所定時間のフレーム単位で分析してそれぞれのフレームごとに話者声質変換用特徴データと単位波形対応のパルスを出力する分析部と、前記変換前話者が複数の話者声質変換用音声を発話することにより得られたそれぞれの音声データを構成する各フレームごとの特徴データを記憶する変換前話者特徴データ記憶部と、前記変換後話者が複数の話者声質変換用音声を発話することにより得られたそれぞれの音声データを構成する各フレームごとの特徴データを記憶する変換後話者特徴データ記憶部と、話者声質変換による合成音の品質改善を行うための処理プログラムが格納される処理プログラム記憶部と、話者声質変換の全般的な処理および前記処理プログラム記憶部に格納された内容に基づく処理を行う制御部と、この制御部から出力される変換後の特徴データと、前記分析部から出力される変換前話者の変換対象音声データから得られた単位波形対応のパルスとを基に音声合成する音声合成部と、を少なくとも有し、前記制御部が、前記変換前話者特徴データ記憶部に記憶されている変換前話者の特徴データ空間にて、変換前話者が発話して得られた変換対象音声データの或るフレームにおける特徴データの近傍の特徴データを探し、その近傍の特徴データの移動ベクトルを用いて前記変換対象音声の特徴データを変換後話者の特徴データ空間に変換する際の近傍の特徴データを求める処理、または、前記変換前話者が発話して得られた変換対象音声の特徴データを、前記移動ベクトルに基づいて変換後話者の特徴データ空間に変換したとき、その特徴データの近傍の変換後話者の特徴データを求める処理を行う場合、前記変換前話者の特徴データ空間および変換後話者の特徴データ空間をそれぞれコードブック化して複数の領域に分割しておき、前記変換対象音声の特徴データ近傍の特徴データを求める処理を行う際、前記変換対象特徴データの属する領域またはその領域に近接する領域内に存在する特徴データのみとの間で距離計算を行うことを特徴とする話者声質変換装置。
発明の詳細な説明
【0001】
【発明の属する技術分野】本発明は入力話者の音声を或る特定の話者の音声に変換して出力するための話者声質変換方法および話者声質変換装置に関する。
【0002】
【従来の技術】話者声質変換というのは、ある話者の入力音声を他の話者の音声の声質に変換して出力することである。この話者声質変換技術の一例を、図7を用いて説明する。
【0003】ここでは、話者Aの音声を話者Bの音声に変換する例について説明する。まず、話者Aと話者Bに、話者声質変換用の単語を幾つか発話してもらいその音声特徴データを得る。
【0004】図7は話者Aと話者Bの音声特徴データ空間を示すもので、たとえば、話者声質変換用の単語として、「おはよう」、「ただいま」などの幾つかの単語について話者Aと話者Bが発話して得られた各単語ごとの音声特徴ベクトル列が示されている。
【0005】これら各単語ごとの特徴ベクトル列はスペクトル包絡パラメータで表される特徴ベクトルで構成されている。この特徴ベクトルは、たとえば、話者Aの発話した「おはよう」という単語について考えると、話者Aの発話した音声をディジタル変換したあと、1フレームごとに(1フレームは25msec程度、シフト量は10msec)音声分析してその音声分析して得られたLPC(Linear PredictiveCoding)係数が一般的である。
【0006】このようにして、話者Aが予め用意された話者声質変換用の幾つかの単語それぞれについて発話し、それぞれの単語ごとの特徴ベクトル列(以下、LPC係数列という)を得る。同様に、話者Aが発話する単語と同じ単語についてを話者Bが発話して、それぞれの単語ごとのLPC係数列を得る。
【0007】図7において、LPC係数列A1は話者Aが発話して得られた「おはよう」のLPC係数列であるものとし、LPC係数a11,a12,・・・,a16で構成されているものとする。また、LPC係数列A2は話者Aが発話して得られた「ただいま」のLPC係数列であるものとし、LPC係数a21,a22,・・・,a25で構成されているものとする。この話者Aの特徴データ空間(以下、LPC係数空間という)には、その他の話者声質変換用の幾つかの単語に対するそれぞれのLPC係数列が存在している。
【0008】同様に、LPC係数列B1は話者Bが発話して得られた「おはよう」のLPC係数列であり、LPC係数b11,b12,・・・,b16で構成されているものとする。また、LPC係数列B2は話者Bが発話して得られた「ただいま」のLPC係数列であり、LPC係数b21,b22,・・・,b27で構成されているものとする。この話者BのLPC係数空間には、話者AのLPC係数空間と同様、その他の話者声質変換用の幾つかの単語に対するそれぞれの特徴ベクトル列が存在している。
【0009】なお、この図7では図面を簡略化するために、4つの話者声質変換用の単語のLPC係数列A1〜A4、B1〜B4のみが示されているが、実際には、話者声質変換用の単語として用いられたすべてのLPC係数列が存在し、それぞれのLPC係数列を構成するLPC係数がそれぞれの空間内に多数散在することになる。
【0010】たとえば、話者声質変慣用の単語として50単語用意されているとすれば、それぞれの単語に対応するLPC係数列が存在し、1つの単語が25フレーム程度であるとすれば、1単語につき25個のLPC係数で構成され、全体では、50×25=1250のLPC係数が散在することになる。なお、図7では図面を簡略化するために1つの単語のLPC係数を数個程度としている。また、図中、それぞれの話者声質変換用の単語のLPC係数列を構成するLPC係数は、白丸で示されている。
【0011】また、話者声質変換用の単語としては、なるべく少ない単語数で幅広いLPC係数が得られるような単語が予め選ばれている。
【0012】そして、話者Aの「おはよう」のLPC係数列を構成する各LPC係数と話者Bの「おはよう」のLPC係数列を構成する各LPC係数とをDPマッチングなどにより対応付けを行って、話者Aの「おはよう」を構成する各LPC係数に対するそれぞれの移動ベクトルを求めておく。同様にして、「おはよう」以外の話者声質変換用の各単語について話者Aと話者Bのそれぞれの単語ごとにLPC係数を対応付けし、それぞれの単語を構成するLPC係数に対するそれぞれの移動ベクトルを求めておく。
【0013】今、話者声質変換用単語ではない単語、つまり、他の話者の音声に変換しようとする単語(これを変換対象単語という)として、たとえば「こんにちは」を話者Aが発話すると、その変換対象単語をディジタル信号に変換した後、1フレームごとに音声分析して、そのフレームのLPC係数と1フレームを構成する幾つかの単位波形対応のパルス列を得る。そして、「こんにちは」の各フレームにおけるLPC係数がau1,au2,・・・,au6であったとする。この変換対象単語のLPC係数は、図中、黒丸で示す。
【0014】この話者Aの発話した変換対象単語のLPC係数列Auが話者AのLPC係数空間上で図7に示すような位置であったとすると、それぞれのLPC係数に近い距離に位置する話者Aの話者声質変換用単語のLPC係数を幾つか(ここでは、説明を簡単にするために3つとする)選ぶ。
【0015】この図7の場合、まず、変換対象単語の1フレーム目のLPC係数au1に近い3つのLPC係数を選ぶ。このとき選ばれた3つのLPC係数をa16,a21,a31とする。
【0016】ところで、これら選ばれた3つのLPC係数a16,a21,a31は、前述したように、それぞれ話者BのLPC係数空間の対応するLPC係数に対する移動ベクトルが求められており、それぞれの移動ベクトルを、v1,v2,v3とする。なお、この移動ベクトルは、対応づけられた話者AのLPC係数と話者BのLPC係数により、 移動ベクトル=話者BのLPC係数−話者AのLPC係数・・・(1)
で求められる。
【0017】そして、これら選ばれた3つのLPC係数の移動ベクトルv1,v2,v3を用いて、変換対象単語における1フレーム目のLPC係数au1に対する移動ベクトルvu1を求める。
【0018】この変換すべき単語における1フレーム目のLPC係数の移動ベクトルvu1の求め方の一例としては、この場合、3つの移動ベクトルv1,v2,v3の平均を求めて、その平均値を変換すべき単語における1フレーム目のLPC係数の移動ベクトルvu1とする。なお、この移動ベクトルvu1は、距離に応じた重み付けを行って求めるようにしてもよい。
【0019】そして、求められた移動ベクトルvu1を、変換対象単語における1フレーム目のLPC係数au1にプラスすることで話者BのLPC係数空間にマッピングし、そのマッピングされたLPC係数をbu1とする。
【0020】以上の処理を各フレームごとに行い、各フレームごとの変換後のLPC係数を得る。このような処理を行うことにより、変換対象単語のLPC係数列Auは変換後のLPC係数列Buに変換される。
【0021】また、変換後の各フレームのLPC係数と入力単語の音声から得られたパルス列を用いて音声合成すると、話者声質変換された音声が合成される。これにより、話者Aが発話した「こんにちは」という単語が、話者Aの抑揚を有し、話者Bの声質となって出力されることになる。
【0022】以上のように、話者Aが発話して得られた各フレームごとのLPC係数を、話者BのLPC係数空間にマッピングすることにより、変換後の各LPC係数が得られ、この変換後のLPC係数と話者Aのパルス列を用いて音声合成すると、話者Aが発話した単語が、話者Aの抑揚を有し、声質は話者Bの声質となって出力されることになる。
【0023】
【発明が解決しようとする課題】しかしながら、以上説明したような方法での話者声質変換では、合成された音声の品質に問題が多い。つまり、従来の話者声質変換では、前述した例で説明すると、話者AのLPC係数を移動ベクトルを用いて話者BのLPC係数空間にマッピングする処理を行い、そのマッピングされたLPC係数を用いて音声合成を行うようにしている。
【0024】音声合成を行う際、その音声を構成するLPC係数列の中に、本来望ましい値から若干ずれたLPC係数が含まれていると、単位波形(音声は短い区間で観察すると数十msecほどの殆ど同じ波形の繰り返しとなっている。ここでは、繰り返される最小単位を単位波形と呼ぶことにする)が減衰せずに音が発散したり、異常音が混合したりして品質の悪い音声となる問題がある。
【0025】したがって、前述した従来の方法のように、移動ベクトルを用いて話者BのLPC係数空間にマッピングし、そのマッピングされたLPC係数を用いて音声合成を行う方法では、変換後のLPC係数は移動ベクトルによって大きく左右され、変換後のLPC係数として望ましい値からずれたものとなる場合もある。このように望ましい値からずれたLPC係数を用いて音声合成をすると、聴くに耐えられない音声となってしまう場合もある。
【0026】また、従来の方法では、移動ベクトルを用いて話者BのLPC係数空間にマッピングされたLPC係数を用いての音声合成であり、話者Bの音声そのものから得られたLPC係数を用いていないので、音声合成された声質は、変換すべき話者(この場合は話者B)の音声にかけ離れたものとなってしまうおそれもあり、良好な話者声質変換が行えないという問題もある。
【0027】さらに、従来の方法では、処理を行うためのアルゴリズムは計算量がきわめて多いという問題がある。つまり、従来の方法では、入力された単語の有る1つのLPC係数の移動ベクトルを求める際、話者AのLPC係数空間内において、変換対象単語のLPC係数に近い幾つかのLPC係数を見つける処理を行うが、その距離を求めるための計算量がきわめて多くなる。たとえば、話者声質変換用の単語として、前述したように、50単語用意し、それぞれの単語のフレーム数が平均的に25フレーム程度あるとすれば、LPC係数空間には、1250個のLPC係数が存在することになり、この1250個のLPC係数すべてとの間で距離を求める必要が生じるため、計算量が多く処理に時間を要する問題がある。
【0028】そこで、本発明は、話者声質変換を行う際、変換後の音声を実用に十分耐えうる良好な音質とし、かつ、変換すべき声質に近い声質とすることを可能とし、加えて、計算量の大幅な削減を図れ処理の高速化を図ることを目的としている。
【0029】
【課題を解決するための手段】本発明の話者声質変換方法は、或る話者(変換前話者という)の音声を他の話者(変換後話者という)の音声の声質に変換する際に、変換前話者と変換後話者がそれぞれ発話する複数の話者性変換用単語の音声データを所定時間のフレーム単位で分析してそれぞれのフレームごとに特徴データを求め、変換前話者特徴データと変換後話者の特徴データとの対応付けを行い、その対応付けにより変換前話者のそれぞれの特徴データごとに変換後話者の対応する特徴データに対する移動ベクトルを予め求めておき、この移動ベクトルに基づいて変換前話者が発話する変換対象音声を変換後話者の特徴データ空間に変換して、変換後の特徴データを求め、その変換後の特徴データと前記変換前話者の変換対象音声データから得られる単位波形対応のパルス列とに基づいて音声合成を行う話者声質変換方法において、まず、第1の手法として、前記変換前話者が発話する変換対象音声の特徴データを、前記移動ベクトルに基づいて変換後話者の特徴データ空間に変換したとき、前記移動ベクトルに基づいて変換後話者の特徴データ空間に変換された特徴データに距離の近い変換後話者の特徴データを求め、求められた変換後話者の特徴データを、前記変換すべき音声の変換後特徴データとして用い、その変換後特徴データと前記変換前話者の変換対象音声データから得られる単位波形対応のパルス列とを基に音声合成することを特徴としている。
【0030】また、本発明の話者声質変換方法は、第2の手法として、前記変換前話者が発話して得られた変換対象音声波形の単位波形ごとの波高値と、前記変換後の特徴データと前記変換前話者の発話する変換対象音声の分析結果から得られる単位波形対応のパルス列とに基づいて音声合成された合成波形における単位波形ごとの波高値との比を求め、その比により得られた係数を前記単位波形対応のパルス列に乗算し、係数が乗算されたパルス列と前記変換後の特徴データとを用いて音声合成することを特徴としている。
【0031】また、本発明の話者声質変換方法は、第3の手法として、前記変換前話者が発話した変換対象音声波形の或るフレームにおける単位波形対応のインパルス応答波形と、音声合成後の合成波形の前記或るフレームと同一フレームの単位波形対応のインパルス応答波形とを比較し、連続する数個のフレームに対応するそれぞれのインパルス応答波形の時間に対する変化量が一定以上の差を有する場合は、変換対象音声波形のインパルス応答波形の特に大きく変化するフレームの特徴データとして、当該フレームの前または後のフレームにおける変換後の特徴データを用い、この特徴データと前記変換前話者の変換対象音声データから得られる単位波形対応のパルス列とを基に音声合成することを特徴としている。
【0032】また、本発明の話者声質変換方法は、第4の手法として、変換前話者が発話した変換対象音声から得られるフレームごとの特徴データで構成される特徴データ列軌道と、各特徴データを前記移動ベクトルにより変換後話者の特徴データ空間に変換したときの特徴データ列軌道とを比較する。そして、変換前の特徴データ列軌道および変換後の特徴データ列軌道それぞれにおいて、時間に対する特徴データの変化量を調べ、変換前の特徴データ列軌道に対して変換後の特徴データ列軌道の或るフレームに対応する特徴データに一定以上の変化があった場合、その一定以上の変化のあったフレームの変換前の特徴データに近い特徴データを持ったフレームを変換前のフレーム列の中から探し、そのフレームの特徴データに対する移動ベクトルを、前記一定以上変化したフレームの変換前の特徴データの移動ベクトルとして用いて、変換後話者の特徴データ空間に変換し、変換後の特徴データを得る。そして、この特徴データと前記変換前話者の音声データから得られる単位波形対応のパルス列とを基に音声合成することを特徴としている。
【0033】また、本発明の話者声質変換方法は、第5の手法(その1)として、前記移動ベクトルに基づいて変換前話者が発話して得られた変換対象音声データを変換後話者の特徴データ空間に変換する処理を行う際、変換前話者の特徴データ空間にて、変換前話者が発話する変換対象音声データの或るフレームにおける特徴データの近傍の特徴データを探し、その近傍の特徴データに対する移動ベクトルを用いて変換すべき特徴データを変換後話者の特徴データ空間に変換する場合、近傍の特徴データまでの距離が予め定めた基準値以上か否かを判断し、その距離が基準値以上の場合は、変換前の前記変換すべき特徴データを変換後の特徴データとして用いることを特徴としている。
【0034】また、本発明の話者声質変換方法は、第5の手法(その2)として、前記変換前話者が発話する変換対象単語の特徴データを、前記予め求められた移動ベクトルに基づいて変換後話者の特徴データ空間に変換したとき、前記予め求められた移動ベクトルに基づいて変換後話者の特徴データ空間に変換された特徴データに距離の近い変換後話者の特徴データを求め、求められた変換後話者の特徴データを、変換後の特徴データとして用いる場合、前記距離が予め定めた基準値以上か否かを判断し、距離が基準値以上の場合は、変換前の前記変換対象特徴データを変換後の特徴データとして用いることを特徴としている。
【0035】また、本発明の話者声質変換方法は、前記変換前話者の特徴データ空間にて、変換前話者が発話して得られた変換対象音声データの或るフレームにおける特徴データの近傍の特徴データを探し、その近傍の特徴データの移動ベクトルを用いて前記変換対象音声の特徴データを変換後話者の特徴データ空間に変換する際の近傍の特徴データを求める処理、または、前記変換前話者が発話して得られた変換対象音声の特徴データを、前記移動ベクトルに基づいて変換後話者の特徴データ空間に変換したとき、その特徴データの近傍の変換後話者の特徴データを求める処理を行う場合、前記変換前話者の特徴データ空間および変換後話者の特徴データ空間をそれぞれコードブック化して複数の領域に分割しておき、前記変換対象音声の特徴データ近傍の特徴データを求める際、前記変換対象特徴データの属する領域またはその領域に近接する領域内に存在する特徴データのみとの間で距離計算を行うことを特徴としている。
【0036】なお、本発明は以上の第1〜第5の手法はそれぞれを単独で採用してもよく、あるいは、第1〜第5の手法を任意に組み合わせることもかのうであり、さらに、すべてを組み合わせて処理するようにしてもよい。
【0037】また、本発明の話者声質変換装置は、ある話者(変換前話者という)の音声を他の話者(変換後話者という)の音声の声質に変換する際に、変換前話者と変換後話者がそれぞれ発話する複数の話者性変換用単語の音声データを所定時間のフレーム単位で分析してそれぞれのフレームごとに特徴データを求め、変換前話者特徴データと変換後話者の特徴データとの対応付けを行い、その対応付けにより変換前話者のそれぞれの特徴データごとに変換後話者の対応する特徴データに対する移動ベクトルを予め求めておき、この移動ベクトルに基づいて変換前話者が発話する変換対象音声を変換後話者の特徴データ空間に変換して、変換後の特徴データを求め、その変換後の特徴データと前記変換前話者の変換対象音声データから得られる単位波形対応のパルス列とに基づいて音声合成を行う話者声質変換装置において、前記変換対象音声データを所定時間のフレーム単位で分析してそれぞれのフレームごとに話者声質変換用特徴データと、単位波形対応のパルス列を出力する分析部と、前記変換前話者が複数の話者声質変換用音声を発話することにより得られたそれぞれの音声を構成する各フレームごとの特徴データを記憶する変換前話者特徴データ記憶部と、前記変換後話者が複数の話者声質変換用音声を発話することにより得られたそれぞれの音声を構成する各フレームごとの特徴データを記憶する変換後話者特徴データ記憶部と、話者声質変換による合成音の品質改善を行うための処理プログラムが格納される処理プログラム記憶部と、話者声質変換の全般的な処理および前記処理プログラム記憶部に格納された内容に基づく処理を行う制御部と、この制御部から出力される変換後の特徴データと、前記分析部から出力される変換前話者の変換対象音声データから得られた単位波形対応のパルス列とを基に音声合成する音声合成部とを少なくとも有することを特徴としている。
【0038】このような話者声質変換装置において、前記予め設定されたプログラムに従って制御部が行う処理は、前記分析部から出力される変換前話者が発話して得られた変換対象音声の特徴データを、前記移動ベクトルに基づいて変換後話者の特徴データ空間に変換する際、前記移動ベクトルに基づいて変換後話者の特徴データ空間に変換された特徴データに距離の近い変換後話者の特徴データを求め、求められた変換後話者の特徴データを変換後の特徴データとして前記音声合成部に出力するようにしている。
【0039】また、前記予め設定された処理プログラムに従って制御部が行う処理は、変換対象音声に対する変換後の特徴データとして、前記変換前話者が発話して得られた変換対象音声波形の単位波形ごとの波高値と、前記変換後の特徴データと前記変換前話者の発話する変換対象音声の分析結果から得られる単位波形対応のパルス列とに基づいて音声合成された合成波形における単位波形ごとの波高値との比を求め、その比により得られた係数を前記単位波形対応のパルス列に乗算し、係数が乗算されたパルス列と前記変換後の特徴データとを前記音声合成部に出力するようにしている。
【0040】また、前記予め設定された処理プログラムに従って制御部が行う処理は、前記変換前話者が発話した変換対象音声波形の或るフレームにおける単位波形対応のインパルス応答波形と、音声合成後の合成波形の前記或るフレームと同一フレームの単位波形対応のインパルス応答波形とを比較し、連続する数個のフレームに対応するそれぞれのインパルス応答波形の時間に対する変化量が一定以上の差を有する場合は、変換対象音声波形のインパルス応答波形の特に大きく変化するフレームの特徴データとして、当該フレームの前または後のフレームにおける変換後の特徴データを用い、この特徴データを前記音声合成部に出力するようにしている。
【0041】また、前記予め設定された処理プログラムに従って制御部が行う処理は、前記変換前話者が発話した変換対象音声から得られるフレームごとの特徴データで構成される特徴データ列軌道と、各特徴データを前記移動ベクトルにより変換後話者の特徴データ空間に変換したときの特徴データ列軌道とを比較し、変換前の特徴データ列軌道および変換後の特徴データ列軌道それぞれにおいて、時間に対する特徴データの変化量を調べ、変換前の特徴データ列軌道に対して変換後の特徴データ列軌道の或るフレームに対応する特徴データに一定以上の変化があった場合、その一定以上の変化のあったフレームの変換前の特徴データに近い特徴データを持ったフレームを変換前のフレーム列の中から探し、そのフレームの特徴データに対する移動ベクトルを、前記一定以上変化したフレームの変換前の特徴データの移動ベクトルとして用いて、変換後話者の特徴データ空間に変換し、変換後の特徴データを得て、この特徴データを前記音声合成部に出力するようにしている。
【0042】また、前記予め設定された処理プログラムに従って制御部が行う処理は、前記移動ベクトルに基づいて変換前話者が発話する変換対象音声データを変換後話者の特徴データ空間に変換する処理を行う際、変換前話者の特徴データ空間にて、変換前話者が発話する音声データの或るフレームにおける特徴データの近傍の特徴データを探し、その近傍の特徴データに対する移動ベクトルを用いて変換すべき特徴データを変換後話者の特徴データ空間に変換する場合、近傍の特徴データまでの距離が予め定めた基準値以上か否かを判断し、その距離が基準値以上の場合は、変換前の前記変換すべき特徴データを変換後の特徴データとして用い、その特徴データを前記音声合成部に出力するようにしている。
【0043】また、前記予め設定された処理プログラムに従って制御部が行う処理は、前記変換前話者が発話する変換対象単語の特徴データを、前記予め求められた移動ベクトルに基づいて変換後話者の特徴データ空間に変換したとき、前記予め求められた移動ベクトルに基づいて変換後話者の特徴データ空間に変換された特徴データに距離の近い変換後話者の特徴データを求め、求められた変換後話者の特徴データを、変換後の特徴データとして用いる場合、前記距離が予め定めた基準値以上か否かを判断し、距離が基準値以上の場合は、変換前の前記変換対象特徴データを変換後の特徴データとして用い前記変換後の特徴データとして、変換前話者が発話する変換すべき単語の特徴デ、その特徴データを前記音声合成部に出力するようにしている。
【0044】なお、このような話者声質変換装置において、処理プログラム記憶部は前記したすべての処理を行うためのそれぞれの処理プログラムすべてを格納して、いずれか1つを選択して処理を行うようにしてもよく、あるいは幾つかを組み合わせて処理を行うようにしてもよく、すべての処理プログラムを行わせるようにしてもよい。また、必要な処理プログラムだけを持つようにしてもよい。
【0045】また、前記した話者声質変換装置において、前記変換対象音声データを所定時間のフレーム単位で分析してそれぞれのフレームごとに話者声質変換用特徴データと、単位波形対応のパルスを出力する分析部と、前記変換前話者が複数の話者声質変換用音声を発話することにより得られたそれぞれの音声を構成する各フレームごとの特徴データを記憶する変換前話者特徴データ記憶部と、前記変換後話者が複数の話者声質変換用音声を発話することにより得られたそれぞれの音声を構成する各フレームごとの特徴データを記憶する変換後話者特徴データ記憶部と、話者声質変換による合成音の品質改善を行うための処理プログラムが格納される処理プログラム記憶部と、話者声質変換の全般的な処理および前記処理プログラム記憶部に格納された内容に基づく処理を行う制御部と、この制御部から出力される変換後の特徴データと、前記分析部から出力される変換前話者の変換対象音声データから得られた単位波形対応のパルス列とを基に音声合成する音声合成部とを少なくとも有し、前記制御部が、前記変換前話者特徴データ記憶部に記憶されている変換前話者の特徴データ空間にて、変換前話者が発話して得られた変換対象音声データの或るフレームにおける特徴データの近傍の特徴データを探し、その近傍の特徴データの移動ベクトルを用いて前記変換すべき音声の特徴データを変換後話者の特徴データ空間に変換する際の近傍の特徴データを求める処理、または、前記変換前話者が発話して得られた変換対象音声の特徴データを、前記移動ベクトルに基づいて変換後話者の特徴データ空間に変換したとき、その特徴データの近傍の変換後話者の特徴データを求める処理を行う場合、前記変換前話者の特徴データ空間および変換後話者の特徴データ空間をそれぞれコードブック化して複数の領域に分割しておき、前記変換対象音声の特徴データ近傍の特徴データを求める処理を行う際、前記変換対象特徴データの属する領域またはその領域に近接する領域内に存在する特徴データのみとの間で距離計算を行うようにすることを特徴としている。
【0046】このように本発明は、幾つかの手法を用いて話者声質変換後の音声の品質を向上させるとともに、話者声質変換処理を行うためのアルゴリズムの計算量を削減しようとするものである。
【0047】まず、移動ベクトルに基づいて変換後話者の特徴データ空間に変換された特徴データに距離の近い変換後話者の特徴データを求め、求められた変換後話者の特徴データを、前記変換対象音声に対する変換後の特徴データとして用いることにより、変換後の特徴データは、変換後話者の特徴データそのものとなるので、変換後の話者により近い声質とすることができ、また、特徴データの値が発振を引き起こしたりするような不適切なものとなることが少ないので、音質の改善も図れ、耳障りな音となるのを防止することができる。
【0048】また、前記変換前話者が発話して得られた変換対象音声波形の単位波形に相当する区間ごとの波高値と、音声合成された合成波形における単位波形に相当する区間ごとの波高値との比を求め、その比により得られた係数を前記単位波形対応のパルスに乗算し、係数が乗算されたパルスと前記変換後の特徴データとを用いて音声合成するようにしているので、音声合成後のエンベローブに生じる凹凸を修正することができ、変換前話者が発話して得られた変換対象音声波形のエンベローブと音声合成後の合成波形のエンベローブを同じ様に滑らかなものとすることができる、これにより、喉に何かが絡まったようなゴロゴロした音声となるのを防止でき、良好な音質の音声とすることができる。
【0049】また、前記変換前話者が発話した変換対象音声波形の或るフレームにおける単位波形対応のインパルス応答波形と、音声合成後の合成波形の前記或るフレームと同一フレームの単位波形対応のインパルス応答波形とを比較し、連続する数個のフレームに対応するそれぞれのインパルス応答波形の時間に対する変化量が一定以上の差を有する場合は、変換対象音声波形のインパルス応答波形の特に大きく変化するフレームの特徴データとして、当該フレームの前または後のフレームにおける変換後の特徴データを用い、この特徴データと前記変換前話者の音声データから得られる単位波形対応のパルス列とを基に音声合成するようにしている。これは変換後の特徴データが不適切であるためであり、このような不適切な特徴データに対しては、前後のフレームのLPC係数を用いる。これによって、音声合成後の合成波形の或る一部が前後の波形と大きく異なるというようなことを防止でき、これによっても音質の改善を図ることができる。
【0050】また、前記変換前話者が発話した変換対象音声から得られるフレームごとの特徴データで構成される特徴データ列軌道と、各特徴データを前記移動ベクトルにより変換後話者の特徴データ空間に変換したときの特徴データ列軌道とを比較し、変換前の特徴データ列軌道および変換後の特徴データ列軌道それぞれにおいて、時間に対する特徴データの変化量を調べ、変換前の特徴データ列軌道に対して変換後の特徴データ列軌道の或るフレームに対応する特徴データに一定以上の変化があった場合、その一定以上の変化のあったフレームの変換前の特徴データに近い特徴データを持ったフレームを探し、そのフレームの特徴データに対する移動ベクトルを、前記一定以上変化したフレームの変換前の特徴データの移動ベクトルとして用いて、変換後話者の特徴データ空間に変換し、変換後の特徴データを得て、この特徴データと前記変換前話者の音声データから得られる単位波形対応のパルスとを基に音声合成するようにしている。これは前述同様、変換後の特徴データが不適切であるためであり、このような不適切な特徴データに対しては、前後のフレームの移動ベクトルを用いて変換後話者特徴データ区間に変換する。これによって、変換後の特徴データ列軌道が急激に変化することがなくなり、これによっても音質の改善を図ることができる。
【0051】また、前記移動ベクトルに基づいて変換前話者が発話する音声データを変換後話者の特徴データ空間に変換する処理を行う際、変換前話者の特徴データ空間において、変換前話者が発話する入力単語の特徴データに対する近傍の幾つかの特徴データとの距離の和が基準値以上であるか否かの判定を行うとともに、変換後話者の特徴データ空間において、変換後の特徴データと最近傍の特徴データとの距離が基準値以上であるか否かの判定を行う。そして、これらの2つの判定を行った結果、2つのうちいずれかの判定処理において基準値以上であると判定された場合は、その処理対象のフレームにおける変換後の特徴データとして、変換前話者が発話した音声の同じフレームの特徴データを用いる。このように、この第5の手法は、音声合成するために望ましい変換後のLPC係数が見つからないような場合には、変換後の特徴データとして原音声の特徴データを瞬間的にそのまま用いるようにする。これは、変換後話者の特徴データ空間で適切な特徴データが見つからない場合の処置である。適切な特徴データでない特徴データを用いて音声合成すると不自然な音質となるおそれがある。したがって、このような場合には、変換前の特徴データをそのまま用いる。これにより、適正でない値に変換された特徴データを用いて音声合成されたときに耳障りな合成音となるのを防止することができ、音質の改善が図れる。これは子音のように、特徴データの変動が大きい場合に特に有効となるものである。
【0052】また、本発明は、以上の各手法を単独で用いてもそれぞれの効果が得られるが、必要に応じて、幾つかを組み合わせるようにしてもよく、また、すべてを組み合わせるようにしてもよい。このように、それぞれの手法を組み合わせることによって、より一層の効果が得られる。
【0053】また、本発明では、変換前話者の特徴データ空間および変換後話者の特徴データ空間をそれぞれコードブック化して複数の領域に分割しておき、前記変換すべき音声の特徴データ近傍の特徴データを求める処理を行う際、前記変換すべき特徴データの属する領域またはその領域に近接する領域内に存在する特徴データのみとの間で距離計算を行うことにより、距離計算を行うための計算量を大幅に削減することができ、処理の高速化が図れる。
【0054】
【発明の実施の形態】以下、本発明の実施の形態を図面を参照しながら説明する。
【0055】本発明は、大きく分けると2つの要素を含む。その1つは話者声質変換後の合成音声の品質を向上させる手法であり、もう1つは、話者声質変換を行うためのアルゴリズムの計算量を削減する手法である。
【0056】(第1の実施の形態)この第1の実施の形態では、話者声質変換後の合成音声の品質を向上させる手法について幾つかの具体例を用いて以下に説明する。
【0057】図1はその第1の手法を説明する図であり、ここで示される話者Aと話者Bの音声データ空間は前述の従来技術で用いた図7と基本的には同じである。つまり、話者Aが予め用意された話者声質変換用の幾つかの単語(50単語程度)それぞれについて発話し、それぞれの単語ごとの特徴ベクトル列を得る。同様に、話者Aが発話する単語と同じ単語についてを話者Bが発話して、それぞれの単語ごとのLPC係数列を得る。
【0058】図7において、LPC係数列A1は話者Aが発話して得られた「おはよう」のLPC係数列であるものとし、LPC係数a11,a12,・・・,a16で構成されているものとする。また、LPC係数列A2は話者Aが発話して得られた「ただいま」のLPC係数列であるものとし、LPC係数a21,a22,・・・,a27で構成されているものとする。この話者AのLPC係数空間には、その他の話者声質変換用の幾つかの単語に対するそれぞれのLPC係数列が存在している。
【0059】同様に、LPC係数列B1は話者Bが発話して得られた「おはよう」のLPC係数列であり、LPC係数b11,b12,・・・,b16で構成されているものとする。また、LPC係数列B2は話者Bが発話して得られた「ただいま」のLPC係数列であり、LPC係数b21,b22,・・・,b25で構成されているものとする。この話者BのLPC係数空間には、話者AのLPC係数空間と同様、その他の話者声質変換用の幾つかの単語に対するそれぞれのLPC係数列が存在している。
【0060】なお、この図1では図面を簡略化するために、4つの話者性変換用の単語のLPC係数列A1〜A4、B1〜B4のみが示されているが、実際には、話者声質変換用の単語として用いられたすべてのLPC係数列が有り、それぞれのLPC係数列を構成するLPC係数がそれぞれの空間内に多数散在することになる。
【0061】たとえば、話者声質変換用の単語として50単語用意されているとすれば、それぞれの単語に対応する特徴ベクトル列が存在し、1つの単語が25フレーム程度であるとすれば、1単語につき25個のLPC係数で構成され、全体では、50×25=1250のLPC係数が散在することになる。なお、図1では図面を簡略化するために1つの単語のLPC係数を数個程度としている。
【0062】また、話者声質変換用の単語としては、なるべく少ない単語数で幅広いLPC係数が得られるような単語が予め選ばれている。
【0063】そして、話者Aの「おはよう」のLPC係数列を構成する各LPC係数と話者Bの「おはよう」のLPC係数列を構成する各LPC係数とをDPマッチングなどにより対応付けを行って、話者Aの「おはよう」を構成する各LPC係数に対するそれぞれの移動ベクトルを求めておく。同様にして、「おはよう」以外の話者声質変換用の各単語について話者Aと話者Bのそれぞれの単語ごとにLPC係数を対応付けし、それぞれの単語を構成するLPC係数に対するそれぞれの移動ベクトルを求めておく。
【0064】今、話者Aが変換対象単語(たとえば「こんにちは」)を発話すると、その変換対象単語をディジタル信号に変換した後、1フレームごとに音声分析して、そのフレームのLPC係数と1フレームを構成する幾つかの単位波形対応のパルス列を得る。そして、「こんにちは」の各フレームにおけるLPC係数がau1,au2,・・・,au6であったとする。
【0065】この話者Aの発話した変換対象単語の特徴ベクトル列Auが話者AのLPC係数空間上で図1に示すような位置であったとすると、それぞれのLPC係数に近い距離に位置する話者Aの話者声質変換用単語のLPC係数を幾つか(ここでは、説明を簡単にするために3つとする)選ぶ。
【0066】この図1の場合、まず、変換すべき入力単語の1フレーム目のLPC係数au1に近い3つのLPC係数を選ぶ。このとき選ばれた3つのLPC係数をa16,a21,a31とする。
【0067】ところで、これら選ばれた3つのLPC係数a16,a21,a31は、前述したように、それぞれ話者BのLPC係数空間の対応するLPC係数に対する移動ベクトルが求められており、それぞれの移動ベクトルを、v1,v2,v3とする。
【0068】そして、これら選ばれた3つのLPC係数の移動ベクトルv1,v2,v3とを用いて、変換対象単語における1フレーム目のLPC係数au1に対する移動ベクトルvu1を求める。
【0069】この変換対象単語における1フレーム目のLPC係数の移動ベクトルvu1の求め方の一例としては、この場合、3つの移動ベクトルv1,v2,v3の平均を求めて、その平均値を変換対象単語における1フレーム目のLPC係数の移動ベクトルvu1とする。なお、この移動ベクトルvu1は、単なる平均ではなく、変換対象入力単語の1フレーム目のLPC係数au1と、3つのLPC係数a16,a21,a31とのそれぞれの距離に応じた重み付けを行って1フレーム目のLPC係数に対する移動ベクトルvu1を求めるようにしてもよい。
【0070】そして、求められた移動ベクトルvu1を、変換対象単語における1フレーム目のLPC係数au1にプラスすることで、話者BのLPC係数空間におけるLPC係数を得る。こうして求められた話者BのLPC係数空間におけるLPC係数をbu1とする。
【0071】ここまでは従来の処理と同様である。本発明は、以上のようにして求められた話者BのLPC係数空間における話者Aの発話した変換対象単語の各フレームごとのLPC係数に対し、以下のような処理を行う。
【0072】まず、1フレーム目のLPC係数bu1が求められると、このLPC係数bu1の近傍(この実施の形態では最も近い位置)に存在する話者BのLPC係数を距離計算によって求める。求められたLPC係数をb10とする。
【0073】以上の処理を各フレームごとに行う。すなわち、話者AのLPC係数空間において、変換対象単語の2フレーム目のLPC係数au2に近い3つのLPC係数を選び、選ばれた3つのLPC係数のそれぞれの移動ベクトルを用いて、そのLPC係数au2に対する移動ベクトルvu2を求める。
【0074】そして、求められた移動ベクトルvu2を、そのLPC係数au2にプラスすることで、話者BのLPC係数空間におけるLPC係数を得る。こうして求められた話者Bの音声データ空間におけるLPC係数をbu2とする。そして、話者BのLPC係数空間における2フレーム目のLPC係数bu2に最も近い話者BのLPC係数を距離計算によって求め、求められたLPC係数をb20とする。
【0075】同様にして、3フレーム以降の話者AのLPC係数(LPC係数au3,au4,au5)が、話者Bの音声データ空簡にそれぞれの移動ベクトルを用いてマッピングして得られたLPC係数(LPC係数bu3,bu4,bu5)それぞれについて、それぞれのLPC係数bu3,bu4,bu5に最も近い話者BのLPC係数を求める。
【0076】以上のようにして求められた「こんにちは」に対する話者BのLPC係数空間におけるLPC係数列がbu10,bu20,・・・,bu50であるとする。
【0077】このLPC係数列bu10,bu20,・・・,bu50は、話者Aが発話した「こんにちは」という音声を、話者BのLPC係数空間に変換して得られたLPC係数列であり、このLPC係数列を構成するそれぞれのLPC係数bu10,bu20,・・・,bu50は、もともと話者Bが、幾つかの話者声質変換用の単語について発話した音声から得られたLPC係数である。
【0078】このように、本発明では、話者Aの音声のLPC係数を、移動ベクトルを用いて話者BのLPC係数空間にマッピングしたとき、そのマッピングして得られたLPC係数を話者BのLPC係数空間にもともと存在する話者BのLPC係数に変換するようにしている。
【0079】こうして得られた各フレームごとの変換後のLPC係数(話者BのLPC係数空間にもともと存在するLPC係数のいずれか)と、話者Aが発話した変換対象音声の音声データから得られた単位波形対応のパルス列を用いて音声合成する。
【0080】このように、話者Aの変換対象音声から得られたLPC係数を、話者BのLPC係数空間に変換した後の変換後のLPC係数は、もともと話者Bが、幾つかの話者声質変換用の単語について発話した音声から得られたLPC係数のうちのいずれかのLPC係数となる。したがって、変換後のLPC係数は音質に悪影響を与えるような値となることはなく、良好な音質が得られ、また、もともと話者Bの音声から得られたLPC係数を用いているので、話者声質変換も良好に行われる。
【0081】次に合成音声の品質改善のために本発明が行う第2の手法を説明する。
【0082】一般に、話者声質変換後に音声合成された波形のエンベローブ(包絡線)は、原波形(変換前の音声波形)のエンベローブに比べて滑らかさに欠けた凹凸の激しいものとなる傾向にある。図2(a)は原波形、同図(b)は合成音声の波形を示すもので、原波形のエンベローブ11は滑らかな曲線を描いているのに対し、合成音声では弦は径の同じ部分には無い急激に突出した部分p1や急激に立ち下がった部分p2などが存在し、これによりそのエンベローブ12の凹凸が激しくなる。
【0083】このように、合成音声のエンベローブが滑らかでなく凹凸が激しいと、その音声は喉に何かが絡まったようなゴロゴロした音声(うがいをしながら喋ったときのような音声)となる。
【0084】これに対処するために、本発明では、以下のような処理を行う。
【0085】音声合成を行う場合、話者声質変換後のLPC係数と単位波形ごとのパルス列を用いて1フレーム単位で音声合成を行う。したがって、各フレームごとの単位波形ごとに原波形と音声合成後の波形の各単位波形ごとの最大波高値を求める。
【0086】図2(a)は話者の発話した或る単語の音声波形(原波形)を示すもので、同図(b)は合成後の波形を示すものである。このような音声波形において、ある1フレームのそれぞれの単位波形に相当する区間ごとに最大波高値を求める。そして、それぞれの単位波形に相当する区間ごとに、 係数α=原波形の最大波高値/合成波形の最大波高値・・・(2)
を求める。このようにして求められた係数αを用いて、その単位波形に対応するパルスをα倍する。そして、α倍されたパルスとそのフレームにおけるLPC係数を用いて再度音声合成を行う。
【0087】このような音声波形において、図2(a),(b)に示す音声波形の或る1フレームについて考える。今、その1フレームを構成するそれぞれの単位波形に相当する区間をx1、x2,x3とすると、区間x1における原波形の最大波高値と、区間x1における合成波形の最大波高値を調べて、前記(2)式により係数α(α1とする)を求めたとき、係数α1=0.5と求められたとする。つまり、区間x1において、合成波形の最大波高値が原波形の最大波高値に対して2倍となっている部分が存在していることになる。したがって、これを補正するために、図2(c)に示すように、区間x1に対応するパルスIP1の振幅をα1倍(0.5倍)する。なお、図2(c)は図2(a),(b)の或る1部(1フレームに相当する部分)を示すもので、図2(c)の時間軸の単位と、図2(a),(b)の時間軸の単位とは異なる。
【0088】同様にして、次に区間x2における原波形の最大波高値と区間x2における合成波形の最大波高値を調べて、前記(2)式により係数α(α2とする)を求めたとき、係数α2=2と求められたとする。つまり、区間x2において、合成波形の最大波高値が原波形の最大波高値に対して1/2倍となっている部分が存在していることになる。したがって、これを補正するために、区間x2に対応するパルスIP2の振幅をα2倍(2倍)する。
【0089】さらに、区間x3における原波形の最大波高値と区間x3における合成波形の最大波高値を調べて、前記(2)式により係数α(α3とする)を求めたとき、係数α2=1と求められたとする。つまり、区間x3においては、合成波形の最大波高値と原波形の最大波高値とが同じであるということであり、この場合は、区間x3に対応するパルスIP3の振幅をα3倍(1倍)する。
【0090】以上の処理を各フレーム単位に単位波形に相当する区間ごとに行い、それぞれの単位波形に対応するパルスの振幅をそれぞれの区間ごとに求められた係数αを用いて補正する。
【0091】このようにして補正されたパルス列を用いるとともに各フレームごとのLPC係数を用いて音声合成する。つまり、この第2の手法は、まず最初に、求められた各フレームごとのLPC係数とパルス列を用いて合成波形を作り、その合成波形と原波形を比較して、前記(2)式により各単位波形に相当する区間ごとの係数αを求める。そして、この係数αにより各単位波形対応のパルスの振幅を補正して、振幅が補正されたパルス列を作る。次に、この補正されたパルス列と各フレームごとのLPC係数を用いて音声合成する。
【0092】このような処理を行うことにより、合成された音声波形は、原波形と同じような滑らかな曲線を描くエンベローブを持つ波形とすることができる。これにより、喉に何かが絡まったようなゴロゴロした音声となるのを防止でき、良好な音質の音声とすることができる。
【0093】なお、この第2の手法は、前述した従来の話者声質変換処理にそのまま単独に用いても好結果が期待できるが、前記した第1の手法法を行って得られた合成波形に対して行えば、より一層、良好な話者声質変換が可能となるとともに、音質をより高品質なものとすることができる。
【0094】次に合成音声の品質改善のために本発明が行う第3の手法を説明する。
【0095】前述したように、話者Aの音声から得られたLPC係数を、移動ベクトルを用いて話者Bの音声データ空間にマッピングして話者Bの音声データ空間上におけるLPC係数を求める場合、必ずしも適正なLPC係数が得られるとは限らず、むしろ、望ましくないLPC係数となってしまうことも多い。
【0096】このようなLPC係数よって音声合成された合成波形の各フレームごとのインパルス応答波形の時間に対する変化量(時間軸上で連続する2つのフレームのインパルス応答波形同志を重ねたときの縦軸方向の差の絶対値の合計)は、原波形のそれと比較したとき、極端なずれが生じている場合がある。
【0097】たとえば、原波形の各フレームごとのインパルス応答波形の時間に対する変化量がそれほど大きくないにも係わらず、図3(a)に示すように、合成波形の各フレームごとの単位波形対応のインパルス応答波形の時間に対する変化量が大きい場合がある。
【0098】図3(a)は音声合成後の1フレーム目、2フレーム目、3フレーム目、4フレーム目の各フレームにおける単位波形対応のインパルス応答波形h1,h2,h3,h4を示すもので、前後関係から判断して、明らかに3フレーム目のインパルス応答波形だけが他のフレームのインパルス応答波形に比べて大きく異なっていることがわかる。
【0099】このように、前後関係から判断してインパルス応答波形が前後のフレームのインパルス応答波形と明らかに異なっていると判断した場合には、本発明では、合成を行うためのLPC係数としては、その直前のフレームあるいは直後のフレームで用いたLPC係数を用いて音声合成を行うようにする。たとえば、直前のフレーム(2フレーム目)がLPC係数bu2を用いたとすると、インパルス応答波形が前後に比べて大きく変化した3フレーム目においても2フレーム目と同じLPC係数bu2を用いる。
【0100】このようにして、インパルス応答波形が前後に比べて大きく変化したフレームに対しては、そのフレームの直前あるいは直後のフレームで用いたLPC係数を用いて合成を行う。これにより、図3(b)に示すように、3フレーム目のインパルス応答波形h3は2フレーム目のインパルス応答波形h2と同じような波形となり、全体的に、原波形に近い音声合成波形を得ることができ、良好な音質を得ることができる。
【0101】また、この第3の方法の他の方法としては、前後関係から見て明らかに異なる波形があった場合、前後のフレームのインパルス応答波形の平均を計算し、その平均のインパルス応答波形で置き換えるようにしてもよい。このような処理を行うことによっても、全体的に、原波形に近い音声合成波形を得ることができ、良好な音質を得ることができる。
【0102】なお、この第3の手法は、前述した従来の話者声質変換処理にそのまま単独で用いても良好な結果が得られるが、前述の第1の手法と組み合わせるようにしてもよく、また、第2の手法と組み合わせるようにしてよく、さらには、第1、第2の手法の両方とこの第3の手法すべてを組み合わせるようにしてもよい。
【0103】次に合成音声の品質改善のために本発明が行う第4の手法を説明する。
【0104】この第4の手法は、話者AのLPC係数空間におけるある変換対象単語のLPC係数列の軌道と、その変換対象単語のLPC係数を、話者BのLPC空間に変換後のLPC係数列の軌道とを比較したとき、変換後のLPC係数列の軌道に変換前のLPC係数列の軌道には無い凹凸があったときにこれを修正処理するものである。このように、変換後のLPC係数列の軌道に、変換前のLPC係数列の軌道には無い凹凸が存在すると、それにより合成された合成音は音質が劣化したものとなる。これに対処するため以下のような処理を行う。
【0105】図4は話者Aの発話したある変換対象単語から得られたLPC係数の軌道Laと、そのLPC係数を話者BのLPC空間に変換した変換後のLPC係数の軌道Lbを示すものである。図4からもわかるように一般に、変換後のLPC係数列の軌道Lbと変換前のLPC係数の軌道Laはある程度は異なるが、変換前のLPC係数列の軌道Laには無い凸部51が存在している。この凸部51が音質の劣化に大きく影響するため、この部分を修正する必要がある。この修正処理について以下に説明する。なお、図4において白丸で示される点はそれぞれのLPC係数空間に存在する話者声質変換用単語のLPC係数の一部を示している。
【0106】まず、時間に対するLPC係数の変化量(ベクトル量をスカラ量に変換)を変換前のLPC係数の軌道Laと変換後のLPC係数の軌道Lbからそれぞれ調べる。
【0107】そして、両方の変化量の推移を調べ、極端な変化があった場合は、そのフレームについて次のような処理を行う。
【0108】今、そのフレームをここでは3番目のフレームであるとする。そして、変換前のLPC係数列軌道Laにおける3番目のフレームのLPC係数に近いLPC係数を持ったフレームを探す。その探索されたフレームが極端な変化のあったフレームの直前のフレーム(2番目のフレーム)であったとすると、その2番目のフレームのLPC係数に対する移動ベクトルを用いて変換前の3番目のフレームのLPC係数を、話者BのLPC係数空間にマッピングする。これを図4により説明する。
【0109】つまり、変換前のLPC係数列軌道Laを構成するLPC係数が、1フレーム目から順に、au10,au20,・・・,au70であるとし、2番目のフレームのLPC係数の移動ベクトルをvu20とすれば、処理対象である3番目のフレームのLPC係数au30に対しても、LPC係数au20の移動ベクトルvu20を用いて、話者BのLPC係数空間にマッピングする。
【0110】このような処理を行うことにより、前後のフレームと大きくかけ離れた値となったフレームのLPC係数を補正することができ、局部的な軌道のずれを修正することができ、変換後の合成音の品質の向上することができる。
【0111】なお、この第4の手法は、前述した従来の話者声質変換処理にそのまま単独で用いても良好な結果が得られるが、前述の第1〜第3の手法と任意に組み合わせるようにしてもよく、また、第1、第2、第3の手法のすべてとこの第4の手法を組み合わせるようにしてもよい。
【0112】次に合成音声の品質改善のために本発明が行う第5の手法を説明する。
【0113】この第5の手法は、特に子音部における変換後のLPC係数が大きく変化してしまうような場合に適した処理である。
【0114】一般に、母音については、LPC係数空間(この場合、話者BのLPC係数空間)に、変換後の音声として望ましいLPC係数が存在する場合が多いが、子音については望ましいLPC係数が存在しない場合も多い。このような場合、話者BのLPC係数空間で無理矢理に変換後のLPC係数を見つけ、そのLPC係数で音声合成を行うと不自然な合成音となるおそれがある。これに対処するために、以下の様な処理を行う。
【0115】まず、前述の第1の手法を行う場合について説明する。この第1の手法は、話者AのLPC係数空間において、変換対象単語の或るフレームのLPC係数に近い3つのLPC係数を選び、選ばれた3つのLPC係数のそれぞれの移動ベクトルをもとに、変換すべき単語におけるそのLPC係数に対する移動ベクトルを求め、その求められた移動ベクトルを変換すべきLPC係数にプラスすることで話者BのLPC係数空間におけるLPC係数を得る。こうして求められた話者BのLPC係数空間におけるLPC係数に対し、最も近い話者BのLPC係数を距離計算によって求め、求められたLPC係数を変換後のLPC係数として用いる。
【0116】このようにして変換後のLPC係数(話者Bがもともと発話して得られたLPC係数)を求めるが、この変換後のLPC係数を求める際、話者BのLPC係数空間における最近傍のLPC係数を変換後のLPC係数として採用する。このとき、最近傍とされるLPC係数が、変換後のLPC係数として望ましいものか否かを判定する必要がある。
【0117】さらに、前段階の処理として、話者AのLPC係数空間において、変換対象単語の或るフレームのLPC係数に近い3つのLPC係数を選ぶ処理を行うが、この3つのLPC係数との距離が離れすぎていないかどうかの判定を行う必要もある。以下に、これらの判定方法を説明する。
【0118】まず、第5の手法(その1)として、入力音声により得られたLPC係数と話者AのLPC係数空間における近傍の幾つかのLPC係数(この実施に形態では、3つのLPC係数)との距離を求める際、その距離が適正か否かを判定する。
【0119】この判定方法としては、たとえば、図1に示されるように、変換すべき入力単語の1フレーム目のLPC係数をau1としたとき、そのLPC係数に近い3つのLPC係数として、a16,a21,a31が選ばれたとする。そして、LPC係数au1とa16との距離がd1,LPC係数au1とa21との距離がd2、LPC係数au1とa31との距離がd3とすると、これらの距離の和(d1+d2+d3)が予め求められている基準値より大きいか否かを調べる。
【0120】この基準値は、他のフレームにおいて各フレームごとに既に求められた3つのLPC係数との距離の和の平均値を求め、その平均値に基づいて基準値を設定する。たとえば、平均値の5倍の距離を基準値として設定し、前述のそれぞれの距離の和がその基準値より大きいか否かを判定する。
【0121】次に第5の手法(その2)について説明する。この第5の手法(その2)は、変換後のLPC係数を求める際、話者BのLPC係数空間における最近傍のLPC係数を変換後のLPC係数として採用するが、最近傍とされるLPC係数が、変換後のLPC係数として望ましいものか否かを判定する。
【0122】この判定方法としては、たとえば、図1に示されるように、変換後の1フレーム目のLPC係数をbu1としたとき、そのLPC係数に最近傍のLPC係数としてLPC係数b10が選ばれたとする。そして、LPC係数bu1とb10との距離がd10とすると、この距離のd10が予め求められている基準値より大きいか否かを調べる。
【0123】この基準値は、既に変換されたフレームにおいて各フレームごとに求められたLPC係数と最近傍のLPC係数との距離の平均を求め、その平均値に基づいて基準値を設定する。たとえば、平均値の5倍の距離を基準値として設定し、前述の距離d10がその基準値より大きいか否かを判定する。
【0124】このようにして、話者AのLPC係数空間において、話者Aが発話する入力単語のLPC係数に対する近傍の幾つかのLPC係数との距離の和が基準値以上であるか否かの判定を行うとともに、話者BのLPC係数空間において、変換後のLPC係数と最近傍のLPC係数との距離が基準値以上であるか否かの判定を行う。
【0125】そして、これらの2つの判定を行った結果、2つのうちいずれかの判定処理において基準値以上であると判定された場合は、その処理対象のフレームにおける変換後のLPC係数として、原音声(話者Aが発話した音声)の同じフレームのLPC係数を用いる。
【0126】たとえば、原音声の或るフレームのLPC係数を話者BのLPC係数空間にマッピングして、その最近傍として選ばれたLPC係数が、基準値以上であると判定された場合は、その最近傍のLPC係数を変換後のLPC係数として用いないで、原音声の同じフレームのLPC係数をそのまま変換後のLPC係数とし、そのLPC係数を用いて音声合成を行うようにする。
【0127】また、話者AのLPC係数空間において、原音声の或るフレームのLPC係数とその近傍の幾つかのLPC係数を選ぶ際に、それらの距離の和が基準値以上であると判定された場合も、その原音声の同じフレームのLPC係数をそのまま変換後のLPC係数とし、そのLPC係数を用いて音声合成を行うようにする。
【0128】このように、この第5の手法は、音声合成するために望ましい変換後のLPC係数が見つからないような場合の処理であり、ごく短い時間以内(50msec程度以内)でこのような状況が生じた場合、変換後のLPC係数として原音声のLPC係数を瞬間的にそのまま用いるようにする。
【0129】このような処理は、子音において特に有効である。子音は波形が大きく変化するために、その中の瞬間的な1フレーム程度のLPC係数に、原音声のLPC係数をそのまま用いて音声合成しても、聴感上は殆ど問題とならない。むしろ、適正でない値に変換されたLPC係数を用いて音声合成すると、耳障りな合成音となる場合が多く、その方が問題である。
【0130】以上、第1から第5の手法について説明したが、これらの方法を採用することにより、音質の改善が図れ(第1から第5の手法)、また、適正な話者声質変換が行える(特に第1の手法)。これにより、高品質な合成音を得ることができる。なお、これら、第1から第5の手法は、それらを単独で用いても効果が得られるが、使用する機器の特性などを考慮し、必要に応じて選択的に組み合わせてもよく、また、すべてを組み合わせるようにしてもよい。
【0131】図5は以上説明した各種の手法を行うための装置構成例を示すもので、入力された音声をA/D変換するA/D変換部61、A/D変換された音声データを周波数分析する分析部62、この分析部62により得られたLPC係数を入力してそのLPC係数を話者声質変換するために前述したような種々の処理を行う話者声質変換制御部63、この話者声質変換制御部63からの変換後のLPC係数と前記分析部62による分析結果から得られたパルス列を用いて音声合成する音声合成部64、この音声合成部64からの音声データをD/A変換するD/A変換部65などから構成されている。
【0132】前記話者声質変換制御部63は、前述した第1〜第5の手法を予め設定された処理プログラムに基づいて行うもので、第1〜第5の手法を行うための処理プログラムを格納した第1〜第5の処理プログラム記憶部(ROM)631〜635とこれらの処理プログラムに基づいた制御を行う制御部636、前述した話者AのLPC係数空間に対応する話者AのLPC係数記憶部637、前述した話者BのLPC係数空間に対応する話者BのLPC係数記憶部638、前記パルスをα倍する乗算部639などから構成されている。なお、乗算部639は第2の手法を行ったとき得られる係数αをパルスに掛け算するものであり、第2の手法を行わないときはα=1としておく。
【0133】前記第1の処理プログラム記憶部631には第1の手法を行うための処理プログラムが格納され、第2の処理プログラム記憶部632には第2の手法を行うための処理プログラムが格納され、第3の処理プログラム記憶部633には第3の手法を行うための処理プログラムが格納され、第4の処理プログラム記憶部634には第4の手法を行うための処理プログラムが格納され、第5の処理プログラム記憶部635には第5の手法を行うための処理プログラムが格納されている。
【0134】このような構成において、前記第1〜第5の処理プログラム記憶部631〜635に基づいて制御部636が行う処理は、前述した通りであるので、ここでは、それらの処理についての説明は省略する。
【0135】また、第1〜第5の処理プログラム記憶部631〜635はすべてを設けて、いずれか1つを選択して処理を行う用意してもよく、あるいは幾つかを組み合わせて処理を行うようにしてもよい。たとえば、本発明を適用する機器の特性などに応じて、第1の処理プログラム631のみを行わせたり、あるいは、第1の処理プログラムと第2の処理プロラムを行わせたりというように、その機器にとって必要とする処理を行うようにすることもできる。勿論、第1〜第5の処理プログラムすべてを行わせるようにしてもよい。また、機器によって必要な処理プログラムだけを設定するようにしてもよい。たとえば、前記した第1の手法のみを行わせればよい場合には、始めから第1の処理プログラムだけを搭載するということもできる。
【0136】(第2の実施の形態)前述した第1の実施の形態では、変換後のLPC係数を用いて音声合成する際の合成音声の品質向上を図る手法について説明したが、この第2の実施の形態では、処理を行うためのアルゴリズムの計算量を削減する手法について説明する。ここで削減しようとする計算量は、話者AのLPC係数空間において、話者Aが発話した入力単語により得られたLPC係数の近傍の複数のLPC係数を見つけるための距離計算の計算量と、話者BのLPC係数空間において、最近傍のLPC係数を見つけるための距離計算の計算量である。
【0137】たとえば、話者AのLPC係数区間において、幾つかの近傍のLPC係数を見つけるための距離計算は、前述の例では、話者Aが発話して得られた音声データの1フレームごとに得られたLPC係数に対して、話者AのLPC係数空間に存在する千個以上のLPC係数すべてとの距離計算を行うことになり、膨大な計算量となる。これは話者BのLPC係数空間について最近傍のLPC係数を見つける場合も同様である。
【0138】これに対処するために、この第2の実施の形態では、話者AのLPC係数空間および話者BのLPC係数空間をそれぞれコードブック化して分割し、その分割された領域内あるいは近接する領域内に存在するLPC係数のみを距離計算対象とする。
【0139】まず、話者AのLPC係数空間および話者BのLPC係数空間をそれぞれコードブック化して幾つかの領域に分割しておく。このコードブック化する処理について図6を参照して簡単に説明する。ここでは、話者AのLPC係数空間を例にとって説明する。
【0140】この話者AのLPC係数区間には、ここでは、50単語×25フレームの1250個のLPC係数が散在しているものとする(LPC係数を点で示す)。まず、図6(a)に示すように、これらのLPC係数のうち、最も距離の遠い2つのLPC係数(a1、azとする)を選び、他のLPC係数がこれら2つのどちらに近いかによって、2つのグループG11,G12に分割する(2つに分割する境界線を破線で示す)。これら2つのグループG11,G12において重心(am,anとする)を求め、今度は、これらの重心のどちらに近いかによって、2つのグループに分ける。そして、新たなグループで重心を求め、それらのLPC係数のどちらに近いかによって2つのグループに分ける。このような処理を繰り返し行い、境界線が動かなくなる(収束する)まで行う。
【0141】そして、図6(b)の状態で収束したとすると、今度は、収束した状態の2つのグループ(G21,G22とする)それぞれに存在するLPC係数のなかで、最も距離の遠い2つのLPC係数をそれぞれ選び、他のLPC係数がこれら2つのどちらに近いかによって、2つのグループに分割する。たとえば、グループG21について考えると、最も遠い2つのLPC係数を求めグループG21の中のLPC係数がこれら2つのLPC係数の中でどちらに近いかで、2つのグループに分割する。そして、これら2つのグループにおいて重心のLPC係数を求め、今度は、これらの重心のどちらに近いかによって、2つのグループに分ける。そして、新たなグループで重心を求め、それらの重心のどちらに近いかによって2つのグループに分ける。このような処理を繰り返し行い、境界線が動かなくなる(収束する)まで行う。グループG22についても同様の処理を行う。
【0142】以上のような処理を繰り返し行うことで、それぞれのLPC係数空間は幾つかの領域に分割されて行く。実際のコードブックは、たとえば、256個というような領域に分割されたものとなるが、この実施の形態を行うには、数十の領域に分割すればよい。ただし、こここでは説明を簡単にするために、図6(c)のように領域Z1〜Z8に分割されたものとする。
【0143】本発明では、このようにコードブック化処理を行って分割された領域内あるいは近接する領域内に存在するLPC係数のみを距離計算対象とする。今、話者Aの発話した音声の或るフレームのLPC係数au1が、たとえば、領域A2内であったとすると、このLPC係数au1に対する幾つかの近傍点のLPC係数を見つける場合、その領域Z2内あるいは、領域Z2に近接する領域Z1,Z3内に存在するLPC係数のみを距離計算の対象とする。なお、このような処理は、話者BのLPC係数空間における最近傍のLPC係数を見つけるための処理にも適用する。
【0144】このように限られた領域内に存在するLPC係数のみを距離計算の対象とすることにより、距離計算処理を大幅に削減することが可能となり、処理速度の高速化が図れる。
【0145】この第2の実施の形態を行うための装置構成は、前述の第1の実施の形態にて説明した図5を用いることにより対応できる。ただし、この場合、話者AのLPC係数空間に対応する話者AのLPC係数記憶部637、話者BのLPC係数空間に対応する話者BのLPC係数記憶部638の内容を、それぞれコードブック化して幾つかの領域に分割しておき、入力音声から得られたLPC係数の領域内あるいは近接する領域内に存在するLPC係数のみを距離計算対象とするという処理を行う。
【0146】なお、以上説明した実施の形態は、本発明の好適な実施の形態の例であるが、これに限定されるものではなく、本発明の要旨を逸脱しない範囲で、種々変形実施可能である。たとえば、前述の実施の形態では、特徴ベクトルとしてLPC係数を用いて話者声質変換を行ったが、これに限らず、PARCOR係数でも同様の処理が可能である。また、本発明の処理を行う処理プログラムは、フロッピィディスク、光ディスク、ハードディスクなどの記憶媒体に記憶させておくことができ、本発明は、それらの記憶媒体をも含むものであり、また、ネットワークからデータを得る形式でもよい。
【0147】
【発明の効果】以上説明したように本発明は、幾つかの手法を用いて話者声質変換後の合成音声の品質を向上させるとともに、話者声質変換処理を行うためのアルゴリズムの計算量を削減しようとするものである。
【0148】まず、話者声質変換後の合成音声の品質改善を図るための第1の手法として、移動ベクトルに基づいて変換後話者の特徴データ空間に変換された特徴データに距離の近い変換後話者の特徴データを求め、求められた変換後話者の特徴データを、前記変換対象音声に対する変換後の特徴データとして用いるようにしている。これにより、変換後の特徴データは、変換後話者の特徴データそのものとなるので、変換後の話者により近い声質とすることができ、また、特徴データの値が発振を引き起こすような不適当なものとなることが少ないので、音質の改善も図れ、耳障りな音となるのを防止することができる。
【0149】また、話者声質変換後の合成音声の品質改善を図るための第2の手法として、前記変換前話者が発話して得られた変換対象音声波形の単位波形に相当する区間ごとの波高値と、音声合成された合成波形における単位波形に相当する区間ごとの波高値との比を求め、その比により得られた係数を前記単位波形対応のパルス列に乗算し、係数が乗算されたパルス列と前記変換後の特徴データとを用いて音声合成するようにしているので、音声合成後のエンベローブに生じる凹凸を修正することができ、音声合成後の合成波形のエンベローブを変換前話者が発話して得られた音声波形のエンベローブと同じ様に滑らかなものとすることができる、これにより、喉に何かが絡まったようなゴロゴロした音声となるのを防止でき、良好な音質の音声とすることができる。
【0150】また、話者声質変換後の合成音声の品質改善を図るための第3の手法として、前記変換前話者が発話した変換対象音声波形の或るフレームにおける単位波形対応のインパルス応答波形と、音声合成後の合成波形の前記フレームと同一フレームの単位波形対応のインパルス応答波形とを比較し、連続する数個のフレームに対応するそれぞれのインパルス応答波形の時間に対する変化量が一定以上の差を有する場合は、変換対象音声波形のインパルス応答波形の特に大きく変化するフレームの特徴データとして、当該フレームの前または後のフレームにおける変換後の特徴データを用い、この特徴データと前記変換前話者の変換対象音声データから得られる単位波形対応のパルス列とを基に音声合成するようにしている。これによって、音声合成後の合成波形が同じ時間軸上における前後のフレームの波形と大きく異なるというようなことがなくなり、これによっても音質の改善を図ることができる。
【0151】また、話者性変換後の合成音声の品質改善を図るための第4の手法として、前記変換前話者が発話した変換対象音声から得られるフレームごとの特徴データで構成される特徴データ列軌道と、各特徴データを前記移動ベクトルにより変換後話者の特徴データ空間に変換したときの特徴データ列軌道とを比較し、変換前の特徴データ列軌道および変換後の特徴データ列軌道それぞれにおいて、時間に対する特徴データの変化量を調べ、変換前の特徴データ列軌道に対して変換後の特徴データ列軌道の特徴データに一定以上の変化があった場合、その一定以上の変化のあったフレームの変換前の特徴データに近い特徴データを持ったフレームを探し、そのフレームの特徴データに対する移動ベクトルを、前記一定以上変化したフレームの変換前の特徴データの移動ベクトルとして用いて、変換後話者の特徴データ空間に変換し、変換後の特徴データを得て、この特徴データと前記変換前話者の音声データから得られる単位波形対応のパルスとを基に音声合成するようにしている。これにより、変換後の特徴データが前後のフレームと大きくかけ離れた値となるのを防止でき、変換後の特徴データ列軌道が急激に変化することがなくなり、これによっても音質の改善を図ることができる。
【0152】また、話者声質変換後の合成音声の品質改善を図るための第5の手法として、変換前話者の特徴データ空間において、変換前話者が発話する変換対象音声の特徴データに対する近傍の幾つかの特徴データとの距離の和が基準値以上であるか否かの判定を行うとともに、変換後話者のLPC係数空間において、変換後の特徴データと最近傍の特徴データとの距離が基準値以上であるか否かの判定を行う。そして、これらの2つの判定を行った結果、2つのうちいずれかの判定処理において基準値以上であると判定された場合は、その処理対象のフレームにおける変換後の特徴データとして、変換前話者が発話した変換対象音声の同じフレームの特徴データを用いる。このように、この第5の手法は、音声合成するために望ましい変換後のLPC係数が見つからないような場合には、変換後の特徴データとして原音声の特徴データを瞬間的にそのまま用いるようにする。これにより、適正でない値に変換されたLPC係数を用いて音声合成されたときに耳障りな合成音となるのを防止することができ、音質の改善が図れる。これは子音のように、特徴データの変動が大きい場合に特に有効となるものである。
【0153】また、本発明は、以上の各手法を単独で用いてもそれぞれの効果が得られるが、必要に応じて、幾つかを任意に組み合わせるようにしてもよく、すべてを組み合わせるようにしてもよい。このように、それぞれの手法を組み合わせることによって、より一層の効果が得られる。
【0154】また、本発明では、変換前話者の特徴データ空間および変換後話者の特徴データ空間をそれぞれコードブック化して複数の領域に分割しておき、前記変換対象音声の特徴データ近傍の特徴データを求める処理を行う際、前記変換すべき特徴データの属する領域またはその領域に近接する領域内に存在する特徴データのみとの間で距離計算を行うことにより、距離計算を行うための計算量を大幅に削減することができ、処理の高速化が図れる。




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013