以下、添付図面を参照しながら、本発明にかかる音声処理装置、方法、及びプログラムの最良な実施の形態を詳細に説明する。
図1は、本実施の形態の音声処理装置1の構成の一例を示すブロック図である。図1に示すように、音声処理装置1は、テキスト入力部10と、言語処理部20と、韻律処理部30と、音声合成部40とを備える。
テキスト入力部10は音声処理の対象となるテキストを入力する。
言語処理部20は、テキスト入力部10から入力されるテキストの形態素解析や構文解析などの言語解析を行う。
韻律制御部30は、言語処理部20の言語解析結果からアクセントやイントネーションを処理し、音韻系列及び韻律情報を生成する。
音声合成部40は、韻律制御部30により生成された音韻系列及び韻律情報から音声波形を生成する。そして、音声合成部40は、音韻・韻律入力受付部41と、音声素片記憶部42と、取得部43と、素片融合部44と、声道フィルタ成分融合部45と、音源成分融合部46と、生成部47と、出力部48とを含む。
音韻・韻律入力受付部41は、韻律制御部30から目標音声に対応する音韻系列を合成単位で分割した複数のセグメントと、複数の前記セグメントの各々に対応する韻律情報の入力を受け付ける。具体的には、音韻・韻律入力受付部41は、韻律制御部30から入力された音韻系列を合成単位であるセグメントに分割し、分割された複数のセグメントの各々に対応する韻律情報とともに受け付ける。
なお、「目標音声」は、音声を合成する際の目標となる(仮想的な)音声、即ち、入力された音韻の並びと韻律を実現し、かつ、理想的に自然な音声をいう。また、「音韻系列」は、例えば音韻記号の系列であり、「韻律情報」は、例えば基本周波数、音韻継続時間長、パワーなどである。また、「合成単位」とは、合成音声を生成するときに用いる音声の単位のことであり、音素あるいは音素を分割したもの(例えば、半音素など)の組み合わせである。例えば半音素、音素(C、V)、ダイフォン(CV、VC、VV)、トライフォン(CVC、VCV)、音節(CV、V)、などであり(Vは母音、Cは子音を表す)、これらが混在しているなど可変長であってもよい。
音声素片記憶部42は、複数の音声素片と、音声素片の各々に関連付けられた環境情報を対応付けて記憶するものであり、例えば、HDD(Hard Disk Drive)、光ディスク、メモリカード、RAM(Random Access Memory)などの既存の記憶媒体により実現できる。なお本実施の形態では、音声処理装置1が音声素片記憶部42を備えているが、音声素片記憶部42を外部記憶媒体等(例えば、音声処理装置1に着脱可能な記憶媒体)により実現する場合には、音声素片記憶部42を省略するようにしてもよい。
なお、「音声素片」は、合成単位に対応する音声信号の波形もしくはその特徴を表すパラメータ系列などを示すものである。また、「環境情報」は、関連付けられた音声素片の音韻・韻律環境を示す情報であり、例えば、音声素片の音素名、先行音素、後続音素、後々続音素、基本周波数、音韻継続時間長、パワー、ストレスの有無、アクセント核からの位置、息継ぎからの時間、発声速度、感情などである。なお、これら以外にも、音声素片の音響特徴のうち音声素片を選択するのに有用な音声素片の始端・終端でのケプストラム係数などの情報を、「環境情報」に含めるようにしてもよい。
図2は、音声素片記憶部42に記憶されている情報の一例を示す図である。図2に示す例では、音声素片は、合成単位が音素の場合の音声波形となっている。なお、これらの音声素片は、音素毎にラベル付けされた多数の音声データから、当該ラベルに従って音素毎に音声波形を切り出したものである。
また、図2に示す例では、環境情報は、音声素片に対応した音韻(音素名)、隣接音韻(ここでは、前後それぞれ2音素ずつ)、基本周波数、音韻継続時間長、及び音響特徴量を示す音声素片始終端のケプストラム係数となっている。なお、これらの環境情報は、音声素片を切り出す元になった音声データを分析して抽出することによって得られる。
なお、図2では、合成単位が音素の場合の例を示しているが、合成単位は、半音素、ダイフォン、トライフォン、音節、あるいはこれらの組み合わせや可変長であってもよい。
図1に戻り、取得部43は、音韻・韻律入力受付部41により分割された複数のセグメントの各々に対して、セグメント及びセグメントに対応する韻律情報に関連付けられた複数の音声素片を取得する。具体的には、取得部43は、セグメント及びセグメントに対応する韻律情報(環境情報)に関連付けられた複数の音声素片を音声素片記憶部42から取得する。
この際、取得部43は、既存の素片選択型音声合成方法や複数素片選択融合型音声合成方法と同様に、音声素片の取得の尺度に、各音声素片候補を用いて音声を合成した場合の合成音声と目標音声との歪みの大きさを間接的に表すコストを用い、このコストができるだけ小さくなるように融合する音声素片の組み合わせを取得する。
なお、音声素片の取得の尺度となるコストは、対象の音声素片を目標の音韻・韻律環境で使用することによって生じる合成音声の目標音声に対する歪みの度合いを表す目標コストと、対象の音声素片を隣接する音声素片と接続したときに生じる合成音声の目標音声に対する歪みの度合いを表す接続コストとから成る。
目標コストには、音声素片が持つ基本周波数と目標の基本周波数の違い(差)によって生じる歪み(基本周波数コスト)、音声素片の音韻継続時間長と目標の音韻継続時間長の違い(差)によって生じる歪み(継続時間長コスト)、音声素片が属していた音韻環境と目標の音韻環境の違いによって生じる歪み(音韻環境コスト)、音声素片が元々あった単語内や呼気段落内、文内での位置と合成時の位置の違いによって生じる歪み(位置的環境コスト)などがある。
接続コストには、音声素片境界でのスペクトルの違い(差)によって生じる歪み(スペクトル接続コスト)や、音声素片境界での基本周波数の違い(差)によって生じる歪み(基本周波数接続コスト)などがある。
素片融合部44は、取得部43により取得された複数の音声素片を融合して新たな音声素片を生成する。具体的には、素片融合部44は、後述の声道フィルタ成分融合部45で融合された融合声道フィルタ成分を特性とする声道フィルタを用いて、後述の音源成分融合部46で融合された融合音源成分をフィルタリングすることにより、取得部43により取得された複数の音声素片をセグメント毎に融合する。
図3は、本実施の形態の素片融合部44の詳細な構成の一例を示すブロック図である。図3に示すように、素片融合部44は、複数素片入力受付部441と、融合単位抽出部442と、プリエンファシス部443と、線形予測分析部444と、ディエンファシス部445と、目標パワー算出部446と、線形予測フィルタ部447と、パワー補正部448と、融合音声素片出力部449とを含む。
複数素片入力受付部441は、取得部43によりセグメント毎に複数個ずつ取得された音声素片の入力を受け付ける。
融合単位抽出部442は、セグメント毎に入力された複数個の音声素片の各々から、融合するのに適した融合単位の波形を抽出し、セグメント毎に各音声素片の波形数を揃える。
なお本実施の形態においては、融合単位はピッチ波形としている。「ピッチ波形」とは、その長さが音声の基本周期の数倍程度で、それ自身は基本周期を持たない比較的短い波形である。
そして、このようなピッチ波形を抽出する方法として、例えば、基本周期同期窓を用いる方法などがある。この方法では、予め各々の音声素片の音声波形に対して基本周期間隔毎にマーク(ピッチマーク)を付しておき、このピッチマークを中心にして、窓長が基本周期の2倍のハニング窓で窓掛けすることによって、ピッチ波形を切り出す。
図4は、融合単位をピッチ波形としたときの、融合単位抽出部442の処理の一例を示す図である。
図4に示す例において、点線60で囲まれた3種類の音声波形は、あるセグメントに対して取得された音声素片の音声波形を示している。また、点線61で囲まれた3種類の音声波形は、点線60で囲まれた3種類の音声波形から、基本周期同期窓を用いた方法により抽出されたピッチ波形系列を示している。図4に示すように、音声波形から抽出されるピッチ波形の個数は、通常、音声素片ごとに異なっている。
そこで、融合単位抽出部442は、セグメント毎に各音声素片のピッチ波形の波形数を、同一数に揃える。具体的には、融合単位抽出部442は、ピッチ波形の少ない系列に対しては、系列に含まれるいくつかのピッチ波形を複製することによってピッチ波形数を増やし、ピッチ波形の多い系列に対しては、系列中のいくつかのピッチ波形を間引くことによってピッチ波形数を減らす。
なお、本実施の形態では、揃える対象となるピッチ波形の波形数は、目標の音韻継続時間長の合成音声を生成するために必要なピッチ波形数としているが、例えば、最もピッチ波形数の多いものに揃えるようにしてもよい。
そして、図4の点線62で囲まれた3種類の音声波形のように、セグメント毎に各音声素片のピッチ波形の波形数を、同一数に揃える。なお、点線62で囲まれた3種類の音声波形は、ピッチ波形の数を7つに揃えた例を示している。
図3に戻り、プリエンファシス部443は、融合する音声波形の各々に対して、音声のスペクトル包絡に一般的に見られる負の傾き(チルトと呼ばれ、周波数の低域から高域に向かってパワーが下がる)を取り除くフィルタリングを行う。具体的には、プリエンファシス部443は、融合単位抽出部442により抽出されたピッチ波形の各々に対して、スペクトル包絡全体での負の傾き(チルト)を取り除くように、高域の周波数成分を強調するフィルタリングを行なう。
ここで、有声音の音源は、声帯の周期的な開閉によって生じる呼気流(声帯体積流)の振動であるが、この音源波形の周波数特性に強いローパス特性があるため、有声音の音声波形の周波数成分には、一般的に上述のようなチルトが見られる。このため、声道フィルタでのスペクトル特性を精度良く分析するためには、予めこのようなチルトを取り除いておくことが好ましい。
そこで、本実施の形態では、プリエンファシス部443は、音声分析の際に一般的に用いられるプリエンファシスフィルタ、即ち伝達関数が例えば数式(1)のように表されるフィルタを用いて、フィルタリングを行なう。なお、数式(1)のaには、通常0.98〜1.0の値が用いられる。また、aの値は、全ピッチ波形に対して一定にしてもよいし、音声素片が元々あった文中位置などに基づいてピッチ波形ごとに変更するようにしてもよい。例えば、文末では、声帯の緊張度が緩み、チルトが強まる傾向があるため、それ以外の箇所よりaの値を大きめに設定するようにしてもよい。
線形予測分析部444は、プリエンファシス部443によりフィルタリングされた音声波形の各々に対して、線形予測分析を行い、線形予測係数と線形予測残差を算出する。ここで分析対象の音声波形をs(n)、線形予測係数をαk(k=1,...,p、pは分析次数)、線形予測残差をe(n)とすると、これらの関係は以下の数式(2)のように表される。
そして、線形予測分析では、数式(2)において、線形予測残差e(n)の二乗平均を最小にするように線形予測係数を求める。
なお、数式(2)は全極型のフィルタであるが、音声生成モデルにおいて声道のシステム関数が全極型フィルタでうまく近似できるとされているため、本実施の形態においては、この線形予測フィルタを声道フィルタとみなす。即ち、線形予測分析によって得られる線形予測係数は声道フィルタのスペクトル特性を表し、線形予測残差は音源波形の近似であるとみなす。
また、線形予測分析の方法としては、自己相関法、共分散法などの既存の方法を用いるようにしてもよい。また、本実施形態では、例えば元の音声波形が22kHzサンプリングの場合、分析次数pを20程度の値とする。
そして、線形予測分析部444は、上記のように、線形予測分析によって、セグメントに対する複数個のピッチ波形の各々に対して、線形予測係数と線形予測残差を算出し、線形予測係数を声道フィルタ成分融合部45に出力し、線形予測残差をディエンファシス部445に出力する。
ディエンファシス部445は、線形予測分析部444により算出された線形予測残差波形の各々に対して、プリエンファシス部443で適用したフィルタリングの逆フィルタリングを行い、ディエンファシスした線形予測残差を音源成分融合部46に出力する。
即ち、ディエンファシス部445は、伝達関数が例えば数式(3)のように表されるフィルタを用いて、プリエンファシス部443による高域の強調を元に戻すフィルタリングを行なう。なお、aの値は、プリエンファシス部443で用いたのと同じ値を用いる。
目標パワー算出部446は、融合単位抽出部442から入力された音声波形のパワーを基に、融合によって生成される新たな音声素片の目標となるパワーである目標パワーを算出する。具体的には、目標パワー算出部446は、融合単位抽出部442により抽出されたセグメントの複数個のピッチ波形から、融合によって生成される新たなピッチ波形の目標パワーを算出する。なお、本実施の形態では、目標パワー算出部446は、ピッチ波形の各々に対してパワーを算出し、これらを平均化することによって目標パワーを求める。
線形予測フィルタ部447は、声道フィルタ成分融合部45で融合された融合声道フィルタ成分を特性とする声道フィルタを用いて、音源成分融合部46で融合された融合音源成分をフィルタリングすることにより、融合音声素片を生成する。具体的には、線形予測フィルタ部447は、セグメント毎に、声道フィルタ成分融合部45で融合された融合済みの線形予測係数を用いて、音源成分融合部46で融合された融合音源波形をフィルタリングすることにより、融合音声素片のピッチ波形を生成する。
なお、線形予測フィルタは数式(2)で表され、αkには声道フィルタ成分融合部45で融合された融合済みの線形予測係数を用いる。また、音源成分融合部46で融合された融合音源波形を、数式(2)のe(n)に代入することにより、融合音源波形のピッチ波形がs(n)として生成される。
パワー補正部448は、線形予測フィルタ部447により生成された融合音声素片の音声波形に対し、目標パワー算出部446で算出された目標パワーに合うようにパワーを増幅または減幅する。
融合音声素片出力部449は、パワー補正部448により目標パワーに合うように補正されたセグメント毎の融合音声素片を、生成部47に出力する。
なお、本実施の形態では、素片融合部44(線形予測分析部444)は、音声素片を声道フィルタ成分と音源成分に分離する方法に線形予測分析法を用いているが、例えば、声道フィルタが極零型フィルタで近似されるARX(AutoRegressive with eXogenous input)音声生成モデルを用いた方法など既存の分離方法を用いてもよい。
また、音声の生成過程において有声音の周期成分は、(1)声帯の周期的な開閉によって生じる呼気流(声帯体積流)の振動が、(2)舌や唇、口蓋で形を調整(調音)された声道を通過し、(3)唇または鼻腔で放射されることによって生成される。
ところで、線形予測分析法やARXモデルを用いた方法では一般的に、(2)を声道フィルタで近似する一方、(1)に(3)の放射による効果を含めたもの、即ち(1)に(3)を畳み込んだものを音源として扱っている。
しかしながら、本実施の形態においては、音源成分には必ずしも放射の効果を含む必要はなく、(1)だけの成分を近似したものであっても良い。なお、放射特性は微分で良く近似できるため、(1)だけの成分を近似した音源成分は、線形予測分析法やARXモデルを用いた方法で求めた音源成分を積分することにより求めることができる。
図1に戻り、声道フィルタ成分融合部45は、取得部43により取得された複数の音声素片の声道フィルタの特徴を表す声道フィルタ成分をセグメント毎に融合する。
図5は、本実施の形態の声道フィルタ成分融合部45の詳細な構成の一例を示すブロック図である。図5に示すように、声道フィルタ成分融合部45は、複数線形予測係数入力受付部451と、LSP変換部452と、LSP平均化部453と、LPC変換部454と、融合線形予測係数出力部455とを含む。
複数線形予測係数入力受付部451は、線形予測分析部444(図3参照)から、セグメントに対する複数個のピッチ波形の各々に対して算出された線形予測係数の入力を受け付ける。
LSP変換部452は、複数線形予測係数入力受付部451に受け付けられた複数個の線形予測係数(LPC:Linear Prediction Coefficient)の各々を、線スペクトル対(LSP:Line Spectrum Pair)に変換する。なお、「線スペクトル対」は、線形予測係数と相互に変換が可能な周波数領域のパラメータであり、既存の方法によって、線形予測係数からの変換が可能である。
LSP平均化部453は、LSP変換部452により変換された複数個の線スペクトル対を、i番目の係数毎(例えば、20次の線形予測係数に対する線スペクトル対は、0より大かつπ未満の20個の角周波数を表す係数で構成)に平均化する。
LPC変換部454は、LSP平均化部453により平均化された線スペクトル対を、線形予測係数に変換する。
融合線形予測係数出力部455は、LPC変換部454により変換された線形予測係数を、融合線形予測係数として線形予測フィルタ部447(図3参照)に出力する。
なお、本実施の形態では、線スペクトル対が一般的にホルマント周波数との対応に優れており、線スペクトル対領域での平均化によって複数の線形予測係数に共通する平均的なスペクトル特徴を比較的良好に得ることができることから、声道フィルタ成分融合部45は、以上のような融合方法を用いたが、線形予測係数の融合方法はこの方法に限定されるものではない。
例えば、声道フィルタ成分融合部45は、線形予測係数から線形予測極を算出した後、複数の線形予測極を補間して平均的な線形予測極を得る方法や、線形予測係数をLPCメルケプストラムに変換してからメルケプストラム領域で平均化を行い線形予測係数に戻す方法などを用いるようにしてもよい。
また、声道フィルタ成分融合部45は、複数個の線形予測係数の代わりに元のピッチ波形(複数個)の入力を受け付け、これらのピッチ波形を時間方向に接続したものを線形予測分析することによって、複数個のピッチ波形の特徴を平均的に表す線形予測係数を求めることにより、声道フィルタ成分を融合するようにしてもよい。
なお、本実施形態では、声道フィルタ成分融合部45で融合する声道フィルタ成分が線形予測係数の場合を例にとり説明したが、声道フィルタ成分融合部45で融合する声道フィルタ成分は線形予測係数に限定されるものではなく、声道フィルタの特性を表すものであれば、いかなるパラメータを融合するようにしてもよい。例えば、声道フィルタにARXモデルを用いる場合、声道フィルタ成分融合部45は、ARXモデルの各フィルタ係数を融合する。
図1に戻り、音源成分融合部46は、取得部43により取得された複数の音声素片の周期成分の音源成分を、基本周波数又は音源成分波形の形状に基づいて伸縮して、セグメント毎に融合する。なお、音声素片の周期成分と非周期成分への分離には、例えば、PSHF(Pitch-scaled harmonic filter)などの方法を用いることができる。
図6は、本実施の形態の音源成分融合部46の詳細な構成の一例を示すブロック図である。図6に示すように、複数音源波形入力受付部461と、不良音源波形除去部462と、音源波形アラインメント部463と、音源波形変形部464と、音源波形平均化部465と、融合音源波形出力部466とを含む。
複数音源波形入力受付部461は、ディエンファシス部445(図3参照)から、セグメントに対する複数個のピッチ波形の各々に対応した線形予測残差の入力を音源波形の入力として受け付ける。
不良音源波形除去部462は、複数音源波形入力受付部461に入力された複数個の音源波形の各々をチェックし、所定の除去条件に該当する音源成分を除去する。
なお、「所定の除去条件」には、例えば、声門閉鎖点と考えられるパルス的な成分が複数個見られる場合(文末以外)が該当する(ガラガラ声など発声に問題がある箇所に相当するため)。また例えば、線形予測残差波形中のパルス的な成分の位置が線形予測残差波形の中心位置から大きくずれている場合が該当する(元のピッチ波形の切り出し位置に問題があるため)。また例えば、線形予測残差波形の形状が他の波形の形状と大きく異なる場合が該当する(発声のスタイルなどが大きく異なる場合に相当するため)。
音源波形アラインメント部463は、不良音源波形除去部462により所定の除去条件に該当する音源成分が除去された複数個の音源波形の各々を、当該音源成分の特徴点の位置の誤差が閾値以下になるように時間方向にアラインメントする。具体的には、音源波形アラインメント部463は、不良音源波形除去部462から入力された複数個の線形予測残差波形の各々を、音源波形中の最も重要な位置が線形予測残差波形間で一致するように、時間方向にアラインメントする。
本実施の形態では、音源波形中の最も重要な位置を声門閉鎖点であると考え、この声門閉鎖点に対応する位置を、複数個の線形予測残差波形の間で時間方向に揃える。なお、「声門閉鎖点」は、声帯振動のサイクルの中で開いていた声門が急激に閉じるタイミングを表し、線形予測残差波形においては、1基本周期内でのローカルピークがそのタイミングに対応する。
そこで、音源波形アラインメント部463は、複数個の線形予測残差波形の各々について振幅最大の位置を求め、これらの位置が複数個の線形予測残差波形間で一致するように時間方向にアラインメントする。
但し、線形予測残差波形の中には、声門閉鎖点が明確でない、即ち顕著なピークが存在しないものも存在し、これらに対して求めた振幅最大の位置が声門閉鎖点に対応していない場合もあり得る。
このため、他の線形予測残差波形との間の相互相関など、他の指標も一緒に考慮すると、よりロバストなアラインメントが可能である。例えば、線形予測残差波形間での振幅最大の位置のずれの二乗を、線形予測残差波形間の相互相関で割った値のようなものをコスト関数として、コスト関数が最小になるようにアラインメントするようにすればよい。
なお本実施形態においては、声門閉鎖点の求め方として線形予測残差波形の振幅最大の位置を求める方法を説明したが、ウェーブレット変換を用いる方法など、声門閉鎖点が適切に抽出できる方法であれば、いかなる方法を用いても良い。また、線形予測残差波形間での時間方向のアラインメントの方法についても、上記の方法に限定する必要はなく、線形予測残差波形間での声門閉鎖点のずれが、所望の範囲内に収まる方法であれば、いかなる方法を用いても良い。
音源波形変形部464は、音源波形アラインメント部463によりアライメントされた
複数個の線形予測残差波形の各々に対して、時間方向の伸縮などの変形を加える。
図7は、音源波形変形部464による音源波形の変形方法の一例を説明するための図であり、音源波形変形部464に入力される線形予測残差波形の一例を示している。
図7に示す線形予測残差波形では、全区間(Dall)の長さは、融合単位であるピッチ波形一つ分に対応し、当該ピッチ波形が元々あった位置での音声波形の基本周期の約2倍となっている。
また、D1〜D4は、線形予測残差波形の中での特徴点を基に4区間に区切ったときの各区間を表している。具体的には、振幅最大の位置すなわち声門閉鎖点に対応する位置とその周辺を含む区間がD3、D3の直前でかつ負の振幅を持つ区間をD2、D2の前方の区間をD1、D3の後方の区間をD4となっている。
本実施の形態では、音源波形変形部464による音源波形の変形は、目標音声の基本周波数に基づいて時間方向に伸縮することで行なう。
音源波形は、理想的には目標音声の基本周波数に合った長さになっていることが好ましいが、音声素片が元々属していた音声の基本周波数と目標音声の基本周波数が異なる場合、音源波形の長さが目標音声にとって不適切な可能性が高い。
そこで、音源波形変形部464は、音源波形の全区間Dallの長さが目標音声の基本周期(1秒を基本周波数で割った長さ)の2倍の長さになるよう、時間方向に伸縮する。
但し、音源波形においては、声門閉鎖点周辺の区間D3の形状は非常に重要で、この区間を変形すると音質に大きな悪影響が出る可能性が高い。
そこで、本実施の形態では、音源波形変形部464は、区間D3は変形せず、元の形状を保持する。即ち、全区間Dallの長さが目標音声の基本周期の2倍になるように、区間D1、D2、およびD4を伸縮する。
また、音源波形において、区間D2の形状も比較的重要であるが、複数個の音源波形間で区間D2の位置が異なったまま音源波形平均化部464で音源波形を平均化してしまうと、区間D2の形状が壊れ、合成音の音質が劣化する要因になりうる。
そこで、音源波形変形部464による区間D2の伸縮においては、区間D2の開始点が複数の音源波形間で揃うように伸縮率を決めても良い。
なお、上述した伸縮方法は一例であり、いかなる伸縮方法も適用することができる。
音源波形平均化部465は、音源波形変形部464により伸縮された複数の音源波形を平均化して、融合音源波形を生成する。
なお、本実施の形態では、単純に線形予測残差波形を平均化することにするが、不良音源波形除去部462などから出力される音源波形の不良度合いなどの情報を用いて、融合する線形予測残差波形間で何らかの重み付けをして平均化しても良い。また、音源波形を複数の周波数帯域に分割した後、各周波数帯域下でさらなる時間方向のアラインメントを行なった後で音源波形の平均化を行い、平均化した各帯域の音源波形を帯域間で足し合わせることによって融合する方法などでも良い。
融合音源波形出力部466は、音源波形平均化部465で生成された融合音源波形を、線形予測フィルタ部447(図3参照)に出力する。
なお、本実施の形態では、音源成分融合部46は、音源波形の融合を波形自体の平均化によって行なっているが、音源波形をまず声帯音源波モデルで近似して、モデルのパラメータの領域で平均化し、平均化したパラメータを用いて声帯音源波モデルで音源波形を合成することによって音源波形を融合するようにしてもよい。
声帯音源波モデルとしては、例えば、LF(Liljencrants and Fant)モデルがあり、LFモデルにおいては、5つのパラメータを用いて、音源波形の特徴を、高い自由度かつ良好に表すことができる。各音源波形をLFモデルで近似し、これらの5つのパラメータのそれぞれを平均化することによって、音源波形の特徴を壊すことなく融合することができる。
このような、声帯音源波モデルのパラメータ領域で音源波形を融合する場合、LFモデルに限らず、Rosenbergモデルなど他の声帯音源波モデルを用いるようにしてもよい。また、前述したように、音源成分融合部46で融合する音源成分は、放射による効果を含むものであっても良いし、含まないものであっても良い。
図1に戻り、生成部47は、素片融合部44により融合された融合音声素片を変形および接続して、合成音声の音声波形を生成する。具体的には、生成部47は、素片融合部44で生成されたセグメント毎の融合音声素片を、音韻・韻律入力受付部41に入力された韻律情報に従って韻律変形しながら、セグメント間で接続することによって、音声波形を生成する。
図8は、生成部47による音声波形の生成処理の一例を説明するための図である。図8では、素片融合部44で生成された、音素「a」「N」「s」「a」「a」の各セグメントに対する音声素片を、変形・接続して、「aNsaa」という音声波形を生成する例を示している。
なお図8に示す例では、有声音の音声素片はピッチ波形の系列で表現されている。一方、無声音の音声素片は、フレーム毎の波形として表現されている。また、図8の点線は、目標の音韻継続時間長に従って分割した音素毎のセグメントの境界を表し、白い三角は、目標の基本周波数に従って配置した各ピッチ波形を重畳する位置(ピッチマーク)を示している。
生成部47は、図8に示すように、有声音については音声素片のそれぞれのピッチ波形を対応するピッチマーク上の重畳し、無声音については各フレームの波形をセグメント中の各フレームに対応する部分に貼り付けることによって、所望の韻律(ここでは、基本周波数、音韻継続時間長)を持った音声波形を生成する。
出力部48は、生成部47で生成した音声波形を出力する。
次に、本実施の形態の音声処理装置1の動作について説明する。図9は、本実施の形態の音声処理装置1で行われる音声合成の処理手順の流れの一例を示すフローチャートである。
ステップS10では、テキスト入力部10は、音声処理の対象となるテキストを入力する。
ステップS11では、言語処理部20は、テキスト入力部10から入力されるテキストの形態素解析や構文解析などの言語解析を行う。
ステップS12では、韻律制御部30は、言語処理部20の言語解析結果からアクセントやイントネーションを処理し、音韻系列及び韻律情報を生成する。
ステップS13では、音韻・韻律入力受付部41は、韻律制御部30から目標音声に対応する音韻系列を合成単位で分割した複数のセグメントと、複数の前記セグメントの各々に対応する韻律情報の入力を受け付ける。
ステップS14では、取得部43は、音韻・韻律入力受付部41により分割された複数のセグメントの各々に対して、セグメント及びセグメントに対応する韻律情報に関連付けられた複数の音声素片を音声素片記憶部42から取得する音声素片取得処理を行う。なお、音声素片取得処理の詳細については、後述する。
ステップS15では、声道フィルタ成分融合部45は、取得部43により取得された複数の音声素片の声道フィルタ成分をセグメント毎に融合する。
ステップS16では、音源成分融合部46は、取得部43により取得された複数の音声素片の周期成分の音源成分を、基本周波数又は音源成分波形の形状に基づいて伸縮して、セグメント毎に融合する。
ステップS17では、素片融合部44は、声道フィルタ成分融合部45で融合された融合声道フィルタを用いて、音源成分融合部46で融合された融合音源成分をフィルタリングすることにより、取得部43により取得された複数の音声素片をセグメント毎に融合する。
ステップS18では、生成部47は、素片融合部44により融合された融合音声素片を変形および接続して、合成音声の音声波形を生成する。
ステップS19では、出力部48は、生成部47で生成した音声波形を出力する。
次に、図10を参照しながら、図9のステップS14の音声素片取得処理について説明する。図10は、図9のステップS14の音声素片取得処理の処理手順の流れの一例を示すフローチャートである。なお図10では、N(N≧2)個のセグメント各々に対してM(M≧2)個ずつの音声素片を選ぶ例について説明する。
ステップS101では、取得部43は、音声素片記憶部42に記憶されている音声素片群の中から、各セグメント1つずつ音声素片の系列を選択する。具体的には、取得部43は、目標の音韻系列・韻律情報と、音声素片記憶部42に記憶された環境情報を基に、系列としてのコストの総和(トータルコスト)が最小となる音声素片の系列である最適素片系列を求め、選択する。なお、最適素片系列の探索には、動的計画法(DP:dynamic programming)を用いることで効率的に行うことができる。
ステップS102では、取得部43は、セグメント番号を表すカウンターiに初期値「1」を代入する。
ステップS103では、取得部43は、セグメントiに対する各音声素片候補に対してコストを算出する。この際に用いるコストは、音声素片候補の目標コストと、前後のセグメントの最適音声素片(最適素片系列に含まれる音声素片)及び音声素片候補の接続コストと、の和である。
ステップS104では、取得部43は、算出したコストを用いて、コストの小さい上位M個の音声素片を選択する。
ステップS105では、取得部43は、カウンターiがセグメント数N以下であるか否かを判定する。
セグメント数N以下である場合には(ステップS105でYes)、ステップS106へ進み、セグメント数N以下でない場合には(ステップS105でNo)、取得部43は、音声素片取得処理を終了する。
ステップS106では、取得部43は、カウンターiをインクリメントして、セグメントiに対する各音声素片候補に対してコストを算出する。
このように本実施の形態では、音声素片の特徴を音源と声道フィルタの特徴に分離して融合することによって、音源やスペクトルの構造を壊すことなく融合することが可能であり、従来の複数素片選択融合方式以上に高い音質の合成音声が生成できる。
特に本実施の形態では、目標音声の基本周波数や音源波形の形状に基づいて音源波形を変形することによって、音源波形間の形状の違いのうち、制御可能な違いをできるだけ取り除いたうえで音源波形の平均化を行なえるので、音源波形の形状における特徴をよく保った融合が可能となり、より高い音質が実現できる。
また、本実施の形態では、不適切な形状を持つ音源波形を検出し、これらの音源波形を融合の対象から除去しているため、元の発声に問題があったり、途中の分析で何らかの失敗をした音声素片が含まれていても、音質の劣化が起こりにくい。
(変形例)
なお、本発明は、上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態にわたる構成要素を適宜組み合わせても良い。
(変形例1)
上記実施の形態では、取得部43が、声道フィルタ成分と音源成分で共通の音声素片を取得する例について説明したが、それぞれの成分に適した音声素片を別々に取得するようにしてもよい。
この場合、音声素片の取得の尺度となるコストの計算におけるサブコスト間の重み付けの仕方を、声道フィルタ成分と音源成分の各々で変えることにより、取得部43は、各成分に適した音声素片(両成分間で異なる音声素片)を取得する。
具体的には、声道フィルタ成分については、前後の音素などの音韻環境による影響を特に大きく受けやすく、また前後の音声素片とスペクトルを滑らかに接続することが合成音の音質にとって重要であることから、音韻環境コストやスペクトル接続コストの重みを重めに設定する。
一方、音源成分については、呼気段落内や文内での位置による影響や(例えば、文頭と文末では声帯の緊張度が変わるなど)基本周波数による影響(例えば、声の高いところの方が声帯の緊張度が高いなど)を特に強く受けやすいため、位置的環境コストや基本周波数コストの重みを重めに設定する。
このようにすると、声道フィルタ成分と音源成分の各々の融合に用いる音声素片を、各成分に合った方法で取得するので、上記実施の形態よりも高い音質が実現できる。特に、音声素片のバリエーションが限られている場合に、有効性が高い。この場合には、声道フィルタ成分と音源成分で音声素片の取得数が異なる場合がある。
なお、音声素片の取得方法は、声道フィルタ成分と音源成分のそれぞれで全く異なる方法を用いるようにしてもよい。
(変形例2)
上記実施の形態では、音声処理装置1が、融合音声素片から音声波形を生成して出力する例について説明したが、音声処理装置1は、融合音声素片を作成する装置としてもよい。この場合、音声処理装置1の音声合成部40は、生成部47及び出力部48を含まなくてもよい。
変形例2の音声処理装置の動作について説明する。図11は、変形例2の音声処理装置で行われる融合音声素片の作成手順の流れの一例を示すフローチャートである。
まず、テキストの入力から音声素片の融合までは(ステップS201〜ステップS208)、図9のフローチャートのステップS10〜ステップS17までの処理と同様であるため、説明を省略する。なお、ステップS201では、テキスト入力部により数千、数万文といった大量のテキストが入力される。このため、ステップS208では、素片融合部により大量の融合音声素片が生成される。
ステップS209では、素片融合部44は、生成した大量の融合音声素片の中から、融合音声素片の素片種別毎に融合音声素片をいくつずつ抽出するかを決定する。
ここで、素片種別とは、素片の音韻環境などで分類された種別を指す。例えば、素片種別/a/は、音素/a/に対応する素片のこととする。各素片種別に何個ずつ素片を配分するかは、各素片種別の素片の出現頻度などに応じて決める。例えば、素片種別/a/の素片が素片種別/u/の素片よりも出現頻度が高い場合は、素片種別/a/に多めの素片を配分することとする。素片種別iに配分する素片の個数をNi(Ni≧1)とする。
ステップS210では、素片融合部44は、素片種別を表すカウンターiに初期値「1」を代入する。
ステップS211では、素片融合部44は、素片種別iの融合済み周期成分素片及び融合済み非周期成分素片を、素片融合部44により融合された素片種別iの融合音声素片の中から、出現頻度が上位のものをNiずつ抽出する。
ステップS212では、素片融合部44は、カウンターiが素片種別数N(N≧1)以下であるか否かを判定する。
素片種別数N以下である場合には(ステップS212でYes)、ステップS213へ進み、素片種別数N以下でない場合には(ステップS212でNo)、素片融合部44は、融合音声素片の作成を終了する。
ステップS213では、素片融合部44は、カウンターiをインクリメントして、素片融合部44により融合された素片種別iの融合音声素片の中から、出現頻度が上位のものをNiずつ抽出する。
このようにすると、後述する変形例3のように、音声素片の融合機能を有していない音声処理装置であっても、変形例2の音声処理装置により作成された融合音声素片を格納することで、音声波形に内在する音源および声道フィルタの特徴を壊すことなく融合された音声素片を用いた音声合成を行うことができる。従って、従来の複数素片選択融合方式以上に高い音質の合成音声を生成できる。
(変形例3)
上記実施の形態では、音声処理装置1が、融合音声素片を生成する例について説明したが、変形例3では、例えば変形例2の音声処理装置などにより作成された融合音声素片を予め格納している音声処理装置について説明する。
なお、以下では、上記実施の形態との相違点の説明を主に行い、上記実施の形態と同様の機能を有する構成要素については、上記実施の形態と同様の名称・符号を付し、その説明を省略する。
図12は、変形例3の音声処理装置1001の構成の一例を示すブロック図である。音声処理装置1001の合成部1040は、素片融合部44、声道フィルタ成分融合部45、及び音源成分融合部46を備えていない点で、上記実施の形態の音声処理装置1と相違する。また合成部1040は、融合音声素を記憶する融合音声素片記憶部1042を備えている点で上記実施の形態の音声処理装置1と相違する。また取得部1043は、融合音声素片記憶部1042から融合音声素を取得する点で上記実施の形態の音声処理装置1と相違する。
融合音声素片記憶部1042は、前述の変形例2の音声処理装置により生成された融合済音声素片の中から、出現頻度の高い音声素片を抽出したものを記憶する。
なお、融合音声素片記憶部1042に記憶するために選択する音声素片の個数は、融合音声素片記憶部1042のサイズと合成音声の音質とのトレードオフで、任意に決めることができる。例えば、より多くの音声素片を選択して記憶すれば、融合音声素片記憶部1042のサイズは大きくなるが、合成音声の音質を高くすることができる。また例えば、音声素片の数を減らせば、合成音声の音質は犠牲になるが、融合音声素片記憶部1042のサイズを小さくすることができる。
このように変形例3の音声処理装置1001によれば、音声素片の融合処理が不要となるため、CPUスペックが非常に低いローエンドのミドルウェア向けにも対応することができる。
(変形例4)
なお、上記実施の形態では、出現頻度の高い素片を抽出する方法を説明したが、素片の両端で算出したメルケプストラムなどの素片の特徴量を用いて抽出しても良い。
この場合、各素片種別に対して出力された融合済み周期成分素片及び融合済み非周期成分素片をそれぞれ、素片の特徴量を用いてクラスタリングし、分割された各クラスタの中心(セントロイド)に最も近い素片を抽出する。クラスタリングにおけるクラスタ数は、各素片種別に配分する素片数に応じて決める。
出現頻度に基づいて素片を抽出する場合は、出現頻度が低いコンテキストに対して適切な素片が抽出されない可能性があり、入力テキストによっては音質が大きく劣化してしまう可能性があるが、本方法によって素片を抽出した場合、特徴量空間をできるだけ広く覆うような素片のセットが抽出できるため、出現頻度に基づいて抽出した場合より安定した合成音が生成できる。
なお、上記実施の形態の音声処理装置1、1001は、CPU(Central Processing Unit)などの制御装置、ROM(Read Only Memory)やRAM(Random Access Memory)、HDD、光ディスク、メモリカードなどの記憶装置、タッチパネルや操作ボタンなどの入力装置、スピーカなどの音声出力装置等を備えたハードウェア構成となっている。
また、上記実施の形態の音声処理装置1、1001で実行される音声処理プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
また、上記実施の形態の音声処理装置1、1001で実行される音声処理プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上記実施の形態の音声処理装置1、1001で実行される音声処理プログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
また、上記実施の形態の音声処理装置1、1001で実行される音声処理プログラムを、ROM等に予め組み込んで提供するように構成してもよい。
また、上記実施の形態の音声処理装置1、1001で実行される音声処理プログラムは、上述した各部(音韻・韻律入力受付部、取得部、素片融合部、声道フィルタ成分融合部、音源成分融合部等)を含むモジュール構成となっている。そして、実際のハードウェアとしてはCPU(プロセッサ)が上記記憶媒体から翻訳プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、音韻・韻律入力受付部、取得部、素片融合部、声道フィルタ成分融合部、音源成分融合部等が主記憶装置上に生成されるようになっている。