(57)【要約】【課題】音質を劣化させること無く、またメモリを追加すること無く、ＨＤＤアクセス回数を減少させ、音声合成の処理速度を短縮できる音声合成装置を提供する。【解決手段】テキスト入力部１０１、言語処理部１０２、韻律処理部１０３、音声合成部１０４、音声合成部１０４、合成音声出力部１０５とを備え、合成音声部１０４は、予め合成単位に対応する複数の音声素片波形が記憶されている音声素片波形記憶部１０４ａと、音声素片波形記憶部１０４ａに記憶されている音声素片にそれぞれ対応する音声素片情報を記憶する音声素片情報記憶部１０４ｃと、音声素片を接続して合成音声を生成したときに生じる歪を、音声素片情報を参照して算出し、その歪に基づいて合成単位毎に音声素片を選択する音声素片選択部１０４ｂと、音声素片選択部１０４ｂで選択された音声素片の波形を音声素片波形記憶部１０４ａから読み出して、それらの音声素片波形を変形、接続することで合成音声を生成する音声素片接続部１０４ｄとから構成されている。【選択図】      図１
2007310176.tif 000002
【特許請求の範囲】
【請求項１】
入力した音韻系列に対応した音声を合成する音声合成装置において、
音声素片波形を予め格納した音声素片波形記憶手段と、
前記音声素片波形記憶手段に格納された各音声素片波形の格納位置情報を格納する音声素片位置記憶手段と、
前記入力音韻系列に従って、前記入力音韻系列の音声を合成することが可能な音声素片系列を選択する素片選択手段と、
前記音声素片系列に対応する音声素片波形を前記音声素片波形記憶手段から前記格納位置情報を参照して取得するものであって、前記音声素片系列に含まれる複数の音声素片の音声素片波形を含むデータを、前記音声素片波形記憶手段の連続した格納領域から１度に取得する音声素片波形取得手段と、
前記音声素片波形を接続することにより合成音声を生成する素片接続手段と、
を有する
ことを特徴とする音声合成装置。
【請求項２】
前記連続した格納領域のデータの大きさが、所定の大きさより小さい場合に、前記連続した格納領域から１度に取得する
ことを特徴とする請求項１記載の音声合成装置。
【請求項３】
前記連続した格納領域のデータに含まれる音声素片波形の数が、所定の数より小さい場合に、前記連続した格納領域から１度に取得する
ことを特徴とする請求項１記載の音声合成装置。
【請求項４】
前記音声素片系列に含まれる前記複数の音声素片を含む連続した部分音声素片系列の音声素片数が、所定の数より小さい場合に、前記複数の音声素片の音声素片波形を含むデータを前記連続した格納領域から１度に取得する
ことを特徴とする請求項１記載の音声合成装置。
【請求項５】
前記素片接続手段は、前記音声素片系列に含まれる連続する複数の音声素片の音声素片波形が、前記音声素片記憶手段に隣接して格納されている場合に、前記複数の音声素片の音声素片波形を１度に取得する
ことを特徴とする請求項１記載の音声合成装置。
【請求項６】
前記音声素片記憶手段は、同一の音声素片波形を複数個格納し、かつ、前記各音声素片波形を異なる位置に格納している
ことを特徴とする請求項１記載の音声合成装置。
【請求項７】
前記音声素片波形記憶手段に格納されている前記音声素片波形の順序は、
前記順序を決定するための訓練データである入力音韻系列に従って、前記訓練データの入力音韻系列の音声を合成することが可能なように選択された音声素片系列に基づいて決定されている
ことを特徴とする請求項１記載の音声合成装置。
【請求項８】
前記音声素片記憶手段が、ハードディスク、または、ＮＡＮＤ型フラッシュメモリである
ことを特徴とする請求項１記載の音声合成装置。
【請求項９】
入力した音韻系列に対応した音声を合成する音声合成方法において、
音声素片波形を予め格納した音音声素片波形記憶手段に格納された各音声素片波形の格納位置情報を格納し、
前記入力音韻系列に従って、前記入力音韻系列の音声を合成することが可能な音声素片系列を選択し、
前記音声素片系列に対応する音声素片波形を前記音声素片波形記憶手段から前記格納位置情報を参照して取得するものであって、前記音声素片系列に含まれる複数の音声素片の音声素片波形を含むデータを、前記音声素片波形記憶手段の連続した格納領域から１度に取得し、
前記音声素片波形を接続することにより合成音声を生成する
ことを特徴とする音声合成方法。
【請求項１０】
入力した音韻系列に対応した音声をコンピュータによって合成する音声合成プログラムにおいて、
音声素片波形を予め格納した音声素片波形記憶手段に格納された各音声素片波形の格納位置情報を格納する音声素片位置記憶機能と、
前記入力音韻系列に従って、前記入力音韻系列の音声を合成することが可能な音声素片系列を選択する素片選択機能と、
前記音声素片系列に対応する音声素片波形を前記音声素片波形記憶手段から前記格納位置情報を参照して取得するものであって、前記音声素片系列に含まれる複数の音声素片の音声素片波形を含むデータを、前記音声素片波形記憶手段の連続した格納領域から１度に取得する音声素片波形取得機能と、
前記音声素片波形を接続することにより合成音声を生成する素片接続手段と、
を実現する
ことを特徴とする音声合成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声合成装置に係わり、特に、ハードディスク（ＨＤＤ）などの大容量記憶媒体に記憶された大量の音声素片データから、必要な音声素片データを検索して取得し、接続することによって音声を合成する素片選択型の音声合成装置に関する。
【背景技術】
【０００２】
従来から、任意の文章（テキスト）から人工的に音声信号を作り出すテキスト音声合成の技術が提案されている（例えば、特許文献１参照）。このようなテキスト音声合成を実現する音声合成装置は、一般に言語処理部、韻律処理部及び音声合成部の３つの要素によって構成される。
【０００３】
この音声合成装置では、まず言語処理部において、入力されたテキストの形態素解析や構文解析などが行われる。次に、韻律処理部においてアクセントやイントネーションの処理が行われ、音韻系列、基本周波数及び音韻継続時間長などの情報が算出される。そして最後に、音声合成部において、予め合成音声を生成する際の音声の接続単位である合成単位（例えば、音素や音節など）ごとに記憶されている音声素片データと呼ばれる特徴パラメータや音声波形を、韻律処理部で算出された基本周波数や音韻継続時間長などに基づいて接続することで合成音声が生成される。
【０００４】
高品質な音声を合成する方法として、予め大量の音声素片データを記憶しておき、この中から入力されたテキストの韻律や音韻環境に応じて適切な音声素片データを選択して、これを変形して接続することで合成音声を生成する方法が開示されている（例えば、特許文献２参照）。この方法では、音声素片を変形、接続して合成音声を生成した場合の合成音声の音質の劣化の度合いを推定するコスト関数を予め定義しておき、このコスト関数が小さくなるような音声素片を大量の音声素片の中から選択して用いることで高品質な合成音声の生成を実現している。
【０００５】
上記した音声合成方法では、大量の音声素片データを記憶する媒体としてＲＡＭなどの高価な半導体メモリを用いるとコストが高くなるため、ＨＤＤなどの大容量記憶媒体が用いられる場合が多い。しかしながら、ＨＤＤに音声素片データを記憶した場合、データの読み出しにかかる時間が長いため、処理時間が長くなり、リアルタイム処理が難しくなるという問題点がある。
【０００６】
この問題点を解決する方法として、例えば特許文献３には、ＨＤＤ上の音声素片データの一部の複製をメモリ上に配置し、メモリ上の音声素片データが選択されやすくなるような基準で素片選択を行うことによりＨＤＤアクセスを減少させ、処理時間を抑制する方法が開示されている。このような素片選択は、ＨＤＤ上の素片データが選択された場合ペナルティを与えてコスト関数の値が大きくなるようにコスト関数を設計することにより、実現することができる。
【特許文献１】特開平８−２５４９９３号公報（第４頁、図１）
【特許文献２】特開２００１−２８２２７８公報（第３頁、図２）
【特許文献３】特開２００５−２６６０１０公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記した従来技術は、ＨＤＤ上の素片データにペナルティを与えて選ばれにくくし、ＨＤＤアクセス回数を減少させるものであるため、音質の点では最適な素片がＨＤＤ上にあっても、メモリ上の素片を選択する場合があり、ペナルティを与えない場合と比較して音質が劣化するという問題点がある。
【０００８】
また、素片データの一部の複製を記憶するためのメモリが必要になるため、ハードウェアのコストが増加するという問題点がある。
【０００９】
そこで、本発明は、上記問題点に鑑み、音質を劣化させること無く、またメモリを追加すること無く、ＨＤＤアクセス回数を減少させ、音声合成の処理速度を短縮できる音声合成装置及びその方法を提供する。
【課題を解決するための手段】
【００１０】
本発明は、入力した音韻系列に対応した音声を合成する音声合成装置において、音声素片波形を予め格納した音声素片波形記憶手段と、前記音声素片波形記憶手段に格納された各音声素片波形の格納位置情報を格納する音声素片位置記憶手段と、前記入力音韻系列に従って、前記入力音韻系列の音声を合成することが可能な音声素片系列を選択する素片選択手段と、前記音声素片系列に対応する音声素片波形を前記音声素片波形記憶手段から前記格納位置情報を参照して取得するものであって、前記音声素片系列に含まれる複数の音声素片の音声素片波形を含むデータを、前記音声素片波形記憶手段の連続した格納領域から１度に取得する音声素片波形取得手段と、前記音声素片波形を接続することにより合成音声を生成する素片接続手段と、を有することを特徴とする音声合成装置である。
【発明の効果】
【００１１】
本発明によれば、音質を劣化させること無く、またメモリを追加すること無く、ＨＤＤアクセス回数を減少させ、音声合成の処理速度を短縮できる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の一実施形態の音声合成装置について説明する。
【００１３】
（１）音声合成装置の構成
図１に基づいて音声合成装置の構成について説明する。なお、図１は、音声合成装置を示すブロック図である。
【００１４】
音声合成装置は、テキストを入力するテキスト入力部１０１と、テキスト入力部１０１で入力されたテキストの形態素解析及び構文解析を行う言語処理部１０２と、言語処理部１０２で得られる言語解析結果から入力されたテキストの音韻系列及び目標素片環境を取得する韻律処理部１０３と、韻律処理部１０３で得られるテキストの音韻系列及び目標素片環境を用いて、予め記憶されている複数の音声素片から合成単位毎に音声素片を選択し、選択された音声素片を接続して合成音声を生成する音声合成部１０４と、音声合成部１０４で生成された合成音声を出力する合成音声出力部１０５とを備えている。
【００１５】
また、合成音声部１０４は、予め合成単位に対応する複数の音声素片波形が記憶されている音声素片波形記憶部１０４ａと、音声素片波形記憶部１０４ａに記憶されている音声素片にそれぞれ対応する音声素片情報を記憶する音声素片情報記憶部１０４ｃと、音声素片を接続して合成音声を生成したときに生じる歪を、音声素片情報を参照して算出し、その歪に基づいて合成単位毎に音声素片を選択する音声素片選択部１０４ｂと、音声素片選択部１０４ｂで選択された音声素片の波形を音声素片波形記憶部１０４ａから読み出して、それらの音声素片波形を変形、接続することで合成音声を生成する音声素片接続部１０４ｄとから構成されている。
【００１６】
なお、この音声合成装置は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現することが可能である。すなわち、言語処理部１０２、韻律処理部１０３、音声合成部１０４は、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することができる。このとき、音声合成装置は、上記のプログラムをコンピュータ装置に予めインストールすることで実現してもよいし、ＣＤ−ＲＯＭなどの記憶媒体に記憶して、あるいはネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで実現してもよい。また、テキスト入力部１０１は、上記コンピュータ装置に内臓あるいは外付けされたキーボードなどを適宜利用して実現することができる。また、音声素片記憶部１０４ａは、上記のコンピュータ装置に内蔵あるいは外付けされたメモリ、ＨＤＤもしくはＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒなどの記憶媒体などを適宜利用して実現することができる。また、合成音声出力部１０５は、上記コンピュータ装置に内臓あるいは外付けされたスピーカやヘッドホンなどを適宜利用して実現することができる。
【００１７】
（２）音声合成装置の動作
次に、図１及び図２を用いて、音声合成装置の動作について説明する。なお、図２は、音声合成装置の動作を示すフローチャートである。
【００１８】
（２−１）テキスト入力部１０１
まず、合成音声を生成すべきテキストが、テキスト入力部１０１にユーザによって入力される（ステップＳ１０１）。テキストの入力は、例えば、ユーザがキーボードなどを用いてテキストデータを入力することによって行ってもよく、既にテキストデータのファイルを図示しない格納領域に格納しているのであれば、そのファイルをユーザが選択・指定することによって行ってもよい。テキスト入力部１０１で入力されたテキストは、言語処理部１０２に送られる。
【００１９】
（２−２）言語処理部１０２
次に、言語処理部１０２では、テキスト入力部１０１で入力されたテキストの形態素解析及び構文解析が行なわれる（ステップＳ１０２）。言語処理部１０２における形態素解析及び構文解析の結果は、形態素列、各形態素の品詞や読み情報、アクセント位置情報などとして、韻律処理部１０３に送られる。
【００２０】
次に、韻律処理部１０３では、言語処理部１０２におけるテキストの形態素解析及び構文解析の結果に基づいて、テキスト入力部１０１において入力されたテキストの音韻系列及び目標素片環境を取得する（ステップＳ１０３）。
【００２１】
ここで「音韻系列」とは、テキストを音素や音節などの音声の構成単位の並びで表現した系列をいう。なお、本実施形態では、音韻系列は、音素の系列であるとして説明する。図３に、入力されたテキストが「こんにちは」である場合の音韻系列（音素系列）の例を示す。ここでは、「ｋ」「ｏ」「ｘ」などが音素を表している。
【００２２】
また、「目標素片環境」とは、入力されたテキストから得られる目標とする音声素片に関する環境的な属性（素片環境）をいう。ここで素片環境には、例えば、基本周波数、音韻継続時間長、パワーなどの韻律情報のほか、音素名、先行する音素名、後続する音素名、後続する音素に後続する音素名、音声素片境界のケプストラム、ストレスの有無、アクセント核から距離、息継ぎからの時間、発声速度、発声時の感情などが含まれるが、ここでは、目標素片環境は、基本周波数及び音韻継続時間長であるとして説明する。
【００２３】
（２−３）韻律処理部１０３
韻律処理部１０３で得られた音韻系列及び目標素片環境（基本周波数及び音韻継続時間長）は、図４に示すように、音韻系列に含まれる音素毎に、基本周波数及び音韻継続時間長と関連付けられて音声合成部１０４に送られる。なお、無声子音である／ｋ／については基本周波数が存在しないため、図４では基本周波数を「０．０」としている。
【００２４】
（２−４）音声合成部１０４
次に、音声合成部１０４では、まず音声素片選択部１０４ｂにおいて、韻律処理部１０３から送られる音韻系列及び目標素片環境に基づいて、音声素片情報記憶部１０４ｃに記憶された音声素片情報を参照して、合成単位毎に音声素片が選択され、音声素片系列が出力される（ステップＳ１０４）。
【００２５】
なお、「合成単位」とは、合成音声を生成する際の音声の接続単位であり、合成単位としては、例えば、半音素、音素、ダイフォン、トライフォン、音節などを用いることができる。また、合成単位は、これらの半音素、音素、ダイフォン、トライフォン、音節などが混在するものであってもよい。なお、本実施形態では、合成単位は音素であるとして説明する。
【００２６】
図５に合成単位を音素とした場合の合成単位の例を示す。
【００２７】
また、図８に、入力テキストとそれに対応する音韻系列及び選択された音声素片系列の例を示す。同一音素の音声素片が複数個存在するため、音素を表す記号と音素毎の音声素片の番号との組で音声素片名を表している。例えば``ｏ４”の音声素片は、音韻／ｏ／の４番目の音声素片を表している。
【００２８】
次に、音声素片選択部１０４ｂで合成単位毎に求められた音声素片系列は、音声素片接続部１０４ｄに送られる。
【００２９】
音声素片接続部１０４ｄでは、音声素片選択部１０４ｂから送られた音声素片系列に基づき、音声素片情報記憶部１０４ｃに記憶されている素片波形位置情報を参照して、各音声素片の波形を音声素片波形記憶部１０４ａから読み出し、韻律処理部１０３で得られた目標素片環境に基づいて変形、接続して合成音声を生成する（ステップＳ１０５）。
【００３０】
（２−５）合成音声出力部１０５
合成音声出力部１０５では、音声合成部１０４から送られる合成音声を出力する（ステップＳ１０６）。
【００３１】
合成音声の出力は、例えば、スピーカやヘッドホンなどを用いて行えばよい。また、スピーカやヘッドホンなどを用いて音声として出力する代わりに、電子データとして半導体メモリやＨＤＤなどの記憶媒体上にファイルとして出力してもよい。
【００３２】
（３）音声素片情報記憶部１０４ｃと音声素片波形記憶部１０４ａ
音声素片情報記憶部１０４ｃと音声素片波形記憶部１０４ａには、複数の音声素片について、音声素片情報と音声素片波形がそれぞれ対応付けられて記憶されている。
【００３３】
「音声素片情報」は、素片波形位置情報と素片環境情報などから構成される。図６に音声素片情報の例を示す。
【００３４】
「素片波形位置情報」は、音声素片波形記憶部１０４ａに記憶されている当該音声素片の波形データの位置と大きさを示すもので、例えば全ての音声素片の波形データ全体の格納領域の先頭から数えた当該素片波形データ先頭の位置（バイト数）や、当該素片波形データのサイズを素片波形位置情報として素片毎に記憶すればよい。さらに、音声素片波形記憶部１０４ａに記憶されている順番を表す通し番号（素片番号）を記憶するようにしてもよい。
【００３５】
「素片環境情報」としては、音素名、基本周波数、音韻継続時間長及び音声素片境界のケプストラムが音声素片情報記憶部１０４ｃに記憶されているものとする。
【００３６】
音声素片波形記憶部１０４ａに記憶される音声素片波形は、音声波形そのものであってもよく、音声波形をケプストラムなどのスペクトルパラメータに変換したり、μｌａｗ，ＡＤＰＣＭ，ＣＥＬＰなどの手法で圧縮符号化したものであってもよい。なお、本実施形態では、音声素片記憶部１０４ａに記憶される音声素片波形は、音声波形そのものであるとして説明する。図６の音声素片情報に対応する音声素片波形の例を図１０に示す。
【００３７】
このような音声素片波形記憶部１０４ａは、例えば、予め収録された発声データについて、図７に示すように音素単位でラベリングを行い、音素毎に音声波形を切り出して、これを音声素片波形として記憶媒体に記憶することによって得ることができる。また、このとき、その音声素片が属する音素名、基本周波数、音韻継続時間長、音声素片境界のケプストラムも抽出し、各素片波形データのサイズと位置を計算して、音声素片情報記憶部１０４ｃに記憶する。
【００３８】
音声素片情報記憶部１０４ｃや音声素片波形記憶部１０４ａとして用いる記憶媒体には、例えば、ＲＡＭ・ＲＯＭ・フラッシュメモリなどの半導体メモリ、ＨＤＤ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷなどが適用できる。但し、音声素片情報記憶部１０４ｃに記憶するデータ量は比較的小さく、また頻繁にアクセスが必要なため、アクセス速度の速いＲＡＭやＲＯＭなどの半導体メモリが用いることが好ましい。
【００３９】
音声素片波形記憶部１０４ａは、大容量の波形データを記憶する必要があるため、バイト当たりの単価が比較的安価で容量の大きいＨＤＤやＮＡＮＤ型フラッシュメモリなどを用いることが好ましい。なお、本実施形態では、音声素片波形記憶部１０４ａに用いる記憶媒体は、ＨＤＤであるとして、また、音声素片情報記憶部１０４ｃとして用いる記憶媒体は、ＲＡＭであるとして説明する。
【００４０】
（４）音声素片選択部１０４ｂの動作
次に、音声素片選択部１０４ｂの動作について説明する。
【００４１】
まず、音声素片選択部１０４ｂは、韻律処理部１０３から送られる音韻系列を、音声素片を選択する単位となる合成単位で区切る。なお、以下では音韻系列を合成単位で区切ったときの各区分をセグメントと呼ぶ。
【００４２】
次に、音声素片選択部１０４ｂは、音声素片波形記憶部１０４ａに記憶されている音声素片波形を、韻律処理部１０３から送られる音韻系列にしたがって接続して合成される合成音声の歪を、音声素片情報記憶部１０４ｃを参照して算出し、この歪が最小となる音声素片の系列（最適音声素片系列）を探索する。
【００４３】
ここで、音声素片波形記憶部１０４ａに記憶されている音声素片を接続して合成音声を生成した場合の合成音声の歪は、音声素片情報記憶部１０４ｃに記憶された音声素片の素片環境と韻律処理部１０３から送られる目標素片環境（基本周波数及び音韻継続時間長）との違いに基づく歪である目標コストと、接続する音声素片間の素片環境（音声素片境界のケプストラム）の違いに基づく歪である接続コストの重み付け和として求められる。すなわち、目標コストとは、音声素片波形記憶部１０４ａに記憶されている音声素片を入力されたテキストの目標素片環境（基本周波数及び音韻継続時間長）のもとで使用することによって生じる歪であり、接続コストとは、接続する音声素片間の素片環境が不連続であることによって生じる歪である。
【００４４】
本実施形態では、目標コストとしては、韻律処理部１０３から送られる目標素片環境である基本周波数及び音韻継続時間長と、音声素片情報記憶部１０４ｃに記憶されている音声素片の素片環境である基本周波数及び音韻継続時間長との違いに基づく基本周波数コスト及び音韻継続時間長コストを用いる。
【００４５】
また、接続コストとしては、接続する音声素片間における音声素片情報記憶部１０４ｃに記憶されている音声素片境界のケプストラムの違いに基づくスペクトル接続コストを用いる。
【００４６】
（５）コストを求める方法
次に、図９を用いて、基本周波数コスト、音韻継続時間長コスト及びスペクトル接続コストを求める方法について説明する。
【００４７】
図９（ａ）には、「こんにちは」というテキストに対して韻律処理部１０３で得られた音韻系列（音素系列）及び目標素片環境（基本周波数及び音韻継続時間長）を示している。上述したように、本実施形態では、合成単位を音素としているので、セグメント毎に音素及び目標素片環境である基本周波数（ｆＴｉ）及び音韻継続時間長（ｄＴｉ）が定まる。
【００４８】
図９（ｂ）には、図９（ａ）に示す各セグメントに対して、音声素片波形記憶部１０４ａから音声素片ｕｉを選択して用いる場合の音声素片の系列の例を示している。なお、音声素片ｕｉは、セグメントｉの音素を素片環境として持つ音声素片の中から選択する。そして、図９（ｂ）には、音声素片情報記憶部１０４ｃに記憶されている音声素片ｕｉに対する基本周波数ｆｕｉ、音韻継続時間長ｄｕｉ及び素片境界のケプストラムｐｕｉ、ｑｕｉもあわせて表している。なお、素片境界のケプストラムについては、先行する音声素片との境界についてのケプストラムをｐｕｉ、後続する音声素片との境界についてのケプストラムをｑｕｉとしている。
【００４９】
この場合、各セグメントにおける基本周波数コストＣｆ（ｉ，ｕｉ）、音韻継続時間長コストＣｄ（ｉ，ｕｉ）及びスペクトル接続コストＣｓ（ｉ，ｕｉ）は、それぞれ（１）式、（２）式及び（３）式によって求めることができる。
【００５０】
Ｃｆ（ｉ，ｕｉ）＝｛ｌｏｇ（ｆｕｉ）−ｌｏｇ（ｆＴｉ）｝２      （１）
Ｃｄ（ｉ，ｕｉ）＝（ｄｕｉ−ｄＴｉ）２                  （２）
Ｃｓ（ｉ，ｕｉ）＝||ｑｕ（ｉ−１）−ｐｕｉ||                （３）
ここで||ｘ||は、ベクトルｘのノルムを表す。
【００５１】
各セグメントのコストＣＳＧ（ｉ，ｕｉ）は、これらのコストの重み付け和として（４）式によって求めることができる。
【００５２】
ＣＳＧ（ｉ，ｕｉ）
＝ｗｆＣｆ（ｉ，ｕｉ）＋ｗｄＣｄ（ｉ，ｕｉ）＋ｗｓＣｓ（ｉ，ｕｉ）      （４）
ここで、ｗｆ、ｗｄ及びｗｓは予め適切に定められた重み係数である。
【００５３】
したがって、入力されたテキストに対して図９（ｂ）に示すような音声素片｛ｕ１，ｕ２，・・・｝を接続することによって合成音声を生成したときに生じる歪Ｃは、（５）式のように算出することができる。
【数１】
2007310176.tif 000003
【００５４】
ここで、Ｎは入力されたテキストから得られる音韻系列（音素系列）を合成単位で区切ることにより得られるセグメントの数である。
【００５５】
以上が、韻律処理部１０３から送られる音韻系列にしたがって音声素片波形記憶部１０４ａに記憶されている音声素片を接続した場合の合成音声の歪を、音声素片情報記憶部１０４ｃを参照して算出する方法である。そして、上述した（５）式に基づいて、歪Ｃが最小となる音声素片系列（最適音声素片系列）が求められる。なお、最適音声素片系列は、例えば、韻律処理部１０３から送られる音韻系列にしたがって、すべての音声素片の組合せについて歪Ｃを求めることによって探索してもよいが、動的計画法（Ｄｙｎａｍｉｃ  Ｐｒｏｇｒａｍｉｎｇ／ＤＰ）を用いることで効率的に探索することが可能である。
【００５６】
（６）音声素片接続部１０４ｄ
次に、音声素片接続部１０４ｄでは、音声素片選択部１０４ｂから送られた音声素片系列に基づき、音声素片情報記憶部１０４ｃに記憶されている素片波形位置情報を参照して、各音声素片の波形を音声素片波形記憶部１０４ａから読み出し、韻律処理部１０３で得られた目標素片環境に基づいて変形、接続して合成音声を生成する。
【００５７】
（６−１）音声素片接続部１０４ｄの動作
本実施形態で特徴的な音声素片接続部１０４ｄの動作を、図１１を用いて詳細に説明する。
【００５８】
まず、音声素片選択部１０４ｂからＮ個の音声素片の系列ｕｉ，（ｉ＝１，・・・，Ｎ）が入力される（Ｓ３０１）。
【００５９】
次に、対象とする音声素片の位置を表すインデックスｉの値を１に初期化する（Ｓ３０２）。
【００６０】
次に、音声素片ｕｉの音声素片波形がＨＤＤで構成される音声素片波形記憶部１０４ａから既に読み出されているかをチェックする（Ｓ３０３）。既に読み出されていて、音声素片接続部１０４ｄ内に用意されたバッファに音声素片波形がコピーされていれば、音声素片波形の読み出し処理をスキップして、後述する合成音声の生成処理であるＳ３０７に移る。
【００６１】
一方、まだ読み出されていなければ、音声素片系列内の音声素片ｕｉに後続する音声素片の中に、所定の条件を満たす音声素片ｕｋが存在するかどうかをチェックする（Ｓ３０４）。この所定の条件は、音声素片ｕｉ及び音声素片ｕｋの、音声素片系列内での位置関係や、これらの音声素片の音声素片波形のＨＤＤ上での位置関係に関する条件であり、詳細は後述する。
【００６２】
ここで、この条件を満たしていると判断された場合には、音声素片ｕｉ及びｕｋの音声素片波形を含むＨＤＤ上の連続した格納領域を１回のアクセスで、ＨＤＤから読み出してバッファにコピーする（Ｓ３０５）。
【００６３】
一方、この条件を満たさない場合は、音声素片ｕｉの音声素片波形をＨＤＤから読み出してバッファにコピーする（Ｓ３０６）。
【００６４】
次に、バッファにコピーされたｕｉの音声素片波形を用いて合成音声を生成する（Ｓ３０７）。この合成方法については後述する。
【００６５】
次に、当該音声素片が音声素片系列の最後の素片であるかをチェックし（Ｓ３０８）、そうであれば合成音声の波形を出力（Ｓ３１０）して処理を終了し、そうでなければインデックスを１つ増やして（Ｓ３０９）、後続する音声素片から合成音声を生成するため、Ｓ３０３に戻る。
【００６６】
（６−２）Ｓ３０４における条件の判定
ここで、上述したＳ３０４における条件の判定について、図１４を用いて詳細に説明する。
【００６７】
本判定方法では、音声素片ｕｉに後続するW個の音声素片のいずれか１個であるｕｋと、音声素片ｕｉとの組合せの中で、ｕｉとｕｋの音声素片波形を含むＨＤＤ上の連続した領域のデータ量（以下では、Ｄｓ（ｕｉ，ｕｋ）と表す）がバッファサイズ以下となるようなｋが存在するかどうかを判定している。
【００６８】
まず、音声素片系列内で当該音声素片に後続する音声素片のインデックスを表すｉ＋１にインデックスｋを初期化する（Ｓ４０１）。
【００６９】
ここで、ｋがＮより大きいか、もしくはｋがｉ＋Ｗより大きい場合は、条件の判定結果は「Ｎｏ」となり、判定を終了する（Ｓ４０２）。ここでWは正の整数で、任意に設定可能な定数である。
【００７０】
次に、音声素片ｕｉ及びｕｋの音声素片波形を含むＨＤＤ上の連続した領域のデータ量Ｄｓ（ｕｉ，ｕｋ）を計算し、このデータ量が、音声素片波形を読み出してコピーするために用意されたバッファのサイズ以下であるかどうかをチェックする（Ｓ４０３）。Ｄｓ（ｕｉ，ｕｋ）の値は、音声素片情報記憶部１０４ｃを参照して、ｕｉとｕｋ及び、波形番号がこれら２つの音声素片の間にある全ての音声素片の音声素片波形のサイズを合計することで求められる。
【００７１】
Ｄｓ（ｕｉ，ｕｋ）がバッファサイズ以下であれば、条件の判定結果は「Ｙｅｓ」となり、判定を終了する。一方、バッファサイズより大きい場合は、インデックスkを１つ進めてＳ４０２に戻る（Ｓ４０４）。
【００７２】
上述した判定により、結果が「Ｙｅｓ」となる場合には、ｕｉとｕｋの音声素片波形を１回のＨＤＤアクセスで読込んで、バッファにコピーすることが可能である。
【００７３】
上述したＳ４０３では、Ｄｓ（ｕｉ，ｕｋ）とバッファサイズを比較したが、これ以前の処理でバッファに読込まれた音声素片波形が残っている場合には、残っている音声素片波形のサイズをバッファサイズから差し引いたサイズとＤｓ（ｕｉ，ｕｋ）とを比較するようにしても良い。あるいは、バッファに音声素片波形が残っている場合には、無条件に判定結果を「Ｎｏ」とするようにしてもよい。
【００７４】
また、Ｓ４０３において、音声素片ｕｉ及びｕｋの音声素片波形を含むＨＤＤ上の連続した領域に記憶されている音声素片数Ｄｎ（ｕｉ，ｕｋ）を計算し、この値が予め設定した素片数の最大値Ｄｎmax以下であるかどうかをチェックするようにしても良い。音声素片波形のサイズの最大値が既知であれば、音声素片の個数のみで、バッファに読み込み可能かどうかを判定することが可能である。例えば、Ｄｎmax＝２、W＝２とした場合の条件判定は、「音声素片系列内で連続する音声素片ｕｉとｕｉ＋１の音声素片波形が、ＨＤＤ上で隣接して記憶されていること」に相当する。
【００７５】
図１３に、本実施形態における音声素片波形読み出しの例を示す。
【００７６】
この例では、W＝３とし、Ｄｎ（ｕｉ，ｕｋ）が３以下（Ｄｎmax＝３）の条件で判定を行うものとした。音声素片系列には、９個の音声素片が含まれるが、ｏ（４）とｘ（２），ｎ（６）とｃｈ（１），ｉ（２）とｗ（５）は、それぞれ１回のアクセスで読み出すことができるため、全体で６回のＨＤＤアクセスで必要な音声素片波形を全て読み出して音声を合成することが可能である。
【００７７】
（６−３）Ｓ３０７における合成音声の生成方法
ここで、図１２を用いて、Ｓ３０７における合成音声の生成方法について説明する。
【００７８】
まず、図１２（ａ）に示すように、有声音については、音声素片波形からピッチ波形を抽出し、このピッチ波形の基本周波数を韻律処理部１０３で得られた基本周波数となるように変形し、これを韻律処理部１０３で得られた音韻継続時間長にしたがって適切な数だけ重畳する。
【００７９】
なお、音声素片波形からピッチ波形を抽出する方法としては、例えば、基本周期（ピッチ）同期窓を用いる方法や、ケプストラム分析やＰＳＥ分析によって得られたパワースペクトル包絡を逆離散フーリエ変換する方法、閉ループ学習法によって合成音声のレベルで自然音声に対する歪が小さくなるようなピッチ波形を求める方法などを用いることができる。あるいは、予めピッチ波形の抽出を行って、ピッチ波形の系列を音声素片波形として音声素片波形記憶部１０４ａに記憶するようにしてもよい。
【００８０】
一方、無声音は非周期的であるため、ピッチ波形は存在しないので、音声素片波形の音韻継続時間長のみを韻律処理部１０３で得られた音韻継続時間長にしたがって変形する。例えば、無声破裂音や無声破擦音は、音が発せられる前に調音器官を閉じ呼気を止める区間（閉鎖区間）が存在するので、図１２（ｂ）に示すように、閉鎖区間中の適当な区間をコピーして閉鎖区間の伸長を行うことによって、音声素片が適切な音韻継続時間長となるように変形すればよい。また、無声摩擦音については、音声素片を短くする場合には、例えば、音声素片の中心付近の適当な長さの区間の波形を切り落とし、音声素片を長くする場合には、音声素片の中心付近の適当な長さの区間の波形を繰り返すことによって、音声素片が適切な音韻継続時間長となるように変形すればよい。このとき、波形の接続付近で平滑化処理を行えば、波形を切り落としたり、接続したりすることによる合成音声の不連続感を低減させることができる。
【００８１】
そして、このようにして基本周波数や継続時間長が変形された音声素片波形を、先行する音声素片波形から生成された合成音声と接続することで、合成音声が生成される。
【００８２】
このように音声素片接続部１０４ｄで生成された合成音声は、次に、合成音声出力部１０５に送られる。
【００８３】
（７）ＨＤＤ上の音声素片の並び順の最適化
上述した実施形態の音声合成装置では、２つの音声素片波形を１アクセスで読込む「まとめ読み」の頻度が高いほど処理時間短縮の効果が高い。この「まとめ読み」の頻度は、ＨＤＤ上に記憶されている音声素片の並び順の影響を受けることから、この並び順を最適化することにより、処理時間短縮の効果を高めることが可能である。
【００８４】
以下では、ＨＤＤ上の音声素片の並び順を最適化する方法について説明する。
【００８５】
音声合成装置において「まとめ読み」が行われるための条件が、「音声素片系列内で連続する音声素片ｕｉとｕｉ＋１の音声素片波形が、ＨＤＤ上で隣接して記憶されていること」である場合について、ＨＤＤ上の音声素片の並び順の最適化法を説明する。
【００８６】
まず、大量のテキストを訓練データとして用意し、音声合成装置に入力して音声素片の選択までを実行し、音声素片系列を生成して出力しておく。
【００８７】
次に、２つの音声素片の組合せが、生成した音声素片系列内で連続して現れる頻度を求める。ＨＤＤに記憶される音声素片波形の個数をＮａｌｌとし、頻度をH（ｐ，ｑ），（１＝＜ｐ＜ｑ＝＜Ｎａｌｌ）と表すものとする。但し、ｐ，ｑは、全ての音声素片に一意に付与された番号であるとする。また、最適化のプロセスにおいて、各音声素片波形に隣接して配置可能な素片の数をＣ（ｐ），（１＝＜ｐ＝＜Ｎａｌｌ）で表すものとする。全ての音声素片波形の配置が決まっていない初期状態では、全てのｐについてＣ（ｐ）＝２に初期化されているものとし、音声素片波形ｐの前または後ろのいずれかに隣接する音声素片波形が決定した状態ではＣ（ｐ）＝１となり、前後両方が決定した状態ではＣ（ｐ）＝０となるものとする。
【００８８】
（７−１）最適化の詳細
次に、最適化の詳細について図１５を参照して説明する。
【００８９】
まず、全てのＣ（ｐ）を２で初期化する（Ｓ５０１）。
【００９０】
次に、Ｃ（ｐ）＞０かつＣ（ｑ）＞０であるｐ，ｑの中で、頻度H（ｐ，ｑ）が最大となる組合せ（ｐ’，ｑ’）を求める（Ｓ５０２）。
【００９１】
この頻度の最大値H（ｐ’，ｑ’）が０より大きい場合は（Ｓ５０３）、音声素片波形ｐ’と音声素片波形ｑ’が隣接するように接続して、部分素片波形列を生成する（Ｓ５０４）。
【００９２】
この操作は、
１）２つの音声素片波形を接続して新たな部分素片波形列を生成する、
２）既存の部分素片波形列の前端または後端に音声素片波形を接続する、
３）既存の２つの部分素片波形列を接続して１つの部分素片波形列とする、
のいずれかとなる。
【００９３】
但し、ｐ’とｑ’が既存の同じ部分素片波形列の前端と後端である場合は、部分素片波形列が循環するのを防ぐため、接続しないものとする。
【００９４】
次に、H（ｐ’，ｑ’）＝０とし、Ｃ（ｐ’）とＣ（ｑ’）からそれぞれ１を引いて（Ｓ５０５）、Ｓ５０２に戻り、Ｓ５０３でＨ（ｐ’，ｑ’）が０となるまで処理を繰り返す。Ｈ（ｐ’，ｑ’）が０というのは、出現頻度が１以上でかつ接続可能な素片の組合せが無くなったことを意味するため、最後に、まだ接続されていない全ての音声素片波形と、全ての部分素片波形列とを適当に接続し、１つの音声素片波形列を生成する。
【００９５】
（７−２）最適化の効果
以上述べたような方法で生成された音声素片波形列に従ってＨＤＤ上に音声素片波形を配置して記憶させることにより、連続して選択されやすい音声素片がＨＤＤ上でも隣接している頻度が高くなるため、「まとめ読み」の頻度が高くなり、処理時間がより短縮されるという効果がある。
【００９６】
また、選択される頻度の高い音声素片については、音声素片波形を複製して、同一の音声素片波形を複数個ＨＤＤ上に記憶させることにより、さらに「まとめ読み」の頻度を高めることが可能である。例えば素片ｐをｘ個に複製した場合は、Ｓ５０１においてＣ（ｐ）＝２＊ｘで初期化することにより、上述した方法で配置の最適化が可能である。
【００９７】
（８）効果
以上説明したように、本実施形態における音声合成装置では、音声素片系列に含まれる２つの音声素片が所定の条件を満たす場合に、これら２つの音声素片波形を１回のＨＤＤアクセスで読み出すことができる。
【００９８】
これによりＨＤＤアクセスの回数が減少し、音声素片波形を読み出すために要する時間が短縮されるため、音声合成全体の処理時間も短縮されるという効果がある。
【００９９】
ＨＤＤに記憶された音声素片波形を読み出すのに要する時間は、実際に波形のデータを読み出している時間（取得時間）の他に、読み出すまでの準備の時間（準備時間）が必要である。ＨＤＤにおける準備時間は、データを読み出すためのヘッドを移動する時間や、回転する磁気ディスク上で音声素片波形が記憶されている領域がヘッドに到達するまでの待ち時間などが含まれる。そのため、音声素片波形程度のデータ量を読み出す場合は、取得時間よりも準備時間が長くなる場合が多いため、アクセス回数を減らして準備時間を短縮することが、処理時間の短縮に効果的である。このように、ＨＤＤだけでなく、データの取得のために準備時間が必要な記憶媒体を、音声素片波形記憶部１０４ａとして利用する場合には、本実施形態によって処理時間が短縮されるという効果がある。
【０１００】
（１１）変更例
本発明は上記各実施形態に限らず、その主旨を逸脱しない限り種々に変更することができる。
【０１０１】
本実施形態では、２つの音声素片波形を１回のＨＤＤアクセスで読み出す場合について説明したが、３つ以上の音声素片波形を１回のアクセスで読み出すことが可能なように構成してもよい。これにより、さらにＨＤＤアクセス回数を減少させることが期待できるため、処理時間をより短縮することができる。
【図面の簡単な説明】
【０１０２】
【図１】本発明の一実施形態に係る音声合成装置を示すブロック図である。
【図２】音声合成装置の動作を示すフローチャートである。
【図３】入力されたテキストが「こんにちは」である場合の音韻系列（音素系列）の例を示す図である。
【図４】音声合成部１０４に送られる音韻系列に含まれる音素毎の基本周波数及び音韻継続時間長のデータの図である。
【図５】合成単位を音素とした場合の合成単位の例を示す図である。
【図６】音声素片情報１０４ｃの例を示す図である。
【図７】音素単位でラベリングを行って音素毎に音声波形を切り出した音声素片波形の図である。
【図８】入力テキストとそれに対応する音韻系列及び選択された音声素片系列の例を示す図である。
【図９】基本周波数コスト、音韻継続時間長コスト及びスペクトル接続コストを説明する図である。
【図１０】図６の音声素片情報に対応する音声素片波形の例の図である。
【図１１】音声素片接続部１０４ｄの動作のフローチャートである。
【図１２】Ｓ３０７における合成音声の生成方法について説明する図である。
【図１３】音声素片波形読み出しの例を示す図である。
【図１４】Ｓ３０４における条件の判定のフローチャートである。
【図１５】最適化の詳細のフローチャートである。
【符号の説明】
【０１０３】
１０１    テキスト入力部
１０２    言語処理部
１０３    韻律処理部
１０４    音声合成部
１０５    合成音声出力部
【図１】
2007310176.tif 000004
【図２】
2007310176.tif 000005
【図３】
2007310176.tif 000006
【図４】
2007310176.tif 000007
【図５】
2007310176.tif 000008
【図６】
2007310176.tif 000009
【図７】
2007310176.tif 000010
【図８】
2007310176.tif 000011
【図９】
2007310176.tif 000012
【図１０】
2007310176.tif 000013
【図１１】
2007310176.tif 000014
【図１２】
2007310176.tif 000015
【図１３】
2007310176.tif 000016
【図１４】
2007310176.tif 000017
【図１５】
2007310176.tif 000018