(57)【要約】【課題】  処理能力の異なる端末で同一の音声合成装置を利用可能とする。【解決手段】  音声合成部２内に情報取得部３、制御部４を設ける。制御部４は情報取得部３で取得した端末処理能力、または入力された情報をもとに合成処理で利用する素片DBサイズを制限することにより、処理能力の低い端末上で音声合成処理を行う際に、素片探索における処理量を削減することが可能となる。【選択図】  図１
2008040372.tif 000002
【特許請求の範囲】
【請求項１】
各素片単位ごとに複数の素片データを含む素片データベースと、該素片データベースから最適な素片系列を選択し、選択した素片を接続して合成音声を生成する音声合成手段を有する素片選択型音声合成装置において、
音声合成処理を行う端末の処理能力を取得する情報取得手段と、
前記取得した処理能力をもとに、音声合成処理に使用する素片データベースのサイズを決定する制御手段を有し、
前記音声合成手段は、素片データベースを上記決定したサイズに限定して用いて合成音声を生成することを特徴とする素片選択型音声合成装置。
【請求項２】
各素片単位ごとに複数の素片データを含む素片データベースと、該素片データベースから最適な素片系列を選択し、選択した素片を接続して合成音声を生成する音声合成手段を有する素片選択型音声合成装置において、
音声合成処理に利用する素片データベースのサイズを直接的、あるいは間接的に指定する情報を入力する入力手段と、
前記入力された値をもとに、音声合成処理に使用する素片データベースのサイズを決定する制御手段を有し、
前記音声合成手段は、素片データベースを上記決定したサイズに限定して用いて合成音声を生成することを特徴とする素片選択型音声合成装置。
【請求項３】
前記入力手段に入力する、音声合成処理に利用する素片データベースサイズを間接的に指定する情報は、合成処理に利用するメモリ容量、合成処理を行う処理速度、あるいは合成音声の品質であることを特徴とする請求項２に記載の音声合成装置。
【請求項４】
前記情報取得手段は、音声合成処理を行う端末のCPUの動作周波数、メモリ容量、メモリ転送速度のうち１つ、または複数を端末の処理能力として取得することを特徴とする請求項１に記載の音声合成装置。
【請求項５】
前記制御手段は、前記音声合成手段が用いる各素片単位ごとの素片数を限定することにより、前記音声合成手段が使用する素片データベースのサイズを限定することを特徴とする請求項１または請求項２に記載の音声合成装置。
【請求項６】
前記情報取得手段、前記制御手段、前記音声合成手段が、外部記憶媒体に格納されたプログラムモジュールを、該外部記憶媒体が接続される端末の演算装置において実行することにより実現されることを特徴とする請求項１に記載の音声合成装置。
【請求項７】
前記入力手段、前記制御手段、前記音声合成手段は、外部記憶媒体に格納されたプログラムモジュールを、該外部記憶媒体が接続される端末の演算装置において実行することにより実現されることを特徴とする請求項２に記載の音声合成装置。
【請求項８】
前記外部記憶媒体は、不揮発メモリを用いた記憶媒体であることを特徴とする請求項４乃至請求項５に記載の音声合成装置
【請求項９】
前記情報取得手段は、音声合成装置の起動時に実行されることを特徴とする請求項１に記載の音声合成装置。
【請求項１０】
テキスト入力部と、演算部とを有するコンピュータによって読み取り可能な記憶媒体であって、
各素片単位ごとに複数の素片データを含む素片データベースと、音声合成制御プログラムとを保持し、
該素片データベースから最適な素片系列を選択し、選択した素片を接続して合成音声を生成する素片選択型音声合成を行なうために、
前記音声合成制御プログラムは、前記演算部に、
前記コンピュータの処理能力を取得する第１のステップと、
前記取得した処理能力をもとに、音声合成処理に使用する素片データベースのサイズを決定する第２のステップと、
素片データベースを上記決定したサイズに限定して用いて合成音声を生成する第３のステップとを実行させることを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、大規模素片データベースから最適な素片系列を選択し、選択した素片を接続して合成音声を生成する、素片選択型音声合成技術に関する。
【背景技術】
【０００２】
近年、高品質な合成音声を生成する技術として、大規模な素片データベースから最適な素片(音声波形の断片)を選択し合成を行う、「素片選択型音声合成方式」がある。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上記の素片選択型音声合成方式では、大量の候補素片の中から最適な素片を決定するため、計算量、使用するメモリ容量が大きくなるという欠点がある。このため、素片選択型音声合成方式を比較的処理能力の低い端末で実現する場合、音声合成処理による負荷が高く、システムのパフォーマンスを低下させてしまうという問題が生じる。
【０００４】
この問題を解決するための手段として、特開2001-100775号公報（特許文献１）に記載される技術がある。この技術では、素片データベース内の類似した１対の素片のうち片方を削除することにより素片データベース容量を削減している。
【０００５】
しかし、この方法では端末の処理能力に応じて複数の素片データベースを用意しなければならないため、一つの音声合成装置を、処理能力の異なる複数の端末で利用するような用途に用いることができない。
【０００６】
【特許文献１】特開2001-100775号公報
【課題を解決するための手段】
【０００７】
上記の問題を解決するために、本発明の第１の観点に係る音声合成装置は、音声合成処理を行う端末の処理能力を取得し、上記取得した処理能力をもとに、音声合成処理に利用する素片データベースのサイズを決定し、素片データベースを上記決定したサイズに限定して用いて合成音声を生成することを特徴とするものである。
【０００８】
また本発明の第2の観点に係る音声合成装置は、合成処理に利用するメモリ容量、合成処理を行う処理速度、あるいは合成音声の品質の範囲を表す情報を入力し、上記入力した値をもとに、音声合成処理に利用する素片データベースのサイズを決定し、素片データベースを上記決定したサイズに限定して用いて合成音声を生成することを特徴とするものである。
【発明の効果】
【０００９】
本発明によれば、端末の処理能力に応じて、または入力した値に応じて素片データベースのサイズを限定して利用するため、処理能力の異なる端末であっても、1種類の素片データベースで音声合成装置を利用することが可能となる。
【実施例１】
【００１０】
以下、図面を参照して本発明の一実施例を説明する。図１は同実施例の音声合成装置の概略構成図である。図１に示す音声合成装置は、外部記憶媒体１を有する。外部記憶媒体１には、音声合成部２が格納されている。音声合成部２は、情報取得部３、制御部４、制御情報ファイル５、初期化処理部６、合成処理部７、素片DB８、辞書DB９を有する。
【００１１】
前記外部記憶媒体１は、端末１０に接続されており、音声合成部２の演算処理は端末１０において実行される。
【００１２】
端末１０にはまた、入力装置１１、出力装置１２が接続されている。
【００１３】
次に、図１に示す音声合成装置の全体の動作を図２のフローチャートを参照して説明する。図１の音声合成装置においては、まず情報取得部３において端末処理能力情報取得処理が行われる（図２ステップS２０１）。
【００１４】
前記端末処理能力情報取得処理で取得する情報は、演算を行う端末１０のCPU動作周波数、メモリ容量、メモリ転送速度のうちの１つ、あるいは複数である。
【００１５】
次に、制御部４において、取得した端末処理能力情報をもとに、利用素片DBサイズ制御処理を行う（図２ステップS２０２）。
【００１６】
制御部４は、前記取得した端末処理能力情報と、制御情報ファイル５に格納された情報を参照し、利用素片DBサイズを決定する。制御情報ファイル５の一例を図３に示す。仮に情報取得部３が取得した端末の処理能力情報が、CPU動作周波数とメモリ容量であり、それぞれ0.5[GHz]、512[MB]であったと仮定すると、制御部４は、制御情報ファイル５内の[INI]セクションのテーブル３１を参照し、利用素片DBサイズは０．６となる。決定した利用素片DBサイズは変数Nuseに格納される。
【００１７】
次に、音声合成装置の初期化が終了しているか否かの判定を行う（図２ステップS２０３）。初期化が終了していない場合、初期化処理部６において音声合成装置の初期化処理を行う（図２ステップS２０４）。初期化処理では素片DBからヘッダ情報を端末のメモリに読み込む。素片DBのヘッダ情報の一例を図４(a)に示す。図４(a)の素片ヘッダ情報の１レコード４１は、素変種別を表す素片コード、その素片コードの素片総数、各素片のインデックス情報へのポインタが格納されている。音声合成装置は、この素片ヘッダ情報から、ある素片コードのｉ番目の素片インデックス情報へアクセスすることができる。図４(b)に素片インデックス情報の一例を示す。素片インデックス情報の1レコード４２は、その素片固有の素片ID、波形データの先頭アドレスが格納されている。音声合成装置は、この素片インデックス情報から実際の素片の波形データにアクセスすることができる。
【００１８】
音声合成装置初期化処理が終了したのち、または図２ステップS２０３で音声合成装置が初期化済みであると判定された場合、合成処理部７において、制御情報入力の有無を判定する（図２ステップS２０５）。制御情報が入力された場合、図２ステップS２０２に戻り、制御部４において利用素片DBサイズ制御処理を行う。
【００１９】
制御部４は、入力された制御情報と、制御情報ファイル５に格納された情報を参照し、利用素片DBサイズを決定する。仮に入力された情報が「音質：低」であったと仮定すると、制御部４は、制御情報ファイル５内の[MANUAL]セクションのテーブル３２を参照し、利用素片DBサイズは０．３となる。決定した利用素片DBサイズは変数Nuseに格納される。
【００２０】
Nuseに端末処理能力に応じて利用素片DBサイズ制御処理（図２ステップS２０２）で決定した値が既に格納されている場合、Nuseの値は上書きされる。
【００２１】
制御情報の入力がないとき、音声合成装置は読み上げテキスト入力の有無を判定する（図２ステップS２０６）。読み上げテキストの入力がある場合、図５に示すフローチャートに従って合成処理(A)が行われる（図２ステップS２０７）。
【００２２】
合成処理(A)ではまず、入力テキスト種別の判定を行う（図５ステップS５０１）。入力テキストがかな漢字文字列である場合、合成処理部７は辞書DB９を参照し言語処理を行い、発音記号列を生成する（図５ステップS502）。
【００２３】
発音記号列が生成されると、または入力テキスト種別が発音記号列であった場合、合成処理部７は図6に示すフローチャートに従って最適素片系列決定処理(B)を行う（図５ステップS５０３）。
【００２４】
最適素片系列決定処理(B)ではまず、素片インデックス更新処理（図６ステップS６０１）を行う。素片インデックス更新処理（図６ステップS６０１）では、音声合成装置初期化処理（図２ステップS２０４）で端末のメモリに読み込んだ素片ヘッダ情報の素片総数と、利用素片DBサイズ制御処理（図２ステップS２０２）で決定した利用素片DBサイズから、実際に最適素片系列決定処理(B)（図５ステップS５０４）で素片探索に利用する素片数を決定する。
【００２５】
ここで、最適素片系列選択の具体例を図７を参照しながら説明する。ハジメに図７(a)を用いて、利用素片DBサイズを制限しないときの最適素片系列選択方法を、「なかの」という単語を合成する場合を例に説明する。
【００２６】
素片単位がCVであるとき、「なかの」という単語を合成するためには「ナ」、「カ」、「ノ」の3種類の素片が必要となる。各素片の総数がNナmax個、Nカmax個、Nノmax個であるとき、素片系列の組み合わせ総数CallはNナmax×Nカmax×Nノmax通りとなる。
【００２７】
最適素片選択処理では、このCall通りの組み合わせの中から、素片の音響特徴量などを考慮し、最も音のゆがみが少なく接続することのできる素片系列を決定する。実際にはこの最適素片系列の決定には、処理量削減のために動的計画法などのアルゴリズムが用いられる。
【００２８】
次に、利用素片DBサイズ制御処理（図２ステップS２０２）で決定した利用素片DBサイズをもとに、利用する素片DBサイズを制限して最適素片系列を決定する一例を、図７(b)を用いて説明する。
【００２９】
利用素片DBサイズの制限は、各素片の総数、Nナmax個、Nカmax個、Nノmax個に利用素片DBサイズ制御処理（図２ステップS２０２）で決定した利用素片DBサイズNuseを乗じることにより実現する。つまり、図７(b)のように、探索に利用する素片の数をNナ個、Nカ個、Nノ個とすると、Nナ＝Nナmax×Nuse個、Nカ＝Nカmax×Nuse個、Nノ＝Nノmax×Nuse個とし、素片系列の組み合わせの総数をClimとするとClimをNナ×Nカ×Nノ通りとCallよりも少なくする。
【００３０】
このように、最適素片系列の候補となる組み合わせの総数を削減することにより、最適素片系列探索にかかる処理量を削減することが可能となる。
【００３１】
この際、素片DBサイズ削減による音質劣化を最小限にとどめるため、あらかじめ素片を優先順位の高いものから順に格納しておくことが望ましい。
【００３２】
次に合成処理(A)（図２ステップS２０７）では、波形合成処理を行う（図５ステップS５０４）。波形合成処理では、最適素片系列決定処理(B)（図５ステップS５０３）で決定した最適素片系列をもとに、素片DBから素片の波形データを取り出し、接続することにより合成音声を生成する。
【００３３】
最後に出力処理（図２ステップS２０８）により、生成した合成音声をスピーカなどの出力装置１２から出力する。
【００３４】
以上、説明してきたように、本実施例によれば、音声合成処理を行う端末の処理能力に応じて、最適素片系列を探索する際の素片数を制限することにより、処理能力の低い端末でも付加の少ない音声合成処理を行うことが可能となる。
また、処理能力の異なる端末においても同一の音声合成装置を利用することが可能となる。
【００３５】
以上、本発明の実施例について説明したが、本発明はこれらの実施例に限定されるものではない。例えば、前記実施例では、音声合成部は外部記憶媒体に格納されているとしたが、とくに音声合成部の格納場所を限定するものではない。
【００３６】
例えば端末１０内の記憶装置に格納しても良いし、ネットワークを経由した別記憶媒体上に格納しても良い。
【００３７】
また、音声合成部の格納方法について、前記実施例では音声合成部全体を同一の記憶媒体に格納しているが、とくに格納方法を限定するものではない。例えば素片DBのみを端末の記憶媒体上に格納しても良い。
【００３８】
また、前記実施例では、端末の処理能力情報をCPUの動作周波数とメモリ容量としたが、特にこの2つに限定するものではない。例えばメモリの転送速度を用いても良いし、CPU使用率を用いても良い。
【００３９】
また、前記実施例では、利用素片DBサイズを端末処理能力情報取得処理（図２ステップS２０１）後（自動処理）と、制御情報入力時（手動処理）の2箇所で決定するものとしたが、これに限るものではない。操作者の負担を軽減するために自動処理のみとしても良いし、自動的に音質が制御されてしまうのを避けるために手動処理のみとしても良い。
【００４０】
また、前記実施例では、素片の単位をCVとし、素片データを音声波形として格納しているとしたが、もちろんこれに限定するものではない。CVCや半音節などの単位を用いても良いし、素片データを音声波形ではなく音声波形の特徴量パラメータとして保持していても良い。要するに本発明はその要旨を逸脱しない範囲で種々変形して実施することができる。
【図面の簡単な説明】
【００４１】
【図１】本発明の一実施例に係る音声合成装置の全体概略図。
【図２】同実施例における全体の処理の流れを説明するためのフローチャート。
【図３】同実施例における制御情報ファイル５内の格納情報例を示す図。
【図４】同実施例における素片DB８内のヘッダ情報、インデックス情報を示す図。
【図５】図２のフローチャート中の合成処理(A)の流れを説明するためのフローチャート。
【図６】図５のフローチャート中の最適素片系列決定処理(B)の流れを説明するためのフローチャート。
【図７】同実施例における最適素片系列決定処理(B)の概要を説明するための模式図。
【符号の説明】
【００４２】
１・・・外部記憶媒体、２・・・音声合成部、３・・・情報取得部、４・・・制御部、５・・・制御情報ファイル、６・・・初期化処理部、７・・・合成処理部、８・・・素片DB、９・・・辞書DB、１０・・・端末、１１・・・入力装置、１２・・・出力装置。
【図１】
2008040372.tif 000003
【図２】
2008040372.tif 000004
【図３】
2008040372.tif 000005
【図４】
2008040372.tif 000006
【図５】
2008040372.tif 000007
【図６】
2008040372.tif 000008
【図７】
2008040372.tif 000009