以下、図面を参照しながら本発明の実施形態について説明する。
(第1の実施形態)
本発明の第1の実施形態に係るテキスト音声合成装置(音声処理装置)について説明する。
図1に、本実施形態に係るテキスト音声合成を行うテキスト音声合成装置(音声処理装置)の全体構成例を示す。
図1に示されるように、本実施形態のテキスト音声合成装置は、テキスト入力部1、言語処理部2、韻律処理部3、音声合成部4を備えている。
テキスト入力部1は、テキストを入力する。
言語処理部2は、テキスト入力部1から入力されるテキストの形態素解析・構文解析を行い、これら言語解析により得られた言語解析結果を韻律処理部3へ出力する。
韻律制御部3は、該言語解析結果を入力し、該言語解析結果からアクセントやイントネーションの処理を行って、音韻系列及び韻律情報を生成し、生成した音韻系列及び韻律情報を音声合成部へ出力する。
音声合成部4は、該音韻系列及び韻律情報を入力し、該音韻系列及び韻律情報から音声波形を生成して出力する。
以下、音声合成部4を中心に、その構成及び動作について詳細に説明する。
図2に、本実施形態の音声合成部4の構成例を示す。
図2に示されるように、音声合成部4は、音韻系列・韻律情報入力部41、音声素片記憶部42、素片選択部43、素片融合部44、フォルマント強調フィルタ部45、フォルマント強調度合い推定部46、素片編集・接続部47、音声波形出力部48を備えている。
音韻系列・韻律情報入力部(以下、情報入力部と略記する。)41は、音声合成部4への入力として、韻律制御部3から音韻系列・韻律情報を受理する。
音声素片記憶部(以下、素片記憶部と略記する。)42は、大量の音声素片を蓄積している。また、素片記憶部42は、それら蓄積されている音声素片の全てについて、それぞれ、当該音声素片に対する音韻・韻律環境を併せて蓄積している。
素片選択部43は、素片記憶部42に蓄積された音声素片の中から、複数の音声素片を選択する。
素片融合部44は、素片選択部43により選択された複数の音声素片を融合して、新たな音声素片(以下、「融合素片」とも呼ぶ。)を生成する。
フォルマント強調フィルタ部45は、(次のフォルマント強調度合い推定部46により推定された、強調の程度に応じて)素片融合部44により生成された音声素片に対して、フォルマント強調を行う(すなわち、フォルマント強調された融合素片を生成する)。
フォルマント強調度合い推定部46は、フォルマント強調フィルタ部45においてフォルマントを強調する程度を推定する。
素片編集・接続部47は、フォルマント強調フィルタ部45から得られた音声素片を韻律変形及び接続して、合成音声の音声波形を生成する。
音声波形出力部48は、素片編集・接続部47で生成した音声波形を出力する。
なお、情報入力部41〜音声波形出力部48の各部の機能は、コンピュータに格納されたプログラムに実現できる。
次に、図2の音声合成部4の各ブロックについて詳しく説明する。
<情報入力部>
まず、情報入力部41は、韻律制御部3から入力された音韻系列・韻律情報を、素片選択部44へ出力する。音韻系列は、例えば、音韻記号の系列である。また、韻律情報は、例えば、基本周波数、音韻継続時間長、パワーなどである。
以下、情報入力部41に入力される音韻系列、韻律情報を、それぞれ、入力音韻系列、入力韻律情報と呼ぶ。
<素片記憶部>
次に、素片記憶部42には、合成音声を生成するときに用いられる音声の単位(以下、「合成単位」と称する。)で、音声素片が大量に蓄積されている。
ここで、「合成単位」とは、音素あるいは音素を分割したもの(例えば、半音素など)の組み合わせ、例えば、半音素、音素(C、V)、ダイフォン(CV、VC、VV)、トライフォン(CVC、VCV)、音節(CV、V)、などであり(ここで、Vは母音、Cは子音を表す。)、また、これらが混在しているなど可変長であってもよい。
また、「音声素片」は、合成単位に対応する音声信号の波形もしくはその特徴を表すパラメータ系列などを表すものとする。
図3に、素片記憶部42に蓄積される音声素片の例を示す。図3に示すように、素片記憶部42には、各音素の音声信号の波形である音声素片が、当該音声素片を識別するための素片番号とともに記憶されている。これらの音声素片は、別途収録された多数の音声データに対して音素毎にラベル付けし、ラベルにしたがって音素毎に音声波形を切り出したものである。
また、素片記憶部42には、大量の音声素片とともに、各音声素片に対応した音韻・韻律環境が蓄積されている。
ここで、「音韻・韻律環境」とは、対応する音声素片にとって環境となる要因の組み合わせである。要因としては、例えば、当該音声素片の音素名、先行音素、後続音素、後々続音素、基本周波数、音韻継続時間長、パワー、ストレスの有無、アクセント核からの位置、息継ぎからの時間、発声速度、感情などがある。
また、素片記憶部42には、上記の他、音声素片の始端・終端でのケプストラム係数など、音声素片の音響特徴のうち音声素片の選択に用いる情報も蓄積されている。
以下では、素片記憶部42に蓄積される音声素片の音韻・韻律環境と音響特徴量とを総称して、「素片環境」と呼ぶ。
図4に、素片記憶部42に蓄積される素片環境の例を示す。図4に示す環境記憶部43には、素片記憶部42に蓄積される各音声素片の素片番号に対応して素片環境が記憶されている。ここでは、音韻・韻律環境として、音声素片に対応した音韻(音素名)、隣接音韻(この例では、当該音韻の前後それぞれ2音素ずつ)、基本周波数、音韻継続時間長が記憶され、音響特徴量として、音声素片始終端のケプストラム係数が記憶されている。
なお、これらの素片環境は、音声素片を切り出す元になった音声データを分析して抽出することによって得られる。また、図4では、音声素片の合成単位が音素である場合を示しているが、半音素、ダイフォン、トライフォン、音節、あるいはこれらの組み合わせや可変長であってもよい。
<素片選択部>
次に、図2の音声合成部4の動作を詳しく説明する。
図2において、情報入力部41を介して素片選択部43に入力された音韻系列は、素片選択部47において、合成単位毎に区切られる。以下、この区切られた合成単位を、「セグメント」と呼ぶ。
素片選択部43は、入力された入力音韻系列と入力韻律情報を基に、素片記憶部42を参照し、各セグメントに対して、それぞれ、融合する複数個の音声素片の組み合わせを選択する。
このとき素片選択部43は、各音声素片候補を用いて音声を合成した場合の合成音声と目標音声との歪みができるだけ小さくなるように、融合する音声素片の組み合わせを選択する。ここでは、素片選択部43は、一般の素片選択型音声合成方法や従来の複数素片選択融合型音声合成方法と同様に、音声素片の選択の尺度として、各音声素片候補を用いて音声を合成した場合の合成音声と目標音声との歪みの大きさを間接的に表すコストを用い、このコストができるだけ小さくなるように、融合する音声素片の組み合わせを選択する。
ここで、「目標音声」とは、音声を合成する際の目標となる(仮想的な)音声、すなわち、入力された音韻の並びと韻律を実現し、かつ、理想的に自然な音声をいう。
最初に、コストについて説明する。
合成音声の目標音声に対する歪みの度合いを表すコストには、大きく分けて、目標コストと接続コストの2種類のコストがある。
目標コストは、コストの算出対象である音声素片(対象素片)を目標の音韻・韻律環境で使用することによって生じるコストである。
接続コストは、対象素片を隣接する音声素片と接続したときに生じるコストである。
具体的には、次の通りである。
目標コストとしては、音声素片が持つ基本周波数と目標の基本周波数の違い(差)によって生じる歪み(基本周波数コスト)、音声素片の音韻継続時間長と目標の音韻継続時間長の違い(差)によって生じる歪み(継続時間長コスト)、音声素片が属していた音韻環境と目標の音韻環境の違いによって生じる歪み(音韻環境コスト)などがある。 接続コストとしては、音声素片境界でのスペクトルの違い(差)によって生じる歪み(スペクトル接続コスト)や、音声素片境界での基本周波数の違い(差)によって生じる歪み(基本周波数接続コスト)などがある。
コストを用いて、一セグメント当たり複数個の音声素片を選択する方法については、どのような方法を用いても構わない。
例えば、特許文献2に開示された方法を用いても良い。ここでは、この選択方法の概要について、図5の処理手順例を参照しながら、一セグメント当たりM個の音声素片を選ぶ場合について説明する。
まず、ステップS101において、素片選択部43は、入力された音韻系列を、合成単位毎のセグメントに分割する。ここで、分割されたセグメントの数をNとする。
次に、ステップS102において、素片記憶部42に記憶されている音声素片群の中から、各セグメントにつき1つずつの音声素片の系列を選択する。このときの選択においては、入力された目標の音韻系列・韻律情報と、素片記憶部42の音声素片環境の情報を基に、系列としてのコストの総和(トータルコスト)が最小となるような音声素片の系列(最適素片系列)を求める。この最適素片系列の探索は、動的計画法(DP(dynamic programming))を用いることで、効率的に行うことができる。
次に、ステップS103において、セグメント番号を表すカウンターiに、初期値「1」をセットする。
次に、ステップS104において、セグメントiに対する複数の音声素片候補の各々に対してコストを算出する。このときに用いるコストには、当該音声素片候補での目標コストと、当該音声素片候補の前後のセグメントの最適音声素片(最適素片系列に含まれる音声素片)と当該音声素片候補との接続コストとの和を用いる。
次に、ステップS105において、ステップS104で算出したコストを用いて、セグメントiについて、コストの小さい上位M個の音声素片を選択する。
次に、ステップS106において、カウンターiがN以下かどうかを判定する。
カウンターiがN以下である場合(ステップS106のYES)には、ステップS107に進んで、カウンターiの値を1つ増やした後に、ステップS104に進んで、次のセグメントに係る処理を行う。
カウンターiがNに達した場合(ステップS106のNO)には、この素片選択の処理を終了する。
このように、素片選択部44は、各セグメントに対してM個ずつの音声素片を選択し、選択した音声素片を分離部45に出力する。
素片選択部44においてセグメント当たり複数個の音声素片を選択する方法は、上記した方法に限定する必要はなく、コストであっても、コスト以外であっても、何らかの評価尺度の下で、適切な音声素片の組を選べる方法であれば、いかなる方法を用いても良い。
<素片融合部>
素片融合部44は、それぞれのセグメント毎に、素片選択部43から入力された複数個の音声素片を融合して、新たな音声素片を生成する。
音声素片を融合する方法については、どのような方法を用いても構わない。
例えば、特許文献2に開示された方法を用いても良い。ここでは、この方法について図6及び図7を参照しながら説明する。
図6は、一つのセグメントに対する複数個の音声素片の波形を融合して、新たな音声波形を生成する手順を示すフローチャートである。図7は、あるセグメントに対して選択された3つの音声素片からなる素片組み合わせ候補(図中、60)を融合して、新たな音声素片(図中、63)を生成する例を示す図である。
まず、ステップS201において、(ある一つのセグメントについて)選択されたそれぞれの音声素片からピッチ波形を切り出す。
ここで、「ピッチ波形」とは、その長さが音声の基本周期の数倍程度で、それ自身は基本周期を持たない比較的短い波形であって、そのスペクトルが音声信号のスペクトル包絡を表すものである。
このようなピッチ波形を抽出する方法には、どのような方法が用いられても良いが、その一つの方法として、基本周期同期窓を用いる方法があり、ここでは、この方法が用いられる場合を例にとって説明する。
具体的には、それぞれの音声素片の音声波形に対して基本周期間隔毎にマーク(ピッチマーク)を付し、このピッチマークを中心にして、窓長が基本周期の2倍のハニング窓で窓掛けすることによって、ピッチ波形を切り出す。図7のピッチ波形系列61は、素片組み合わせ候補60の各音声素片から切り出して得られたピッチ波形の系列の例を示している。
次に、ステップS202において、それぞれの音声素片に対するピッチ波形の個数が、音声素片間で同一になるように、ピッチ波形の数を揃える。
このときに、揃える対象となるピッチ波形の数は、目標の音韻継続時間長の合成音声を生成するために必要なピッチ波形数とするが、例えば、最もピッチ波形数の多いものに揃えても良い。
ピッチ波形の少ない系列は、系列に含まれるいくつかのピッチ波形を複製することによってピッチ波形数を増やし、ピッチ波形の多い系列は、系列中のいくつかのピッチ波形を間引くことによってピッチ波形数を減らす。図7のピッチ波形系列62は、ピッチ波形の数を6つに揃えた例を示している。
次に、ステップS203において、ピッチ波形数を揃えた後、それぞれの音声素片に対応するピッチ波形系列中のピッチ波形を、その位置毎に融合することによって、新たなピッチ波形系列を生成する。
例えば、図7で生成された新たなピッチ波形63に含まれるピッチ波形63aは、ピッチ波形系列62のうち、6番目のピッチ波形62a,62b,62cを融合することによって得られる。このようにして生成された新たなピッチ波形系列63を、融合された音声素片とする。
ここで、ピッチ波形を融合する方法としては、例えば、次のような方法がある。
第1の方法は、単純にピッチ波形の平均を計算する方法である。
第2の方法は、ピッチ波形間の相関が最大になるよう時間方向に各ピッチ波形の位置を補正してから平均化する方法である。
第3の方法は、ピッチ波形を帯域分割して、帯域毎にピッチ波形間の相関が最大になるようピッチ波形の位置を補正して平均化した結果を、帯域間で足し合わせる方法である。
いずれの方法を用いても良いが、本実施形態では、最後に説明した第3の方法を用いる場合を例にとって説明する。
素片融合部44は、上記した方法を用いて、各セグメントについて、複数の音声素片を融合して新たな音声素片を生成し、フォルマント強調フィルタ部45に出力する。
<フォルマント強調フィルタ部>
さて、上記のように融合によって生成された音声素片の音声波形は、融合の影響によって、融合元の音声素片の波形よりもスペクトル包絡がなまってしまい、いくつかのフォルマントが弱められてしまった結果、明瞭感が下がってしまうことが多い。そこで、フォルマント強調フィルタ部45は、素片融合部44から入力された融合素片に対して、フォルマントを強調するためのフィルタリングを行い、素片編集・接続部47に出力する。
ここで用いるフォルマント強調フィルタとしては、例えば、J. Chenらの文献(J. Chen, etc., 「Adaptive Postfiltering for Quality Enhancement of Coded Speech」, IEEE Trans. Speech and Audio Processing, vol. 3, Jan 1995)(以下、文献3と呼ぶ。)によって開示されているものを、用いることができる。
こうしたフォルマント強調フィルタを、融合素片の音声波形に対して適用することによって、スペクトル包絡中のフォルマントを強調し、融合による明瞭性の低下を補償することが可能である。
フォルマント強調フィルタの概要を、文献3で開示されているフォルマント強調フィルタを例に用いて説明する。文献3で開示されているフォルマント強調フィルタは、数式(1)のような伝達関数を持つフィルタである。
ただし、P(z)は、数式(2)で表される。ここで、a
iは入力波形を線形予測分析したときのi番目の線形予測係数(LPC)を表し、Mは線形予測次数である。
数式(1)における1/[1−P(z/α)]は、α=1の場合は、線形予測フィルタを表し、入力波形のLPCスペクトルと同じ周波数応答を持つ。αを小さくすると、LPCスペクトルを鈍らせたような周波数応答になり、0に近づくにつれ、フラットな周波数応答になる。よって、入力波形のスペクトル中のパワーの大きい周波数成分は、より大きくなり、パワーの小さい周波数成分は、より小さくなるため、スペクトル中の山・谷を強調する効果を持つ。また、一般的な音声のスペクトル包絡には、低域から高域に向かって負の傾斜が見られるため、1/[1−P(z/α)]の周波数応答は、全体的に、同様の負の傾斜を持つ。すなわち、スペクトルの山・谷を強調する効果に加え、副作用としてローパス特性を持っている。そこで、[1−P(z/β)]および[1−μz−1]の項によって、このローパス特性を補正する。[1−P(z/β)]は、LPCスペクトルの極と同じ周波数に零点を持つフィルタであり、1/[1−P(z/α)]でのスペクトルの傾斜を補償する効果を持つ。一方、[1−μz−1]は、単純なハイパスフィルタで、残っているスペクトルの傾きを無くすよう調整するための項である。なお、Gは、フィルタリング前後でパワーが変化するのを防ぐためのパワー調整用のゲインであり、文献3で開示されている方法により、入力波形に応じて自動で決めることができる。
このフォルマント強調フィルタでは、パラメータαを変えることによって、フォルマント強調の度合いを変えることができる(ただし、αの値に応じて、ローパス特性を補償するような適切なβ、μも決める必要がある)。αが1に近いほど強調の度合いが強く、αが小さくなるにつれ強調の度合いが弱まり、αが0.5以下になるとほとんど強調されない。どの程度フォルマントを強調すべきかは音声波形の特徴によって異なるが、これを決めるための客観尺度が存在しないため、通常、音声符号化や音声合成においてフォルマント強調フィルタを用いる場合には、フォルマント強調の度合いは主観評価などによって実験的に求める。
しかしながら、複数素片選択融合型の合成方法においては、融合によるスペクトル包絡の鈍り具合がセグメントごとに大きく変わり得るため、1文など全体に対して同じパラメータを適用すると、融合によってスペクトル包絡が大きく鈍った箇所にはフォルマント強調の程度が不十分であるのに対し、逆に融合によるスペクトル包絡の鈍りが小さい箇所はフォルマントが強調されすぎて人工的な音になるという問題がある。
そこで、本実施形態では、融合されてできたそれぞれの音声素片に対し(あるいは、それぞれの融合素片の各ピッチ波形に対し)、適切なフォルマント強調の度合いをフォルマント強調度合い推定部46で推定し、フォルマント強調フィルタ部45は、推定されたフォルマント強調度合いに応じてフォルマント強調フィルタの係数を変える。すなわち、融合素片ごとに(あるいは、融合素片のピッチ波形ごとに)、フォルマント強調度合いを適応的に制御する。ここで、フォルマント強調度合い推定部46から与えられるフォルマント強調度合いは、例えば、0(強調無し)から100(フォルマント強調フィルタの制御可能な範囲で最も強い強調)まで連続的に変化するようなものでもよいし、また、例えば、0(強調無し)から4(非常に強く強調)までの5段階で指定できるような離散的なものであってもよい。上述の文献3で開示されているフォルマント強調フィルタを用いる場合は、フォルマント強調度合い推定部46で推定されたフォルマント強調度合いが大きい場合はαの値を1に近づけ、逆にフォルマント度合いが小さい場合はαを0.5に近づける。βおよびμの値もαの値に応じて変えるが、各αの値に対して適切なβとμの値は、実験的に求めることが可能である。
また、フォルマント強調度合い推定部46で推定されたフォルマント強調度合いを、フィルタ係数に具体的に反映するためのマッピングは、主観評価などによって実験的に得ることができる。
本実施形態においては、文献3で開示されているフォルマント強調フィルタを用いる場合について説明したが、フォルマントが強調でき、フォルマントの強調度合いがパラメータなどで制御できるフォルマント強調フィルタであれば、いかなるものでも用いることができる。
<フォルマント強調度合い推定部>
フォルマント強調度合い推定部46は、素片選択部43や素片融合部44から与えられた融合素片や融合元の複数の音声素片の情報を元に、融合素片に対して適切なフォルマント強調度合いを推定し、推定したフォルマント強調度合いをフォルマント強調フィルタ部45に出力する。
前述のように、ある波形に対して適切なフォルマント強調度合いを決めるような客観尺度は存在しないが、融合素片と融合元の複数の音声素片の間でスペクトル包絡に関する特徴量を比較することによって、音声素片の融合によってどの程度スペクトル包絡が鈍ったかをある程度見積もることは可能である。そこで、フォルマント強調度合い推定部46では、融合によるスペクトル包絡の鈍り具合を以下のような方法で推定し、これに基づいてフォルマントの強調度合いを決める。
融合によるスペクトル包絡の鈍りが大きいほど、融合元の各音声素片と融合素片との間でスペクトル包絡の形状の差が大きくなると考えられる。そこで、融合元の各音声素片と融合素片との間でのスペクトル包絡の形状の差を見積もることができれば、音声素片の融合によるスペクトル包絡の鈍り具合を推定できると考えられる。
スペクトル包絡の特徴を表すパラメータとしては、ケプストラムやLSP(線スペクトル対)などがある。以下では、ケプストラムの一つであるメル周波数ケプストラム係数(MFCC)を用いて、融合元の各音声素片と融合素片の間でのスペクトル包絡の形状の差を間接的に見積もる場合を例によって説明する。
MFCCは、音声認識の分野で広く用いられている音響特徴量で、音声合成においても上述の「スペクトル接続コスト」の評価尺度としてよく用いられる。MFCCは、人間の聴覚特性を考慮した特徴量で、低い次元でもスペクトル包絡の特徴を良く表せる利点も持つ。MFCCの低次の係数はスペクトル包絡の慨形を、高次の係数はスペクトル包絡の細部を表現する。素片1と素片2のi次のMFCCをそれぞれc
1i、c
2iとすると、数式(3)により、素片1と素片2との間のMFCC距離が算出できる。
ただし、pはMFCCの次元を表す。
なお、本例においては、MFCCの次元は20次程度とする。
次に、このMFCC距離を使って、音声素片の融合によるスペクトル包絡の鈍り具合を推定する方法について説明する。
図8に、この場合の処理手順の一例を示す。
ここで、融合素片の元になった融合元の素片数はNとする。
まず、融合素片のMFCC(c0)を算出する(ステップS301)。
次に、カウンターiを1に、Dsumを0に初期化して(ステップS302、ステップS303)、ステップS304に進む。
ステップS304では、融合元のN個の音声素片のうち、i番目の音声素片のMFCC(ci)を算出する。
次に、c0とciとの間のMFCC距離(Di)を、数式(3)を用いて算出する(ステップS304)。
次のステップS305では、算出されたDiをDsumに加算して、ステップS307に進む。
ステップS307では、カウンターiがN以下であるかを判定する。
カウンターiがN以下である場合(ステップS307のYES)には、ステップS308に進んで、カウンターiの値を1つ増やした後に、ステップS304に進んで、次の音声素片に係る処理を行う。
カウンターiがNに達した場合(ステップS307のNO)には、ループ処理を終了し、ステップS309に進む。
ステップS309では、DsumをNで割ることによって、平均MFCC距離(Dmean)を求め、全ての処理を終了する。
本実施形態では、このようにして求めた平均MFCC距離を、融合によるスペクトル包絡の鈍り具合を反映する評価尺度として用いる。すなわち、平均MFCC距離が小さいほどスペクトル包絡の鈍り具合が小さく、平均MFCC距離が大きいほどスペクトル包絡の鈍り具合が大きいとして、平均MFCC距離をそのままスペクトル包絡の鈍り具合とするか、平均MFCC距離の分布などに基づいて何らかの変換を行って得た値をスペクトル包絡の鈍り具合とする。
次に、このようにして得たスペクトル包絡の鈍り具合に基づいて、フォルマント強調度合いを求める必要があるが、スペクトル包絡の鈍り具合が大きいほど強いフォルマント強調を施すべきと考えられるため、ここでは、スペクトル包絡の鈍り具合が増すとともに単調増加するような関数(ただし、フォルマント強調度合いが離散値の場合は、階段状に変化)を用いてフォルマント強調度合いに変換する。関数の形状については、例えば、スペクトル包絡の鈍り具合に対して途中まで線形に増加し、ある閾値を超えるとフォルマント強調度合いの上限値をとるようなものであっても良いし、シグモイド関数のように増加率がスペクトル包絡の鈍り具合に応じて変化するような形状のものであっても良く、それらの関数のパラメータ(傾き、など)は実験的に適切なものを得れば良い。
なお、本実施形態においては、融合によるスペクトル包絡の鈍り具合を推定する方法の一例として、上記のMFCCを用いる方法を例にとって説明したが、スペクトル包絡の形状の差を適切に見積もれる音響パラメータであれば、どのようなものを用いてもよい。例えば、LSP係数の二乗誤差を用いても良いし、FFT(高速フーリエ変換)によって得られたFFTスペクトルを確率分布のように見なすことによって、確率分布の差を計算するのによく用いられるKL距離(Kullback-Leibler距離)を算出して、これを用いても良い。
また、融合によるスペクトル包絡の鈍り具合を推定する方法として、素片選択部43で算出された目標コストを用いる方法も考えられる。融合元の複数の音声素片がいずれも適切な音韻・韻律環境から選ばれた場合、目標コストは小さくなり、かつ、融合によるスペクトル包絡の鈍り具合も小さくなると考えられる。逆に、目標の音韻・韻律環境と異なる音声素片ばかりが選ばれた場合、目標コストは大きくなり、融合によるスペクトル包絡の鈍り具合も大きくなると考えられる。そこで、融合によるスペクトル包絡の鈍り具合を表す一つの指標として、融合元の音声素片が選ばれた際の目標コストを用いてもよいと考えられる。この方法は、前述の音響パラメータを用いる方法よりは間接的だが、非常に単純である。
フォルマント強調度合い推定部46は、上述のようにして推定した、融合によるスペクトル包絡の鈍り具合を、フォルマント強調フィルタ部45に出力する。
<素片編集・接続部>
素片編集・接続部47は、フォルマント強調部45から渡されたセグメント毎の音声素片を、入力韻律情報に従って変形して接続することによって、合成音声の音声波形を生成する。
図9は、素片編集・接続部47での処理を説明するための図である。図9には、フォルマント強調部45から入力された、音素「a」「N」「s」「a」「a」の各合成単位に対する音声素片を、変形・接続して、「aNsaa」という音声波形を生成する場合を示している。
この例では、有声音の音声素片はピッチ波形の系列で表現されている。一方、無声音の音声素片は、フレーム毎の波形として表現されている。
図9の点線は、目標の音韻継続時間長に従って分割した音素毎のセグメントの境界を表し、白い三角は、目標の基本周波数に従って配置した各ピッチ波形を重畳する位置(ピッチマーク)を示している。
図9のように、有声音については音声素片のそれぞれのピッチ波形を対応するピッチマーク上の重畳し、無声音については各フレームの波形をセグメント中の各フレームに対応する部分に貼り付けることによって、所望の韻律(ここでは、基本周波数、音韻継続時間長)を持った音声波形を生成する。
以上のように本実施形態によれば、素片融合によるフォルマントの鈍り具合に応じて、セグメントごとに適切な強さのフォルマント強調を行うので、こもり感やブザー感が少なく、かつ人工的でない高音質な合成音声を生成できる。
(第2の実施形態)
本発明の第2の実施形態に係るテキスト音声合成を行うテキスト音声合成装置(音声処理装置)について説明する。
第1の実施形態では、音声素片の融合処理およびフォルマント強調の処理に大きな計算量を要するため、CPUスペックが比較的低いミドルウェア向けの応用などには適用が向かないこともあり得る。
そこで、本実施形態では、音声素片の融合およびフォルマント強調の処理を予め行った音声素片をオフラインで作成しておき、実際の動作時には、こうして作成された音声素片から適切な音声素片を選択して接続するだけの処理で合成波形を生成する。
本実施形態に係るテキスト音声合成装置の全体構成例は、図1と同様であり、テキスト入力部1、言語処理部2、韻律処理部3、音声合成部4を備えている。
図10に、本実施形態の音声合成部4の構成例を示す。
以下、図10を参照しながら、本実施形態について、第1の実施形態と相違する点を中心に説明する。
図10に示されるように、本実施形態の音声合成部4は、情報入力部41、素片記憶部42、素片選択部43、素片編集・接続部47、音声波形出力部48を備えている。
第1の実施形態(図2)と比較すると、本実施形態の音声合成部4は、図2の素片融合部44、フォルマント強調フィルタ部45、フォルマント強調度合い推定部46が省かれている。
また、本実施形態の素片記憶部42には、後述の方法によって生成された融合済みの音声素片が格納されている。
第1の実施形態の素片選択部44が各セグメントに対して複数個ずつの音声素片を選択するのに対し、本実施形態の素片選択部44は、各セグメントに対して1つずつの融合済み音声素片の最適系列を選択する。
素片選択部44の動作としては、例えば第1の実施形態で図5のフローチャートを用いる場合と比較すると、本実施形態では、図5のフローチャートのうち、ステップS101とステップS102だけを実行すればよい。もちろん、各セグメントに対して1つずつの融合済み音声素片の最適系列を選択する方法は、これに限られるものではなく、種々の方法が可能である。
なお、素片編集・接続部47および音声波形出力部48の動作は、第1の実施形態のものと同様である。
次に、音声素片記憶部42に格納する融合済みの音声素片を学習する方法について、図11及び図12を参照しながら説明する。
本実施形態では、融合済みの音声素片を作成する融合済み音声素片作成部5を用いる。融合済み音声素片作成部5は、図10のテキスト音声合成装置に含まれても良い。この場合、テキスト音声合成に供するための「フォルマント強調された融合素片」の生成時には、図1の音声合成部4を融合済み音声素片作成部5に置き換えた構成で用いれば良い。
また、融合済み音声素片作成部5は、テキスト音声合成装置に含まれなくても良い。この場合、例えば、融合済み音声素片作成部5を、独立した音声処理装置(テキスト音声合成に供するための「フォルマント強調された融合素片」を生成する音声処理装置)として構成しても良い。この場合、独立した音声処理装置は、図1の音声合成部4を融合済み音声素片作成部5に置き換えた構成にすれば良い。
図11に、融合済み音声素片作成部5の構成例を示す。
融合済み音声素片作成部5の構成は、第1の実施形態の音声合成部4の構成とほとんど同じであるため、ここでは相違する点について説明する。
融合済み音声素片作成部5は、第1の実施形態の音声合成部4の素片編集・接続部47および音声波形出力部48の代わりに、音声素片出力部49を持つ。第1の実施形態の音声合成部4の素片編集・接続部47および音声波形出力部48は、フォルマント強調部45から入力された各セグメントに対する音声素片を接続して、入力テキストに対する合成波形を生成するのに対し、音声素片出力部49は、フォルマント強調部45から入力された音声素片をそのまま出力する。
すなわち、融合済み音声素片作成部5は、音声素片(フォルマント強調された融合素片)を、図10のテキスト音声合成装置の音声素片記憶部42へ出力し、音声素片(フォルマント強調された融合素片)は、音声素片記憶部42に記憶される。
次に、音声素片記憶部42に格納する融合済みの音声素片を学習する手順について説明する。
図12に、この場合の処理手順の一例を示す。
まず、ステップS501において、融合済み音声素片作成部5を備えたテキスト音声合成装置又は独立した音声処理装置に対して、大量の文を入力する。
次に、ステップS502において、入力された各文の各セグメントに対して生成された融合済み音声素片が、融合済み音声素片生成部5から出力される。
次に、ステップS503において、外部から指定された音声素片記憶部42に格納する音声素片の総数のうち、それぞれの素片種別に対して幾つずつ配分するかを決める。
ここで、素片種別とは、音声素片の音韻環境などで分類された種別を指す。例えば、素片種別/a/は、音素/a/に対応する音声素片のこととする。
各素片種別に何個ずつ素片を配分するかは、各素片種別の音声素片の出現頻度などに応じて決める。例えば、素片種別/a/の素片が素片種別/u/の素片よりも出現頻度が高い場合は、素片種別/a/に多めの素片を配分することとする。
素片種別iに配分する音声素片の個数をNiとする。
次に、ステップS504において、素片種別番号iに初期値1をセットする。
次に、ステップS505において、素片種別iの融合済み音声素片を、ステップS502で出力された素片種別iの音声素片の中から、出現頻度が上位のものをNiずつ抽出する。
次に、ステップS506において、iと素片種別数を比較する。
iが素片種別数以下である場合(ステップS506のYES)には、ステップS507に進んで、iの値を1つ増やし、そして、ステップS505〜ステップS506を繰り返す。
iが素片種別数を超えている場合(すなわち、全ての素片種別に対する処理が完了している場合)(ステップS506のNO)には、全ての処理を終了する。
上記のようにして抽出した融合済み音声素片を、音声素片記憶部42に格納する。
ここで、音声素片記憶部42に格納するために選択する音声素片の個数は、トータルでの音声素片サイズと合成音声の音質とのトレードオフで、任意に決めることができる。より多くの音声素片を選択して格納すれば、サイズは大きくなるが、合成音声の音質を高くすることができ、音声素片の数を減らせば、合成音声の音質は犠牲になるが、サイズを小さくすることができる。
なお、上記では出現頻度の高い素片を抽出する方法を説明したが、音声素片の両端で算出したメルケプストラムなどの音声素片の特徴量を用いて抽出しても良い。
この場合、各素片種別に対して出力された融合済み音声素片をそれぞれ、音声素片の特徴量を用いてクラスタリングし、分割された各クラスタの中心(セントロイド)に最も近い素片を抽出する。クラスタリングにおけるクラスタ数は、各素片種別に配分する素片数に応じて決める。
出現頻度に基づいて素片を抽出する場合は、出現頻度が低いコンテキストに対して適切な素片が抽出されない可能性があり、入力テキストによっては音質が大きく劣化してしまう可能性があるが、本方法によって素片を抽出した場合、特徴量空間をできるだけ広く覆うような音声素片のセットが抽出できるため、出現頻度に基づいて抽出した場合より安定した合成音が生成できる。
以上のように本実施形態によれば、複数の音声素片を融合する処理とフォルマント強調の処理を予めオフラインで行うので、第1の実施形態よりも少ない計算量で実現でき、CPUスペックが比較的低いミドルウェア向けなどの応用にも適用可能である。
また、合成音声の音質とのトレードオフで、格納する音声素片のトータルのサイズもスケーラブルに決めることができる。
(第3の実施形態)
本発明の第3の実施形態に係るテキスト音声合成装置について説明する。
本実施形態は、フォルマント強調度合い推定部46の推定方法が、第1の実施形態で説明した例とは相違するものであり、以下、この相違点を中心に説明する。
第1の実施形態では、フォルマント強調度合い推定部46でフォルマント強調度合いを推定する方法として、融合元の各音声素片と融合素片の間でのスペクトル包絡の差を算出することによって推定する方法を説明したが、融合元の各音声素片と融合素片との間でのスペクトル包絡の差と、融合によるスペクトル包絡の鈍り具合の間には、高い相関はあると考えられるものの、直接的な関係があるわけではない。そこで、スペクトル包絡の鈍り具合を、より直接的に求められる方法があれば、より確度の高い推定を行うことが可能と考えられる。
その一つの方法として、線形予測極(LP極)を用いる方法が考えられる。LP極は、数式(2)のP(z)について(1−P(z))を=0とおいたときに得られる解(複素数)のことで、この解のz平面上での位置と単位円との関係から、各フォルマントの周波数とバンド幅を推定することができる。それぞれの極が各フォルマントに対応すると考えられ、i番目の極に関して、極と原点を結ぶ線の角度をθ
i、極と原点の距離をr
iとした場合、i番目のフォルマントの周波数F
iおよびバンド幅BW
iは、数式(4)のように推定できる。
このようにして推定した各フォルマントの周波数とバンド幅を用いれば、スペクトル包絡のうち、特にフォルマントに関する鈍り具合がより正確に推定できると考えられる。
以下、LP極から推定される各フォルマントのバンド幅を用いて、スペクトル包絡の鈍り具合を推定する方法の一例を、図13を参照しながら説明する。
図13に、LP極から推定される各フォルマントのバンド幅を用いてスペクトル包絡の鈍り具合を推定する手順の一例を示す。
まず、ステップS601において、融合素片のLP極を算出する。具体的には、融合素片の音声波形に対してLPC分析を行い、得られた線形予測係数を係数に持つ数式(2)のP(z)について、(1−P(z))=0とおいたときの解を得る。
次のステップS602では、融合元の音声素片それぞれに対するLP極を、ステップS601と同様の方法で算出する。
次に、ステップS603では、フォルマントバンド幅比率の和Rsumを0に、ステップS604では、用いたLP極の個数NLPを0に、ステップS605では、カウンターiを1に、それぞれ初期化して、ステップS606に進む。
ステップS606では、融合素片のi番目のLP極が実軸上(すなわち虚数項が0)かどうかを判定し、実軸上である場合(ステップS506のYES)には、ステップS620に進んで、カウンターiの値を1つ増やした後に、再びS606に進む。
これは、実軸上のLP極がフォルマントには対応しない(スペクトル包絡全体の形状に寄与)ため、実軸上である場合については、ステップS607以降の処理をスキップし、フォルマントに対応したLP極のみを考慮するためのものである。
LP極が実軸上でない場合(ステップS606のNO)には、ステップS607に進む。
ステップS607では、NLPの値を1つ増やした後に、ステップS608に進む。
ステップS608では、融合素片のi番目のLP極に対するフォルマントのバンド幅BWiを、数式(4)を用いて算出する。
次のステップS609では、融合元の音声素片のフォルマントに関するバンド幅の和BWi_org_sumを0に初期化し、ステップS610に進む。
ステップS610では、カウンターkを1に初期化して、ステップS611に進む。
ステップS611では、融合元の音声素片(計N
fused個)のうちk番目の音声素片(「音声素片k」と呼ぶ。)について、この音声素片のLP極の中で、融合素片のi番目のLP極が表すフォルマントに対応するようなLP極を選択する。具体的には、音声素片kのLP極の中で、融合素片のi番目のLP極に最も近いものを選択する。LP極の間の距離については、例えば数式(5)(文献“Goncharoff, etc., 「Interplation of LPC spectra via pole shifting.」, IEEE ICASSP, Detroit, MI, Vol.1, pp.780-783, 1995”参照)を用いて算出できる。ただし、p
iはLP極の複素数表現、r
iはLP極と原点の距離を表し、D(p0,p1)がLP極p
0とp
1の距離を表す。
この数式(5)によって、融合素片のi番目のLP極との距離を、融合元の音声素片のLP極のそれぞれについて算出し、最も距離が小さいLP極を選択する。
次のステップS612では、ステップS611で選択されたLP極に対するバンド幅BWi_org_kを、数式(4)を用いて算出する。
次に、ステップS613において、ステップS612で算出したBWi_org_kをBWi_org_sumに加算する。
続いて、ステップS613において、カウンターkが融合元の音声素片数Nfused以下かどうかを判定する。
カウンターkがNfused以下である場合(ステップS613のYES)には、ステップS619に進んで、カウンターkの値を1つ増やした後に、ステップS611からのステップを繰り返す。一方、カウンターkがNfusedを超える場合(ステップS613のNO)には、ステップS615に進む。
ステップS615では、BWi_org_sumをNfusedで割ることによって、融合素片のi番目のLP極に対応するような、融合元の各音声素片のLP極についての、フォルマントのバンド幅の平均値BWi_org_meanを算出する。
次のステップS616では、ステップS615で算出したBWi_org_meanに対する、融合素片のi番目のLP極のバンド幅BWiの比率を、フォルマントバンド幅比率の和Rsumに加算する。
続いて、ステップS617では、カウンターiが、NmaxLPという設定値以下かどうかを判定する。
ここで、NmaxLPは、フォルマントの鈍り具合を推定するのに用いるLP極の個数の最大値を表す。
この値は、例えば、LPC分析での分析次数の1/2などに設定する。
カウンターiがNmaxLP以下である場合(ステップS617のYES)には、ステップS620に進んで、カウンターiの値を1つ増やした後に、ステップS606からの処理を繰り返す。一方、カウンターiがNmaxLPを越える場合(ステップS617のNO)には、ステップS618に進む。
ステップS618では、フォルマントバンド幅比率の和Rsumを、用いたNP極の個数NLPで割ることによって、フォルマントバンド幅比率の平均値Rmeanを算出し、全ての処理を終了する。
本実施形態では、上記のような方法で算出したフォルマントバンド幅比率の平均値Rmeanを、音声素片の融合によるスペクトル包絡の鈍り具合を表す尺度として用いる。この値は、フォルマントのバンド幅がほぼ変わらずスペクトル包絡がほとんど鈍らなかった場合には1に近い値、フォルマントのバンド幅が融合元の音声素片より広がってスペクトル包絡が鈍った場合には1より大きい値となり、スペクトル包絡の鈍り具合が大きければ大きいほど大きな値になると考えられる。そこで、本実施形態においては、Rmeanが1以下の場合は強調無しで、1より大きい場合は強調度合いが単調増加するような何らかの関数を用いることによって、このRmeanからフォルマント強調度合いを算出することとする。
このように、融合素片と融合元の各音声素片に対して推定されたフォルマントのバンド幅を用いることによって、スペクトル包絡形状の差を用いる場合よりも、融合によるスペクトル包絡の鈍り具合をより直接的に求められるので、フォルマント強調度合いをより高い確度で推定することが可能である。
(第4の実施形態)
本発明の第4の実施形態に係るテキスト音声合成装置について説明する。
本実施形態は、フォルマント強調度合い推定部46の推定方法が、第1、第3の実施形態で説明した例とは相違するものであり、以下、この相違点を中心に説明する。
第3の実施形態においては、融合素片の各LP極に対して求めたフォルマントバンド幅比率を平均化することによって、スペクトル包絡全体での鈍り具合を推定しているが、実際にはスペクトルの鈍り具合がフォルマント毎で異なる場合も考えられる。そこで、各LP極に対して求めたフォルマントバンド幅比率(以下、Riとする。)をそのまま用いることによって、フォルマントごとに強調度合いが異なるようなフォルマント強調を行うことも可能である。
ここで、融合素片のi番目のLP極をp
iとすると、数式(2)のP(z)に関して、数式(6)のように表せる。
H(z)=1/(1−P(z))という伝達関数を持つフィルタ(線形予測フィルタ)に、LPC分析したときの予測残差を入力すると完全に元の波形が再現できるが、上記のpiをz平面上の単位円に近づくように変更したフィルタに予測残差を入力すると、i番目のLP極に対応するフォルマントのバンド幅が狭まり、結果的に、このフォルマントを強調することができる。すなわち、Riに応じて適切にpiを変更したフィルタをフォルマント強調フィルタとして用いれば、フォルマントごとに適切なフォルマント強調を行うことができる。
図14に、本実施形態のフォルマント強調フィルタ部45の構成例を示す。
LPC分析部451は、入力された波形に対してLPC分析を行い、算出されたLPCをLPC変形部452に、予測残差を線形予測フィルタ部453に出力する。
LPC変形部452では、フォルマント強調度合い推定部46から入力された各LP極に対するフォルマントバンド幅比率Riに応じてLPC係数を変形し、この変形されたLPC係数を線形予測フィルタ部453に与える。
線形予測フィルタ部453では、LPC変形部452から与えられたLPC係数をフィルタ係数に用いて、LPC分析部451から入力された予測残差をフィルタリングすることによって、フォルマント強調された波形を出力する。
なお、LPC変形部452においては、まず、入力されたLPC係数から数式P(z)を得た後、(1−P(z))を数式(6)のように因数分解することによってLP極piを得る。
次に、LP極piをRiに応じて変更する。
例えば、数式(7)のように変更すれば、フォルマントのバンド幅は1/R
i倍となり、融合元の音声素片での平均的なフォルマントのバンド幅に近づくようバンド幅を狭めることが可能である。
このような方法でRiに応じて変更したLP極piを数式(6)に代入して、この数式を展開することによって、変形されたLPC係数を得ることができる。
本実施形態においては、融合素片および融合元の各音声素片に対して求めたLP極を用いてフォルマントごとに強調度合いを変える方法を説明したが、この方法以外にも、フォルマントごとあるいは周波数帯域によって強調度合いが変わるようなフォルマント強調を行うことも可能である。
例えば、フォルマント強調度合い推定部46において、融合素片および融合元の各音声素片の波形を複数の周波数帯域に分割し、それぞれの帯域においてスペクトル包絡の鈍り具合を推定することによって、それぞれの帯域でのフォルマント強調度合いを推定する。そして、フォルマント強調フィルタ部45において、融合素片の波形を帯域分割して得た各周波数帯域の波形に対し、フォルマント強調度合い推定部46から入力された各帯域の強調度合いに従ってフォルマント強調した後、周波数帯域間で波形を足し合わせれば、各周波数帯域でのスペクトル包絡の鈍り具合に応じたスペクトル強調を行うことが可能である。
なお、以上の各機能は、ソフトウェアとして記述し適当な機構をもったコンピュータに処理させても実現可能である。
また、本実施形態は、コンピュータに所定の手順を実行させるための、あるいはコンピュータを所定の手段として機能させるための、あるいはコンピュータに所定の機能を実現させるためのプログラムとして実施することもできる。加えて該プログラムを記録したコンピュータ読取り可能な記録媒体として実施することもできる。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
1…テキスト入力部、2…言語処理部、3…韻律処理部、4…音声合成部、41…音韻系列・韻律情報入力部、42…音声素片記憶部、43…素片選択部、44…素片融合部、45…フォルマント強調フィルタ部、46…フォルマント強調度合い推定部、47…素片編集・接続部、48…音声波形出力部、49…音声素片出力部、5…融合済み音声素片作成部、451…LPC分析部、452…LPC変形部、453…線形予測フィルタ部