(57)【特許請求の範囲】
【請求項１】
あらかじめ登録された音素片を合成して合成音声を生成する音声合成方法であって、
合成音声の目標パワーに基づいて、有声部分の微細素片に対する第１振幅倍率と無声部分の微細素片に対する第２振幅倍率とを求める倍率獲得工程と、
合成すべき音素片より微細素片を抽出する抽出工程と、
前記抽出工程において抽出された微細素片のうち、有声部分の微細素片に第１振幅変更倍率を乗じ、無声部分の微細素片に第２振幅変更倍率を乗ずる振幅変更工程と、
前記振幅変更工程によって処理された微細素片を用いて合成音声を得る合成工程と
を備えることを特徴とする音声合成方法。
【請求項２】
合成すべき音素片の平均パワーを求める平均パワー獲得工程を更に備え、
前記倍率獲得工程は、前記目標パワーと、前記平均パワー獲得工程によって得られた平均パワーとに基づいて、前記第１振幅倍率と第２振幅倍率を求める
ことを特徴とする請求項１に記載の音声合成方法。
【請求項３】
前記倍率獲得工程は、前記目標パワーと前記平均パワーに基づいて有声部分の振幅倍率と無声部分の振幅倍率とを求め、該有声部分と無声部分のそれぞれの振幅倍率を有声部分と無声部分のそれぞれに設定された上限パワー値でクリッピングすることにより前記第１及び第２振幅倍率を得る
ことを特徴とする請求項１または２に記載の音声合成方法。
【請求項４】
前記倍率獲得工程は、前記目標パワーと前記平均パワーに基づいて有声部分の振幅倍率と無声部分の振幅倍率とを求め、該有声部分と無声部分のそれぞれの振幅倍率を有声部分と無声部分のそれぞれに設定された下限パワー値でクリッピングすることにより前記第１及び第２振幅倍率を得る
ことを特徴とする請求項１乃至３のいずれかに記載の音声合成方法。
【請求項５】
前記合成工程は、前記振幅変更工程によって処理された微細素片に対して、間引き、繰り返し、間隔変更の少なくともいずれかを施して、音素波形を合成する
ことを特徴とする請求項１に記載の音声合成方法。
【請求項６】
あらかじめ登録された音素片を合成して合成音声を生成する音声合成装置であって、
合成音声の目標パワーに基づいて、有声部分の微細素片に対する第１振幅倍率と無声部分の微細素片に対する第２振幅倍率とを求める倍率獲得手段と、
合成すべき音素片より微細素片を抽出する抽出手段と、
前記抽出手段において抽出された微細素片のうち、有声部分の微細素片に第１振幅変更倍率を乗じ、無声部分の微細素片に第２振幅変更倍率を乗ずる振幅変更手段と、
前記振幅変更手段によって処理された微細素片を用いて合成音声を得る合成手段と
を備えることを特徴とする音声合成装置。
【請求項７】
合成すべき音素片の平均パワーを求める平均パワー獲得手段を更に備え、
前記倍率獲得手段は、前記目標パワーと、前記平均パワー獲得手段によって得られた平均パワーとに基づいて、前記第１振幅倍率と第２振幅倍率を求める
ことを特徴とする請求項６に記載の音声合成装置。
【請求項８】
前記倍率獲得手段は、前記目標パワーと前記平均パワーに基づいて有声部分の振幅倍率と無声部分の振幅倍率とを求め、該有声部分と無声部分のそれぞれの振幅倍率を有声部分と無声部分のそれぞれに設定された上限パワー値でクリッピングすることにより前記第１及び第２振幅倍率を得る
ことを特徴とする請求項６または７に記載の音声合成装置。
【請求項９】
前記倍率獲得手段は、前記目標パワーと前記平均パワーに基づいて有声部分の振幅倍率と無声部分の振幅倍率とを求め、該有声部分と無声部分のそれぞれの振幅倍率を有声部分と無声部分のそれぞれに設定された下限パワー値でクリッピングすることにより前記第１及び第２振幅倍率を得る
ことを特徴とする請求項６乃至８のいずれかに記載の音声合成装置。
【請求項１０】
前記合成手段は、前記振幅変更手段によって処理された微細素片に対して、間引き、繰り返し、間隔変更の少なくともいずれかを施して、音素波形を合成する
ことを特徴とする請求項６に記載の音声合成装置。
【請求項１１】
コンピュータに、あらかじめ登録された音素片を合成して合成音声を生成する音声合成処理を行なわせるための制御プログラムを格納した記憶媒体であって、該制御プログラムが、
合成音声の目標パワーに基づいて、有声部分の微細素片に対する第１振幅倍率と無声部分の微細素片に対する第２振幅倍率とを求める倍率獲得工程のコードと、
合成すべき音素片より微細素片を抽出する抽出工程のコードと、
前記抽出工程において抽出された微細素片のうち、有声部分の微細素片に第１振幅変更倍率を乗じ、無声部分の微細素片に第２振幅変更倍率を乗ずる振幅変更工程のコードと、
前記振幅変更工程によって処理された微細素片を用いて合成音声を得る合成工程のコードとを備えることを特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は音声合成方法及び装置に関し、特に、合成音声のパワー制御を行なう音声合成方法及び装置に関する。
【０００２】
【従来の技術】
従来より、所望の合成音声を得るための音声合成方法として、あらかじめ収録し蓄えられた音素片を複数の微細素片に分割し、分割の結果得られた複数の微細素片に対して間隔変更・繰り返し・間引き等の処理を行うことによって所望の時間長・基本周波数を持つ合成音を得る方法がある。
【０００３】
図５は、音声波形を微細素片に分割する方法を模式的に示した図である。図５の（ａ）に示された音声波形は、図５の（ｂ）に示されているような切り出し窓関数によって、図５の（ｃ）に示されるような微細素片に分割される。このとき、有声音の部分（音声波形の後半部）では、原音声のピッチ間隔に同期した切り出し窓関数が用いられる。一方、無声音の部分では、適当な間隔の切り出し窓関数が用いられる。
【０００４】
切り出し窓関数によって得られたこれらの微細素片を間引いて用いることにより、合成音声の継続時間長を短縮することができる。一方、これらの微細素片を繰り返して用いることにより、合成音声の継続時間長を伸長することができる。
【０００５】
また、有声音の部分では、微細素片の間隔を詰めることにより合成音声の基本周波数を上げることが可能となる。一方、微細素片の間隔を広げることにより合成音声の基本周波数を下げることが可能となる。
【０００６】
以上のような繰り返し・間引き・間隔変更の後、微細素片を再び重畳することにより、図５の（ｄ）に示すような所望の合成音声が得られる。
【０００７】
また、合成音声のパワー制御は、一般に次のように行なわれる。すなわち、目標となる音素の平均パワーｐ0が与えられた場合、上記手順によって得られた合成音声の平均パワーｐを求め、上記手順によって得られた合成音声に√（ｐ0／ｐ）を乗ずることにより、所望の平均パワーを持つ合成音声が得られる。なお、パワーは、振幅の２乗値あるいは振幅の２乗値を適当な区間で積分した値として定義される。パワーが大きければ合成音の音量が大きくなり、小さければ音量が小さくなる。
【０００８】
図６は、一般的な合成音声のパワー制御を説明する図である。図６の（ａ）〜（ｄ）に示される音声波形、切り出し窓関数、微細素片、合成波形は、それぞれ図５の（ａ）〜（ｄ）に対応する。図６の（ｅ）では、図６の（ｄ）で示される合成波形に、√（ｐ0／ｐ）を乗することにより得られた、パワー制御された合成音声を示している。
【０００９】
【発明が解決しようとする課題】
しかしながら、上述のパワー制御方式では、無声音と有声音とが同じ倍率で拡大されることになり、無声音において雑音性の異音が顕著になる場合があり、合成音声の品質が劣化するという問題がある。
【００１０】
本発明は上記の問題に鑑みてなされたものであり、合成音声の品質の劣化を低減したパワー制御を実現する音声合成方法及び装置を提供することを目的とする。
【００１１】
【課題を解決するための手段】
上記の目的を達成するための本発明の一態様による音声合成方法はたとえば以下の工程を備える。すなわち、
あらかじめ登録された音素片を合成して合成音声を生成する音声合成方法であって、
合成音声の目標パワーに基づいて、有声部分の微細素片に対する第１振幅倍率と無声部分の微細素片に対する第２振幅倍率とを求める倍率獲得工程と、
合成すべき音素片より微細素片抽出する抽出工程と、
前記抽出工程において抽出された微細素片のうち、有声部分の微細素片に第１振幅変更倍率を乗じ、無声部分の微細素片に第２振幅変更倍率を乗ずる振幅変更工程と、
前記振幅変更工程によって処理された微細素片を用いて合成音声を得る合成工程とを備える。
【００１２】
また、上記の目的を達成するための、本発明の音声合成装置はたとえば以下の構成を備える。すなわち、
あらかじめ登録された音素片を合成して合成音声を生成する音声合成装置であって、
合成音声の目標パワーに基づいて、有声部分の微細素片に対する第１振幅倍率と無声部分の微細素片に対する第２振幅倍率とを求める倍率獲得手段と、
合成すべき音素片より微細素片を抽出する抽出手段と、
前記抽出手段において抽出された微細素片のうち、有声部分の微細素片に第１振幅変更倍率を乗じ、無声部分の微細素片に第２振幅変更倍率を乗ずる振幅変更手段と、
前記振幅変更手段によって処理された微細素片を用いて合成音声を得る合成手段とを備える。
【００１３】
【発明の実施の形態】
以下、添付の図面を参照して、本発明の好適な実施形態を説明する。
【００１４】
［第１の実施形態］
図１は本発明の一実施形態におけるハードウェア構成を示すブロック図である。図１において、Ｈ１は数値演算・制御等の処理を行なう中央処理装置であり、以下で説明する手順に従って演算、処理を行なう。Ｈ２はＲＡＭ・ＲＯＭ等を備えた記憶装置であり、以下で説明する手順や処理に必要な制御プログラムや一時的なデータが格納される。Ｈ３はディスク装置等からなる外部記憶装置であり、合成音の元となる音素片を登録した素片辞書が格納される。
【００１５】
Ｈ４はスピーカ等の出力装置であり、合成された音声が出力される。ただし、本実施形態は他の装置の一部、或いはプログラムの一部として組み込まれることも可能であり、この場合には出力は他の装置・プログラムの入力に接続されるものとなる。Ｈ５はキーボード等の入力装置であり、音声合成の対象となる文章や合成音を制御するためのコマンドなどが入力される。ただし、本発明は他の装置・プログラムの一部として組み込まれることも可能であり、この場合には入力は他の装置・プログラムを通じて間接的に行われることになる。なお、他の装置としては、たとえば、カーナビや留守録電話機、或いは他の家電製品が含まれる。また、キーボード以外の入力としては、たとえば通信回線を通じて配送されてくるテキスト情報等がある。また、スピーカ以外の出力としては、電話回線等への出力や、ＭＤ等の録音装置への録音等が考えられる。また、Ｈ６はバスであり、上述した各構成を接続する。
【００１６】
以上のハードウェア構成を踏まえて本発明の一実施形態による音声合成処理をを説明する。詳細な処理手順を説明する前に、本実施形態の処理概要を図４を参照して説明しておく。図４は本実施形態による音声合成処理におけるパワー制御の概要を説明する図である。本実施形態では、音素パワー目標値に基づいて無声音声部分の微細素片波形に対する振幅倍率ｓと有声音声の微細素片波形に対する振幅倍率ｒを決定し、各微細素片の振幅を変更した後に、微細素片の繰り返し・間引き・間隔変更処理を行なう。そして、微細素片を再び重畳することにより、図４の（ｄ）に示すような、所望のパワーの合成音声を得る。
【００１７】
図２は本発明の一実施形態を示すフローチャートである。以下、本フローチャートに即して説明を行う。
【００１８】
まず、合成対象設定ステップＳ１において合成対象を設定する。本実施形態では、合成対象として音素（名），目標とする音素の平均パワーｐ0，継続時間長ｄ，基本周波数の時系列ｆ(t)を設定する。これらの値は、入力装置Ｈ５を介して直接入力されてもよいし、他のモジュールによって、入力文に対する言語解析結果や統計的な処理を用いて計算されてもよい。
【００１９】
次に、音素片選択ステップＳ２において、合成対象の音素を合成する際のもととなる音素片Ａを素片辞書から選択する。なお、音素片Ａの最も基本となる選択基準は上述の音素名である。また、その他の選択基準として、たとえば、前後に接続される音素片（音素名でもよい）との接続の良さや、合成目標となる時間長・基本周波数・パワーに対する「近さ」等を基準にすることが可能である。次に、音素片パワー計算ステップＳ３において、音素片Ａの平均パワーｐを計算する。平均パワーは振幅の２乗の時間平均として計算される。ただし、音素片の平均パワーを予め計算してディスク等に記憶しておき、合成時にはパワーを計算する代わりに記録されたものを読み出すようにしてもよい。次に、振幅変更倍率計算ステップＳ４において、音素片の振幅を変更する際の、有声音に対する倍率ｒおよび無声音に対する倍率ｓを計算する。なお、振幅変更倍率計算ステップＳ４の過程の詳細については、図３を参照して後述する。
【００２０】
次に、ループカウンタ初期化ステップＳ５においてループカウンタｉを０に初期化する。
【００２１】
次に、微細素片選択ステップＳ６において、音素片Ａを構成する微細素片のうち、ｉ番目の微細素片α（ｉ）を選択する。微細素片α（ｉ）は、図４の（ａ）に示されるような音素片に、図４の（ｂ）で示されるような切り出し窓関数を乗ずることによって得られる。
【００２２】
次に、有声／無声分岐ステップＳ７において、微細素片選択ステップＳ６で選択された微細素片α（ｉ）が有声の素片か無声の素片かを判断し、素の判断結果によって処理を分岐する。ここで、α（ｉ）が有声の時には振幅変更（有声）ステップＳ８に処理を移し、α（ｉ）が無声の場合には振幅変更（無声）ステップＳ９に処理を移す。
【００２３】
振幅変更（有声）ステップＳ８では、振幅変更倍率計算ステップＳ４において求めた振幅変更倍率ｒを用いて、微細素片α（ｉ）の振幅をｒ倍し、ループカウンタ更新ステップＳ１０に進む。一方、振幅変更（無声）ステップＳ９では、振幅変更倍率計算ステップＳ４において求めた振幅変更倍率ｓを用いて、微細素片α（ｉ）の振幅をｓ倍し、ループカウンタ更新ステップＳ１０に進む。
【００２４】
ループカウンタ更新ステップＳ１０では、ループカウンタｉの値に１を加える。次に、終了判定ステップＳ１１において、ループカウンタｉが音素片Ａに含まれる微細素片数に等しいか判定し、等しい場合には合成音生成ステップＳ１２に処理を移し、等しくない場合には微細素片選択ステップＳ６に戻る。
【００２５】
合成音生成ステップＳ１２では、以上のようにしてｒ倍もしくはｓ倍された微細素片について、合成対象設定ステップＳ１において設定された基本周波数ｆ(t)・継続時間長ｄに応じて波形変形や波形接続といった処理を行い、合成音を生成する。
【００２６】
次に、上述した振幅変更倍率計算ステップＳ４の過程の詳細について説明する。図３は、振幅変更倍率計算ステップＳ４の過程を詳細に示したフローチャートである。
【００２７】
まず、振幅変更倍率初期設定ステップＳ１３において、振幅変更倍率ｒおよびｓを√（ｐ0／ｐ）に設定する。次に、ステップＳ１４において、有声音に対する振幅変更倍率ｒが、許容される上限値ｒmaxより大きいか判定する。この判定の結果、ｒ＞ｒmaxの場合にはクリッビング（有声音：上限）ステップＳ１５に進み、ｒ＞ｒmaxでない場合はステップＳ１６に進む。クリッピング（有声音：上限）ステップＳ１５では、有声音に対する振幅変更倍率ｒを上限値ｒmaxに設定し、ステップＳ１８に処理を移す。ステップＳ１６では、有声音に対する振幅変更倍率ｒが許容される下限値ｒminより小さいか判定し、ｒ＜ｒminの場合にはクリッピング（有声音：下限）ステップＳ１７に進み、ｒ＜ｒminでない場合はステップＳ１８に進む。クリッピング（有声音：下限）ステップＳ１７では、有声音に対する振幅変更倍率ｒを下限値ｒminに設定し、ステップＳ１８に処理を移す。
【００２８】
ステップＳ１８において、無声音に対する振幅変更倍率ｓが許容される上限値ｓmaxより大きいか判定し、ｓ＞ｓmaxの場合にはクリッピング（無声音：上限）ステップＳ１９に進み、ｓ＞ｓmaxでない場合はステップＳ２０に進む。クリッピング（無声音：上限）ステップＳ１９では、無声音に対する振幅変更倍率ｓを上限値ｓmaxに設定し、振幅変更倍率計算を終了する。ステップＳ２０では、無声音に対する振幅変更倍率ｓが許容される下限値ｓminより小さいか判定し、ｓ＜ｓminの場合にはクリッビング（無声音：下限）ステップＳ２１に進み、ｓ＜ｓminでない場合は振幅変更倍率計算を終了する。クリッピング（無声音：下限）ステップＳ２１では、無声音に対する振幅変更倍率ｓを下限値ｓminに設定し、振幅変更倍率計算を終了する。
【００２９】
以上説明したように、本実施形態によれば、設定されたパワーに応じた合成音声を得る際に、有声音声、無声音声のそれぞれに適応した振幅変更倍率で微細素片の振幅を変更するので、品質の良好な合成音声を得ることができる。特に、無声音声の振幅倍率を所定の大きさでクリッピングするので、無声音声部分の雑音性の異音が低減される。
なお、音声合成装置では、パワーの目標値自体が、何らかの方法で求められた推定値である場合がる。従って、このような場合の推定エラーによる異常値に対処するために、図３の処理では、常識的な倍率を外れないような上下のクリッピングを行なっている。また、有声、無声の判定は確実に行なえるものではなく、どちらとも言えない場合があるので、有声・無声の判定ミスにも対処できるようにするという意味でも有声音について上限値を設けてある。
【００３０】
なお、上述の実施形態において、パワーの目標値ｐは１音素につき１つの値が設定されるものとした。しかし、音素をＮ個の区間に分割し、各区間に対するパワーの目標値ｐk（１≦ｋ≦Ｎ）を設定することも可能である。この場合、Ｎ個に分割された各区間について、上述の処理を適用すればよい。すなわち、分割された各区間の音声波形を独立した音素とみなして上述の図２、図３の処理を適用すればよい。
【００３１】
また、上記実施形態において、微細素片α（ｉ）を得るための方法として音素片Ａに窓関数を乗ずる方法を示したが、より複雑な信号処理によって微細素片を得ても良い。例えば、音素片Ａを適当な区間でケプストラム分析し、得られたフィルタに対するインパルス応答波形を用いても良い。
【００３２】
なお、本発明は、複数の機器（例えばホストコンピュータ，インタフェイス機器，リーダ，プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置に適用してもよい。
【００３３】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【００３４】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００３５】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００３６】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００３７】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００３８】
【発明の効果】
以上説明したように、本発明によれば、合成音声のパワーを制御する際に、有声音と無声音とで異なる振幅変更倍率を乗ずることが可能となり、無声音で雑音性の異音を生じさせない音声合成が可能となる。
【００３９】
【図面の簡単な説明】
【図１】本発明の一実施形態におけるハードウェア構成を示すブロック図である。
【図２】本発明の一実施形態を示すフローチャートである。
【図３】振幅変更倍率計算ステップＳ４の過程を詳細に示したフローチャートである。
【図４】本実施形態による音声合成処理におけるパワー制御の概要を説明する図である。
【図５】音声波形を微細素片に分割する方法を模式的に示した図である。
【図６】一般的な合成音声のパワー制御を説明する図である。
【図１】
0003912913.tif 000002
【図２】
0003912913.tif 000003
【図３】
0003912913.tif 000004
【図４】
0003912913.tif 000005
【図５】
0003912913.tif 000006
【図６】
0003912913.tif 000007