(57)【要約】【課題】  時間長調整による音質劣化が少ない音声素片伸縮装置等を提供する。【解決手段】  音声素片の声道フィルタパラメータを周波数軸方向でＤＰマッチングを行って声道フィルタの時間方向における不連続点を抽出する声道フィルタ不連続点検出部１２０と、抽出された不連続点を複数の音声素片について集計することで、音声素片ごとに、音声素片内の各時間位置における不連続発生率を算出する声道フィルタ不連続点集計部１３０ａと、算出された不連続発生率の逆数を求めることによって、音声素片ごとに、音声素片内の各時間位置における頑健性を算出する頑健性計算部１４０ａと、算出された頑健性に基づいて、音声合成の対象となる音声素片に対して、頑健性の大きい時間位置の箇所ほど時間長の伸縮率が大きくなるように前記音声素片の各部の時間長を伸縮させる音声合成装置１００ｂとを備える。【選択図】        図１
2005070455.tif 000002
【特許請求の範囲】
【請求項１】
音声合成のために音声素片の時間長を伸張または圧縮する音声素片伸縮装置であって、
音声素片の声道フィルタパラメータを周波数軸方向で動的計画法によるマッチングを行って声道フィルタの時間方向における不連続点を抽出する不連続点抽出手段と、
抽出された不連続点を複数の音声素片について集計することで、音声素片ごとに、音声素片内の各時間位置における不連続発生率を算出する不連続発生率算出手段と、
算出された不連続発生率の逆数を求めることによって、音声素片ごとに、音声素片内の各時間位置における頑健性を算出する頑健性算出手段と、
算出された頑健性に基づいて、音声合成の対象となる音声素片に対して、頑健性の大きい時間位置の箇所ほど時間長の伸縮率が大きくなるように前記音声素片の各部の時間長を伸縮させる伸縮手段と
を備えることを特徴とする音声素片伸縮装置。
【請求項２】
前記不連続発生率算出手段は、音声素片内の相対時間位置における不連続発生率を算出し、
前記頑健性算出手段は、音声素片内の各相対時間位置における頑健性を算出する
ことを特徴とする請求項１記載の音声素片伸縮装置。
【請求項３】
前記伸縮手段は、前記音声素片を構成する複数のフレームに対して、伸縮前後での時間長の比が頑健性の比と等しくなるように、各フレームの時間長を伸縮させる
ことを特徴とする請求項２記載の音声素片伸縮装置。
【請求項４】
前記伸縮手段は、前記音声素片を構成する複数のフレームに対してフレームの繰り返し、または、間引きを行った新たなフレーム並びを決定することで、前記時間長を伸縮させる
ことを特徴とする請求項２記載の音声素片伸縮装置。
【請求項５】
前記伸縮手段は、前記音声素片を同一時間の複数区間に分割し、得られた複数の区間を、前記音声素片内の相対時間位置における頑健性に対応させて、そのまま残す、繰り返す、または、間引くことにより、前記フレーム並びを決定する
ことを特徴とする請求項４記載の音声素片伸縮装置。
【請求項６】
前記不連続発生率計算手段は、音声素片ごとに、音韻境界の両端からの絶対時間位置における不連続発生率を算出し、
前記頑健性算出手段は、音声素片ごとに、音韻境界の両端からの絶対時間位置における頑健性を算出する
ことを特徴とする請求項１記載の音声素片伸縮装置。
【請求項７】
前記不連続発生率計算手段は、音声素片ごとに、音韻の先頭から中間点までについては先頭からの絶対時間位置における不連続発生率を算出し、音韻の中間点から終端までについては終端からの絶対時間位置における不連続発生率を算出し、
前記頑健性算出手段は、算出された不連続発生率の逆数を求めることによって、音声素片ごとに、音韻の先頭から中間点までについては先頭からの絶対時間位置における第１頑健性を算出し、音韻の中間点から終端までについては終端からの絶対時間位置における第２頑健性を算出し、
前記伸縮手段は、音声合成の対象となる音声素片に対して、音韻の先頭から中間点までについては前記第１頑健性を用い、音韻の中間点から終端までについては前記第２頑健性を用いて、前記音声素片の各部の時間長を伸縮させる
ことを特徴とする請求項６記載の音声素片伸縮装置。
【請求項８】
前記伸縮手段は、前記音声素片を構成する複数のフレームに対して、伸縮前後での時間長の比が頑健性の比と等しくなるように、各フレームの時間長を伸縮させる
ことを特徴とする請求項７記載の音声素片伸縮装置。
【請求項９】
前記伸縮手段は、前記音声素片を構成する複数のフレームに対してフレームの繰り返し、または、間引きを行った新たなフレーム並びを決定することで、前記時間長を伸縮させる
ことを特徴とする請求項７記載の音声素片伸縮装置。
【請求項１０】
前記伸縮手段は、前記音声素片を同一時間の複数区間に分割し、得られた複数の区間を、前記音声素片内の相対時間位置における頑健性に対応させて、そのまま残す、繰り返す、または、間引くことにより、前記フレーム並びを決定する
ことを特徴とする請求項９記載の音声素片伸縮装置。
【請求項１１】
前記不連続発生率算出手段は、不連続発生率を算出する際に、集計の対象となるデータ数が所定値よりも少ない場合は、当該絶対時間位置が属する計算区間よりも音韻境界に近く、かつ、前記データ数が所定値以上である計算区間における不連続発生率を当該計算区間の不連続発生率として採用する
ことを特徴とする請求項７記載の音声素片伸縮装置。
【請求項１２】
前記伸縮手段は、音声合成の対象となる音声素片の時間長の中間点が、前記頑健性算出手段によって第１頑健性が算出された音韻の先頭からの絶対時間位置または前記第２頑健性が算出された音韻の終端からの絶対時間位置よりも大きい場合には、音韻の先頭または終端から最も離れた時間位置での頑健性を用いて前記音声素片の各部の時間長を伸縮させる
ことを特徴とする請求項７記載の音声素片伸縮装置。
【請求項１３】
前記伸縮手段は、音声合成の対象となる音声素片の各時間位置での頑健性が前記頑健性算出手段によって算出されていない場合には、前記頑健性算出手段によって算出された時間位置と頑健性との組を複数個用いて補間または多次元多項式によって近似することで当該時間位置における頑健性を特定し、特定した頑健性を用いて前記音声素片の各部の時間長を伸縮させる
ことを特徴とする請求項１記載の音声素片伸縮装置。
【請求項１４】
音声合成のために音声素片の時間長を伸張または圧縮する音声素片伸縮方法であって、
音声素片の声道フィルタパラメータを周波数軸方向で動的計画法によるマッチングを行って声道フィルタの時間方向における不連続点を抽出する不連続点抽出ステップと、
抽出された不連続点を複数の音声素片について集計することで、音声素片ごとに、音声素片内の各時間位置における不連続発生率を算出する不連続発生率算出ステップと、
算出された不連続発生率の逆数を求めることによって、音声素片ごとに、音声素片内の各時間位置における頑健性を算出する頑健性算出ステップと、
算出された頑健性に基づいて、音声合成の対象となる音声素片に対して、頑健性の大きい時間位置の箇所ほど時間長の伸縮率が大きくなるように前記音声素片の各部の時間長を伸縮させる伸縮ステップと
を含むことを特徴とする音声素片伸縮方法。
【請求項１５】
音声合成のために音声素片の時間長を伸張または圧縮する音声素片伸縮装置のためのプログラムであって、
請求項１〜１３のいずれか１項に記載の音声素片伸縮装置が備える手段としてコンピュータを機能させる
ことを特徴とするプログラム。
【請求項１６】
音声合成のために音声素片の時間長を伸張または圧縮するのに用いられる頑健性データを生成する装置であって、
音声素片の声道フィルタパラメータを周波数軸方向で動的計画法によるマッチングを行って声道フィルタの時間方向における不連続点を抽出する不連続点抽出手段と、
抽出された不連続点を複数の音声素片について集計することで、音声素片ごとに、音声素片内の各時間位置における不連続発生率を算出する不連続発生率算出手段と、
算出された不連続発生率の逆数を求めることによって、音声素片ごとに、音声素片内の各時間位置における頑健性を算出し、頑健性データとして出力する頑健性算出手段と
を備えることを特徴とする頑健性データ生成装置。
【請求項１７】
テキストデータから音声を生成する音声合成装置であって、
請求項１６記載の頑健性データ生成装置によって生成された頑健性データを用いて、音声合成のために音声素片の時間長を伸張または圧縮する伸縮手段と、
伸縮された音声素片に基づいて音声信号を生成する波形生成手段と
を備えることを特徴とする音声合成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、規則合成方式による音声合成に関し、特に、音声素片の継続時間長を制御する音声素片伸縮装置および方法に関する。
【背景技術】
【０００２】
機械的な方法等でテキストデータから人工的に音声を生成し出力する音声合成の一つの方法として、「あ」や「い」等の音声素片（以下、音素あるいは素片ともいう。）にイントネーションやアクセント等の韻律情報を与え、さまざまな合成規則を用いて音声を生成する規則合成方式がある。規則合成方式においては、外部から与えられる、あるいは韻律制御手段で生成された音韻毎に設定された継続時間長に合わせて、音声素片の継続時間長を制御する必要がある。自然音声では、発話の速度、意味内容、前後の音韻などの影響で、音韻の継続時間長が様々に変化しているので、自然音声に近い高品質な音声を合成するためには、任意の継続時間長の音声を合成器によって合成することが可能でなければならない。
【０００３】
規則合成方式の音声合成における音声素片の継続時間長に関する制御方式として、従来、１音韻内で素片の波形をピッチに同期して均一な割合で間引き、繰り返しを行う、あるいは、一定時間長のフレームを均一な割合で間引き、繰り返しを行う、あるいは、フレーム時間長を均一な割合で伸縮する等の制御方式がある。これによって、基本時間長の音声素片から、任意の継続時間長の音声素片を生成するというものである。
【０００４】
また、素片フレームの時間位置と生成しようとするフレームの時間位置との関係をマッピング関数として設定することで、素片内の時間伸縮の影響を受けにくい部分でフレーム時間長を伸縮する方式も提案されている（たとえば、特許文献１参照）。これによって、より自然で任意の継続時間長の音声素片を生成するというものである。
【特許文献１】特開平１０−９１１９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、均一な割合での間引きや繰り返し、あるいはフレーム長の伸縮を行う上記従来の方式は、音素境界近傍の渡り情報のように、時間あたりの変化量が音韻知覚のための重要な情報となっている部分における時間あたりの変化量を変えることになり、音質を大きく劣化させる。例えば、図３４（ａ）に示されるような「おんそ（音素）」という標準の音声パターン（ここでは、基本周波数の時間変化）の継続時間長を均一に伸張することによって、図３４（ｂ）に示される音声パターンを生成するが、音素境界近傍９０ａおよび９０ｂ、９１ａおよび９１ｂにおける時間あたりの変化量が変化してしまうために、音素境界近傍の渡り情報が異なるものとなってしまい、不自然な音声が生成されてしまう。
【０００６】
一方、上記特許文献１に開示された方式では、マッピング関数を用いて音声素片の継続時間長を制御しているために、図３４（ｃ）に示されるように、音素境界近傍９２ａおよび９２ｂにおける時間あたりの変化量を変えることなく継続時間長を伸張しているものの、そのマッピング関数の生成方式については自動化されることなく、経験的に探り当てられているために、多様な発話状態に対応することができないという問題がある。つまり、音声の変化パターンは、音声の状態や発話様態、話者の個人特性等により異なるため、少なくとも素片データベースごとにマッピング関数を生成する必要があるが、上記特許文献１の方式は、そのような多様なマッピング関数を生成する機能を有していないために、多様な発話状態に対応することができず、例えば、２０歳代の女性の音声だけについての音声合成を行う等の特定種類の音声合成にしか適用することができないという課題を有している。
【０００７】
そこで、本発明は、上記の課題に鑑み、音質劣化が少なく、かつ、多様な発話状態に対応して音声素片の継続時間長を調整することが可能な音声素片伸縮装置等を提供することを目的とする。つまり、時間長調整による音質劣化が少なく、かつ、時間長調整に用いるマッピング関数を生成するための素片データベースの作成作業が軽減される音声素片伸縮装置等を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を達成するために、本発明に係る音声素片伸縮装置は、音声合成のために音声素片の時間長を伸張または圧縮する音声素片伸縮装置であって、音声素片の声道フィルタパラメータを周波数軸方向で動的計画法によるマッチングを行って声道フィルタの時間方向における不連続点を抽出する不連続点抽出手段と、抽出された不連続点を複数の音声素片について集計することで、音声素片ごとに、音声素片内の各時間位置における不連続発生率を算出する不連続発生率算出手段と、算出された不連続発生率の逆数を求めることによって、音声素片ごとに、音声素片内の各時間位置における頑健性を算出する頑健性算出手段と、算出された頑健性に基づいて、音声合成の対象となる音声素片に対して、頑健性の大きい時間位置の箇所ほど時間長の伸縮率が大きくなるように前記音声素片の各部の時間長を伸縮させる伸縮手段とを備えることを特徴とする。
【０００９】
具体的には、前記不連続発生率算出手段は、音声素片内の相対時間位置における不連続発生率を算出し、前記頑健性算出手段は、音声素片内の各相対時間位置における頑健性を算出することとし、前記伸縮手段は、前記音声素片を構成する複数のフレームに対して、伸縮前後での時間長の比が頑健性の比と等しくなるように、各フレームの時間長を伸縮させる。
【００１０】
これによって、音声合成時には、音声素片内で頑健性が高い箇所の伸縮率が大きく、頑健性が低い箇所の伸縮率が小さくなるように音声素片の時間長伸縮が行われるので、音素境界のような音韻知覚上重要な箇所での時間当たりの変化量を変えることなく音声素片の時間長を伸縮することができ、時間長伸縮による音質劣化が回避される。そして、そのような頑健性データは、音声素片データから自動生成されるので、準備された音声素片データに最適な時間長伸縮が可能になるとともに、時間長伸縮に用いるマッピング関数の作成作業が自動化される。
【００１１】
また、前記伸縮手段は、前記音声素片を構成する複数のフレームに対してフレームの繰り返し、または、間引きを行った新たなフレーム並びを決定することで、前記時間長を伸縮してもよい。たとえば、前記伸縮手段は、前記音声素片を同一時間の複数区間に分割し、得られた複数の区間を、前記音声素片内の相対時間位置における頑健性に対応させて、そのまま残す、繰り返す、または、間引くことにより、前記フレーム並びを決定してもよい。
これによって、音声素片を構成する全てのフレーム長を同一にしたまま、頑健性に基づく時間長伸縮が可能となり、音声合成による音声波形の生成処置が簡素化される。
【００１２】
また、前記不連続発生率計算手段は、音声素片ごとに、音韻境界の両端からの絶対時間位置における不連続発生率を算出し、前記頑健性算出手段は、音声素片ごとに、音韻境界の両端からの絶対時間位置における頑健性を算出してもよい。このとき、前記不連続発生率計算手段は、音声素片ごとに、音韻の先頭から中間点までについては先頭からの絶対時間位置における不連続発生率を算出し、音韻の中間点から終端までについては終端からの絶対時間位置における不連続発生率を算出し、前記頑健性算出手段は、算出された不連続発生率の逆数を求めることによって、音声素片ごとに、音韻の先頭から中間点までについては先頭からの絶対時間位置における第１頑健性を算出し、音韻の中間点から終端までについては終端からの絶対時間位置における第２頑健性を算出し、前記伸縮手段は、音声合成の対象となる音声素片に対して、音韻の先頭から中間点までについては前記第１頑健性を用い、音韻の中間点から終端までについては前記第２頑健性を用いて、前記音声素片の各部の時間長を伸縮させてもよい。
【００１３】
これによって、音韻境界の両端からの絶対時間位置における頑健性に基づいて音声素片の時間長伸縮が行われるので、音韻知覚のための重要な箇所（音韻境界から一定の絶対時間だけ離れた箇所）における時間当たりの変化量が維持され、音質の劣化が抑制され得る。
【００１４】
ここで、前記不連続発生率算出手段は、不連続発生率を算出する際に、集計の対象となるデータ数が所定値よりも少ない場合は、当該絶対時間位置が属する計算区間よりも音韻境界に近く、かつ、前記データ数が所定値以上である計算区間における不連続発生率を当該計算区間の不連続発生率として採用してもよい。これによって、集計の対象が少ない場合に、偏ったデータに大きく左右されてしまうことが回避される。
【００１５】
また、前記伸縮手段は、音声合成の対象となる音声素片の時間長の中間点が、前記頑健性算出手段によって第１頑健性が算出された音韻の先頭からの絶対時間位置または前記第２頑健性が算出された音韻の終端からの絶対時間位置よりも大きい場合には、音韻の先頭または終端から最も離れた時間位置での頑健性を用いて前記音声素片の各部の時間長を伸縮させてもよい。これによって、頑健性が算出された音声素片の時間長よりも長い時間伸張が可能となる。
【００１６】
また、前記伸縮手段は、音声合成の対象となる音声素片の各時間位置での頑健性が前記頑健性算出手段によって算出されていない場合には、前記頑健性算出手段によって算出された時間位置と頑健性との組を複数個用いて補間または多次元多項式によって近似することで当該時間位置における頑健性を特定し、特定した頑健性を用いて前記音声素片の各部の時間長を伸縮させてもよい。これによって、頑健性算出手段によって算出された離散的な頑健性が補間され、時間的に連続した頑健性が求められるので、頑健性を算出するオフライン処理と頑健性を利用する音声合成処理とが分離・独立化されるとともに、少ない音声素片データで高い音質の音声合成が可能となる。
【００１７】
なお、本発明は、以上のような音声素片伸縮装置として実現することができるだけでなく、その手段をステップとする音声素片伸縮方法として実現したり、音声素片伸縮装置としてコンピュータを機能させるプログラムとして実現したり、音声素片の伸縮処理に役立つ頑健性データを生成する頑健性データ生成装置として実現したり、そのような頑健性データを利用して音声合成を行う音声合成装置として実現したりすることもできる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ等の記録媒体やインターネット等の伝送媒体を介して配信することができるのは言うまでもない。
【発明の効果】
【００１８】
本発明に係る音声素片伸縮装置等により、音声合成時における時間長調整による音質劣化を防ぎ、より少ない音声素片データで高い音質の合成音声を生成することが可能になる。
【００１９】
また、時間長伸縮に対する頑健性を自動生成することにより、素片データベースに最適な時間長伸縮に関する情報が付加され、時間長伸縮関数の作成作業が軽減される。
【００２０】
よって、音質劣化が少なく、かつ、多様な発話状態に対応して音声素片の継続時間長を調整することが可能な音声素片伸縮装置等が実現される。
【発明を実施するための最良の形態】
【００２１】
以下、本発明に係る音声素片伸縮装置およびその方法の実施の形態について、図面を参照しながら詳細に説明する。
（実施の形態１）
図１は、本発明の実施の形態１における音声素片伸縮方法を用いた、音声合成処理フレーム長が可変の音声合成システム１００の構成を示す機能ブロック図である。
【００２２】
この音声合成システム１００は、大きく分けて、オフラインで学習を行うオフライン処理装置１００ａと、その学習の結果を利用してテキストデータから音声合成を行う音声合成装置１００ｂとから構成される。
【００２３】
オフライン処理装置１００ａは、音声合成に先立って音声素片ごとの頑健性データを予め生成しておく装置であり、音声素片データベース１１０ａ、声道フィルタ不連続点検出部１２０、声道フィルタ不連続点集計部１３０ａおよび頑健性計算部１４０ａから構成される。
【００２４】
音声素片データベース１１０ａは、音声素片の声道フィルタパラメータを含む合成パラメータを固定フレーム長で記述した素片データを、発音記号列、基本周波数、音声強度、音素時間長、とともに格納している記憶部である。声道フィルタ不連続点検出部１２０は、隣接するフレーム間で、両フレームの各声道フィルタパラメータの接続（対応づけ）をＤＰ（Dynamic Programming；動的計画法）マッチングを用いて行い、声道フィルタパラメータの不連続点を検出する処理部である。声道フィルタ不連続点集計部１３０ａは、音素ごとに声道フィルタパラメータの不連続点を音素内の相対時間位置で整理して集計し、不連続点の発生率を計算する処理部である。頑健性計算部１４０ａは、不連続点の発生率の逆数を標準化して時間長伸縮に対する頑健性を求める処理部である。
【００２５】
一方、音声合成装置１００ｂは、オフライン処理装置１００ａで生成された頑健性データに基づいてテキストデータの音声合成を行う装置であり、音声素片データベース１１０ｂ、言語処理部２１０、韻律生成部２２０、素片選択部２３０、頑健性テーブル２４０ａ、フレーム時間長計算部２５０ａ、フレーム変形部２６０および波形生成部２７０から構成される。
【００２６】
言語処理部２１０は、入力されたテキストデータの言語解析を行い、形態素や構文等の言語情報と音素列等の読み情報を生成する処理部である。韻律生成部２２０は、言語処理部２１０より出力された言語情報と読み情報に基づいて合成音声の韻律を決定し、基本周波数、パワー、音素時間長、ポーズ時間長等韻律情報を生成する処理部である。音声素片データベース１１０ｂは、パラメータ列を接続する際の処理単位で実音声から生成された音声合成パラメータを保持する記憶部である。素片選択部２３０は、韻律生成部２２０から出力された韻律情報と言語情報、読み情報を用いて音声素片データベース１１０ｂより最適な音声素片を選択する処理部である。頑健性テーブル２４０ａは、音声素片の種類ごとに音素内相対時間位置に対応する時間長伸縮に対する頑健性データを記憶する記憶部である。フレーム時間長計算部２５０ａは、頑健性テーブル２４０ａ内のデータに基づいて音声合成時の処理単位である素片フレームごとに時間長を算出する処理部である。フレーム変形部２６０は、フレーム時間長計算部２５０ａで計算されたフレーム時間長に従って素片の各フレームの時間長を伸縮させる処理部である。波形生成部２７０は、フレーム変形部２６０で伸縮されたフレームを接続し、フレーム毎のパラメータに基づく信号処理により音声波形（音声信号）を生成する処理部である。
【００２７】
以上のように構成された実施の形態１における音声合成システム１００の動作を図２、図３に示されるフローチャートに従って説明する。まず、オフライン処理装置１００ａの動作を図２に示されるフローチャートを用いて説明する。
【００２８】
声道フィルタ不連続点検出部１２０は音声素片データベースより音素ごとに声道フィルタパラメータを取得する。本実施の形態では１フレームあたり６つのフィルタが設定されているものとし、声道フィルタパラメータはフィルタ中心周波数とバンド幅からなるものとする。このような声道フィルタパラメータについて、隣り合うフレームの声道フィルタパラメータの値をＤＰマッチングの手法を用いて周波数軸上でマッチングし（ステップＳ１０１０）、隣り合うフレームでマッチングできない声道フィルタが検出されたフレームの境界を声道フィルタパラメータの不連続点として検出する（ステップＳ１０２０）。
【００２９】
ＤＰマッチングを用いた声道フィルタパラメータの不連続点の検出は、数１に示す接続コストｄｃ（）および数２に示す非接続コストｄｄ（）からなる距離尺度を用いて行う。声道フィルタパラメータは正確にはホルマントを示すものではないが、ここでは便宜上、声道フィルタパラメータＦ１−Ｆ６をホルマントＦ１−Ｆ６とみなして取り扱う。
【００３０】
【数１】
2005070455.tif 000003
【００３１】
【数２】
2005070455.tif 000004
【００３２】
ここで、Ｆｆ（ｎ）は第ｎフレームのホルマント中心周波数であり、Ｆｉ（ｎ）は第ｎフレームのホルマント強度であり、α、βは所定の重み係数であり、εは所定の小さい値である。ホルマント強度Ｆｉ（ｎ）は、第ｎフレームのホルマントスペクトルの最大レベルと最小レベルの差として数３に示すように定義される。
【００３３】
【数３】
2005070455.tif 000005
【００３４】
ここで、Ｆｂ（ｎ）は第ｎフレームのホルマントバンド幅、Ｆｓはサンプリング周波数である。
【００３５】
図４は、ある二つの隣り合ったフレームのホルマントＦ１−Ｆ６を表すパラメータセット（ホルマント中心周波数，ホルマントバンド幅）を示す。図４において横軸はフレーム番号であり縦軸は周波数である。各パラメータセットは（ホルマント中心周波数，ホルマントバンド幅）のように値を表示している。２つのフレーム（フレームＡおよびフレームＢ）にはともに６個のホルマントＦ１−Ｆ６が存在する。これらのホルマントはホルマント中心周波数の低いものからＦ１，Ｆ２，・・・というように呼ばれる。通常、これら６つホルマントのパラメータセットはフレームＡとフレームＢとの間で同じ番号のもの同士が接続（対応づけ）される。しかし、フレームＢのＦ２とＦ３のホルマント中心周波数は接近しており、どちらもフレームＡのＦ２のホルマント中心周波数に近い。また、フレームＢのＦ２はホルマントバンド幅が非常に大きい値となっている。ホルマントバンド幅が大きいホルマントは強度が弱く、消えつつあるか出現しつつあるものと考えられる。したがって、フレームＢのＦ２は出現しつつあるホルマントとみなされ、フレームＡのＦ２とは接続（対応づけ）しないことが望ましい。フレームＡのＦ２はフレームＢのＦ３と接続される（対応づけられる）べきである。このようなことを自動的に判断するためにＤＰマッチングを用いる。
【００３６】
図５は、横軸にフレームＡ、縦軸にフレームＢのホルマントをとり、格子状の点に（１，１），（１，２）というように番号を振ったものである。図５では、ホルマントのそれぞれについて（ホルマント中心周波数，ホルマント強度）というように値を表示している。ホルマント強度は数３によりホルマントバンド幅から変換した値である。
【００３７】
二つのフレームがそれぞれ６つのホルマントを持つため、格子点は（１，１）から（６，６）まで３６個になるが、さらにもう１つ（７，７）という点を設けてある。点（１，１）から点（７，７）に向かって格子点をたどりながら進むものとする。たとえば図６に示すように（１，１），（２，２），（３，３），（４，４），（５，５），（６，６），（７，７）と進むパスが考えられる。このとき、（１，１）はフレームＡのＦ１およびフレームＢのＦ１に対応する。（２，２）以降も同様である。したがって、このようなパスをたどった場合、Ｆ１からＦ６の６つのホルマントはすべて同じ番号のもの同士が接続（対応づけ）されたことになる。しかし、たとえば図７に示すように（１，１），（２，３），（３，４），（５，５），（６，６），（７，７）というパスを通ることも考えられる。この場合はフレームＡのＦ２とフレームＢのＦ３とが接続（対応づけ）され、フレームＡのＦ３とフレームＢのＦ４とが接続（対応づけ）されることを意味する。フレームＡのＦ４およびフレームＢのＦ２は接続（対応づけ）されるべき相手が存在しない。フレームＡのＦ４は消えていくホルマント、フレームＢのＦ２は出現しつつあるホルマントとみなされる。すなわち不連続点として検出される。このようにパスの選ばれ方に応じてホルマントの接続（対応づけ）が決定する。
【００３８】
パスの選び方はホルマント中心周波数およびホルマントバンド幅の値の距離によるコストならびに格子点から格子点への移動によるコストを小さくする方法を用いる。
【００３９】
まず、図８に示すような制約を移動に対して設ける。すなわち、点（ｉ，ｊ）に移動することができるのは（ｉ−１，ｊ−１），（ｉ−２，ｊ−１），（ｉ−１，ｊ−２），（ｉ−２，ｊ−２）の４点のみとする。（ｉ−１，ｊ−１）からの移動をＡ、（ｉ−２，ｊ−１）からの移動をＢ、（ｉ−１，ｊ−２）からの移動をＣ、（ｉ−２，ｊ−２）からの移動をＤと呼ぶことにする。この制約により、すべての格子点のうち（１，１）から移動を開始して（７，７）にたどり着けるために通り得る格子点は明らかに図９に示すものに限られる。
【００４０】
以下、パス探索の手順を図１０を参照しながら説明する。
《ステップＳ１》
まず、フレームＡ，フレームＢのホルマントの数をそれぞれＮＡ，ＮＢと置く。サイズＮＡ×ＮＢの配列Ｃと、サイズ（ＮＡ＋１）×（ＮＢ＋１）の配列ｎｉおよびｎｊを用意し、それらの要素をすべて０で初期化する。Ｃの要素Ｃ（ｉ，ｊ）は、点（ｉ，ｊ）における累積コストを記憶するために用いられる。また、ｎｉの要素ｎｉ（ｉ，ｊ）およびｎｊの要素ｎｊ（ｉ，ｊ）は点（ｉ，ｊ）に最小累積コストで移動してきたパスすなわち点（ｉ，ｊ）への最適パスを記憶するために用いられる。すなわち、点（ｉ，ｊ）への最適パスにおける点（ｉ，ｊ）の直前の点を点（ｍ，ｎ）としたとき、ｎｉ（ｉ，ｊ）＝ｍ、ｎｊ（ｉ，ｊ）＝ｎである。
【００４１】
《ステップＳ２》
すべての可能な点（図８参照）について累積コストおよび最適パスを計算する。カウンタｉおよびｊをともに１で初期化する。ｉ、ｊはそれぞれフレームＡ軸とフレームＢ軸のインデックスとして用いられる。
【００４２】
《ステップＳ３》
点（ｉ，ｊ）に移動可能な４つの点（ｍ，ｎ）についてコスト計算を行う（図８参照）。カウンタｍおよびｎを用意し、ｍ＝ｉ−２，ｎ＝ｊ−２と初期化する。また、最小累積コストを求めるためのＣｍｉｎを用意し、可能な限り大きな値を代入しておく。
【００４３】
《ステップＳ４》
点（ｍ，ｎ）が図９に示した通り得る点の集合に含まれていなければ（Ｎｏ）ステップＳ８へ、含まれていれば（Ｙｅｓ）ステップＳ５へすすむ。
【００４４】
《ステップＳ５》
累積コストを一時的に記憶するＣｔｅｍｐを用意し、点（ｍ，ｎ）から点（ｉ，ｊ）へのパスコストと点（ｍ，ｎ）の累積コストとの和を記憶する。
【００４５】
《ステップＳ６》
ＣｔｅｍｐがＣｍｉｎより小さければ（Ｙｅｓ）ステップＳ７へ、小さくなければ（Ｎｏ）ステップＳ８へすすむ。
【００４６】
《ステップＳ７》
ＣｍｉｎにＣｔｅｍｐを代入し、ｎｉ（ｉ，ｊ）にｍを、ｎｊ（ｉ，ｊ）にｎを格納する。ｎｉ（ｉ，ｊ）は点（ｉ，ｊ）に最小累積コストで移動した点のフレームＡ軸座標、ｎｊ（ｉ，ｊ）はフレームＢ軸座標を記憶する。
【００４７】
《ステップＳ８》
ｎ＝ｊ−１であれば（Ｙｅｓ）ステップＳ１０へ、ｎ＝ｊ−１でなければ（Ｎｏ）ステップＳ９へすすむ。
【００４８】
《ステップＳ９》
ｎを一つ増加させてステップＳ４へもどる。
【００４９】
《ステップＳ１０》
ｍ＝ｉ−１であれば（Ｙｅｓ）ステップＳ１２へ、ｍ＝ｉ−１でなければ（Ｎｏ）ステップＳ１１へすすむ。
【００５０】
《ステップＳ１１》
ｎをｊ−２に戻し、ｍを一つ増加させてステップＳ４へもどる。
【００５１】
《ステップＳ１２》
ｉがＮＡ＋１に達していれば（Ｙｅｓ）終了し、達していなければ（Ｎｏ）ステップＳ１３へすすむ。
【００５２】
《ステップＳ１３》
Ｃ（ｉ，ｊ）に累積コストを記憶する。すなわち、点（ｉ，ｊ）におけるホルマント距離（数１で計算した値）とＣｍｉｎとの和を記憶する。ただし、点（１，１）はパスの始点であるため、パスコストは存在せず、ホルマント距離のみを記憶する。
【００５３】
《ステップＳ１４》
ｊがＮＢに達していれば（Ｙｅｓ）ステップＳ１６へ、達していなければ（Ｎｏ）ステップＳ１５へすすむ。
【００５４】
《ステップＳ１５》
ｊを１つ増加させてステップＳ３へもどる。
【００５５】
《ステップＳ１６》
ｉがＮＡに達していれば（Ｙｅｓ）ステップＳ１８へ、達していなければ（Ｎｏ）ステップＳ１７へすすむ。
【００５６】
《ステップＳ１７》
ｊを１に戻し、ｉを１つ増加させてステップＳ３へもどる。
【００５７】
《ステップＳ１８》
最後に終点（ＮＡ＋１，ＮＢ＋１）に最小累積コストで移動する点を求める。ｉ＝ＮＡ＋１，ｊ＝ＮＢ＋１としてステップＳ３へもどる。
【００５８】
パスコストの計算は次のように行う。許されるパスは図８に示すＡ，Ｂ，Ｃ，Ｄの４つである。フレームＡの第ｉホルマントをＦＡ（ｉ）、フレームＢの第ｊホルマントをＦＢ（ｊ）で表す。パスＡの場合、ＦＡ（ｉ−１），ＦＡ（ｉ）はそれぞれＦＢ（ｊ−１），ＦＢ（ｊ）に接続（対応づけ）され、接続（対応づけ）されるべき相手が存在しないホルマントは存在しない。このためパスコスト（言い換えればｄｉｓｃｏｎｎｅｃｔｉｏｎ  ｃｏｓｔ）は０となる。パスＢの場合、ＦＡ（ｉ−１）は接続（対応づけ）されるべき相手が存在しない。このような場合、パスコストは数２にＦＡ（ｉ−１）のホルマント強度を代入することにより計算される。パスＣの場合は、ＦＢ（ｊ−１）は接続（対応づけ）されるべき相手が存在しない。したがって、パスコストは数２にＦＢ（ｊ−１）の強度を代入することにより計算される。パスＤの場合は、ＦＡ（ｉ−１）とＦＢ（ｊ−１）の２つについて接続（対応づけ）されるべき相手が存在しない。そこで、パスコストは数２にＦＡ（ｉ−１）のホルマント強度を代入したものとＦＢ（ｊ−１）のホルマント強度を代入したものとの和となる。このような計算により、実際のコストがどのようになるかを示す。
【００５９】
図１１は点（ｉ，ｊ）とそれに対して移動可能な４つの点（ｉ−１，ｊ−１），（ｉ−２，ｊ−１），（ｉ−１，ｊ−２），（ｉ−２，ｊ−２）を示している。矢印は４つの点から（ｉ，ｊ）に対する移動を表しており、矢印の先端には図８に示したパスの名前Ａ，Ｂ，Ｃ，Ｄが表されている。また、４つの点を表す丸の中には各点における累積コストが記入されている。パスを表す矢印の中ほどに表した四角で囲んだ数字はパスコストである。例えば、パスＢのパスコストはこの移動により接続（対応づけ）されるべき相手がなくなったフレームＡのＦ３の強度を用いて数２により計算され１１となる。
【００６０】
４つのパスを通って点（ｉ，ｊ）に達する時の累積コスト（ステップＳ５で計算されるＣｔｅｍｐ）は各パスの矢印の終端付近に記入されている。すなわち、移動元の点における累積コストに移動によるパスコストを足した値である。その結果、パスＡは４０３５、パスＢは４８３、パスＣは５３５１、パスＤは１１７９の累積コストを与え、最も小さい累積コストとなるパスＢが選択される（ステップＳ７）。パスＢが選択された様子を図１２に示す。パスＢが選択されたことにより、ｎｉ（ｉ，ｊ）にはパスＢの始点のｉ軸座標値、ｎｊ（ｉ，ｊ）にはｊ軸座標値が記憶される。また、点（ｉ，ｊ）には、パスＢによる累積コストと点（ｉ，ｊ）におけるホルマント距離を数１により計算した値１８２を加えた累積コスト６６５が記入された（ステップＳ１３）。
【００６１】
このようにしてコストを計算しながら最適パスを逐次求め、点（１，１）から点（ＮＡ＋１，ＮＢ＋１）まで繰り返す。この後、ｎｉとｎｊを終点から逆にたどっていけば点（１，１）から点（ＮＡ＋１，ＮＢ＋１）への最適パスを求めることができる。求められた最適パスを図１３に示す。また、その結果、図４に示したホルマント（パラメータセット）が接続（対応づけ）された様子は図１３に示すようになる。フレームＡのＦ１とフレームＢのＦ１とが接続（対応づけ）され、フレームAのF２とフレームBのF３とが接続（対応付け）され、フレームＡのＦ４とフレームＢのＦ４とが接続（対応づけ）され、フレームＡのＦ６とフレームＢのＦ６とが接続（対応づけ）される。一方、フレームＡのＦ３，Ｆ５およびフレームＢのＦ２，Ｆ５は接続（対応づけ）されるべき相手が存在しない。接続（対応づけ）されるべき相手が存在しないホルマント、および、ホルマントの番号が異なるホルマントどうし（対角線上以外の点、ｉ≠ｊの点）が接続（対応づけ）される点が声道フィルタパラメータの不連続点として検出される。よって、フレームＡとフレームＢのフレーム境界が声道フィルタパラメータの不連続点として抽出される。
【００６２】
次に、声道フィルタ不連続点集計部１３０ａは、ステップＳ１０２０で抽出された不連続点を音素時間長で標準化し、以下に示される音素内相対時間位置ｔsに変換する（ステップＳ１０３０）。
【００６３】
【数４】
2005070455.tif 000006
ここで、
ｔｓ  不連続点の音素内相対時間位置
ｌｉ  ｌｊ  ｉ番目、ｊ番目のフレーム時間長
不連続点として検出されたフレーム境界直前までの音素先頭からのフレームの個数  ｍ
音素内フレーム数  ｎ
さらに、声道フィルタ不連続点集計部１３０ａは音素ごとに、音素内相対時間位置に対する不連続点のヒストグラムを作成し、音素内相対時間位置（区間）に対する不連続点の発生頻度を求める（ステップＳ１０４０）。図１５は音素内相対時間位置に対する不連続点のヒストグラムの例である。ここでは不連続点の発生頻度を求める区間を相対時間０．１ごとの区切りとし、同一の音素について、各区間内で発生した不連続点を集計する。
【００６４】
次に、頑健性計算部１４０ａは、ステップＳ１０４０で求めた不連続点の発生頻度の逆数を求め（ステップＳ１０５０）、図１６および以下の式に示すように、各区間の値の総和が１になるよう標準化したものを音素内相対時間位置（区間）における時間伸縮に対する頑健性ｒiとして設定し、音声合成装置１００ｂの頑健性テーブル２４０ａとして利用可能な形式で記録する（ステップＳ１０６０）。
【００６５】
【数５】
2005070455.tif 000007
ここで、
音素内相対時間区間ｉにおける時間伸縮に対する頑健性  ｒｉ
音素内相対時間区間ｉにおける不連続点の発生頻度  Ｃｉ
一方、以下音声合成装置１００ｂの動作を図３のフローチャートを用いて説明する。音声合成システムＢに入力されたテキストデータはまず、言語処理部２１０で形態素解析、構文解析がなされ、音韻列、アクセント、区切り等の読み情報および、品詞、活用等の形態素情報、文節係り受け、構文構造等の構文情報が生成される（ステップＳ１１１０）。次に、韻律生成部２２０は、言語処理部２１０で生成された読み情報、形態素情報、構文情報に基づき音韻列に対応付けられた基本周波数、音声強度、音素継続時間長等の韻律情報を生成する（ステップＳ１１２０）。素片選択部２３０は言語処理部２１０で生成された読み情報、形態素情報、構文情報さらに、韻律生成部２２０で生成された韻律情報を素片選択コストとして用いて、音声素片データベース１１０ｂより合成しようとする音声の音韻列に対応した音声素片を音素単位で抽出し、音韻列に対応付けられた音声素片テーブルを生成する（ステップＳ１１３０）。フレーム時間長計算部２５０ａは韻律生成部２２０により生成された音素継続時間長と素片選択部２３０により音声素片データベース１１０ｂから抽出された音声素片の音素ごとの継続時間長とを比較し、頑健性テーブル２４０ａに記録された、対象の音素に対応する音素内相対位置における時間長伸縮に対する頑健性を参照し、素片の各フレームの中心時間位置での時間長伸縮に対する頑健性を求める。素片の各フレームの中心時間位置での時間長伸縮に対する頑健性が直接参照できない場合には、当該フレームの音素内相対時間位置に応じた頑健性を図１６に示すようなスプライン補間を用いて求める（ステップＳ１１４０）。さらに、各フレームの頑健性に応じて各音声素片の音素時間長が韻律生成部２２０により生成された音素継続時間長と等しくなるよう、各フレームの時間長を計算する（ステップＳ１１５０）。その際、時間長伸縮に対する頑健性が高いフレームの伸縮率を高くし、頑健性の低いフレームの伸縮率が低くなるように、以下の式に従って生成する合成音のフレーム時間長を決定する。
【００６６】
【数６】
2005070455.tif 000008
【００６７】
フレーム変形部２６０は素片フレームを求められたフレーム時間長に伸縮し、基本周波数、音声強度としてステップＳ１１２０で設定された値を当てはめ、合成処理フレームごとのパラメータを生成する（ステップＳ１１６０）。波形生成部２７０はステップＳ１１６０でフレーム変形部２６０より出力された合成パラメータを参照して音声波形を生成する（ステップＳ１１７０）。
【００６８】
以上のように、本実施の形態１における音声素片伸縮方法により、ＤＰマッチングを周波数軸上で利用することで声道フィルタの不連続点を検出し、不連続点の発生頻度の逆数を時間長伸縮に対する頑健性として、素片内で頑健性が高いフレームの伸縮率を大きく、頑健性が低いフレームの伸縮率を小さくするように伸縮率を設定することで、時間長調整による音質劣化を防ぎ、より少ない音声素片データで高い音質の合成音声を生成することが可能になる。また、時間長伸縮に対する頑健性を自動生成することにより素片データベースに最適な時間長伸縮方法を作成することができ、さらに時間長伸縮関数の作成作業を軽減することが可能になる。
（実施の形態２）
図１７は、本発明の実施の形態２における音声素片伸縮方法を用いた、音声合成処理フレーム長が固定長の音声合成システム２００の構成を示す機能ブロック図である。
【００６９】
この音声合成システム２００は、大きく分けて、オフラインで学習を行うオフライン処理装置２００ａと、その学習の結果を利用してテキストデータから音声合成を行う音声合成装置２００ｂとから構成される。オフライン処理装置２００ａは、音声合成に先立って音声素片ごとの頑健性データを予め生成しておく装置であり、音声素片データベース１１０ａ、声道フィルタ不連続点検出部１２０、声道フィルタ不連続点集計部１３０ａおよび頑健性計算部１４０ａから構成され、一方、音声合成装置２００ｂは、オフライン処理装置２００ａで生成された頑健性データに基づいてテキストデータの音声合成を行う装置であり、音声素片データベース１１０ｂ、言語処理部２１０、韻律生成部２２０、素片選択部２３０、頑健性テーブル２４０ａ、フレーム繰り返し／間引き処理部３１０ａおよび波形生成部２７０から構成される。
【００７０】
この音声合成システム２００は、図１に示された実施の形態１の音声合成装置１００ｂのフレーム時間長計算部２５０ａがフレーム間引き／繰り返し処理部３１０ａに置き換わり、フレーム変形部２６０がなくなった以外は実施の形態１の音声合成システム１００と同一の構成である。実施の形態１と同一の構成要素には同一の符号を付して説明を省略し、異なる部分のみ説明する。
【００７１】
フレーム繰り返し／間引き処理部３１０ａは、頑健性テーブル２４０ａ内のデータに基づいて音声合成時の処理単位である固定長の素片フレームを間引くあるいは繰り返すことにより、素片の時間長を韻律生成部２２０より出力された音素時間長に合わせる処理部である。
【００７２】
以上のように構成された実施の形態２における音声合成システム２００の動作について説明する。なお、時間長伸縮に対する頑健性データを生成するオフライン処理部分の動作については実施の形態１のステップＳ１０１０からステップＳ１０６０までと共通であるので説明を省略し、音声合成装置の動作において実施の形態１と異なる部分についてのみ説明する。
【００７３】
以下、音声合成装置２００ｂの動作を説明する。図１８は、音声合成装置２００ｂの動作手順を示すフローチャートである。
【００７４】
音声合成装置２００ｂに入力されたテキストデータは、実施の形態１と同様に、まず、言語処理部２１０で形態素解析、構文解析がなされ、音韻列、アクセント、区切り等の読み情報および、品詞、活用等の形態素情報、文節係り受け、構文構造等の構文情報が生成される（ステップＳ１１１０）。次に、韻律生成部２２０は、言語処理部２１０で生成された読み情報、形態素情報、構文情報に基づき音韻列に対応付けられた基本周波数、音声強度、音素継続時間長等の韻律情報を生成する（ステップＳ１１２０）。素片選択部２３０は言語処理部２１０で生成された読み情報、形態素情報、構文情報さらに、韻律生成部２２０で生成された韻律情報を素片選択コストとして用いて、音声素片データベース１１０ｂより合成しようとする音声の音韻列に対応した音声素片を音素単位で抽出し、音韻列に対応付けられた音声素片テーブルを生成する（ステップＳ１１３０）。フレーム間引き／繰り返し処理部３１０ａは韻律生成部２２０により生成された音素継続時間長と素片選択部２３０により音声素片データベース１１０ｂから抽出された音声素片テーブルの音素ごとの継続時間長とを比較し、頑健性テーブル２４０ａに記録された、対象の音素に対応する音素内相対位置における時間長伸縮に対する頑健性を参照し、素片の各フレームの中心時間位置での時間長伸縮に対する頑健性が直接参照できない場合には、当該フレームの音素内相対時間位置に応じた頑健性をスプライン補間を用いて求める（ステップＳ１１４０）。
【００７５】
さらに、フレーム間引き／繰り返し処理部３１０ａは各フレームの頑健性に応じて各音声素片の音素時間長が韻律生成部２２０により生成された音素継続時間長と等しくなるよう、実施の形態１と同様にして各フレームの時間長を計算する（ステップＳ１１５０）。
【００７６】
一方、フレーム間引き／繰り返し処理部３１０ａは音声合成時の固定フレーム長を元に、韻律生成部２２０で生成された目標音素時間長に最も近くなる音声合成時のフレーム数を求める（ステップＳ２０１０）。次に、目標音素時間長を音声合成時フレーム数で等分割し、等分割された各区間の中心位置とステップＳ１１５０で求めた素片フレーム長により分割された目標音素時間長とを対応させ（ステップＳ２０２０）、音声合成時フレームと素片フレームとの対応より、素片フレームの繰り返しまたは間引きを行う（ステップＳ２０３０、Ｓ２０４０）。
【００７７】
例えば、合成時の固定フレーム長が５ｍｓｅｃで、時間長５０ｍｓｅｃの素片を６３ｍｓｅｃの目標時間に合わせる場合を図１９に示す。目標音素時間長６３ｍｓｅｃで固定フレーム長が５ｍｓｅｃであるので、合成される音素が最も目標音素時間長に近づくのはフレーム数１３のときの６５ｍｓｅｃである。目標音素時間長６３ｍｓｅｃを合成時フレーム数１３で等分割し、ステップＳ１１５０で決定した目標音素時間長６３ｍｓｅｃに合わせて伸長した素片フレーム長と、合成時の１３個のフレームとの対応をつけ、合成時の１３個のフレームがフレーム伸長した場合のどのフレームにあたるかを求め、合成時の１３個のフレームとして素片のどのフレームを使用するかを決定する。図１９のように合成時１番目のフレームとして素片の１番目のフレームを用い、合成時２番目のフレームとして素片の２番目のフレームを用いる。合成時５番目のフレームには対応する素片フレームとして４番目のフレームが対応しており、合成時には素片の４番目のフレームを繰り返すことになる。同様に、素片の６番目のフレーム、素片の８番目のフレームを合成時繰り返すことにより、固定長５ｍｓｅｃのフレーム１３個で目標音素時間長に近い６５ｍｓｅｃの素片を作成する。
【００７８】
また、時間長５０ｍｓｅｃの素片を３２ｍｓｅｃの目標時間に合わせる場合を図２０に示す。目標時間長３２ｍｓｅｃであるので、合成される音素が最も目標音素時間長に近づくのはフレーム数６の時の３０ｍｓｅｃである。目標音素時間長３２ｍｓｅｃにあわせて圧縮した素片フレーム長と、合成時の６個のフレームとの対応をつけ、合成時の６個のフレームとして、素片のどのフレームを使用するかを決定する。図２０のように合成時２番目のフレームとして素片の３番目のフレーム、合成時４番目のフレームとして素片の６番目のフレームというように、素片の２番目、５番目、７番目９番目のフレームを間引くことにより、目標音素時間長に近い３０ｍｓｅｃの素片を作成する。
【００７９】
さらに、フレーム間引き／繰り返し処理部３１０ａはステップＳ２０４０で作成した素片の各フレームの基本周波数、音声強度にステップＳ１１２０で設定された値を当てはめ、合成処理フレームごとのパラメータを生成する（ステップＳ２０５０）。
【００８０】
波形生成部２７０はステップＳ２０５０でフレーム間引き／繰り返し処理部３１０ａより出力された合成パラメータを参照して音声波形を生成する（ステップＳ１１７０）。
【００８１】
以上のように、本実施の形態２における音声素片伸縮方法により、声道フィルタの不連続点をＤＰマッチングを周波数軸上で利用することで検出し、不連続点の発生頻度の逆数を時間長伸縮に対する頑健性とし、素片内で頑健性が高いフレームを繰り返すまたは間引き、頑健性が低いフレームは繰り返しや間引きを避けるよう、繰り返しまたは間引きフレームを設定することで、時間長調整による音質劣化を防ぎ、より少ない音声素片データで高い音質の合成音声を生成することが可能になる。また、時間長伸縮に対する頑健性を自動生成することにより素片データベースに最適な繰り返しまたは間引きの方法を作成することができ、さらに時間長伸縮関数の作成作業を軽減することが可能になる。
【００８２】
（実施の形態３）
図２１は、本発明の実施の形態３における音声素片伸縮方法を用いた音声合成システム３００の構成を示す機能ブロック図である。
【００８３】
この音声合成システム３００は、大きく分けて、オフラインで学習を行うオフライン処理装置３００ａと、その学習の結果を利用してテキストデータから音声合成を行う音声合成装置３００ｂとから構成される。
【００８４】
オフライン処理装置３００ａは、音声合成に先立って音声素片ごとの頑健性データを予め生成しておく装置であり、音声素片データベース１１０ａ、声道フィルタ不連続点検出部１２０、声道フィルタ不連続点集計部１３０ｃおよび頑健性計算部１４０ｃから構成される。実施の形態１のオフライン処理装置１００ａに比べ、声道フィルタ不連続点集計部１３０ｃと頑健性計算部１４０ｃが異なる。以下、異なる点を中心に説明する。
【００８５】
声道フィルタ不連続点集計部１３０ｃは、音素ごとに声道フィルタパラメータの不連続点を音素境界からの絶対時間位置で整理して集計し、不連続点の発生率を計算する処理部である。頑健性計算部１４０ｃは、不連続点の発生率の逆数を時間長伸縮に対する頑健性として求める処理部である。
【００８６】
一方、音声合成装置３００ｂは、オフライン処理装置３００ａで生成された頑健性データに基づいてテキストデータの音声合成を行う装置であり、音声素片データベース１１０ｂ、言語処理部２１０、韻律生成部２２０、素片選択部２３０、頑健性テーブル２４０ｃ、フレーム時間長計算部２５０ｃ、フレーム変形部２６０および波形生成部２７０から構成される。実施の形態１の音声合成装置１００ｂに比べ、頑健性テーブル２４０ｃとフレーム時間長計算部２５０ｃが異なる。
【００８７】
頑健性テーブル２４０ｃは、音声素片の種類ごとに音韻境界からの絶対時間位置に対応する時間長伸縮に対する頑健性データを記憶する記憶部である。フレーム時間長計算部２５０ｃは、頑健性テーブル２４０ｃ内のデータに基づいて素片の処理単位であるフレームごとに時間長を算出する処理部である。
【００８８】
以上のように構成された実施の形態３における音声合成システム３００の動作を図２２、図２３に示されるフローチャートに従って説明する。まず、オフライン処理装置３００ａの動作を図２２に示されるフローチャートを用いて説明する。
【００８９】
声道フィルタ不連続点検出部１２０は音声素片データベースより音素ごとに声道フィルタパラメータを取得し、隣り合うフレームの声道フィルタパラメータの値をＤＰマッチングの手法を用いて周波数軸上でマッチングし（ステップＳ１０１０）、隣り合うフレームでマッチングできない声道フィルタが検出されたフレームの境界を声道フィルタパラメータの不連続点として検出する（ステップＳ１０２０）。不連続点の検出方法は実施の形態１と同様であるので説明を省略する。
【００９０】
声道フィルタ不連続点集計部１３０ｃは、ステップＳ１０２０で抽出された不連続点を音素境界からの絶対時間位置に対応付け（ステップＳ３０１０）、音素先頭から音素中心までと音素終端から音素中心までの２区間について、それぞれ図２４（ａ）および（ｂ）のように音素境界からの絶対時間位置で不連続点の発生頻度を求める（ステップＳ３０２０）。図２４（ａ）は音素先頭からの絶対時間位置に対する不連続点のヒストグラムの例であり、図２４（ａ）は音素終端からの絶対時間位置に対する不連続点のヒストグラムの例である。ここでは不連続点の発生頻度を求める区間を５ｍｓｅｃごとの区切りとし、同一の音素について、各区間内で発生した不連続点を集計する。集計に用いる音素データのフレーム数はまちまちであり、各音素の中間点の音素境界からの絶対時間位置は個々に異なっており、音素境界からの距離が大きくなるにつれデータ数が小さくなる。データ数が少なすぎ、少数のデータによって不連続発生頻度が大きく変動するのを避けるため、ここではデータ数が、例えば、１０個を下回る場合には不連続発生頻度をもとめないものとする。
【００９１】
次に、頑健性計算部１４０ｃは、ステップＳ３０２０で求めた不連続点の発生頻度の逆数を求め（ステップＳ３０３０）、図２５（ａ）および（ｂ）に示すように音素境界からの絶対時間位置（区間）における時間伸縮に対する頑健性として設定し、音声合成システムＢの頑健性テーブル２４０ｃとして利用可能な形式で記録する（ステップＳ３０４０）。
【００９２】
次に、音声合成装置３００ｂの動作を説明する。図２３は、音声合成装置３００ｂの動作手順を示すフローチャートである。
音声合成システムＢに入力されたテキストデータはまず、言語処理部２１０で形態素解析、構文解析がなされ、音韻列、アクセント、区切り等の読み情報および、品詞、活用等の形態素情報、文節係り受け、構文構造等の構文情報が生成される（ステップＳ１１１０）。次に、韻律生成部２２０は、言語処理部２１０で生成された読み情報、形態素情報、構文情報に基づき音韻列に対応付けられた基本周波数、音声強度、音素継続時間長等の韻律情報を生成する（ステップＳ１１２０）。素片選択部２３０は言語処理部２１０で生成された読み情報、形態素情報、構文情報さらに、韻律生成部２２０で生成された韻律情報を素片選択コストとして用いて、音声素片データベース１１０ｂより合成しようとする音声の音韻列に対応した音声素片を音素単位で抽出し、音韻列に対応付けられた音声素片テーブルを生成する（ステップＳ１１３０）。
【００９３】
フレーム時間長計算部２５０ｃは韻律生成部２２０により生成された音素継続時間長と素片選択部２３０により音声素片データベース１１０ｂから抽出された音声素片テーブルの音素ごとの継続時間長とを比較し、頑健性テーブル２４０ｃに記録された、対象の音素に対応する音素境界からの時間位置に対する時間長伸縮に対する頑健性を参照し、素片全体をカバーする素片内の絶対時間位置に対する時間長伸縮に対する頑健性のデータ列を生成する（ステップＳ３１１０）。図２６のように選択された素片の時間長が長く、音素境界からの時間位置に対応する頑健性が設定されていない場合には、音素前半のフレームについては音素先頭寄りで直近の頑健性計算区間の値を採用する。音素後半のフレームについては逆に音素終端寄りで直近の頑健性計算区間の値を採用する。素片前半に対する頑健性と素片後半に対する頑健性をつなぎ合わせて素片全体をカバーする絶対時間位置に対する頑健性のデータ列を生成する。
【００９４】
例えば図２７では頑健性テーブル２４０ｃの該当する音素の頑健性データとして音素先端、音素終端からそれぞれ５０ｍｓｅｃまでの頑健性が格納されており、素片選択部２３０が音声素片データベース１１０ｂより選択した素片の音素時間長が８０ｍｓｅｃである場合、図２７に示すように、素片前半の頑健性として音素先頭から４０ｍｓｅｃまでの頑健性をあてはめ、素片後半の頑健性として音素終端から４０ｍｓｅｃ前までの頑健性をあてはめて、８０ｍｓｅｃの素片全体に対する頑健性を設定する。図２６では該当する音素の頑健性データとして音素先端、音素終端からそれぞれ５０ｍｓｅｃまでの頑健性が格納されており、素片選択部２３０が音声素片データベース１１０ｂより選択した素片の音素時間長が１２０ｍｓｅｃである場合、素片前半の頑健性として音素先頭から５０ｍｓｅｃまでの頑健性の値をあてはめ、さらに５０ｍｓｅｃから６０ｍｓｅｃの区間については音素先頭から５０ｍｓｅｃでの頑健性を当てはめる。素片後半の頑健性として音素終端から５０ｍｓｅｃ前までの頑健性をあてはめ、さらに５０ｍｓｅｃ前から６０ｍｓｅｃ前の区間については音素終端から５０ｍｓｅｃ前の頑健性の値を当てはめることにより、１２０ｍｓｅｃの素片全体に対する頑健性を設定する。
【００９５】
次に、フレーム時間長計算部２５０ｃはステップＳ３１１０で生成した素片内の絶対時間位置に対して設定された頑健性の値を図２７、図２６のように３次多項式で近似し（ステップＳ３１２０）、素片の各フレームの中心時間位置での時間長伸縮に対する頑健性を求める（ステップＳ３１３０）。図２６のように近似の結果頑健性が負の値をとる場合には、頑健性０とみなし伸縮を行わないフレームとする。
【００９６】
さらに、各フレームの頑健性に応じて各音声素片の音素時間長が韻律生成部２２０により生成された音素継続時間長と等しくなるよう、実施の形態１と同様に各フレームの時間長を計算する（ステップＳ１１５０）。
【００９７】
フレーム変形部２６０は素片フレームを求められたフレーム時間長に伸縮し、基本周波数、音声強度としてステップＳ１１２０で設定された値を当てはめ、合成処理フレームごとのパラメータを生成する（ステップＳ１１６０）。波形生成部２７０はステップＳ１１６０でフレーム変形部２６０より出力された合成パラメータを参照して音声波形を生成する（ステップＳ１１７０）。
【００９８】
以上のように、本実施の形態３における音声素片伸縮方法により、声道フィルタの不連続点をＤＰマッチングを周波数軸上で利用することで検出し、不連続点の発生頻度の逆数を時間長伸縮に対する頑健性とし、素片内で頑健性が高いフレームの伸縮率を大きく、頑健性が低いフレームの伸縮率を小さくするように伸縮率を設定することで、時間長調整による音質劣化を防ぎ、より少ない音声素片データで高い音質の合成音声を生成することが可能になる。また、時間長伸縮に対する頑健性を自動生成することにより素片データベースに最適な時間長伸縮方法を作成することができ、さらに時間長伸縮関数の作成作業を軽減することが可能になる。
【００９９】
（実施の形態４）
図２８は、本発明の実施の形態４における音声素片伸縮方法を用いた、音声合成処理フレーム長が固定長の音声合成システム４００の構成を示す機能ブロック図である。
【０１００】
この音声合成システム４００は、大きく分けて、オフラインで学習を行うオフライン処理装置４００ａと、その学習の結果を利用してテキストデータから音声合成を行う音声合成装置４００ｂとから構成される。オフライン処理装置４００ａは、音声合成に先立って音声素片ごとの頑健性データを予め生成しておく装置であり、音声素片データベース１１０ａ、声道フィルタ不連続点検出部１２０、声道フィルタ不連続点集計部１３０ｃおよび頑健性計算部１４０ｃから構成され、一方、音声合成装置４００ｂは、オフライン処理装置４００ａで生成された頑健性データに基づいてテキストデータの音声合成を行う装置であり、音声素片データベース１１０ｂ、言語処理部２１０、韻律生成部２２０、素片選択部２３０、頑健性テーブル２４０ｃ、フレーム繰り返し／間引き処理部３１０ｃおよび波形生成部２７０から構成される。
【０１０１】
この音声合成システム４００は、図２１に示された音声合成装置３００ｂのフレーム時間長計算部２５０ｃがフレーム間引き／繰り返し処理部３１０ｃに置き換わり、フレーム変形部２６０がなくなった以外は実施の形態３の音声合成システム３００と同一の構成である。実施の形態３と同一の構成要素には同一の符号を付して説明を省略し、異なる部分のみ説明する。
【０１０２】
フレーム繰り返し／間引き処理部３１０ｃは、頑健性テーブル２４０ｃ内のデータに基づいて音声合成時の処理単位である固定長の素片フレームを間引くあるいは繰り返すことにより、素片の時間長を韻律生成部２２０より出力された音素時間長に合わせる処理部である。
【０１０３】
以上のように構成された実施の形態４における音声合成システム４００の動作について説明する。なお、時間長伸縮に対する頑健性データを生成するオフライン処理部分の動作については実施の形態３のステップＳ１０１０からステップＳ３０４０までと共通であるので説明を省略し、音声合成装置の動作において実施の形態３と異なる部分についてのみ説明する。
【０１０４】
以下、音声合成装置４００ｂの動作を説明する。図２９は、音声合成装置４００ｂの動作手順を示すフローチャートである。
【０１０５】
音声合成装置４００ｂに入力されたテキストデータは実施の形態３と同様に、まず、言語処理部２１０で形態素解析、構文解析がなされ、音韻列、アクセント、区切り等の読み情報および、品詞、活用等の形態素情報、文節係り受け、構文構造等の構文情報が生成される（ステップＳ１１１０）。次に、韻律生成部２２０は、言語処理部２１０で生成された読み情報、形態素情報、構文情報に基づき音韻列に対応付けられた基本周波数、音声強度、音素継続時間長等の韻律情報を生成する（ステップＳ１１２０）。素片選択部２３０は言語処理部２１０で生成された読み情報、形態素情報、構文情報さらに、韻律生成部２２０で生成された韻律情報を素片選択コストとして用いて、音声素片データベース１１０ｂより合成しようとする音声の音韻列に対応した音声素片を音素単位で抽出し、音韻列に対応付けられた音声素片テーブルを生成する（ステップＳ１１３０）。フレーム間引き／繰り返し処理部３１０ｃは韻律生成部２２０により生成された音素継続時間長と素片選択部２３０により音声素片データベース１１０ｂから抽出された音声素片テーブルの音素ごとの継続時間長とを比較し、頑健性テーブル２４０ｃに記録された、対象の音素に対応する音素境界からの時間位置に対する時間長伸縮に対する頑健性を参照し、実施の形態３と同様にして、素片全体をカバーする素片内の絶対時間位置に対する時間長伸縮に対する頑健性のデータ列を生成する（ステップＳ３１１０）。ステップＳ３１１０で生成した素片内の絶対時間位置に対して設定された頑健性を参照し、素片の各フレームの中心時間位置での時間長伸縮に対する頑健性を求める（ステップＳ４１１０）。ここで、実施の形態３のステップＳ３０１０およびステップＳ３０２０の過程で頑健性を生成する際に、不連続発生頻度を集計し、頑健性を計算する時間範囲が素片のフレーム時間長（固定長）と同一である場合には、素片内の絶対時間位置は素片フレーム位置と等価となり、実施の形態３や実施の形態１のような近似あるいは補間によってフレームの時間位置から頑健性を設定することなく、フレーム位置から頑健性の値を直接取得することができる。
【０１０６】
さらに、各フレームの頑健性に応じて各音声素片の音素時間長が韻律生成部２２０により生成された音素継続時間長と等しくなるよう、実施の形態１と同様に各フレームの時間長を計算する（ステップＳ１１５０）。
【０１０７】
一方、フレーム間引き／繰り返し処理部３１０ｃは音声合成時の固定フレーム長を元に、韻律生成部２２０で生成された目標音素時間長に最も近くなる音声合成時のフレーム数を求める（ステップＳ２０１０）。次に実施の形態２と同様に素片の間引きまたは繰り返しを行う。目標音素時間長を音声合成時フレーム数で等分割し、等分割された各区間の中心位置とステップＳ１１５０で求めた素片フレーム長により分割された目標音素時間長とを対応させ（ステップＳ２０２０）、音声合成時フレームと素片フレームとの対応より、素片フレームの繰り返しまたは間引きを行う（ステップ２０３０、Ｓ２０４０）。
【０１０８】
さらに、フレーム間引き／繰り返し処理部３１０ａはステップＳ２０４０で作成した素片の各フレームの基本周波数、音声強度にステップＳ１１２０で設定された値を当てはめ、合成処理フレームごとのパラメータを生成する（ステップＳ２０５０）。
波形生成部２７０はステップＳ２０５０でフレーム間引き／繰り返し処理部３１０ａより出力された合成パラメータを参照して音声波形を生成する（ステップＳ１１７０）。
【０１０９】
以上のように、本実施の形態４における音声素片伸縮方法により、声道フィルタの不連続点をＤＰマッチングを周波数軸上で利用することで検出し、不連続点の発生頻度の逆数を時間長伸縮に対する頑健性とし、素片内で頑健性が高いフレームを繰り返すか、または間引き、頑健性が低いフレームは繰り返しや間引きを避けるよう、繰り返しまたは間引きフレームを設定することで、時間長調整による音質劣化を防ぎ、より少ない音声素片データで高い音質の合成音声を生成することが可能になる。また、時間長伸縮に対する頑健性を自動生成することにより素片データベースに最適な繰り返しまたは間引きの方法を作成することができ、さらに時間長伸縮関数の作成作業を軽減することが可能になる。
【０１１０】
以上、本発明に係る音声素片伸縮方法について、実施の形態１〜４に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではない。
たとえば、声道フィルタ不連続点検出部１２０は、隣接するフレーム間で、声道フィルタパラメータの接続をＤＰマッチングを用いて行い、声道フィルタパラメータの不連続点を検出したが、他の音韻の単位で行ってもよい。例えば、音節、モーラ、ＣＶＣ、ＶＣＶなどの単位でもよい。
【０１１１】
また、頑健性計算部１４０ａは、不連続点の発生率の逆数を標準化（各区間の値の総和が１になるよう標準化）した後に、時間長伸縮に対する頑健性を求めたが、標準化することなく、逆数のままであってもよい。頑健性の比を利用する限りは、各値が標準化されている必要がないからである。
【０１１２】
また、フレーム時間長計算部２５０ａは、フレーム時間長を計算する際に、素片の各フレームの中心時間位置での時間長伸縮に対する頑健性が直接参照できない場合には、当該フレームの音素内相対時間位置に応じた頑健性をスプライン補間を用いて求めたが、補間方法については、この手法に限られず、線形補間、シグモイド曲線による補間、多項式を用いた補間等の他の補間方式、または多次元多項式による近似等の他の方式によって求めてもよい。
【０１１３】
また、フレーム変形部２６０は、素片フレームを、フレーム時間長計算部２５０ａで求められたフレーム時間長に伸縮し、基本周波数、音声強度として韻律生成部２２０が設定した値を当てはめ、合成処理フレームごとのパラメータを生成したが、基本周波数、音声強度以外のフィルタパラメータあるいはホルマントパラメータ等についても、フレーム時間長、基本周波数あるいは音声強度に応じて変形するとしてもよい。
【０１１４】
また、フレーム時間長計算部２５０ｃは、素片内の絶対時間位置に対して設定された頑健性の値を３次多項式で近似し、素片の各フレームの中心時間位置での時間長伸縮に対する頑健性を求めたが、近似式としては、他の式でもよい。さらに、近似でなく補間でもよい。頑健性を生成する際の時間範囲を素片のフレーム時間長（固定長）とあわせておけば、時間位置はフレーム位置と等価となり、近似あるいは補間によってフレームの時間位置から頑健性を設定することなく、フレーム位置から頑健性の値を直接取得することができる。
【０１１５】
また、本発明は、頑健性データを生成するオフライン処理装置とその頑健性データを利用して音声合成を行う音声合成装置からなる音声合成システムとして実現することができるだけでなく、本実施の形態におけるオフライン処理装置のみ、あるいは、音声合成装置のみで実現することもできる。
【０１１６】
さらに、オフライン処理装置と音声合成装置との連携動作についても、上記実施の形態における機能分担に限られない。たとえば、音声合成時に素片フレームの頑健性を補間等によってリアルタイムで計算するのではなく、オフライン処理装置で生成された頑健性データから予め素片フレームごとの頑健性を計算しておいてもよい。以下、そのような変形例に係る２つの音声合成システムの例を説明する。
【０１１７】
図３０は、音声合成装置で音声合成をする以前にオフライン処理装置と接続した状態で素片フレームの頑健性データを計算しておき、音声合成装置の中に記録しておく第１の変形例に係る音声合成システム５１０の構成例を示している。この音声合成システム５１０は、実施の形態３における音声合成システム３００を改良したものに相当し、オフライン処理装置５１０ａと音声合成装置５１０ｂとから構成される。音声合成装置５１０ｂには、実施の形態３における頑健性テーブル２４０ｃに代えて頑健性当てはめ部２８０と素片フレーム頑健性テーブル２９０とが備えられている点が実施の形態３と異なる。
【０１１８】
頑健性当てはめ部２８０は、音声合成に先立ち、オフライン処理装置５１０ａの頑健性計算部１４０ｃから頑健性データを取得し、音声素片データベース１１０ｃに登録されている全ての音声素片について、各フレームの頑健性をすべて算出し、素片フレーム頑健性データとして素片フレーム頑健性テーブル２９０に格納しておく（素片データベースを組み込む）。素片フレーム頑健性テーブル２９０は、頑健性当てはめ部２８０によって算出された素片フレーム頑健性データを保持しておく記憶部である。
【０１１９】
図３１（ａ）は、頑健性当てはめ部２８０による素片データベースの組み込み手順を示すフローチャートである。頑健性当てはめ部２８０は、音声合成に先立ち、音声素片データベース１１０ｃに登録されている全ての音声素片について、素片先頭から素片時間長の１／２の時間位置まで、素片終端から素片時間長の１／２の時間位置までの頑健性データをオフライン処理装置５１０ａの頑健性計算部１４０ｃより取得した後に（ステップＳ５０１０）、素片先頭からの素片位置での頑健性データと素片終端からの時間位置での頑健性データとをつなぎ合わせ、各フレームに対応する頑健性データを生成し（ステップＳ５０２０）、素片ごとにフレームごとの頑健性データを素片フレーム頑健性テーブル２９０に保存する（ステップＳ５０３０）。
【０１２０】
図３１（ｂ）は、音声合成装置５１０ｂによる音声合成の手順を示すフローチャートである。この手順は、実施の形態３における音声合成の手順（図２３のフローチャート）において、素片フレームごとの頑健性データを算出する手順（ステップＳ３１１０、Ｓ３１２０）を削除したものに相当する。つまり、この音声合成装置５１０ｂによれば、素片フレームごとの頑健性データは、頑健性当てはめ部２８０によって予め計算され、素片フレーム頑健性テーブル２９０に格納されているので、音声合成時には、リアルタイムに計算されることなく、素片選択部２３０から読み出されてフレーム時間長計算部２５０ｃによるフレーム時間長の決定に直接利用される（ステップＳ３１３０、Ｓ１１５０）。
【０１２１】
図３２は、音声合成に先立って素片フレームごとの頑健性を予め計算しておく第２の変形例に係る音声合成システムの構成を示すブロック図である。この音声合成システム５２０は、図３０に示された音声合成システム５１０と異なり、オフライン処理装置と接続することなく、音声合成装置単独で素片データベースの差し替えに対応している。この音声合成システム５２０は、実施の形態３における音声合成システム３００を改良したものに相当し、オフライン処理装置５２０ａと音声合成装置５２０ｂとから構成される。音声合成装置５２０ｂは、実施の形態３における音声合成装置３００ｂの構成要素に加えて、頑健性当てはめ部２８１と素片フレーム頑健性テーブル２９１とを備える。
【０１２２】
頑健性当てはめ部２８１は、音声合成に先立ち、オフライン処理装置５２０ａでの計算結果（頑健性データ）を格納している頑健性テーブル２４０ｃから頑健性データを取得し、音声素片データベース１１０ｃに登録されている音声素片の各フレームの頑健性をすべて算出し、素片フレーム頑健性データとして素片フレーム頑健性テーブル２９１に格納しておく（素片データベースを組み込む）。素片フレーム頑健性テーブル２９１は、頑健性当てはめ部２８１によって算出された素片フレーム頑健性データを保持しておく記憶部である。
【０１２３】
図３３（ａ）は、頑健性当てはめ部２８１による素片データベースの組み込み手順を示すフローチャートである。頑健性当てはめ部２８１は、音声合成に先立ち、音声素片データベース１１０ｃに格納されている全ての音声素片について、素片先頭から素片時間長の１／２の時間位置まで、素片終端から素片時間長の１／２の時間位置までの頑健性データを音声合成装置５２０ｂの頑健性テーブル２４０ｃより取得した後に（ステップＳ５１１０）、素片先頭からの素片位置での頑健性データと素片終端からの時間位置での頑健性データとをつなぎ合わせ、各フレームに対応する頑健性データを生成し（ステップＳ５０２０）、素片ごとにフレームごとの頑健性データを素片フレーム頑健性テーブル２９１に保存する（ステップＳ５０３０）。
【０１２４】
図３３（ｂ）は、音声合成装置５２０ｂによる音声合成の手順を示すフローチャートである。この手順は、図３１（ｂ）に示された第１の変形例に係る音声合成システム５１０の音声合成装置５１０ｂによる音声合成の手順と同一である。
【０１２５】
このように図３０および図３２に示された変形例に係る音声合成システム５１０、５２０によれば、音声合成時にいちいちリアルタイムで頑健性を計算しなおす必要がなく、音声合成時における処理負荷が軽減される。なお、これら２つの変形例に係る音声合成システムは、実施の形態３の変形例であったが、このような特徴、つまり、音声合成に先立って、素片フレームごとの頑健性を予め計算し、素片データベースとして組み込んでおくことは、実施の形態１〜４のいずれの音声合成システムにも適用することができるのは言うまでもない。
【産業上の利用可能性】
【０１２６】
本発明は、テキストデータから人工的に音声を生成し出力する音声合成装置等として、特に、音声素片の継続時間長を制御することが可能な音声合成装置等として利用することができる。
【図面の簡単な説明】
【０１２７】
【図１】実施の形態１の音声合成システムの構成を示す機能ブロック図である。
【図２】実施の形態１の音声合成システムのオフライン処理装置の動作手順を示すフローチャートである。
【図３】実施の形態１の音声合成システムの音声合成装置の動作手順を示すフローチャートである。
【図４】ＤＰマッチングの処理手順を示す概念図である。
【図５】ＤＰマッチングの処理手順を示す概念図である。
【図６】ＤＰマッチングの処理手順を示す概念図である。
【図７】ＤＰマッチングの処理手順を示す概念図である。
【図８】ＤＰマッチングの処理手順を示す概念図である。
【図９】ＤＰマッチングの処理手順を示す概念図である。
【図１０】ＤＰマッチングの処理手順を示す概念図である。
【図１１】ＤＰマッチングの処理手順を示す概念図である。
【図１２】ＤＰマッチングの処理手順を示す概念図である。
【図１３】ＤＰマッチングの処理手順を示す概念図である。
【図１４】ＤＰマッチングの処理手順を示す概念図である。
【図１５】音素内相対時間位置に対する不連続点発生頻度の例を示すグラフである。
【図１６】音素内相対時間位置に対する時間長伸縮に対する頑健性とスプライン補間の例を示す図である。
【図１７】実施の形態２の音声合成システムの構成を示す機能ブロック図である。
【図１８】実施の形態２の音声合成システムの音声合成装置の動作手順を示すフローチャートである。
【図１９】実施の形態２におけるフレームの繰り返し設定の模式図である。
【図２０】実施の形態２におけるフレームの間引き設定の模式図である。
【図２１】実施の形態３の音声合成システムの構成を示す機能ブロック図である。
【図２２】実施の形態３の音声合成システムのオフライン処理装置の動作手順を示すフローチャートである。
【図２３】実施の形態３の音声合成システムの音声合成装置の動作手順を示すフローチャートである。
【図２４】音素境界からの時間位置に対する声道パラメータ不連続発生頻度の例を示す図である。
【図２５】音素境界からの時間位置に対する時間伸縮に対する頑健性の例を示す図である。
【図２６】音素内時間位置に対する時間長伸縮に対する頑健性生成の模式図である。
【図２７】音素内時間位置に対する時間長伸縮に対する頑健性生成の模式図である。
【図２８】実施の形態４の音声合成システムの構成を示す機能ブロック図である。
【図２９】実施の形態４の音声合成システムの音声合成装置の動作手順を示すフローチャートである。
【図３０】第１の変形例に係る音声合成システムの構成を示す機能ブロック図である。
【図３１】第１の変形例に係る音声合成システムの動作手順を示すフローチャートである。
【図３２】第２の変形例に係る音声合成システムの構成を示す機能ブロック図である。
【図３３】第２の変形例に係る音声合成システムの動作手順を示すフローチャートである。
【図３４】音声パターンの継続時間長の伸縮方法を示す図である。
【符号の説明】
【０１２８】
１００、２００、３００、４００、５１０、５２０  音声合成システム
１００ａ、２００ａ、３００ａ、４００ａ、５１０ａ、５２０ａ  オフライン処理装置
１００ｂ、２００ｂ、３００ｂ、４００ｂ、５１０ｂ、５２０ｂ  音声合成装置
１１０ａ、１１０ｂ、１１０ｃ  音声素片データベース
１２０  声道フィルタ不連続点検出部
１３０ａ、１３０ｃ  声道フィルタ不連続点集計部
１４０ａ、１４０ｃ  頑健性計算部
２１０  言語処理部
２２０  韻律生成部
２３０  素片選択部
２４０ａ、２４０ｃ  頑健性テーブル
２５０ａ、２５０ｃ  フレーム時間長計算部
２６０  フレーム変形部
２７０  波形生成部
２８０、２８１  頑健性当てはめ部
２９０、２９１  素片フレーム頑健性テーブル
３１０ａ、３１０ｃ  フレーム間引き／繰り返し処理部
【図１】
2005070455.tif 000009
【図２】
2005070455.tif 000010
【図３】
2005070455.tif 000011
【図４】
2005070455.tif 000012
【図５】
2005070455.tif 000013
【図６】
2005070455.tif 000014
【図７】
2005070455.tif 000015
【図８】
2005070455.tif 000016
【図９】
2005070455.tif 000017
【図１０】
2005070455.tif 000018
【図１１】
2005070455.tif 000019
【図１２】
2005070455.tif 000020
【図１３】
2005070455.tif 000021
【図１４】
2005070455.tif 000022
【図１５】
2005070455.tif 000023
【図１６】
2005070455.tif 000024
【図１７】
2005070455.tif 000025
【図１８】
2005070455.tif 000026
【図１９】
2005070455.tif 000027
【図２０】
2005070455.tif 000028
【図２１】
2005070455.tif 000029
【図２２】
2005070455.tif 000030
【図２３】
2005070455.tif 000031
【図２４】
2005070455.tif 000032
【図２５】
2005070455.tif 000033
【図２６】
2005070455.tif 000034
【図２７】
2005070455.tif 000035
【図２８】
2005070455.tif 000036
【図２９】
2005070455.tif 000037
【図３０】
2005070455.tif 000038
【図３１】
2005070455.tif 000039
【図３２】
2005070455.tif 000040
【図３３】
2005070455.tif 000041
【図３４】
2005070455.tif 000042