(57)【要約】【課題】高品質の合成音声を効率的に生成する。【解決手段】複数の音素片データを記憶する音素片記憶部と、入力したテキストの発音を示す各音素に対応する音素片データを音素片記憶部から読み出して接続し、テキストの合成音声を示す音声データを生成する合成部と、テキストの合成音声の不自然さを示す指標値を、音声データに基づいて算出する算出部と、複数の第１表記のそれぞれに対応付けて、当該第１表記の言い換えである第２表記を記憶する換言記憶部と、テキストの中から何れかの第１表記に一致する表記を検索して、検索された当該表記を当該第１表記に対応する第２表記に置換する置換部と、算出した指標値が基準値より小さいことを条件に、生成された音声データを出力し、当該指標値が基準値以上であることを条件に、置換されたテキストについて音声データをさらに生成させるべく当該テキストを合成部に入力する判断部とを備えるシステムを提供する。【選択図】図３
2008185805.tif 000002
【特許請求の範囲】
【請求項１】
合成音声を生成するシステムであって、
各々が互いに異なる音素の音声を示す複数の音素片データを記憶する音素片記憶部と、
テキストを入力し、入力した前記テキストの発音を示す各音素に対応する音素片データを前記音素片記憶部から読み出して接続し、前記テキストの合成音声を示す音声データを生成する合成部と、
前記テキストの合成音声の不自然さを示す指標値を、前記音声データに基づいて算出する算出部と、
複数の第１表記のそれぞれに対応付けて、当該第１表記の言い換えである第２表記を記憶する換言記憶部と、
前記テキストの中から何れかの前記第１表記に一致する表記を検索して、検索された当該表記を当該第１表記に対応する前記第２表記に置換する置換部と、
算出した前記指標値が予め定められた基準値より小さいことを条件に、生成された前記音声データを出力し、当該指標値が前記基準値以上であることを条件に、置換された前記テキストについて音声データをさらに生成させるべく当該テキストを前記合成部に入力する判断部と
を備えるシステム。
【請求項２】
前記算出部は、前記音声データに含まれる第１の音素片データおよび前記第１の音素片データに接続する第２の音素片データの境界における、前記第１の音素片データおよび前記第２の音素片データの間の発音の相違度を前記指標値として算出する
請求項１に記載のシステム。
【請求項３】
前記音素片記憶部は、各々の音素について、音声の基本周波数および音色を示すデータを前記音素片データとして記憶しており、
前記算出部は、前記第１の音素片データおよび前記第２の音素片データの境界における、前記第１の音素片データおよび前記第２の音素片データの間の基本周波数および音色の相違度を、前記指標値として算出する
請求項２に記載のシステム。
【請求項４】
前記合成部は、
複数の語句のそれぞれについて、当該語句の読み方を当該語句の表記に対応付けて記憶する語句記憶部と、
入力した前記テキストに含まれる各々の語句と表記が一致する語句を前記語句記憶部から検索し、検索したそれぞれの語句に対応する読み方を前記語句記憶部から読み出して接続することにより、前記テキストの読み方を生成する語句検索部と、
生成した前記読み方に基づいて定まる各音素の韻律に最も近い音素片データをそれぞれ前記音素片記憶部から検索して読み出し、読み出した複数の前記音素片データを接続することにより前記音声データを生成する音素片検索部と
を有し、
前記算出部は、生成した前記読み方に基づいて定まる各音素の韻律と、当該各音素に対応してそれぞれ検索した音素片データが示す韻律との差分を、前記指標値として算出する
請求項１に記載のシステム。
【請求項５】
前記合成部は、
複数の語句のそれぞれについて、当該語句の読み方を当該語句の表記に対応付けて記憶する語句記憶部と、
入力した前記テキストに含まれる各々の語句と表記が一致する語句を前記語句記憶部から検索し、検索したそれぞれの語句に対応する読み方を前記語句記憶部から読み出して接続することにより、前記テキストの読み方を生成する語句検索部と、
生成した前記読み方に基づいて定まる各音素の音色に最も近い音素片データをそれぞれ前記音素片記憶部から検索して読み出し、読み出した複数の前記音素片データを接続することにより前記音声データを生成する音素片検索部と
を有し、
前記算出部は、生成した前記読み方に基づいて定まる各音素の音色と、当該各音素に対応してそれぞれ検索した音素片データが示す音色との差分を、前記指標値として算出する
請求項１に記載のシステム。
【請求項６】
前記音素片記憶部は、生成する目標とするべき合成音声を示す音声データである目標音声データを予め取得して、当該目標音声データに含まれる複数の音素の音声を示す複数の音素片データを予め生成して記憶しており、
前記換言記憶部は、複数の前記第２表記のそれぞれとして、前記目標音声データの内容を示すテキストに含まれる語句の表記を記憶しており、
前記置換部は、入力した前記テキストのうち第１表記に一致する表記を、前記目標音声データの内容を示す前記テキストに含まれる語句の表記である第２表記に置換する
請求項１に記載のシステム。
【請求項７】
前記置換部は、入力した前記テキストの中の、連続して表記される予め定められた数の語句の組合せのそれぞれについて、当該組合せに対応する合成音声の不自然さを示す指標値を算出し、算出した前記指標値が最も大きい組合せに含まれる語句について、当該語句の表記に一致する前記第１表記を前記換言記憶部から検索して、当該語句の表記を第２表記に置換する
請求項１に記載のシステム。
【請求項８】
前記換言記憶部は、第１表記および前記第１表記の言い換えである第２表記の組のそれぞれに対応付けて、さらに、前記第１表記および前記第２表記の間の意味の近似度を記憶しており、
前記置換部は、入力した前記テキストの中の表記が複数の第１表記のそれぞれに一致したことを条件に、一致した当該表記を、当該複数の第１表記のうち前記近似度の最も高い第１表記に対応する第２表記により置換する
請求項１に記載のシステム。
【請求項９】
前記置換部は、入力した前記テキストのうち、固有名詞または数詞の少なくとも何れか一方を含む文については表記を置換せず、固有名詞および数詞の何れも含まない文について、前記第１表記と一致する表記を検索して、当該第１表記に対応する第２表記に置換する
請求項１に記載のシステム。
【請求項１０】
前記置換部により表記が置換されたことを条件に、表記が置換された前記テキストを利用者に表示する表示部をさらに備え、
前記判断部は、表示した当該テキストに対し置換を承認する入力を受けたことをさらに条件として、表記が置換された当該テキストに基づく音声データを出力し、当該置換を承認しない入力を受けたことを条件に、前記指標値に関わらず置換前の当該テキストに基づく音声データを出力する
請求項１に記載のシステム。
【請求項１１】
合成音声を生成する方法であって、
各々が互いに異なる音素の音声を示す複数の音素片データを記憶することと、
テキストを入力し、入力した前記テキストの発音を示す各音素に対応する音素片データを記憶した音素片データの中から読み出して接続し、前記テキストの合成音声を示す音声データを生成することと、
前記テキストの合成音声の不自然さを示す指標値を、前記音声データに基づいて算出することと、
複数の第１表記のそれぞれに対応付けて、当該第１表記の言い換えである第２表記を記憶することと、
前記テキストの中から何れかの前記第１表記に一致する表記を検索して、検索された当該表記を当該第１表記に対応する前記第２表記に置換することと、
算出した前記指標値が予め定められた基準値より小さいことを条件に、生成された前記音声データを出力し、当該指標値が前記基準値以上であることを条件に、置換された前記テキストについて音声データをさらに生成させるべく当該テキストの合成音声をさらに生成させることと
を備える方法。
【請求項１２】
合成音声を生成するシステムとして、情報処理装置を機能させるプログラムであって、
前記情報処理装置を、
各々が互いに異なる音素の音声を示す複数の音素片データを記憶する音素片記憶部と、
テキストを入力し、入力した前記テキストの発音を示す各音素に対応する音素片データを前記音素片記憶部から読み出して接続し、前記テキストの合成音声を示す音声データを生成する合成部と、
前記テキストの合成音声の不自然さを示す指標値を、前記音声データに基づいて算出する算出部と、
複数の第１表記のそれぞれに対応付けて、当該第１表記の言い換えである第２表記を記憶する換言記憶部と、
前記テキストの中から何れかの前記第１表記に一致する表記を検索して、検索された当該表記を当該第１表記に対応する前記第２表記に置換する置換部と、
算出した前記指標値が予め定められた基準値より小さいことを条件に、生成された前記音声データを出力し、当該指標値が前記基準値以上であることを条件に、置換された前記テキストについて音声データをさらに生成させるべく当該テキストを前記合成部に入力する判断部と
して機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、合成音声を生成する技術に関する。特に、本発明は、複数の音素片を接続して合成音声を生成する技術に関する。
【背景技術】
【０００２】
聞き手にとって自然な合成音声を生成することを目標として、従来、波形編集合成方式を採用した音声合成技術が用いられている。この方式では、音声合成装置が、人間である話者の音声を予め収録して音声波形データとしてデータベースに保存しておく。そして、その音声合成装置は、入力されたテキストに基づいて複数の音声波形データを読み出して接続することにより、合成音声を生成する。このような合成音声が聞き手にとって自然に聞こえるようにするためには、音声の周波数や音色が連続的に変化することが望ましい。例えば、音声波形データの接続部分で音声の周波数や音色が大きく変化してしまうと、その合成音声は不自然に聞こえてしまう。
【０００３】
【特許文献１】特開２００３−１３１６７９号公報
【非特許文献１】Wael Hamza, Raimo Bakis, and Ellen Eide, "RECONCILING PRONUNCIATION DIFFERENCES BETWEEN THE FRONTEND AND BACK-END IN THE IBM SPEECH SYNTHESIS SYSTEM", Proceedings of ICSLP, Jeju, South Korea, 2004, pp.2561-2564
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、費用や時間の制約や、コンピュータの記憶容量や処理能力の制約のため、予め収録することのできる音声波形データの種類は限られている。このため、適切な音声波形データがデータベースに登録されておらず、代用の音声波形データを用いた結果接続部分で周波数等が大きく変化して、合成音声が不自然になってしまう場合がある。これは、入力されたテキストの表記内容が、音声波形データを生成するために予め収録した音声の内容と大きく異なっている場合に起こり易い。
【０００５】
参考技術文献として特許文献１および非特許文献１を挙げる。特許文献１に記載の音声出力装置は、書き言葉によって構成されたテキストを、話し言葉のテキストに変換したうえで読み上げることで、聞き手がその内容を理解し易くしている。しかしながら、この装置はテキストをその表現を変更するために変換するものであり、その変換は音声波形データの周波数変化などの情報とは無関係に行われる。従って、この変換によっては合成音声の品質を向上させることはできない。非特許文献１の技術は、表記が同一で発音の異なる音素片を予め記憶しておき、それらの中から、合成音声の品質が向上するように適切な音素片を選択するものである。しかしながら、そのような選択を試みてもなお適切な音素片が無ければ合成音声が不自然になってしまう。
【０００６】
そこで本発明は、上記の課題を解決することのできるシステム、方法およびプログラムを提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の第１の形態においては、合成音声を生成するシステムであって、各々が互いに異なる音素の音声を示す複数の音素片データを記憶する音素片記憶部と、テキストを入力し、入力したテキストの発音を示す各音素に対応する音素片データを音素片記憶部から読み出して接続し、テキストの合成音声を示す音声データを生成する合成部と、テキストの合成音声の不自然さを示す指標値を、音声データに基づいて算出する算出部と、複数の第１表記のそれぞれに対応付けて、当該第１表記の言い換えである第２表記を記憶する換言記憶部と、テキストの中から何れかの第１表記に一致する表記を検索して、検索された当該表記を当該第１表記に対応する第２表記に置換する置換部と、算出した指標値が予め定められた基準値より小さいことを条件に、生成された音声データを出力し、当該指標値が基準値以上であることを条件に、置換されたテキストについて音声データをさらに生成させるべく当該テキストを合成部に入力する判断部とを備えるシステムを提供する。また、当該システムにより合成音声を生成する方法、および、当該システムとして情報処理装置を機能させるプログラムを提供する。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【発明を実施するための最良の形態】
【０００８】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【０００９】
図１は、音声合成システム１０およびそれに関連するデータの全体構成を示す。音声合成システム１０は、複数の音素片データを記憶する音素片記憶部２０を有する。これらの音素片データは、生成する目標とするべき合成音声を示す目標音声データから、そのデータを音素毎に分割することによって予め生成されるものである。この目標音声データは、例えばアナウンサーが原稿を読み上げた音声などを録音したものである。そして、音声合成システム１０は、テキストを入力し、入力したこのテキストに対し、形態素解析や韻律モデルの適用などの処理を行って、そのテキストの読み上げ音声として生成するべき各音素の韻律や音色などのデータを生成する。そして、音声合成システム１０は、生成したこれらの周波数などのデータに基づいて、音素片記憶部２０から複数の音素片データを選択して読み出し、読み出したこれらの音素片データを接続する。接続された複数の音素片データは、利用者の承認を条件に、このテキストの合成音声を示す音声データとして出力される。
【００１０】
ここで、音素片記憶部２０に記憶することのできる音素片データの種類は、費用や所要時間、あるいは、音声合成システム１０の計算処理能力などの制約によって制限される。このため、音声合成システム１０が、韻律モデルの適用などの処理の結果、各音素の発音として生成するべき周波数を求めても、その周波数の音素片データが音素片記憶部２０に記憶されていない場合がある。この場合、音声合成システム１０が不適切な音素片データを選択した結果、品質の低い合成音声が生成されてしまうおそれがある。これに対し本実施形態に係る音声合成システム１０は、一旦生成した音声データが充分な品質を有していない場合には、テキストの表記をその意味を変更しない範囲内で変更することで、出力される合成音声の品質を向上することを目的とする。
【００１１】
図２は、音素片記憶部２０のデータ構造の一例を示す。音素片記憶部２０は、各々が互いに異なる音素の音声を示す複数の音素片データを記憶する。具体的には、音素片記憶部２０は、各々の音素について、当該音素の表記と、当該音素の音声波形データと、当該音素の音色データとを記憶している。一例として、音素片記憶部２０は、「あ」という表記を有するある音素について、時間の経過に応じた基本周波数の変化を示す情報を音声波形データとして記憶する。ここで、音素の基本周波数とは、音素を構成する各周波数成分のうち最も音の大きい周波数成分をいう。また、音素片記憶部２０は、同じ「あ」という表記を有するある音素について、基本周波数を含む複数の周波数成分のそれぞれについて、音声の大きさ又は強さを要素として示したベクトルデータを音色データとして記憶する。図２では説明の都合上、各音素の先頭部分および末尾部分における音色データを例示したが、実際には、音素片記憶部２０は各周波数成分についてその大きさ又は強さの時間変化を示すデータを記憶している。
【００１２】
このように、音素片記憶部２０には各音素の音声波形データが記憶されているので、音声合成システム１０はこれらの音声波形データを接続すれば、複数の音素を有する音声を生成することができる。なお、図２は音素片データの内容の一例を示したものであり、音素片記憶部２０が記憶する音素片データのデータ構造やデータ形式はこの図に記載のものに限定されない。他の例として例えば、音素片記憶部２０は、音素片データとして、音素の録音データ自体を記憶してもよいし、その録音データに対し所定の演算を行ったデータを記憶していてもよい。演算とは例えば離散コサイン変換などであり、これにより、録音データのうちの所望の周波数成分を参照できるので、基本周波数や音色の解析を可能とすることができる。
【００１３】
図３は、音声合成システム１０の機能構成を示す。音声合成システム１０は、音素片記憶部２０と、合成部３１０と、算出部３２０と、判断部３３０と、表示部３３５と、換言記憶部３４０と、置換部３５０と、出力部３７０とを有する。まず、これらの各部材とハードウェア資源との関係を述べる。音素片記憶部２０および換言記憶部３４０は、たとえば、後述のＲＡＭ１０２０およびハードディスクドライブ１０４０などの記憶装置によって実現される。合成部３１０、算出部３２０、判断部３３０および置換部３５０は、インストールされたプログラムの指令によって後述のＣＰＵ１０００の動作により実現される。表示部３３５は、後述のグラフィックコントローラ１０７５および表示装置１０８０の他、利用者からの入力を受け付けるためのポインティングデバイスやキーボードにより実現される。そして、３７０は、スピーカや入出力チップ１０７０により実現される。
【００１４】
音素片記憶部２０は、上述のように、複数の音素片データを記憶している。合成部３１０は、テキストを外部から入力し、入力したこのテキストの発音を示す各音素に対応する音素片データを音素片記憶部２０から読み出して接続する。具体的には、まず、合成部３１０は、このテキストに対し形態素解析を行って、このテキストに含まれる語句の境界、および、各語句の品詞を検出する。そして、合成部３１０は、各語句の読み方について予め記憶しているデータに基づいて、このテキストを読み上げたときに各音素をどのような周波数の音声で、かつ、どのような音色で発音するべきかを求める。そして、合成部３１０は、この周波数および音色に近い音素片データをそれぞれ音素片記憶部２０から読み出して接続し、このテキストの合成音声を示す音声データとして算出部３２０に出力する。
【００１５】
算出部３２０は、このテキストの合成音声の不自然さを示す指標値を、合成部３１０から受け取った音声データに基づいて算出する。この指標値は、例えば、音声データに含まれる第１の音素片データおよびこの第１の音素片データに接続する第２の音素片データの境界における、この第１の音素片データおよびこの第２の音素片データの間の発音の相違度を示すものである。そして発音の相違度とは、音色や基本周波数の相違度である。即ちこの相違度が大きいほど、音声の周波数などが突然に変化するので、合成音声は聞き手にとって不自然に感じられる。
【００１６】
判断部３３０は、算出したこの指標値が予め定められた基準値より小さいか否かを判断する。判断部３３０は、この指標値が基準値以上であることを条件に、テキスト中の表記を置換させて置換したそのテキストについて音声データをさらに生成させるべく、置換部３５０に指示する。一方、判断部３３０は、指標値が基準値より小さいことを条件に、表示部３３５は、この音声データを生成する対象となったテキストを利用者に表示して、このテキストに基づいて合成音声を生成してよいかどうかを利用者に問合せる表示を行う。このテキストは、外部から入力したテキストそのものである場合もあるし、置換部３５０によって何度かの置換処理が行われた結果として生成されたテキストである場合もある。
【００１７】
判断部３３０は、承認する入力を受けたことを条件として、生成されたこの音声データを出力部３７０に出力する。これを受けて、出力部３７０は、音声データに基づいて合成音声を生成し、利用者に出力する。一方、置換部３５０は、指標値が基準値以上の場合に判断部３３０から指示を受けて処理を開始する。換言記憶部３４０は、複数の第１表記のそれぞれに対応付けて、当該第１表記の言い換えである第２表記を記憶している。そして、置換部３５０は、判断部３３０から指示を受けると、まず、前回に音声合成の対象となったテキストを合成部３１０から取得する。次に、置換部３５０は、そのテキストの中から何れかの第１表記に一致する表記を検索する。検索されたことを条件に、置換部３５０は、検索された当該表記を当該第１表記に対応する第２表記に置換する。表記が置換されたテキストは、合成部３１０に入力されて、そのテキストに基づいてさらに音声データが生成される。
【００１８】
図４は、合成部３１０の機能構成を示す。合成部３１０は、語句記憶部４００と、語句検索部４１０と、音素片検索部４２０とを有する。そして、合成部３１０は、ｎ−ｇｒａｍモデルとして知られている手法によりテキストの読み方を生成したうえで、それに基づき音声データを生成する。具体的には、まず、語句記憶部４００は、予め登録された複数の語句のそれぞれについて、当該語句の読み方を当該語句の表記に対応付けて記憶する。表記とは、語句を構成する文字列であり、読み方とは、たとえば発音を示す記号、アクセントを示す記号またはアクセント型などである。語句記憶部４００は、同一の表記について複数の互いに異なる読み方を対応付けて記憶してもよい。そしてその場合、語句記憶部４００は、それぞれの読み方についてその読み方で読まれる確率値をさらに記憶している。
【００１９】
詳細には、語句記憶部４００は、予め定められた数の語句の組合せ（たとえばｂｉ−ｇｒａｍモデルでは２つの語句の組合せ）ごとに、その組合せの語句がそれぞれの読み方の組合せで読まれる確率値を記憶している。たとえば、「僕の」という単一の語句について第１音節にアクセントがある確率値と、第２音節にアクセントがある確率値とを記憶するだけではなく、「僕の」が「近くの」という語句と連続して表記されたときに、この連続する語句の組合せについて、第１音節にアクセントがある確率値、および、第２音節にアクセントがある確率値がそれぞれ記憶される。そしてこれとは別に、「僕の」という単語が「近くの」ではない他の語句と連続して表記されたときに、やはりこの連続する語句の組合せについて、各音節にアクセントがある確率値がそれぞれ記憶される。
【００２０】
ここに記憶される表記、読み方および確率値の情報は、予め録音された目標音声データを音声認識したうえで、語句の組合せ毎に読み方の組合せが出現する頻度をカウントすることによって生成される。即ち、目標音声データ中で高頻度に現れる語句および読み方の組合せについては高い確率値が記憶される。なお、音声合成の精度をさらに高めるべく、音素片記憶部２０は、語句の品詞の情報をさらに記憶していることが望ましい。品詞の情報も、目標音声データを音声認識することによって生成されてもよいし、音声認識されたテキストデータに対し人手によって付与されてもよい。
【００２１】
語句検索部４１０は、入力したテキストに含まれる各々の語句と表記が一致する語句を語句記憶部４００から検索し、検索したそれぞれの語句に対応する読み方を語句記憶部４００から読み出して接続することにより、テキストの読み方を生成する。たとえばｂｉ−ｇｒａｍモデルでは、語句検索部４１０は、入力したテキストを先頭から走査して、連続する２つの語句の組合せごとに、その組合せの語句と一致する語句の組合せを語句記憶部４００から検索する。そして、語句検索部４１０は、検索された語句の組合せに対応する読み方の組合せをそれに対応する確率値と共に語句記憶部４００から読み出す。このようにして、語句検索部４１０は、テキストの先頭から末尾に向かって語句の組合せ毎に複数の確率値を検索してゆく。
【００２２】
たとえば、テキストが語句Ａ、ＢおよびＣをこの順で含む場合、語句ＡおよびＢの組合せについて、読み方として、ａ１およびｂ１の組合せ（確率値ｐ１）、ａ２およびｂ１の組み合わせ（確率値ｐ２）、ａ１およびｂ２の組合せ（確率値ｐ３）、並びに、ａ２およびｂ２の組み合わせ（確率値ｐ４）が検索される。同様に、語句ＢおよびＣの組合せについて、読み方として、ｂ１およびｃ１の組合せ（確率値ｐ５）、ｂ１およびｃ２の組合せ（確率値ｐ６）、ｂ２およびｃ１の組合せ（確率値ｐ７）、ならびに、ｂ２およびｃ２の組合せ（確率値ｐ８）が検索される。そして、語句検索部４１０は、語句の各組合せについての確率値の積が最大となる読み方の組合せを選択して、テキストの読み方として音素片検索部４２０に出力する。この例では、ｐ１×ｐ５、ｐ１×ｐ７、ｐ２×ｐ５、ｐ２×ｐ７、ｐ３×ｐ６、ｐ３×ｐ８、ｐ４×ｐ６、および、ｐ４×ｐ８がそれぞれ算出されて、そのうちの最大値に対応する読み方の組合せが出力される。
【００２３】
次に、音素片検索部４２０は、生成した読み方に基づいて各音素について目標となる韻律および音色を求め、それに最も近い音素片データをそれぞれ音素片記憶部２０から検索して読み出し、読み出した複数の音素片データを接続することにより音声データを生成して、算出部３２０に対し出力する。たとえば、音素片検索部４２０は、生成した読み方において、アクセントが、音節毎にＬＨＨＨＬＬＨのように連続する場合において（Ｌはアクセントが低く、Ｈはアクセントが高いことを示す）、このようなアクセントの高低を滑らかに表現するように、各音素の韻律を算出する。韻律とは、たとえば、基本周波数の変化、音の長さ、および、音量によって表される。基本周波数の算出は、あらかじめアナウンサーが録音した音声データから統計的に学習しておいた基本周波数モデルを用いる。基本周波数モデルによって各音素の基本周波数の目標値が、アクセントの環境、品詞、文の長さなどに応じて求めることができる。ここではアクセントから基本周波数を求める処理の一例を述べたが、発音から音色や継続時間長や音量を求める処理も同様に、予め統計的に学習したルールに基づき求めることができる。このように、アクセントや発音に基づいて各音素の韻律および音色を定める技術については、韻律または音色を予測する技術として従来公知であるから更に詳細な説明を省略する。
【００２４】
図５は、換言記憶部３４０のデータ構造の一例を示す。換言記憶部３４０は、複数の第１表記のそれぞれに対応付けて、その第１表記の言い換えである第２表記を記憶している。さらに、換言記憶部３４０は、第１表記およびそれに対応する第２表記の組のそれぞれに対応付けて、その第１表記およびその第２表記の間の意味の近似度を記憶している。たとえば、換言記憶部３４０は、第１表記「僕の」をその言い換えである第２表記「私の」に対応付けて記憶し、これらの表記の組に対応付けてその近似度「６５％」を更に記憶する。近似度とは、このようにたとえば百分率で表され、表記を換言記憶部３４０に登録した作業者によって入力されたものであってもよいし、この言い換えを用いた置換処理の結果として利用者にその置換が承認された確率に基づき算出されてもよい。
【００２５】
換言記憶部３４０に登録された表記の数が多くなると、互いに等しい複数の第１表記が、互いに異なる複数の第２表記に対応付けて記憶される場合がある。即ち、置換部３５０が、入力したテキストと換言記憶部３４０の第１表記とを比較した結果、そのテキスト中の表記が複数の第１表記のそれぞれに一致する場合がある。この場合、置換部３５０は、テキスト中のその表記を、当該複数の第１表記のうち近似度の最も高い第１表記に対応する第２表記により置換する。このように、表記に対応付けて記憶した近似度は、置換先とするべき表記を選択する指針として用いることができる。
【００２６】
さらに、換言記憶部３４０が記憶する第２表記は、目標音声データの内容を示すテキストに含まれる語句の表記であることが望ましい。目標音声データの内容を示すテキストとは、たとえば、目標音声データがテキストの読み上げ音声を示す場合におけるそのテキストである。また、目標音声データが自由発声に係るものである場合には、その目標音声データを音声認識した結果を示すテキストであってもよいし、その目標音声データの内容を人手でテキストに記録したものであってもよい。これにより、置換先の語句表記は目標音声データにおいて用いられたものとなり、置換後のテキストについて出力される合成音声をより一層自然なものとすることができる。
【００２７】
更にこれに加えて、置換部３５０は、テキスト中の第１表記に対応する複数の第２表記が検索される場合に、そのそれぞれについて、当該第２表記により置換したテキストと、目標音声データの内容を示すテキストとの間の距離を計算してもよい。距離とは、テキストの表現の傾向や内容の傾向が近いかどうかを示す指標値として知られている概念で、既存の手法により算出することができる。そしてこの場合、置換部３５０は、当該距離が最も短いテキストを置換後のテキストとして選択する。このような手法によっても、置換後のテキストに基づく音声をできるだけ目標音声に近づけることができる。
【００２８】
図６は、語句記憶部４００のデータ構造の一例を示す。語句記憶部４００は、語句データ６００と、発音データ６１０と、アクセントデータ６２０と、品詞データ６３０とを相互に対応付けて記憶している。語句データ６００は、複数の語句のそれぞれについてその語句の表記を示している。図６の例で語句データ６００は、「大阪」、「府」、「在住」、「の」、「方」、「に」、「限」、「り」、「ま」および「す」のそれぞれを語句の表記として含む。また、発音データ６１０およびアクセントデータ６２０は、複数の語句のそれぞれについてその語句の読み方を示している。発音データ６１０は読み方のうち発音を示し、アクセントデータ６２０は読み方のうちアクセントを含む。発音は、たとえば、アルファベットなどを用いた表音記号によって表される。アクセントは、高い（Ｈ）または低い（Ｌ）という音声の相対的な高低関係を音素毎に配列したものである。また、アクセントデータ６２０は、音素毎の相対的な高低関係の組合せを番号により識別するアクセント型を含んでよい。また、語句記憶部４００は、品詞データ６３０として示したように、各語句の品詞を記憶してもよい。品詞とは、文法上厳密な意味での品詞ではなく、音声合成や解析に適した拡張的な品詞を含む。たとえば、語句の末尾を構成する末尾詞などを含んでよい。
【００２９】
図６には、これらの各種のデータと対比して、これらのデータに基づき語句検索部４１０により生成される音声波形データを図中央に示した。即ち、語句検索部４１０は、「大阪府在住の方に限ります」というテキストを入力すると、上記ｎ−ｇｒａｍモデルを用いた手法によって、各音素の相対的な高低関係（ＬまたはＨ）、および、各音素の発音（アルファベットを用いた表音記号）を求める。すると、音素片検索部４２０は、各音素の相対的な高低関係を反映しつつも、利用者にとって不自然に聞こえないように滑らかに変化する基本周波数を生成する。このようにして生成された基本周波数の一例を図６中央に示す。基本周波数がこのように変化すれば理想的であるが、周波数の値が全く一致するような音素片データを音素片記憶部２０から検索できない場合もあり、その結果として合成音声が不自然に聞こえてしまう場合もある。これに対し、既に説明してきたように、音声合成システム１０によれば、テキスト自体をその意味を変えない範囲で変更することで、検索可能な音素片データを有効に使用して、合成音声の品質を向上することができる。
【００３０】
図７は、音声合成システム１０によって合成音声が生成される処理の流れを示す。合成部３１０は、テキストを外部から入力し、入力したこのテキストの発音を示す各音素に対応する音素片データを音素片記憶部２０から読み出して接続する（Ｓ７００）。具体的には、まず、合成部３１０は、このテキストに対し形態素解析を行って、このテキストに含まれる語句の境界、および、各語句の品詞を検出する。そして、合成部３１０は、各語句の読み方について語句記憶部４００に予め記憶しているデータに基づいて、このテキストを読み上げたときに各音素をどのような周波数の音声で、かつ、どのような音色で発音するべきかを求める。そして、合成部３１０は、この周波数および音色に近い音素片データをそれぞれ音素片記憶部２０から読み出して接続し、このテキストの合成音声を示す音声データとして算出部３２０に出力する。
【００３１】
算出部３２０は、このテキストの合成音声の不自然さを示す指標値を、合成部３１０から受け取った音声データに基づいて算出する（Ｓ７１０）。その一例を述べる。指標値は、音素片データの接続境界における音声の相違度と、テキストの読み方に基づく各音素の音声、および、音素片検索部４２０により検索された音素片データの間の音声の相違度とに基づき算出される。以下、順に説明する。
【００３２】
（１）接続境界における相違度
算出部３２０は、音声データに含まれる音素片データの接続境界のそれぞれについて、当該接続境界における基本周波数の相違度および音色の相違度を算出する。基本周波数の相違度とは基本周波数の差分値であってもよいし、基本周波数の変化の割合であってもよい。音色の相違度とは、境界前における音色を示すベクトルと、境界後における音色を示すベクトルとの間の距離である。たとえば、境界前における音声波形データを離散コサイン変換して得られるベクトルと、境界後における音声波形データを離散コサイン変換して得られるベクトルとの間の、ケプストラム空間におけるユークリッド距離であってよい。そして、算出部３２０は、各接続境界における相違度を合計する。
【００３３】
但し、算出部３２０は、音素片データの接続境界でｐやｔなどの無声子音が発音される場合には、その接続境界における相違度を０と判断する。これは、無声子音の前後では音色や基本周波数が大きく変化しても、聞き手は違和感を感じにくいからである。同様の理由で、算出部３２０は、音素片データの接続境界に読点が含まれる場合には、その接続境界における相違度を０と判断する。
【００３４】
（２）読み方に基づく音声と、音素片データの音声との相違度
算出部３２０は、音声データに含まれる音素片データのそれぞれについて、その音素片データの韻律、および、その音素の読み方に基づき定められた韻律を比較する。韻律は、基本周波数を示す音声波形データによって定められてもよい。たとえば、算出部３２０は、各音声波形データの周波数の合計又は平均を比較してもよい。そしてその差分値が相違度として算出される。これに代えて、又は、これに加えて、算出部３２０は、各音素片データの音色を示すベクトルデータ、および、各音素の読み方に基づき定められたベクトルデータを比較する。そして、算出部３２０は、音素の先頭又は末尾の音色について、ベクトルデータ間の距離を相違度として算出する。これに加えて、算出部３２０は、音素の発音の長さを用いてもよい。たとえば、語句検索部４１０は、読み方に基づいて各音素の発音の長さとして望ましい値を算出する。これに対し、音素片検索部４２０は、この長さに最も近い長さの発音を示す音素片データを検索する。この場合、算出部３２０は、これらの発音の長さの差分を相違度として算出する。
【００３５】
算出部３２０は、以上のように算出した相違度をそのまま合計して指標値としてもよいし、重み付けして合計して指標値としてもよい。また、算出部３２０は、所定の評価関数に各相違度を入力したうえで、その出力を指標値としてもよい。即ち、この指標値は、接続境界における音声の相違と、読み方に基づく音声と音素片データに基づく音声との相違とを示すものであればよい。
判断部３３０は、このようにして算出した指標値が、予め定められた基準値以上かどうかを判断する（Ｓ７２０）。基準値以上であれば（Ｓ７２０：ＹＥＳ）、置換部３５０は、テキストと換言記憶部３４０とを比較して、テキストの中から何れかの第１表記に一致する表記を検索する（Ｓ７３０）。そして、置換部３５０は、検索された表記を、その第１表記に対応する第２表記により置換する。
【００３６】
置換部３５０は、テキスト中の全ての語句を置換の候補として第１表記と比較してもよいが、その一部を比較の対象としてもよい。好ましくは、置換部３５０は、テキスト中の一部の文については、第１表記が検索されても置換の対象としない。たとえば、置換部３５０は、固有名詞又は数詞の少なくとも何れか一方を含む文については、表記を置換せず、固有名詞および数詞の何れも含まない文について、第１表記と一致する表記を検索する。数詞や固有名詞を含む文は意味の厳密性が要求される場合が多いので、このような文を避けることで意味を大きく変更してしまうことを防ぐことができる。
【００３７】
置換部３５０は、処理を更に効率化するべく、テキストの中で置換の候補となる特定の部分のみを第１表記と比較してもよい。たとえば、置換部３５０は、テキストを先頭から順に順次走査して、そのテキストの中の、連続して表記される予め定められた数の語句の組合せを順次選択してゆく。テキストに語句Ａ、Ｂ、Ｃ、ＤおよびＥが含まれていて、当該予め定められた数が３であれば、置換部３５０は、ＡＢＣ、ＢＣＤおよびＣＤＥをこの順に選択する。そして、置換部３５０は、選択した当該組合せに対応する合成音声の不自然さを示す指標値を算出する。
【００３８】
具体的には、置換部３５０は、語句の組合せ毎に、当該組合せに含まれる音素の各接続境界における音声の相違度を合計する。そして、置換部３５０は、当該組合せに含まれる接続境界の数でその合計値を割り算することにより、接続境界あたりの相違度の平均値を求める。また、置換部３５０は、当該組合せに含まれる各音素における合成音声、および、読み方に基づく音声の相違度を合計して、当該組合せに含まれる音素の数で割り算することにより、音素あたりの相違度の平均値を求める。そして、置換部３５０は、接続境界あたりの相違度の平均値、および、音素あたりの相違度の平均値の合計を指標値として算出する。そして、置換部３５０は、算出した指標値が最も大きい組み合わせに含まれる語句について、当該語句の表記に一致する第１表記を換言記憶部３４０から検索する。たとえば、ＡＢＣ、ＢＣＤおよびＣＤＥのうちＢＣＤの指標値が最も大きければ、置換部３５０はＢＣＤを選択して、ＢＣＤの中から第１表記と一致する語句を検索する。
これにより、最も不自然な箇所の近傍を優先して置換の対象とすることができ、置換処理を全体として効率化できる。
【００３９】
続いて、判断部３３０は、置換されたテキストについて音声データを更に生成させるべく、当該テキストを合成部３１０に入力してＳ７００に処理を戻す。一方、指標値が基準値未満であることを条件に（Ｓ７２０：ＮＯ）、表示部３３５は、表記が置換されたこのテキストを利用者に表示する（Ｓ７４０）。そして、判断部３３０は、表示した当該テキストに対し置換を承認する入力を受けたかどうかを判断する（Ｓ７５０）。置換を承認する入力を受けたことを条件に（Ｓ７５０：ＹＥＳ）、判断部３３０は、表記が置換されたこのテキストに基づく音声データを出力する（Ｓ７７０）。一方、置換を承認しないことを示す入力を受けたことを条件に（Ｓ７５０：ＮＯ）、判断部３３０は、指標値の大きさに関わらず、置換前のテキストに基づく音声データを出力する（Ｓ７６０）。これを受けて出力部３７０は合成音声を出力する。
【００４０】
図８は、音声合成システム１０によって合成音声が生成される過程で順次生成されるテキストの具体例を示す。テキスト１は「僕のそばの窓のデフロスタをつけてくれよ。」というテキストである。このテキストに基づき合成部３１０により音声データを生成しても、合成音声は不自然であり、指標値も基準値（たとえば０．５５）より高い。「デフロスタ」を「デフロスター」に置換することにより、テキスト２が生成される。テキスト２でもなお指標値が基準値より高いので、「そば」が「近く」に置換されてテキスト３が生成される。以降同様に、「僕の」が「私の」に置換され、「くれよ」が「ちょうだい」に置換され、「ちょうだい」が「ください」に置換されて、テキスト６が生成される。最後の置換のように、一旦置換された語句が再度置換されてもよい。
【００４１】
テキスト６でもなお指標値が基準値より高いので、「窓の」が「窓の、」に置換される。このように、置換元又は置換先（即ち上記の第１表記又は第２表記）は読点を含んでもよい。また、「デフロスター」は「デフォッガー」に置換される。この結果生成されたテキスト８は、指標値が基準値未満となる。このため、出力部３７０はこのテキスト８に基づく合成音声を出力する。
【００４２】
図９は、音声合成システム１０として機能する情報処理装置５００のハードウェア構成の一例を示す。情報処理装置５００は、ホストコントローラ１０８２により相互に接続されるＣＰＵ１０００、ＲＡＭ１０２０、及びグラフィックコントローラ１０７５を有するＣＰＵ周辺部と、入出力コントローラ１０８４によりホストコントローラ１０８２に接続される通信インターフェイス１０３０、ハードディスクドライブ１０４０、及びＣＤ−ＲＯＭドライブ１０６０を有する入出力部と、入出力コントローラ１０８４に接続されるＲＯＭ１０１０、フレキシブルディスクドライブ１０５０、及び入出力チップ１０７０を有するレガシー入出力部とを備える。
【００４３】
ホストコントローラ１０８２は、ＲＡＭ１０２０と、高い転送レートでＲＡＭ１０２０をアクセスするＣＰＵ１０００及びグラフィックコントローラ１０７５とを接続する。ＣＰＵ１０００は、ＲＯＭ１０１０及びＲＡＭ１０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ１０７５は、ＣＰＵ１０００等がＲＡＭ１０２０内に設けたフレームバッファ上に生成する画像データを取得し、表示装置１０８０上に表示させる。これに代えて、グラフィックコントローラ１０７５は、ＣＰＵ１０００等が生成する画像データを格納するフレームバッファを、内部に含んでもよい。
【００４４】
入出力コントローラ１０８４は、ホストコントローラ１０８２と、比較的高速な入出力装置である通信インターフェイス１０３０、ハードディスクドライブ１０４０、及びＣＤ−ＲＯＭドライブ１０６０を接続する。通信インターフェイス１０３０は、ネットワークを介して外部の装置と通信する。ハードディスクドライブ１０４０は、情報処理装置５００が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ１０６０は、ＣＤ−ＲＯＭ１０９５からプログラム又はデータを読み取り、ＲＡＭ１０２０又はハードディスクドライブ１０４０に提供する。
【００４５】
また、入出力コントローラ１０８４には、ＲＯＭ１０１０と、フレキシブルディスクドライブ１０５０や入出力チップ１０７０等の比較的低速な入出力装置とが接続される。ＲＯＭ１０１０は、情報処理装置５００の起動時にＣＰＵ１０００が実行するブートプログラムや、情報処理装置５００のハードウェアに依存するプログラム等を格納する。フレキシブルディスクドライブ１０５０は、フレキシブルディスク１０９０からプログラム又はデータを読み取り、入出力チップ１０７０を介してＲＡＭ１０２０またはハードディスクドライブ１０４０に提供する。入出力チップ１０７０は、フレキシブルディスク１０９０や、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。
【００４６】
情報処理装置５００に提供されるプログラムは、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、入出力チップ１０７０及び/又は入出力コントローラ１０８４を介して、記録媒体から読み出され情報処理装置５００にインストールされて実行される。プログラムが情報処理装置５００等に働きかけて行わせる動作は、図１から図８において説明した音声合成システム１０における動作と同一であるから、説明を省略する。
【００４７】
以上に示したプログラムは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５の他に、ＤＶＤやＰＤ等の光学記録媒体、ＭＤ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムを情報処理装置５００に提供してもよい。
【００４８】
このように、本実施形態に係る音声合成システム１０によれば、意味を大きく変えない範囲内でテキスト中の表記を順次変更してゆくことで、音素片の結合がより自然になるテキスト表記を探し出し、合成音声の品質を高めることができる。これにより、音素の結合や周波数の変更といった音響処理によっては品質に限界がある場合であっても、更に高品質な音声を生成することができる。音質は、音素の接続境界における音声の相違度などを用いることで、精度良く評価される。これにより、置換するべきか否かの判断や、置換するべき箇所の判断を正確に行うことができる。
【００４９】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることのできることが当業者にとって明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【図面の簡単な説明】
【００５０】
【図１】図１は、音声合成システム１０およびそれに関連するデータの全体構成を示す。
【図２】図２は、音素片記憶部２０のデータ構造の一例を示す。
【図３】図３は、音声合成システム１０の機能構成を示す。
【図４】図４は、合成部３１０の機能構成を示す。
【図５】図５は、換言記憶部３４０のデータ構造の一例を示す。
【図６】図６は、語句記憶部４００のデータ構造の一例を示す。
【図７】図７は、音声合成システム１０によって合成音声が生成される処理の流れを示す。
【図８】図８は、音声合成システム１０によって合成音声が生成される過程で順次生成されるテキストの具体例を示す。
【図９】図９は、音声合成システム１０として機能する情報処理装置５００のハードウェア構成の一例を示す。
【符号の説明】
【００５１】
１０  音声合成システム
２０  音素片記憶部
３１０  合成部
３２０  算出部
３３０  判断部
３３５  表示部
３４０  換言記憶部
３５０  置換部
３７０  出力部
４００  語句記憶部
４１０  語句検索部
４２０  音素片検索部
５００  情報処理装置
６００  語句データ
６１０  発音データ
６２０  アクセントデータ
６３０  品詞データ
【図１】
2008185805.tif 000003
【図２】
2008185805.tif 000004
【図３】
2008185805.tif 000005
【図４】
2008185805.tif 000006
【図５】
2008185805.tif 000007
【図６】
2008185805.tif 000008
【図７】
2008185805.tif 000009
【図８】
2008185805.tif 000010
【図９】
2008185805.tif 000011