(57)【特許請求の範囲】
【請求項１】
与えられたテキスト文字列を音素ラベル列に変換する音素ラベル列変換手段と、
前記音素ラベル列変換手段から出力された音素ラベル列から、複数次元のＬＳＰ（Line Spectrum Pair）係数を含むＬＳＰ係数群の時系列データを生成する時系列データ生成手段と、
前記時系列データ生成手段で生成されたＬＳＰ係数群時系列データを構成する個々のＬＳＰ係数群について、所定の安定条件が満たされているか否かを判別し、満たされていないと判別した場合に、このＬＳＰ係数群が前記所定の安定条件を満たすように、当該ＬＳＰ係数群を出力した音素ＨＭＭ（隠れマルコフモデル）の１の状態において先頭、最後尾、それ以外のいずれに位置するかによって補正方法を切り替えて、当該ＬＳＰ係数群を補正する補正手段と、
を備える音声処理装置であって、
前記所定の安定条件とは、前記個々のＬＳＰ係数群を構成する複数のＬＳＰ係数が、全て０より大きくかつπより小さく、かつ、当該ＬＳＰ係数の次元の昇順に並べた場合に、小さい順に並ぶことであって、
前記補正手段は、前記所定の安定条件が満たされていない１のＬＳＰ係数群が、前記１の状態において先頭に位置する場合、少なくともその状態において２番目に位置するＬＳＰ係数群を用いて当該１のＬＳＰ係数群を補正し、前記１の状態において最後尾に位置する場合、少なくともその状態において最後尾から２番目に位置するＬＳＰ係数群を用いて当該１のＬＳＰ係数群を補正し、前記１の状態においてそれ以外に位置する場合、少なくともその状態において隣接するＬＳＰ係数群を用いて、当該１のＬＳＰ係数群を補正することを特徴とする音声処理装置。
【請求項２】
前記補正手段は、所定の安定条件が満たされていないと判別した場合に、このＬＳＰ係数群が前記所定の安定条件を満たすように、当該ＬＳＰ係数群を出力した音素ＨＭＭが生成した他のＬＳＰ係数群を用いて当該ＬＳＰ係数群を補正する、
ことを特徴とする請求項１に記載の音声処理装置。
【請求項３】
前記補正手段は、ＬＳＰ係数群のうち、前記安定条件が満たされない原因となった次元のＬＳＰ係数のみを補正する、ことを特徴とする請求項１又は２に記載の音声処理装置。
【請求項４】
請求項１乃至３の何れか１項に記載の音声処理装置と、
該音声処理装置の前記音素ラベル列変換手段に音声合成対象のテキストデータを供給する手段と、
該音声処理装置で生成されたＬＳＰ係数群時系列データをＬＳＰ合成フィルタ係数としたＬＳＰ合成フィルタに励起音源データを入力して合成音声を生成する合成音声生成手段と、
を備えるテキスト音声合成装置。
【請求項５】
テキスト文字列を音素ラベル列に変換する音素ラベル列変換ステップと、
当該音素ラベル列から、ＬＳＰ（Line Spectrum Pair）係数を含むＬＳＰ係数群の時系列データを生成する時系列データ生成ステップと、
当該ＬＳＰ係数群時系列データを構成する個々のＬＳＰ係数群について、所定の安定条件が満たされていない場合に、このＬＳＰ係数群が前記所定の安定条件を満たすように、当該ＬＳＰ係数群を出力した音素ＨＭＭの１の状態において先頭、最後尾、それ以外のいずれに位置するかによって補正方法を切り替えて当該ＬＳＰ係数群を補正するステップと、
を備える音声処理方法であって、
前記所定の安定条件とは、前記個々のＬＳＰ係数群を構成する複数のＬＳＰ係数が、全て０より大きくかつπより小さく、かつ、当該ＬＳＰ係数の次元の昇順に並べた場合に、小さい順に並ぶことであって、
前記補正するステップでは、前記所定の安定条件が満たされていない１のＬＳＰ係数群が、前記１の状態において先頭に位置する場合、少なくともその状態において２番目に位置するＬＳＰ係数群を用いて当該１のＬＳＰ係数群を補正し、前記１の状態において最後尾に位置する場合、少なくともその状態において最後尾から２番目に位置するＬＳＰ係数群を用いて当該１のＬＳＰ係数群を補正し、前記１の状態においてそれ以外に位置する場合、少なくともその状態において隣接するＬＳＰ係数群を用いて、当該１のＬＳＰ係数群を補正することを特徴とする音声処理方法。
【請求項６】
コンピュータに、
テキスト文字列を音素ラベル列に変換する音素ラベル列変換ステップと、
当該音素ラベル列から、ＬＳＰ（Line Spectrum Pair）係数を含むＬＳＰ係数群の時系列データを生成する時系列データ生成ステップと、
当該ＬＳＰ係数群時系列データを構成する個々のＬＳＰ係数群について、所定の安定条件が満たされていない場合に、このＬＳＰ係数群が前記所定の安定条件を満たすように、当該ＬＳＰ係数群を出力した音素ＨＭＭの１の状態において先頭、最後尾、それ以外のいずれに位置するかによって補正方法を切り替えて当該ＬＳＰ係数群を補正するステップと、
を実行させるコンピュータプログラムであって、
前記所定の安定条件とは、前記個々のＬＳＰ係数群を構成する複数のＬＳＰ係数が、全て０より大きくかつπより小さく、かつ、当該ＬＳＰ係数の次元の昇順に並べた場合に、小さい順に並ぶことであって、
前記補正するステップでは、前記所定の安定条件が満たされていない１のＬＳＰ係数群が、前記１の状態において先頭に位置する場合、少なくともその状態において２番目に位置するＬＳＰ係数群を用いて当該１のＬＳＰ係数群を補正し、前記１の状態において最後尾に位置する場合、少なくともその状態において最後尾から２番目に位置するＬＳＰ係数群を用いて当該１のＬＳＰ係数群を補正し、前記１の状態においてそれ以外に位置する場合、少なくともその状態において隣接するＬＳＰ係数群を用いて、当該１のＬＳＰ係数群を補正することを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、与えられたテキスト文字列から、音声データを作り出す過程で施される音声処理装置及び方法、テキスト音声合成装置、プログラムに関する。
また、本発明は、与えられたテキスト文字列から音声データを作り出す音声合成装置に関する。
【背景技術】
【０００２】
隠れマルコフモデル（以下ＨＭＭ）に基づいた音声認識技術及び音声合成技術は、大きな成功を収めている。
【０００３】
ＨＭＭに基づいた音声認識技術及び音声合成技術は、例えば、特許文献１に開示されている。
【特許文献１】特開２００２−６２８９０号公報
【０００４】
ＨＭＭに基づいた音声合成方法に用いられるスペクトルパラメータとして、ＬＳＰ（Ｌｉｎｅ  Ｓｐｅｃｔｒｕｍ  Ｐａｉｒ）係数群がある。
【０００５】
ＬＳＰ係数群は、フレームと称呼される時間区分毎に一群ずつ配置されるものである。ＨＭＭを採用するにあたりｍ次元の特徴ベクトルを用いることとしてあった場合には、一群のＬＳＰ係数群は、各次元に対応したｍ個のＬＳＰ係数から成る。しかも、すべてのＬＳＰ係数が必ず０からπの間に存在する。さらに、フレームｆｍにおけるｍ次元のＬＳＰ係数が、１次元から順に、ω１［ｆｍ］、ω２［ｆｍ］、・・・、ωｍ［ｆｍ］で表されるとすれば、ω１［ｆｍ］＜ω２［ｆｍ］＜・・・＜ωｍ［ｆｍ］の関係が保持される。
【０００６】
上記のＬＳＰ係数の存在範囲についての制限及び大小関係についての制限を、以下、安定条件と呼ぶ。
【０００７】
通常、当該安定条件は満たされる。すなわち、原則としては、隣接するフレームのＬＳＰ係数群同士で、同次元のＬＳＰ係数を時間軸に沿って線でつないだとき、それぞれの線が交差することはなく、かつ、これらの線がＬＳＰ係数についての０とπの間の領域をはみ出すことはない。
【０００８】
しかしながら、現実には、音素ＨＭＭ列を例えばセンテンス単位で尤度最大化する過程で、安定条件が満たされないＬＳＰ係数が得られる場合がある。
【０００９】
かかる場合を、以下では、「突発的なＬＳＰ係数が得られた。」と呼ぶ。
【００１０】
突発的なＬＳＰデータを放置すると、合成音声の品質が劣化する。
【００１１】
そこで、特許文献１には、突発的なＬＳＰ係数が得られた場合に、音声の劣化を抑える方法が示唆されている。この方法は、突発的なＬＳＰ係数が割り当てられたフレームの両隣のフレームのＬＳＰ係数を用いて、同次元毎に平均値を算出し、当該平均値と突発的なＬＳＰ係数とを入れ替えることにより、安定条件を満たすように補正する。
【００１２】
以下では、このような入れ替え処理を、単純隣接平均補間処理と称する。
【００１３】
単純隣接平均補間処理では、突発的なＬＳＰ係数が対応するフレームｆｍが何であっても、任意の次元ｄ（１≦ｄ≦ｍ）に対して、ωｄ［ｆｍ］＝（ωｄ［ｆｍ−１］＋ωｄ［ｆｍ＋１］）／２のように、隣り合うＬＳＰ係数群を用いて、次元毎に平均値を算出し、当該平均値で補間することになる。
【発明の開示】
【発明が解決しようとする課題】
【００１４】
しかしながら、単純隣接平均補間処理においては、ＬＳＰ係数の安定条件は満たされるとしても、同次元の隣接するＬＳＰ係数の差が大きい場合には、不適当なＬＳＰ係数で補間される場合がある。特に、ＨＭＭにおける状態の切り替わり時に、隣接するＬＳＰ係数の差が大きくなる場合がある。このような場合に合成音声の劣化を抑えることができない場合がある。
【００１５】
また、単純隣接平均補間処理では、安定性を満たさない原因となった次数以外のＬＳＰ係数、すなわち、元々突発的ではなく補間の必要のなかったＬＳＰ係数までも補間されてしまう。従って、かえって合成音声の品質を落とす場合がある。
【００１６】
本発明は、上記従来技術の欠点に鑑みてなされたものであり、適切な補正処理を行うことによって、高品質の合成音声を生成することが可能な音声処理装置およびテキスト音声合成装置を提供することを目的とする。
【００１７】
また、本発明は、高音質の合成音声を生成可能とすることを目的とする。
【課題を解決するための手段】
【００１８】
上記目的を達成するために、この発明の第１の観点に係る音声処理装置は、与えられたテキスト文字列を音素ラベル列に変換する音素ラベル列変換手段と、前記音素ラベル列変換手段から出力された音素ラベル列から、複数次元のＬＳＰ（Line Spectrum Pair）係数を含むＬＳＰ係数群の時系列データを生成する時系列データ生成手段と、前記時系列データ生成手段で生成されたＬＳＰ係数群時系列データを構成する個々のＬＳＰ係数群について、所定の安定条件が満たされているか否かを判別し、満たされていないと判別した場合に、このＬＳＰ係数群が前記所定の安定条件を満たすように、当該ＬＳＰ係数群を出力した音素ＨＭＭ（隠れマルコフモデル）の１の状態において先頭、最後尾、それ以外のいずれに位置するかによって補正方法を切り替えて、当該ＬＳＰ係数群を補正する補正手段と、を備える音声処理装置であって、前記所定の安定条件とは、前記個々のＬＳＰ係数群を構成する複数のＬＳＰ係数が、全て０より大きくかつπより小さく、かつ、当該ＬＳＰ係数の次元の昇順に並べた場合に、小さい順に並ぶことであって、前記補正手段は、前記所定の安定条件が満たされていない１のＬＳＰ係数群が、前記１の状態において先頭に位置する場合、少なくともその状態において２番目に位置するＬＳＰ係数群を用いて当該１のＬＳＰ係数群を補正し、前記１の状態において最後尾に位置する場合、少なくともその状態において最後尾から２番目に位置するＬＳＰ係数群を用いて当該１のＬＳＰ係数群を補正し、前記１の状態においてそれ以外に位置する場合、少なくともその状態において隣接するＬＳＰ係数群を用いて、当該１のＬＳＰ係数群を補正することを特徴とする。
【００２２】
上記目的を達成するために、この発明の第２の観点に係るテキスト音声合成装置は、前記音声処理装置と、該音声処理装置の前記音素ラベル列変換手段に音声合成対象のテキストデータを供給する手段と、該音声処理装置で生成されたＬＳＰ係数群時系列データをＬＳＰ合成フィルタ係数としたＬＳＰ合成フィルタに励起音源データを入力して合成音声を生成する合成音声生成手段と、を備える。
【００２４】
上記目的を達成するために、この発明の第３の観点に係る音声処理方法は、テキスト文字列を音素ラベル列に変換する音素ラベル列変換ステップと、当該音素ラベル列から、ＬＳＰ（Line Spectrum Pair）係数を含むＬＳＰ係数群の時系列データを生成する時系列データ生成ステップと、当該ＬＳＰ係数群時系列データを構成する個々のＬＳＰ係数群について、所定の安定条件が満たされていない場合に、このＬＳＰ係数群が前記所定の安定条件を満たすように、当該ＬＳＰ係数群を出力した音素ＨＭＭの１の状態において先頭、最後尾、それ以外のいずれに位置するかによって補正方法を切り替えて当該ＬＳＰ係数群を補正するステップと、を備える音声処理方法であって、前記所定の安定条件とは、前記個々のＬＳＰ係数群を構成する複数のＬＳＰ係数が、全て０より大きくかつπより小さく、かつ、当該ＬＳＰ係数の次元の昇順に並べた場合に、小さい順に並ぶことであって、前記補正するステップでは、前記所定の安定条件が満たされていない１のＬＳＰ係数群が、前記１の状態において先頭に位置する場合、少なくともその状態において２番目に位置するＬＳＰ係数群を用いて当該１のＬＳＰ係数群を補正し、前記１の状態において最後尾に位置する場合、少なくともその状態において最後尾から２番目に位置するＬＳＰ係数群を用いて当該１のＬＳＰ係数群を補正し、前記１の状態においてそれ以外に位置する場合、少なくともその状態において隣接するＬＳＰ係数群を用いて、当該１のＬＳＰ係数群を補正することを特徴とする。
【００２５】
上記目的を達成するために、この発明の第４の観点に係るコンピュータプログラムは、コンピュータに、テキスト文字列を音素ラベル列に変換する音素ラベル列変換ステップと、当該音素ラベル列から、ＬＳＰ（Line Spectrum Pair）係数を含むＬＳＰ係数群の時系列データを生成する時系列データ生成ステップと、当該ＬＳＰ係数群時系列データを構成する個々のＬＳＰ係数群について、所定の安定条件が満たされていない場合に、このＬＳＰ係数群が前記所定の安定条件を満たすように、当該ＬＳＰ係数群を出力した音素ＨＭＭの１の状態において先頭、最後尾、それ以外のいずれに位置するかによって補正方法を切り替えて当該ＬＳＰ係数群を補正するステップと、を実行させるコンピュータプログラムであって、前記所定の安定条件とは、前記個々のＬＳＰ係数群を構成する複数のＬＳＰ係数が、全て０より大きくかつπより小さく、かつ、当該ＬＳＰ係数の次元の昇順に並べた場合に、小さい順に並ぶことであって、前記補正するステップでは、前記所定の安定条件が満たされていない１のＬＳＰ係数群が、前記１の状態において先頭に位置する場合、少なくともその状態において２番目に位置するＬＳＰ係数群を用いて当該１のＬＳＰ係数群を補正し、前記１の状態において最後尾に位置する場合、少なくともその状態において最後尾から２番目に位置するＬＳＰ係数群を用いて当該１のＬＳＰ係数群を補正し、前記１の状態においてそれ以外に位置する場合、少なくともその状態において隣接するＬＳＰ係数群を用いて、当該１のＬＳＰ係数群を補正することを特徴とする。
【発明の効果】
【００２６】
本発明によれば、ＨＭＭに基づく音声合成の過程で突発的なＬＳＰ係数が得られたとしても、より適切な補正が実現され、その結果、より高品質のテキスト音声の合成が実現できる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の実施の形態に係るテキスト音声合成装置について詳細に説明する。
【００２８】
（実施形態１）
まず、本実施形態に係るテキスト音声合成装置の構成を説明する。図１は、本実施形態に係るテキスト音声合成装置８１の機能構成図である。
【００２９】
テキスト音声合成装置８１は、図示するように、テキスト取り込み部１３と、音素ラベル列変換部１５と、時系列データ生成部８３と、スペクトルパラメータ補正部１９と、励起音源生成部８５と、合成フィルタ８７と、スピーカー部２３と、を備える。
【００３０】
テキスト音声合成装置８１は、音声合成辞書２５に接続される。音声合成辞書２５は、音素ラベル毎にＬＳＰ係数に関する音素ＨＭＭ及びピッチに関する音素ＨＭＭを記憶している。ＬＳＰ係数に関する音素ＨＭＭを定義するパラメータには、平均値、分散値、状態毎の遷移確率、各状態におけるＬＳＰ係数の出力確率が含まれ、ピッチに関する音素ＨＭＭを定義するパラメータには平均値、分散値、状態毎の遷移確率、各状態におけるピッチの出力確率が含まれる。これらのデータはハードディスク等に記憶されている。
【００３１】
テキスト音声合成装置８１のテキスト取り込み部１３は、与えられたテキスト文字列を取り込む。
【００３２】
音素ラベル列変換部１５は、取り込んだテキスト文字列を構成する各テキスト文字を取り込み順に音素ラベルに順次変換することにより、音素ラベル列に変換し、スペクトル及びピッチ時系列データ生成部８３に引き渡す。
【００３３】
音素ラベルの具体的な態様は、音声合成辞書２５の仕様に適応できるならば、任意である。例えば、音素３つ組をひとつの音声単位とみなすトライフォンの場合、音声合成辞書２５における検索に際し、検索対象音素の前後の音素に関する情報も必要となる。従って、ひとつの音素ラベルは、その前後の音素の情報が考慮されている。
【００３４】
時系列データ生成部８３は、受け取った音素ラベル列を手がかりに、対応するＬＳＰ係数及びピッチに関する音素ＨＭＭをそれぞれ音声合成辞書２５から検索し、音素ラベルの出現順につなぐ。このつながったものが、それぞれＬＳＰ係数及びピッチに関する音素ＨＭＭ列であり、これらのＬＳＰ係数及びピッチに関する音素ＨＭＭ列から尤度が最大となるようにそれぞれＬＳＰ係数群時系列データ及びピッチ時系列データを生成する。
【００３５】
つまり、時系列データ生成部８３は、受け取った音素ラベル列から、ＬＳＰ係数群時系列データと、ピッチ時系列データと、を生成する。
【００３６】
時系列データ生成部８３は、生成したＬＳＰ係数群時系列データを、スペクトルパラメータ補正部１９に引き渡すとともに、生成したピッチ時系列データを、励起音源生成部８５に引き渡す。
【００３７】
スペクトルパラメータ補正部１９は、受け取ったＬＳＰ係数群時系列データに対し、所定の補正処理を施す。
【００３８】
所定の補正処理とは、ＬＳＰ係数群時系列データについて、フレーム毎に、所定の安定条件が満たされているか否かを点検し、満たされていない場合には、満たすように、当該ＬＳＰ係数群を出力した音素ＨＭＭの状態から生成された他のＬＳＰ係数群を参照して補正する処理のことである。この補正処理の詳細については、図３及び図４を参照して後述する。
【００３９】
スペクトルパラメータ補正部１９は、補正済ＬＳＰ係数群時系列データを、合成フィルタ８７に引き渡す。
【００４０】
一方、励起音源生成部８５は、ピッチ時系列データを時系列データ生成部８３から受け取り、励起音源データを生成し、合成フィルタ８７に引き渡す。
【００４１】
合成フィルタ８７には、補正済のＬＳＰ係数群時系列データと、励起音源データとが入力される。合成フィルタ８７は、補正済ＬＳＰ係数で定義される合成フィルタ８７に励起音源データを入力することにより合成音声データを生成し、スピーカー部２３に伝達する。
【００４２】
スピーカー部２３は、引き渡された合成音声データを出力する。スピーカー部２３は、音源やアンプ等、合成音声の出力に必要な機能を有している。
【００４３】
図１に示すテキスト音声合成装置８１は、物理的には、図２に示すような、ユーザＩ／Ｆ３９、ＣＰＵ３３、ＲＯＭ３５、記憶部３７、データ入力Ｉ／Ｆ４１と、これらを相互に接続するバス４７と、を備えるコンピュータ３１から構成される。
【００４４】
さらに、合成音声を発するために、コンピュータ３１は、スピーカー４５と、当該スピーカーに接続されたスピーカー駆動用サウンド・ボード４３と、を備え、当該サウンド・ボード４３は、バス４７に接続されている。
【００４５】
ＲＯＭ３５は、テキスト音声合成のための動作プログラム、特に、この実施形態においては、音声データのＬＳＰ係数を補正する動作を含む動作プログラムを記憶する。
【００４６】
記憶部３７は、ＲＡＭ５１やハードディスク５３から構成されて、テキスト文字列、音素ラベル列、音素ＨＭＭ列、音素スペクトル列、ピッチに関する情報、ＬＳＰ係数群時系列データ、ピッチ時系列データ、補正済ＬＳＰ係数群時系列データ、励起音源データ、音声データ、を記憶する。
【００４７】
データ入力Ｉ／Ｆ４１は、音声合成辞書２５に接続され、データの入力を行う。
【００４８】
ユーザＩ／Ｆ３９は、キーボード５５と、モニタ５７と、から構成され、ユーザがテキスト音声合成装置にテキスト文字列を与える。
【００４９】
（動作）
次に、図１及び図２に示す音声合成装置の動作を、図２から図４を参照して説明する。
【００５０】
ユーザＩ／Ｆ３９からテキスト文字列が与えられ、音声合成開始の指示がされると、ＣＰＵ３３は、ＲＯＭ３５に格納された動作プログラムを実行することにより、音声合成動作を実行する。
【００５１】
まず、ＣＰＵ３３は、与えられたテキスト文字列を記憶部３７に記憶する。
【００５２】
次に、ＣＰＵ３３は、記憶部３７に格納したテキスト文字列を、順次読み出して、音素ラベル列に変換して、一旦、記憶部３７に記憶する。なお、テキスト文字列を音素ラベル列に変換する手法自体は任意であり、既知の任意の手法を使用可能である。
【００５３】
ＣＰＵ３３は、記憶部３７に記憶されている音素ラベル列を基にして、音声合成辞書２５から、音素ＨＭＭをひとつずつ順次取り出し、音素ＨＭＭ列を生成する（図３（ｂ）参照）。
【００５４】
ＣＰＵ３３はまた、音素ＨＭＭ列からＬＳＰ係数群を生成する（図３（ｃ）参照）。
【００５５】
ＬＳＰ係数群は、通常、１つの状態の期間に複数存在する。各ＬＳＰ係数群に対応する時間スパンを１フレームと呼ぶ。
【００５６】
ここでは、図３に示すように、各音素ＨＭＭにはＬＳＰ係数群を出力する状態として３状態が存在し、各状態から複数のフレームｆｍが出力されるとする。各フレームには１０個のＬＳＰ係数が属する。横軸は時間軸に相当する。
【００５７】
音素ＨＭＭλｉの状態Ｓｊに対応するフレームのうち先頭のものをｆｍλｉ、Ｓｊ、Ｓと、最後尾のものをｆｍλｉ、Ｓｊ、Ｅと、それぞれ称呼する。記憶部３７には、各状態から出力されたＬＳＰ係数群のデータと共にそのフレーム識別情報も格納される。
【００５８】
即ち、図３に示すように、フレーム数がＮｆｍ、ＬＳＰ係数の次元がＮｄ次元であるとすると、ＬＳＰ係数群時系列データは、ＬＳＰ係数ωｄ［ｆｍ］を用いて、
｛ωｄ［１］、ωｄ［２］、・・・、ωｄ［ｆｍ］、・・・、ωｄ［Ｎｆｍ−１］、ωｄ［Ｎｆｍ］｝
（但し、１≦ｄ≦Ｎｄ＝１０である。）
と表される。
【００５９】
次に、ＣＰＵ３３は、記憶部３７に格納されているＬＳＰ係数群時系列データに、所定の補正処理を施し、補正済ＬＳＰ係数群時系列データとして記憶部３７に記憶する。所定の補正処理については、図４を参照して後述する。
【００６０】
以上の説明においては、ユーザは、読み上げさせたいテキスト文字列を、テキスト音声合成装置に一括して入力した後、音声合成開始の指示を出し、合成音声の出力があるのを待つことを前提としている。これを一括法と呼ぶ。
【００６１】
一方、テキスト音声合成に際しては、テキスト文字列を所定の区分単位ずつ読み込ませつつ、逐次、合成音声による読み上げをさせたいとの要請も考えられる。これをリアルタイム法と呼ぶ。
【００６２】
リアルタイム法といっても、音声合成装置に読み上げさせたいテキスト文字列を、より短いテキスト文字列の連なりと解釈し、当該短いテキスト文字列を一括法により順次処理していくことに他ならない。
【００６３】
つまり、一括法とリアルタイム法のいずれを実現するにしても、テキスト音声合成装置の動作は本質的には同じである。よって、本実施形態は、一括法とリアルタイム法のいずれも実現することができる。
【００６４】
ただし、リアルタイム法を実現するにあたっては、テキスト文字列をいかなる区分単位ずつテキスト音声合成装置に読み込ませるかには注意を要する。図１の音声合成辞書２５の構造次第では、あるまとまった分量のテキスト文字列をひとつの区分単位として音声合成装置に入力する必要があり得る。例えば、音声合成辞書２５が、検索のために文脈等に関する情報を必要とする場合には、当該文脈等が判明するのに十分な長さのテキスト文字列を区分単位とする必要がある。
【００６５】
図１に示すように、本実施形態に係るテキスト音声合成装置８１の特徴は、スペクトルパラメータ補正部１９においてＬＳＰ係数群時系列データに所定の補正処理を施すことにある。
【００６６】
次に、ＣＰＵ３３が実行するスペクトル補正処理について、図３と図４を参照して説明する。
まず、図３に、音素ＨＭＭと、音素ＨＭＭの各状態と、ＬＳＰ係数と、フレームとの対応関係を整理して示した。理解を容易にするために、状態数５（Ｓ０は初期状態、Ｓ４は終了状態でＬＳＰ係数は出力しない）の音素ＨＭＭを適用したとし、ＬＳＰ係数は１０次元であるとする。
【００６７】
各音素ＨＭＭにはＬＳＰ係数群を出力する状態としてＳ１、Ｓ２、Ｓ３の３つの状態が存在し、各状態から複数フレーム（ｆｍ）分のＬＳＰ係数群が出力される。各フレームには１０個のＬＳＰ係数が属する。横軸は時間軸に相当する。
【００６８】
音素ＨＭＭλｉの状態Ｓｊに対応するフレームのうち先頭のものをｆｍλｉ、Ｓｊ、Ｓと、最後尾のものをｆｍλｉ、Ｓｊ、Ｅと、それぞれ称呼する。
【００６９】
フレーム数がＮｆｍ、ＬＳＰ係数の次元がＮｄ次元であるとすると、スペクトル時系列データは、ＬＳＰ係数ωｄ［ｆｍ］を用いて、
｛ωｄ［１］、ωｄ［２］、・・・、ωｄ［ｆｍ］、・・・、ωｄ［Ｎｆｍ−１］、ωｄ［Ｎｆｍ］｝
（但し、１≦ｄ≦Ｎｄである。）
で表される。図３の場合、Ｎｄ＝１０である。
【００７０】
なんらかの理由により、いずれかのフレームにおいて、ＬＳＰ係数に関する安定条件が満たされないケースが発生する。これを放置すると、合成音声の音質に悪影響を及ぼす。そこで、ＬＳＰ係数に対する補正を行う。
【００７１】
図４に示すフローチャートを参照して、補正処理を説明する。
前提として、上述の処理により、ＬＳＰ係数群時系列データが生成され、ＬＳＰ係数ωｄ［ｆｍ］は全て求められて、図２の記憶部３７に記憶されているものとする。
【００７２】
まず、ＣＰＵ３３は、フレームを識別するための番号を指定するポインタｆｍを１に初期化する（ステップＳ１１）。
【００７３】
ＣＰＵは、フレームｆｍについて、ＬＳＰ係数ω１［ｆｍ］、ω２［ｆｍ］、・・・、ωＮｄ［ｆｍ］を記憶部３７から読み出す（ステップＳ１３）。
【００７４】
ＬＳＰ係数の安定条件が満たされているか否かを点検する。すなわち、０＜ω１［ｆｍ］＜ω２［ｆｍ］＜・・・＜ωＮｄ−１［ｆｍ］＜ωＮｄ［ｆｍ］＜πが満たされているか否かを判別する（ステップＳ１５）。
【００７５】
安定条件を満たすと判別された場合は（ステップＳ１５；満たす）、ＬＳＰ係数確認フラグｃｆ［ｆｍ］に安定条件を満たしていることを示す値１を設定する（ｃｆ［ｆｍ］＝１）。図２の記憶部３７に、フレーム番号ｆｍと対応付けて記憶する（ステップＳ１７）。
【００７６】
ステップＳ１５において、安定条件を満たさないと判別された場合（ステップＳ１５；満たさない）は、ｃｆ［ｆｍ］＝０として、記憶部３７に記憶する（ステップＳ１９）。
【００７７】
全てのｆｍについて処理が完了したか否かを判別する（ステップＳ２１）。
【００７８】
未完了であれば、ｆｍを１だけインクリメントしてステップＳ１３に戻る。一方、完了したならば、生成されたＬＳＰ係数確認フラグ系列データ｛ｃｆ［１］、ｃｆ［２］、・・・、ｃｆ［ｆｍ］、・・・、ｃｆ［Ｎｆｍ−１］、ｃｆ［Ｎｆｍ］｝のうち、ｃｆ［ｆｍＮＧ］＝０なるｆｍＮＧが存在するか否かを判別する（ステップＳ２３）。
【００７９】
かかるｆｍＮＧが存在しない場合には、補正処理を終了する。
【００８０】
ステップＳ２３において、ｃｆ［ｆｍＮＧ］＝０なるｆｍＮＧが存在すると判別された場合には、フレームｆｍＮＧの位置に対して、状態Ｓ１乃至Ｓ３のうちどの状態に対応するかを判別する（ステップＳ２５）。
【００８１】
すなわち、図３において、ｆｍλｉ、Ｓｊ、Ｓ≦ｆｍＮＧ≦ｆｍλｉ、Ｓｊ、Ｅであれば、フレームｆｍＮＧは状態Ｓｊに対応する。
【００８２】
ステップＳ２５における位置判定の結果、フレームｆｍＮＧは状態Ｓ１に対応すると判別されたとする。かかる場合、続いて、フレームｆｍＮＧが、状態Ｓ１に対応するフレームのうちでも、さらに細かく、いかなる位置にあるかをフレーム識別情報に基づいて判別する（ステップＳ２７）。
【００８３】
ステップＳ２７の判別結果は、３種類に分けられる。すなわち、フレームｆｍＮＧがＳ１に対応するフレームのうち先頭のフレームである場合（ｆｍＮＧ＝ｆｍλｉ、Ｓ１、Ｓ）、先頭でも最後尾でもない場合（ｆｍλｉ、Ｓ１、Ｓ＜ｆｍＮＧ＜ｆｍλｉ、Ｓ１、Ｅ）、及び最後尾である場合（ｆｍＮＧ＝ｆｍλｉ、Ｓ１、Ｅ）である。
【００８４】
先頭の場合は、Ｓ１に対応する２番目以降のフレームのＬＳＰ係数を参照して補正を行う（ステップＳ２９）。先頭でも最後尾でもない場合は、Ｓ１に対応しかつｆｍＮＧに隣接又は隣隣接等の位置にある（近傍の）フレームのＬＳＰ係数を参照して補正する（ステップＳ３１）。最後尾の場合は、Ｓ１に対応する最後尾から２番目以前のフレームのＬＳＰ係数を参照して補正する（ステップＳ３３）。
【００８５】
ステップＳ２５において、Ｓ２に対応すると判別された場合及びＳ３に対応すると判別された場合についても、ステップＳ２９〜Ｓ３３と同様の処理を行う。即ち、同一状態から出力され且つ隣接するＬＳＰ係数群を用いて補正する。
【００８６】
以上説明したように、ＣＰＵ３３は、音素ＨＭＭλｉなる音素ＨＭＭに対応するＬＳＰ係数に突発的なＬＳＰ係数が含まれた結果安定条件が満たされない場合には、ＬＳＰ係数の補正に際し、隣接する音素ＨＭＭλｉ−１以前の音素ＨＭＭ及び音素ＨＭＭλｉ＋１以降の音素ＨＭＭに対応するＬＳＰ係数を参照せず、音素ＨＭＭλｉから得られた、安定条件を満たすＬＳＰ係数のみを用いて補正を行う。
【００８７】
さらに、状態Ｓｊ（１≦ｊ≦３）に対応するＬＳＰ係数に補正の必要が生じれば、Ｓｊに対応した他のＬＳＰ係数のみを参照して補正を行い、同一音素ＨＭＭλｉに対応していても他の状態である状態Ｓｋ（ｋ≠ｊ）から出力されたＬＳＰ係数は参照しない。
【００８８】
従って、状態の切り替わり時に、ＬＳＰに大きなギャップが存在するような場合でも、無理な補間を行わないので、合成される音声データに無理が無く、高品質な合成音声の提供が達成できる。即ち、ＬＳＰ係数時系列データに対してより適切な補正が施されることにより、より高品質な合成音声の提供が達成できる。
【００８９】
次に、この実施の形態の補正処理、特に、図４のステップＳ２５、Ｓ２７、Ｓ２９、Ｓ３１、Ｓ３３等の場合分け及び各場合に応じた処理の好適な具体例を、以下に説明する。
【００９０】
（場合分け及び各場合に応じた処理の具体例１）
場合分けは、次の（ａ）〜（ｈ）のような場合分けである。フレームｆｍＮＧの位置によって、次のようにＬＳＰ係数を補正する。
【００９１】
（ａ）ｆｍＮＧ＝ｆｍλｉ、Ｓ１、Ｓのとき（Ｓ２５；Ｓ１，Ｓ２７；先頭）、
ωｄ［ｆｍＮＧ］＝ωｄ［ｆｍλｉ、Ｓ１、Ｓ＋１］
（但し、１≦ｄ≦Ｎｄ）
（ステップＳ２９）とする。
即ち、１フレーム後ろのＬＳＰ群をコピーする。
（ｂ）ｆｍλｉ、Ｓ１、Ｓ＜ｆｍＮＧ＜ｆｍλｉ、Ｓ１、Ｅのとき（Ｓ２５；Ｓ１、Ｓ２７；先頭でも、最後尾でもない）、
ωｄ［ｆｍＮＧ］＝（ωｄ［ｆｍ−１］＋ωｄ［ｆｍ＋１］）／２
（但し、１≦ｄ≦Ｎｄ）
（ステップＳ３１）とする。
即ち、前後１フレームのＬＳＰ群の平均値に補正する。
（ｃ）ｆｍＮＧ＝ｆｍλｉ、Ｓ１、Ｅのとき（Ｓ２５；Ｓ１、Ｓ２７；最後尾）、
ωｄ［ｆｍＮＧ］＝ωｄ［ｆｍλｉ、Ｓ１、Ｅ−１］
（但し、１≦ｄ≦Ｎｄ）
とし、
（ｄ）ｆｍλｉ、Ｓ２、Ｓ≦ｆｍＮＧ＜ｆｍλｉ、Ｓ２、Ｅのとき、
ωｄ［ｆｍＮＧ］＝ωｄ［ｆｍλｉ、Ｓ２、Ｓ＋１］
（但し、１≦ｄ≦Ｎｄ）
とし、
（ｅ）ｆｍＮＧ＝ｆｍλｉ、Ｓ２、Ｅのとき、
ωｄ［ｆｍＮＧ］＝ωｄ［ｆｍλｉ、Ｓ２、Ｅ−１］
（但し、１≦ｄ≦Ｎｄ）
とし、
（ｆ）ｆｍＮＧ＝ｆｍλｉ、Ｓ３、Ｓのとき、
ωｄ［ｆｍＮＧ］＝ωｄ［ｆｍλｉ、Ｓ３、Ｓ＋１］
（但し、１≦ｄ≦Ｎｄ）
とし、
（ｇ）ｆｍλｉ、Ｓ３、Ｓ＜ｆｍＮＧ＜ｆｍλｉ、Ｓ３、Ｅのとき、
ωｄ［ｆｍＮＧ］＝（ωｄ［ｆｍ−１］＋ωｄ［ｆｍ＋１］）／２
（但し、１≦ｄ≦Ｎｄ）
とし、
（ｈ）ｆｍＮＧ＝ｆｍλｉ、Ｓ３、Ｅのとき、
ωｄ［ｆｍＮＧ］＝ωｄ［ｆｍλｉ、Ｓ３、Ｅ−１］
（但し、１≦ｄ≦Ｎｄ）
とする。
【００９２】
この具体例では、突発的なＬＳＰ係数に対して、当該係数を出力した音素ＨＭＭの状態から生成された別のフレームのＬＳＰ係数を参照して行うことに特徴がある。
【００９３】
（場合分け及び各場合に応じた処理の具体例２）
本具体例では、前記具体例と異なり、場合によっては、以下のように、補正対象のＬＳＰ係数が属するフレームと隣接するフレーム及び当該隣接フレームにさらに隣接するフレームのＬＳＰ係数をも参照する点に特徴がある。
【００９４】
前記（ａ）の場合、すなわち、ｆｍＮＧ＝ｆｍλｉ、Ｓ１、Ｓの場合は、
ωｄ［ｆｍＮＧ］＝ωｄ［ｆｍλｉ、Ｓ１、Ｓ＋１］×２＋ωｄ［ｆｍλｉ、Ｓ１、Ｓ＋２］×（−１）
（但し、１≦ｄ≦Ｎｄとする。）
とし、
（ｃ）の場合、すなわち、ｆｍＮＧ＝ｆｍλｉ、Ｓ１、Ｅの場合は、
ωｄ［ｆｍＮＧ］＝ωｄ［ｆｍλｉ、Ｓ１、Ｅ−２］×（−１）＋ωｄ［ｆｍλｉ、Ｓ１、Ｅ−１］×２
（但し、１≦ｄ≦Ｎｄとする。）
とし、
（ｆ）の場合、すなわち、ｆｍＮＧ＝ｆｍλｉ、Ｓ３、Ｓの場合は、
ωｄ［ｆｍＮＧ］＝ωｄ［ｆｍλｉ、Ｓ３、Ｓ＋１］×２＋ωｄ［ｆｍλｉ、Ｓ３、Ｓ＋２］×（−１）
（但し、１≦ｄ≦Ｎｄとする。）
とし、
（ｈ）の場合、すなわち、ｆｍＮＧ＝ｆｍλｉ、Ｓ３、Ｅの場合は、
ωｄ［ｆｍＮＧ］＝ωｄ［ｆｍλｉ、Ｓ３、Ｅ−２］×（−１）＋ωｄ［ｆｍλｉ、Ｓ３、Ｅ−１］×２
（但し、１≦ｄ≦Ｎｄとする。）
とする。
【００９５】
（場合分け及び各場合に応じた処理の具体例３）
本具体例では、フレームｆｍＮＧの位置によって、ＬＳＰ係数の補正方法を切り替える点においては、前記２つの具体例と同じである。本具体例においては、さらに、補正が必要な次数のＬＳＰ係数のみ、安定性を満たすように補正し、補正後のＬＳＰ係数データを出力する。ここで、補正が必要なＬＳＰ係数の次数ｄが、α≦ｄ≦β(但し、α≦β、１≦α≦Ｎｄ、１≦β≦Ｎｄとする。）であるとすると、次のようにＬＳＰ係数を補正する。
【００９６】
（ａ）ｆｍＮＧ＝ｆｍλｉ、Ｓ１、Ｓのとき、
ωｄ［ｆｍＮＧ］＝ωｄ［ｆｍλｉ、Ｓ１、Ｓ＋１］
（但し、α≦ｄ≦βとする。）
とし、
（ｂ）ｆｍλｉ、Ｓ１、Ｓ＜ｆｍＮＧ＜ｆｍλｉ、Ｓ１、Ｅのとき、
ωｄ［ｆｍＮＧ］＝（ωｄ［ｆｍ−１］＋ωｄ［ｆｍ＋１］）／２
（但し、α≦ｄ≦βとする。）
とし、
（ｃ）ｆｍＮＧ＝ｆｍλｉ、Ｓ１、Ｅのとき、
ωｄ［ｆｍＮＧ］＝ωｄ［ｆｍλｉ、Ｓ１、Ｅ−１］
（但し、α≦ｄ≦βとする。）
とし、
（ｄ）ｆｍλｉ、Ｓ２、Ｓ≦ｆｍＮＧ＜ｆｍλｉ、Ｓ２、Ｅのとき、
ωｄ［ｆｍＮＧ］＝ωｄ［ｆｍλｉ、Ｓ２、Ｓ＋１］
（但し、α≦ｄ≦βとする。）
とし、
（ｅ）ｆｍＮＧ＝ｆｍλｉ、Ｓ２、Ｅのとき、
ωｄ［ｆｍＮＧ］＝ωｄ［ｆｍλｉ、Ｓ２、Ｅ−１］
（但し、α≦ｄ≦βとする。）
とし、
（ｆ）ｆｍＮＧ＝ｆｍλｉ、Ｓ３、Ｓのとき、
ωｄ［ｆｍＮＧ］＝ωｄ［ｆｍλｉ、Ｓ３、Ｓ＋１］
（但し、α≦ｄ≦βとする。）
とし、
（ｇ）ｆｍλｉ、Ｓ３、Ｓ＜ｆｍＮＧ＜ｆｍλｉ、Ｓ３、Ｅのとき、
ωｄ［ｆｍＮＧ］＝（ωｄ［ｆｍ−１］＋ωｄ［ｆｍ＋１］）／２
（但し、α≦ｄ≦βとする。）
とし、
（ｈ）ｆｍＮＧ＝ｆｍλｉ、Ｓ３、Ｅのとき、
ωｄ［ｆｍＮＧ］＝ωｄ［ｆｍλｉ、Ｓ３、Ｅ−１］
（但し、α≦ｄ≦βとする。）
とする。
【００９７】
本具体例においては、安定性を損ねる原因となった次数のＬＳＰ係数のみが補正されるため、ＬＳＰ係数の安定条件を満たしつつ、該当するフレームのＬＳＰ係数として、前記２つの具体例よりもさらに適切な値で補正することが可能となる。
【００９８】
なお、具体例１のバリエーションとして具体例２を挙げたのと同様、本具体例のバリエーションとして、補正対象のＬＳＰ係数が属するフレームと隣接するフレーム及び当該隣接フレームにさらに隣接するフレームのＬＳＰ係数をも参照するという具体例も挙げられる。
【００９９】
（実施形態２）
なお、具体例３等においても、同一音素ＨＭＭ同一状態内からのＬＳＰ係数のみを用いて突発的ＬＳＰ係数を補間したが、これらの場合には、影響が小さいので、異なる音素ＨＭＭ、異なる状態のＬＳＰ係数を使って補間しても問題ない。
【０１００】
例えば、Ｓ２の先頭フレームのＬＳＰ係数の２、３次元の係数が逆転して突発的となった場合、Ｓ１の最後尾のＬＳＰ係数の２、３次元とＳ２の第２フレームのＬＳＰ係数の２次元、３次元の係数の平均（加重平均でもよい）を求めて、この平均値を用いて補間するようにしてもよい。このようにすれば、補間が与える影響が突発的な次元に限定され、異なる状態のＬＳＰ係数を使っても大きな影響なく、むしろ良い場合もある。
【０１０１】
（実施形態３）
実施形態１では、同一音素ＨＭＭの同一状態から生成されたＬＳＰ係数のみを用いて突発的ＬＳＰ係数を補正した。一方、同一音素ＨＭＭの別の状態から出力されたＬＳＰ係数を用いて補正しても、十分に高品質のテキスト音声の合成が実現できる場合もある。
【０１０２】
本実施形態によれば、状況に応じてより柔軟な補正方法を採ることもできる。
【０１０３】
また、図４に示すフローチャートにおける、ｆｍＮＧの位置判定（ステップＳ２５、ステップＳ２７）を省略することも考えられる。これにより、より簡便なＬＳＰ係数補正を実現することができる。
【０１０４】
なお、この発明は、上記実施の形態に限定されず、種々の変形及び応用が可能である。
【０１０５】
例えば、ハードウエア構成やブロック構成、フローチャートは例示であって、限定されるものでもない。状態情報やフレーム識別情報も付さずに、ＬＳＰを解析することにより、状態やフレームの位置を判別してもよい。
【０１０６】
場合分けと対応する処理の組み合わせも、発明の趣旨の範囲内で任意である。
【０１０７】
さらに、この発明は専用の装置及びシステムによらず、一般のコンピュータを用いて実現可能である。即ち、コンピュータに上述の処理を実行するためのコンピュータプログラムを製造・頒布し、或いは、これをコンピュータにインストールすることにより上述の処理を実行させてもよい。
【図面の簡単な説明】
【０１０８】
【図１】実施形態１に係る、スペクトル補正部を備えたテキスト音声合成装置の機能構成図である。
【図２】実施形態１に係るテキスト音声合成装置の物理的な構成を示す図である。
【図３】音素ＨＭＭ列と、各音素ＨＭＭに適用された状態数と、ＬＳＰ係数と、フレームの対応関係を示す説明図である。
【図４】スペクトル補正処理の実施形態１における動作の流れを示す図である。
【符号の説明】
【０１０９】
１３・・・テキスト取り込み部、１５・・・音素ラベル列変換部、１９・・・スペクトルパラメータ補正部、２３・・・スピーカー部、２５・・・音声合成辞書、３１・・・テキスト音声合成用のコンピュータ、３３・・・ＣＰＵ、３５・・・ＲＯＭ、３７・・・記憶部、３９・・・ユーザＩ／Ｆ、４１・・・データ入力Ｉ／Ｆ、４３・・・サウンド・ボード、４５・・・スピーカー、４７・・・バス、５１・・・ＲＡＭ、５３・・・ハードディスク、５５・・・キーボード、５７・・・モニタ、８１・・・実施形態１に係るテキスト音声合成装置、８３・・・時系列データ生成部、８５・・・励起音源生成部、８７・・・合成フィルタ
【図１】
0004816201.tif 000002
【図２】
0004816201.tif 000003
【図３】
0004816201.tif 000004
【図４】
0004816201.tif 000005