(57)【要約】【課題】複数の合成音声を同期化して出力することのできるコーパスベースの音声合成装置を得る。【解決手段】韻律推定部２０は、同一の入力テキストに対して、複数の異なる話者もしくは口調またはその双方に対応した特徴データを用いてそれぞれの音声の韻律を推定し、推定した各韻律のうち、音声の長さに関する推定結果と、それ以外の要素に関する推定結果とを切り分け、音声の長さに関する推定結果を各推定結果同士で交換して、音声の長さに関する推定結果と、それ以外の要素に関する推定結果との複数の組み合わせを作成し、素片選択部３０は、組み合わせ毎に好適な音声素片を選択し、判定部１００は、組み合わせ毎に音声素片の品質を評価して、最も評価の高い組み合わせに対応した音声の長さを素片選択部に出力し、素片選択部３０は、その音声の長さを用いて好適な音声素片を選択して音声合成を行う。【選択図】図１
2009025328.tif 000002
【特許請求の範囲】
【請求項１】
複数の合成音声を同期化して出力するコーパスベースの音声合成装置であって、
合成する音声の入力テキストを受け取って解析するテキスト処理部と、
音声の韻律の特徴データを格納した話者ＤＢと、
前記テキスト処理部の解析結果と前記話者ＤＢに格納されている特徴データとから音声の韻律を推定する韻律推定部と、
音声素片を格納した音声ＤＢと、
前記韻律推定部の推定結果に基づき前記音声ＤＢより好適な音声素片を選択する素片選択部と、
前記素片選択部が選択した音声素片の品質を所定のコスト関数で評価する判定部と、
を備え、
前記韻律推定部は、
同一の入力テキストに対して、複数の異なる話者もしくは口調またはその双方に対応した前記特徴データを用いてそれぞれの音声の韻律を推定し、
推定した各韻律のうち、音声の長さに関する推定結果と、それ以外の要素に関する推定結果とを切り分け、
音声の長さに関する推定結果を各推定結果同士で交換して、音声の長さに関する推定結果と、それ以外の要素に関する推定結果との複数の組み合わせを作成し、
前記素片選択部は、前記組み合わせ毎に好適な音声素片を選択し、
前記判定部は、
前記組み合わせ毎に音声素片の品質を評価して、最も評価の高い前記組み合わせに対応した音声の長さを前記素片選択部に出力し、
前記素片選択部は、
その音声の長さを用いて好適な音声素片を選択して音声合成を行う
ことを特徴とする音声合成装置。
【請求項２】
前記判定部は、
前記組み合わせ毎に音声素片の品質を評価し、各評価値のうち音声の長さが同一のものをそれぞれ合算して第２の組み合わせを作成し、
前記第２の組み合わせのうち評価値の合算値が最も小さいものの音声の長さを前記素片選択部に出力し、
前記素片選択部は、
その音声の長さを用いて好適な音声素片を選択して音声合成を行う
ことを特徴とする請求項１に記載の音声合成装置。
【請求項３】
前記素片選択部は、
前記判定部が前記第２の組み合わせ毎に音声素片の品質を評価して得られた前記音声の長さを用いて好適な音声素片を選択する際には、
その音声の長さと、選択した音声素片の長さとが一致するように、伸縮処理を行う
ことを特徴とする請求項２に記載の音声合成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コーパスベースの音声合成装置に関するものであり、特に、複数の合成音声を同期化して出力するものに関する。
【背景技術】
【０００２】
従来、『簡単な処理で同一テキストを複数の話者に同時に発声させる。』ことを目的とした技術として、『複数音声指示器１７は、複数音声合成器１６に対して、ピッチの変形率と混合率とを指示する。複数音声合成器１６は、音声素片データベース１５から読み出された音声素片データと音声素片選択器１４からの韻律情報とに基づいて波形重畳によって標準音声信号を生成する。さらに、上記韻律情報と複数音声指示器１７からの指示情報とに基づいて、上記標準音声信号の時間軸を伸縮して声の高さを変える。そして、上記標準音声信号と伸縮音声信号とを混合して出力端子１８から出力する。したがって、テキスト解析や韻律生成の処理を時分割で並行して行ったり、ピッチ変換処理を後処理として加えることなく、同一のテキストに基づく複数話者による同時発声を実現できる。』というものが提案されている（特許文献１）。
【０００３】
【特許文献１】特開２００２−２０２７８９号公報（要約）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記特許文献１に記載の技術では、同一テキストを複数の話者に同時に発声させることが可能である一方で、音声素片データベース１５を用いずに韻律生成器を構築しているため、コーパスベースの音声合成には適さないという課題がある。
即ち、コーパスベース音声合成では、音声素片データベースに対応した韻律生成器を用いないと、合成音声の品質が悪くなってしまうところ、上記特許文献１に記載の技術ではその課題が解決されない。
【０００５】
また、従来のコーパスベース音声合成では、複数の合成音声を同期化して出力するといった処理はそもそも考慮されていない。
【０００６】
そのため、複数の合成音声を同期化して出力することのできるコーパスベースの音声合成装置が望まれていた。
【課題を解決するための手段】
【０００７】
本発明に係る音声合成装置は、複数の合成音声を同期化して出力するコーパスベースの音声合成装置であって、合成する音声の入力テキストを受け取って解析するテキスト処理部と、音声の韻律の特徴データを格納した話者ＤＢと、前記テキスト処理部の解析結果と前記話者ＤＢに格納されている特徴データとから音声の韻律を推定する韻律推定部と、音声素片を格納した音声ＤＢと、前記韻律推定部の推定結果に基づき前記音声ＤＢより好適な音声素片を選択する素片選択部と、前記素片選択部が選択した音声素片の品質を所定のコスト関数で評価する判定部と、を備え、前記韻律推定部は、同一の入力テキストに対して、複数の異なる話者もしくは口調またはその双方に対応した前記特徴データを用いてそれぞれの音声の韻律を推定し、推定した各韻律のうち、音声の長さに関する推定結果と、それ以外の要素に関する推定結果とを切り分け、音声の長さに関する推定結果を各推定結果同士で交換して、音声の長さに関する推定結果と、それ以外の要素に関する推定結果との複数の組み合わせを作成し、前記素片選択部は、前記組み合わせ毎に好適な音声素片を選択し、前記判定部は、前記組み合わせ毎に音声素片の品質を評価して、最も評価の高い前記組み合わせに対応した音声の長さを前記素片選択部に出力し、前記素片選択部は、その音声の長さを用いて好適な音声素片を選択して音声合成を行うものである。
【発明の効果】
【０００８】
本発明に係る音声合成装置によれば、話者や口調が異なる音声を用いて構築された音声素片データベースを持つコーパスベースの音声合成において、テンポのずれがなく同期化された合成音声の発声を行うことができる。
【発明を実施するための最良の形態】
【０００９】
実施の形態１．
図１は、本発明の実施の形態１に係る音声合成装置の機能ブロック図である。
図１において、左半分の構成と右半分の構成は、それぞれ同様の構成を有し、それぞれ符号「ａ」「ｂ」を付して区別する。
ただし、話者データベース（以下、話者ＤＢと称す）６０ａ、６０ｂと、音声データベース（以下、音声ＤＢと称す）５０ａ、５０ｂは、それぞれ異なるデータを格納しており、したがって左半分の構成と右半分の構成は、同一の入力テキストを受け取っても、異なる話者や口調の合成音声を出力するように構成されているものとする。
【００１０】
テキスト処理部１０ａ、１０ｂは、それぞれ同一の入力テキストを受け取り、形態素解析、係り受け解析を行い、音素記号とアクセント記号に変換して出力する。
話者ＤＢ６０ａ、６０ｂは、音素持続時間（音の長さ）、基本周波数（音の高さＦ０）、母音中心のパワー（音の大きさ）等の、音声の韻律に関する特徴量を、統計的にモデル化して格納しているデータベースである。
韻律推定部２０ａ、２０ｂは、テキスト処理部１０ａ、１０ｂが出力した、音素記号列、アクセント記号、および形態素解析結果から得られる入力テキストの品詞情報から、話者ＤＢ６０ａ、６０ｂを用いて、入力テキストに対応した上記各特徴量を推定する。
【００１１】
テンポ判定部１００は、後述の図７で説明する構成を備え、図１の左半分の構成と右半分の構成とで合成した音声のコスト判定を行い、いずれの側の音の長さを用いて合成音声の同期化を行うかを判定する。
同期化判定の詳細については、後述の図２〜図６で説明する。
【００１２】
音声ＤＢ５０ａ、５０ｂは、音声素片を格納しているデータベースである。
素片選択部３０ａ、３０ｂは、音声ＤＢ５０ａ、５０ｂより、韻律推定部２０ａ、２０ｂが推定した音素持続時間、基本周波数、母音中心のパワー等に最も近く、かつ、音声素片を接続したときの歪みが最も小さくなる音声素片を、動的計画法などの手法により選択する。
素片接続部４０ａ、４０ｂは、素片選択部３０ａ、３０ｂが選択した音声素片を波形接続して合成音声を生成し、出力する。素片接続部４０ａと４０ｂが出力する合成音声は、同期化されている。
【００１３】
図１の構成の下で合成音声の同期化を行う場合、左半分の話者ＤＢ６０ａに対応したテンポで同期化を行うか、あるいは右半分の話者ＤＢ６０ｂに対応したテンポで同期化を行うか、を決定しなければならない。
いずれのテンポで同期化を行うかを定めた後は、適宜伸縮処理等を行って同期化を行うことができるが、いずれのテンポに合わせるかによって合成音声の品質が左右される。即ち、同期化を行いつつ、同期化されたそれぞれの合成音声の品質が優れていることが望ましい。
【００１４】
そこで、本発明では、単にいずれかのテンポに合わせて単純に同期化を行うのみならず、いずれのテンポに合わせるかを定めるに際して、同期化後の合成音声の品質を、評価指標に用いることとする。
以下、図２〜図６を用いて、本実施の形態１に係る音声合成装置の動作を説明する。
【００１５】
図２は、韻律推定部２０ａ、２０ｂが１回目の韻律推定を行うまでの過程を示すものである。以下、各ステップについて説明する。
【００１６】
（１）テキスト処理
テキスト処理部１０ａ、１０ｂは、それぞれ同一の入力テキストを受け取り、形態素解析、係り受け解析を行い、音素記号列とアクセント記号に変換して出力する。また、形態素解析の結果を、同時に出力する。
【００１７】
（２）韻律推定
韻律推定部２０ａ、２０ｂは、テキスト処理部１０ａ、１０ｂが出力した音素記号列、アクセント記号等を受け取り、話者ＤＢ６０ａ、６０ｂを用いて、入力テキストに対応した、音素持続時間（音の長さ）、基本周波数（音の高さＦ０）、母音中心のパワー（音の大きさ）等の、音声の韻律に関する特徴量を推定する。
【００１８】
韻律推定部２０ａによる推定結果を「韻律１」と呼び、韻律１は、「音の長さ（２０ａ）」「音の高さ（２０ａ）」「音の大きさ（２０ａ）」等の特徴量からなるものとする。
韻律推定部２０ｂによる推定結果を「韻律２」と呼び、韻律２は、「音の長さ（２０ｂ）」「音の高さ（２０ｂ）」「音の大きさ（２０ｂ）」等の特徴量からなるものとする。
各推定結果は、それぞれ素片選択部３０ａ、３０ｂに出力される。
【００１９】
図３は、韻律推定部２０ａ、２０ｂが２回目の韻律推定を行うまでの過程を示すものである。以下、各ステップについて説明する。
【００２０】
（３）音の長さの交換
韻律推定部２０ａ、２０ｂは、テンポ判定部１００を介して、ステップ（２）で推定した「音の長さ（２０ａ）」「音の長さ（２０ｂ）」を互いに交換する。
【００２１】
（４）韻律推定
韻律推定部２０ａ、２０ｂは、テキスト処理部１０ａ、１０ｂが出力した音素記号列、アクセント記号等、ステップ（３）で受け取った「音の長さ（２０ｂ）」「音の長さ（２０ａ）」、および話者ＤＢ６０ａ、６０ｂを用いて、入力テキストおよび「音の長さ（２０ｂ）」「音の長さ（２０ａ）」に対応した、基本周波数、母音中心のパワー等の、音声の韻律に関する特徴量を推定する。
【００２２】
韻律推定部２０ａによる２回目の推定結果を「韻律３」と呼び、韻律３は、「音の長さ（２０ｂ）」「音の高さ（２０ａ）」「音の大きさ（２０ａ）」等の特徴量からなるものとする。
韻律推定部２０ｂによる２回目の推定結果を「韻律４」と呼び、韻律４は、「音の長さ（２０ａ）」「音の高さ（２０ｂ）」「音の大きさ（２０ｂ）」等の特徴量からなるものとする。
【００２３】
以上のステップ（１）〜（４）により、音の長さ（即ち合成音声のテンポ）と、それ以外の要素との組み合わせで、４種類の韻律「韻律１」〜「韻律４」が生成された。
以下、これらの韻律のいずれを用いるべきかを判定する過程について説明する。
【００２４】
図４は、テンポ判定部１００が最適な韻律を判定するまでの過程を説明するものである。以下、各ステップについて説明する。
【００２５】
（５）素片選択
素片選択部３０ａ、３０ｂは、音声ＤＢ５０ａ、５０ｂより、ステップ（４）で受け取った４種類の推定韻律「韻律１」〜「韻律４」の各音の長さ、高さ、大きさ等に最も近く、かつ、音声素片を接続したときの歪みが最も小さくなる音声素片を、動的計画法などの手法により選択する。
このとき、「韻律１」〜「韻律４」に対応して、４種類の音声素片の組み合わせが作成される。
【００２６】
（６）コスト算出
素片選択部３０ａ、３０ｂは、ステップ（５）で選択した音声素片について、各推定韻律「韻律１」〜「韻律４」毎に、所定のコスト関数を用いて合成音声の自然さを定義したコスト値を求める。
ここでのコスト値とは、観測可能な特徴量（物理量、言語情報）から心理量へのコスト関数によるマッピングを行ったものであり、値が小さいほど、より自然な音声に近くなるように定義する。
「韻律１」〜「韻律４」に対応するそれぞれのコスト値は、テンポ判定部１００に出力される。
【００２７】
（７）最適韻律の判定
テンポ判定部１００は、ステップ（６）で受け取った「韻律１」〜「韻律４」に対応するそれぞれのコスト値に基づき、最適な韻律を判定する。判定手法について、次の図５で説明する。
【００２８】
図５は、テンポ判定部１００が最適韻律を判定する手法を説明するものである。
テンポ判定部１００は、ステップ（６）で受け取った各コスト値について、「韻律２のコスト値＋韻律３のコスト値」を求めるとともに、「韻律１のコスト値＋韻律４のコスト値」を求める。
【００２９】
「韻律２のコスト値＋韻律３のコスト値」は、「音の長さ（２０ｂ）」を共通項目として、「音の高さ（２０ａ）、音の大きさ（２０ａ）」の発声と、「音の高さ（２０ｂ）、音の大きさ（２０ｂ）」の発声とを、同期化して発声した場合の総コスト値に相当するものである。
「韻律１のコスト値＋韻律４のコスト値」は、「音の長さ（２０ａ）」を共通項目として、「音の高さ（２０ａ）、音の大きさ（２０ａ）」の発声と、「音の高さ（２０ｂ）、音の大きさ（２０ｂ）」の発声とを、同期化して発声した場合の総コスト値に相当するものである。
【００３０】
この２つの総コスト値を比較することにより、総コスト値の小さい方を選択する。総コスト値の小さいほうの音の長さのほうがより自然な合成音で同時発声が可能なものとなる。このようにして、「音の長さ（２０ａ）」「音の長さ（２０ｂ）」のいずれのテンポで同期化して発声を行えば最も自然であるかを判定することができる。
ここでは、仮に「韻律２のコスト値＋韻律３のコスト値」の方が小さかったものとして以下の説明を行う。
【００３１】
図６は、同期化された合成音声を出力するまでの過程を説明するものである。以下、各ステップについて説明する。
【００３２】
（８）最適韻律の出力
テンポ判定部１００は、ステップ（７）で判定した最適な韻律を、それぞれ素片選択部３０ａ、３０ｂに出力する。ここでは、「韻律３」を素片選択部３０ａに、「韻律２」を素片選択部３０ｂに、それぞれ出力する。
【００３３】
（９）素片選択
素片選択部３０ａ、３０ｂは、音声ＤＢ５０ａ、５０ｂより、ステップ（８）で受け取った２種類の推定韻律「韻律２」「韻律３」の各音の長さ、高さ、大きさ等に最も近く、かつ、音声素片を接続したときの歪みが最も小さくなる音声素片を、動的計画法などの手法により選択する。
本ステップでは、音声素片を再選択していることになるが、推定された韻律へのインデックス付与と、選択された音声素片のパスの記憶とを組み合わせることにより、計算量を減らすことができる。
【００３４】
また、本ステップでは、テンポ判定部１００により判定された最終的な音の長さと、選択された音声素片の長さとが一致するように、伸縮処理を行う。
伸縮処理は、例えば、音声素片内の中心部での１ピッチ波形分を抽出し、伸ばす場合は抽出したピッチ波形を追加、縮める場合は抽出したピッチ波形を取り除くことにより実行する。
なお、伸縮処理を行って一致させても完全には一致しないため、ある閾値を設定し、伸縮の限度を定めておくこともできる。
【００３５】
（１０）波形接続
素片接続部４０ａ、４０ｂは、ステップ（９）で素片選択部３０ａ、３０ｂが選択した音声素片を波形接続でつなぎ合わせ、合成音声を出力する。出力される合成音声は、「音の長さ（２０ｂ）」で同期が取れており、同じテンポで同じ入力テキストを発声するように構成されている。
【００３６】
図７は、テンポ判定部１００の機能ブロック図である。
上述のステップ（１）〜（１０）では、テンポ判定部１００の内部構成は説明しなかったが、各ステップに応じてそれぞれの機能部が存在する。
【００３７】
テンポ送信部１０１は、ステップ（３）において、韻律推定部２０ａ、２０ｂから、それぞれが推定した「音の長さ（２０ａ）」「音の長さ（２０ｂ）」を受け取り、もう一方の韻律推定部に送信することで、音の長さの交換を行う。
【００３８】
韻律対応部１０２は、ステップ（２）（４）で、韻律推定部２０ａ、２０ｂが推定した各推定韻律「韻律１」〜「韻律４」を保持する。また、ステップ（８）において、保持している韻律のうち、ステップ（７）で判定した最適な韻律を、それぞれ素片選択部３０ａ、３０ｂに出力する。
【００３９】
コスト判定部１０３は、ステップ（７）において、ステップ（６）で受け取った「韻律１」〜「韻律４」に対応するそれぞれのコスト値に基づき、図５で説明したような手法により、最適な韻律を判定する。
【００４０】
なお、テキスト処理部１０ａ、１０ｂ、韻律推定部２０ａ、２０ｂ、素片選択部３０ａ、３０ｂ、素片接続部４０ａ、４０ｂは、これらの機能を実現する回路デバイス等のハードウェアを用いて構成することもできるし、マイコンやＣＰＵ等の演算装置上で動作するソフトウェアとして構成することもできる。
【００４１】
テキスト処理部１０ａ、１０ｂは、入力テキストを受け取るために必要なインターフェースを適宜備える。
素片接続部４０ａ、４０ｂは、合成音声を出力するために必要なインターフェースを適宜備える。合成音声の形式は、音声データでもよいし、スピーカー等により出力される音声そのものでもよい。
【００４２】
音声ＤＢ５０ａ、５０ｂ、話者ＤＢ６０ａ、６０ｂは、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の記憶装置に、必要な音声素片、特徴量等のデータを格納することにより構成することができる。
【００４３】
以上のように、本実施の形態１によれば、韻律推定部２０ａ、２０ｂがそれぞれ推定した韻律のいずれかを用いて音声合成を行うので、話者や口調が異なる音声を用いて構築された音声素片データベースを持つコーパスベースの音声合成において、テンポのずれがなく同期化された合成音声の発声を行うことができる。
【００４４】
また、いずれの韻律を用いて同期化を行うかを判定するに際し、テンポ判定部１００は「音の長さ（２０ａ）」「音の長さ（２０ｂ）」それぞれの長さについてのコスト値を合算し、いずれの音の長さで同期化発声した方がより自然であるかを判定するので、単に合成音声の同期化を図るというのみならず、より自然に同期化された合成音声を得ることができる。
【００４５】
実施の形態２．
上記実施の形態１で説明した音声合成装置を用いたアプリケーションの例として、以下のようなものが考えられる。
【００４６】
（例１）「いらっしゃいませ」という発声を、男声と女声との２名の話者で同時に発声させる。
（例２）複数名でなるグループの各人の声を合成し、同期化させて発声させる。グループメンバーが同時にあるフレーズを発声したような効果が得られる。
【００４７】
なお、上記実施の形態１〜２において、話者ＤＢや音声ＤＢは２種類用意されており、生成される韻律パターンは２×２＝４種類であったが、これに限られるものではなく、任意の数の組み合わせで同期化発声を行うことができる。
【図面の簡単な説明】
【００４８】
【図１】実施の形態１に係る音声合成装置の機能ブロック図である。
【図２】韻律推定部２０ａ、２０ｂが１回目の韻律推定を行うまでの過程を示すものである。
【図３】韻律推定部２０ａ、２０ｂが２回目の韻律推定を行うまでの過程を示すものである。
【図４】テンポ判定部１００が最適な韻律を判定するまでの過程を説明するものである。
【図５】テンポ判定部１００が最適韻律を判定する手法を説明するものである。
【図６】同期化された合成音声を出力するまでの過程を説明するものである。
【図７】テンポ判定部１００の機能ブロック図である。
【符号の説明】
【００４９】
１０ａ、１０ｂ  テキスト処理部、２０ａ、２０ｂ  韻律推定部、３０ａ、３０ｂ  素片選択部、４０ａ、４０ｂ  素片接続部、５０ａ、５０ｂ  音声ＤＢ、６０ａ、６０ｂ  話者ＤＢ、１００  テンポ判定部、１０１  テンポ送信部、１０２  韻律対応部、１０３  コスト判定部。
【図１】
2009025328.tif 000003
【図２】
2009025328.tif 000004
【図３】
2009025328.tif 000005
【図４】
2009025328.tif 000006
【図５】
2009025328.tif 000007
【図６】
2009025328.tif 000008
【図７】
2009025328.tif 000009