(57)【要約】【課題】  音素テキストから、音素列リストを生成するときに使用するメモリ量を抑え、ある出現頻度（閾値）以上の値を持つ全ての長さの音素列を抽出した音素列リストを生成することが可能な音声合成用リスト生成装置を提供する。【解決手段】  音声合成用リスト生成装置１０は、音素テキストから、予め定めた音素数の音素列を抽出する固定長音素列抽出手段１１と、この固定長音素列抽出手段１１で抽出された音素列を出現頻度の累計対象であるかどうかを判定し、累計対象と判定された音素列の出現頻度のみを累計する出現頻度累計手段１２と、音素列及びその出現頻度を蓄積する蓄積手段１３と、蓄積手段１３から、出現頻度が予め定めた閾値より多い音素列を音素列リストとして出力するリスト出力手段１４とを備えていることを特徴とする。【選択図】      図１
2005070164.tif 000002
【特許請求の範囲】
【請求項１】
音声を音素のテキストデータに書き下した複数の音素テキストから、音声合成の探索単位となる音素列リストを生成する音声合成用リスト生成装置であって、
予め定めた音素数を順次増加させて、前記各音素テキストから、前記音素数の連続した音素で構成される音素列を順次抽出する固定長音素列抽出手段と、
この固定長音素列抽出手段で抽出された音素列が、前記複数の音素テキストに出現する出現頻度を累計する出現頻度累計手段と、
前記音素列と前記出現頻度累計手段で累計された当該音素列の出現頻度とを蓄積する蓄積手段と、
この蓄積手段に蓄積されている音素列の出現頻度が予め定めた閾値より多い音素列を、前記音素列リストとして出力するリスト出力手段とを備え、
前記出現頻度累計手段には、前記音素列を構成し、当該音素列より短い音素列の前記出現頻度が、前記閾値より多い場合に、当該音素列を前記出現頻度の累計対象であると判定する累計判定手段を備えていることを特徴とする音声合成用リスト生成装置。
【請求項２】
前記リスト出力手段が、前記音素列リストを出力した後に、前記蓄積手段に蓄積されている音素列の中で、音素数の最も多い音素列以外の音素列を削除するデータ削除手段を備えていることを特徴とする請求項１に記載の音声合成用リスト生成装置。
【請求項３】
音声を単語のテキストデータに書き下した複数の単語テキストから、音声合成の探索単位となる単語列リストを生成する音声合成用リスト生成装置であって、
予め定めた単語数を順次増加させて、前記各単語テキストから、前記単語数の連続した単語で構成される単語列を順次抽出する固定長単語列抽出手段と、
この固定長単語列抽出手段で抽出された単語列が、前記複数の単語テキストに出現する出現頻度を累計する出現頻度累計手段と、
前記単語列と前記出現頻度累計手段で累計された当該単語列の出現頻度とを蓄積する蓄積手段と、
この蓄積手段に蓄積されている単語列の出現頻度が予め定めた閾値より多い単語列を、前記単語列リストとして出力するリスト出力手段とを備え、
前記出現頻度累計手段には、前記単語列を構成し、当該単語列より短い単語列の前記出現頻度が、前記閾値より多い場合に、当該単語列を前記出現頻度の累計対象であると判定する累計判定手段を備えていることを特徴とする音声合成用リスト生成装置。
【請求項４】
前記リスト出力手段が、前記音素列リストを出力した後に、前記蓄積手段に蓄積されている単語列の中で、単語数の最も多い単語列以外の音素列を削除するデータ削除手段を備えていることを特徴とする請求項３に記載の音声合成用リスト生成装置。
【請求項５】
音声を音素のテキストデータに書き下した複数の音素テキストから、音声合成の探索単位となる音素列リストを生成するために、コンピュータを、
予め定めた音素数を順次増加させて、前記各音素テキストから、前記音素数の連続した音素で構成される音素列を順次抽出する固定長音素列抽出手段、
前記音素列を構成し、当該音素列より短い音素列の前記複数の音素テキストにおける出現頻度が、予め定めた閾値より多い場合に、当該音素列を前記出現頻度の累計対象であると判定する累計判定手段、
この累計判定手段で、出現頻度の累計対象であると判定された音素列の出現頻度を累計し、その音素列とその音素列に対応する出現頻度とを蓄積装置に蓄積する出現頻度累計手段、
前記蓄積装置に蓄積されている音素列の出現頻度が、前記閾値より多い音素列を、前記音素列リストとして出力するリスト出力手段、
として機能させることを特徴とする音声合成用リスト生成プログラム。
【請求項６】
音声を単語のテキストデータに書き下した複数の単語テキストから、音声合成の探索単位となる単語列リストを生成するために、コンピュータを、
予め定めた単語数を順次増加させて、前記各単語テキストから、前記単語数の連続した単語で構成される単語列を順次抽出する固定長単語列抽出手段、
前記単語列を構成し、当該単語列より短い単語列の前記複数の単語テキストにおける出現頻度が、予め定めた閾値より多い場合に、当該単語列を前記出現頻度の累計対象であると判定する累計判定手段、
この累計判定手段で、出現頻度の累計対象であると判定された単語列の出現頻度を累計し、その単語列とその単語列に対応する出現頻度とを蓄積装置に蓄積する出現頻度累計手段、
前記蓄積装置に蓄積されている単語列の出現頻度が、前記閾値より多い単語列を、前記単語列リストとして出力するリスト出力手段、
として機能させることを特徴とする音声合成用リスト生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声合成を行う際に利用される音声合成用リストを生成する音声合成用リスト生成装置及び音声合成用リスト生成プログラムに関する。
【背景技術】
【０００２】
従来、音声合成を行う手法として、大規模な音声データベースから可変長の合成単位で音素や単語を選択して接続する音声合成手法が提案されている（例えば、非特許文献１参照）。
これらの音声合成手法において、音声データベースに蓄積されている、音声合成の探索単位となる音素又は単語のリストは、例えば、以下に示すハッシュ手法（例えば、非特許文献２参照）によって生成されている。
【０００３】
このハッシュ手法は、例えば、音素列リストを生成するには、音声を音素のテキストデータに書き下した複数の音素テキストから、音素テキストを順次読み出し、その音素テキストが既存の音素列であれば、その個数（出現頻度）のカウント値を増やし、新規の音素列であれば、その音素列の個数をカウントするためのメモリ（記憶）領域を確保する。以上の動作を音素テキスト分繰り返すことで、それぞれの音素列の個数（出現頻度）を得ることができ、音素列と出現頻度とを対応付けた音素列リストを生成することができる。
【０００４】
【非特許文献１】世木寛之，大出訓史，都木徹，「単語を探索単位とした波形接続型音声合成の検討」，日本音響学会講演論文集，Ｉ−１−１０−７，ｐｐ．２３７−２３８，Ｓｅｐｔ．２００２
【非特許文献２】カーニハン，リッチー，「プログラム言語Ｃ」，共立出版，ｐｐ．１７４−１７６
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、前記したハッシュ手法によって、音素列リストを生成するには、音素テキストとして書き下された全ての長さの音素列について、出現頻度となる個数をカウントするためのメモリ領域を確保する必要がある。そのため、大規模な音声データベースを構築するために、大量の音素テキストから音素列リストを生成しようとすると、使用するメモリ量が大きくなってしまうという問題がある。
【０００６】
そこで、実際に音素列リストを生成するには、長さがある値以上の音素列（通常４個程度）は、個数のカウントを行わない等の工夫を行うことで、メモリ量の削減を行っている。しかし、この場合、ある長さ以上の音素列のカウントを行わないため、音素テキストに存在する全ての長さの音素列について、ある出現頻度（閾値）以上の値を持つ個数のカウントを行うことができない。このため、実際には、出現頻度が高い音素列であっても、音素列の長さが長いことで音素列リストの候補とならない場合が発生する。これによって、音声合成で出現頻度が多い音素列を探索しようとした場合に、短い音素列で探索することになり探索回数が増えてしまい、音声合成に時間がかかってしまうという問題がある。
【０００７】
本発明は、以上のような問題点に鑑みてなされたものであり、音素テキスト又は単語テキストから、音素列リスト又は単語列リストを生成するときに使用するメモリ量を抑え、ある出現頻度（閾値）以上の値を持つ全ての長さの音素列又は単語列を抽出した音素列リスト又は単語列リストを生成することが可能な音声合成用リスト生成装置及び音声合成用リスト生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、前記目的を達成するために創案されたものであり、まず、請求項１に記載の音声合成用リスト生成装置は、音声を音素のテキストデータに書き下した複数の音素テキストから、音声合成の探索単位となる音素列リストを生成する音声合成用リスト生成装置であって、固定長音素列抽出手段と、出現頻度累計手段と、蓄積手段と、リスト出力手段とを備え、前記出現頻度累計手段が、累計判定手段を備えていることを特徴とする。
【０００９】
かかる構成によれば、音声合成用リスト生成装置は、固定長音素列抽出手段によって、各音素テキストから、予め定めた音素数となるように、各音素テキストの連続した音素数分の音素を音素列として抽出する。ここで、音素テキストとは、音声を音素のテキストデータに書き下したものであって、例えば、「ニュースです」という音声を、音声言語の最小単位である音素に書き下した場合、音素テキストは、「ｎｙ／ｕ：／ｓ／ｕ／ｄ／ｅ／ｓ／ｕ」（“／”は音素の区切り）となる。そして、予め定めた音素数として、例えば“３”が設定されている場合、固定長音素列抽出手段は、音素数“３”の連続した音素（例えば、「ｎｙ／ｕ：／ｓ」等）を切り出して、音素列を抽出する。なお、固定長音素列抽出手段は、順次音素数を増加（＋１）させることで、音素数の異なる音素列を順次抽出する。
【００１０】
また、音声合成用リスト生成装置は、累計判定手段によって、固定長音素列抽出手段で抽出された音素列の出現頻度が予め定めた閾値より多い場合に、その音素列を含み、かつ、固定長音素列抽出手段で抽出された音素列を、出現頻度を累計する対象であると判定し、出現頻度累計手段によって、その出現頻度を累計する対象であると判定された音素列の出現頻度を累計する。これは、固定長音素列抽出手段で抽出された音素列より短い音素列の出現頻度が、予め定めた閾値よりも少ない場合、その音素列を含んだ音素列を累計しても、閾値を超えることはないからである。
【００１１】
例えば、音素数“４”の音素列である「ｎｙ／ｕ：／ｓ／ｕ」の出現頻度を累計するときに、その音素列よりも短い音素数“３”の音素列である「ｎｙ／ｕ：／ｓ」の出現頻度が閾値に達していない場合、「ｎｙ／ｕ：／ｓ／ｕ」の出現頻度は閾値を超えることはない。そこで、「ｎｙ／ｕ：／ｓ／ｕ」を、出現頻度を累計する対象から省くこととする。
そして、音声合成用リスト生成装置は、リスト出力手段によって、音素数毎に、音素列を蓄積した蓄積手段を参照して、出現頻度が予め定めた閾値より多い音素列を音素列リストとして出力する。
【００１２】
なお、固定長音素列抽出手段は、音素数を順次増加して音素テキストから音素列を抽出し、リスト出力手段が、順次音素数の異なる音素列リストを出力する。これによって、音声合成用リスト生成装置は、音素数の少ない音素列から順に出現頻度の累計を行い、出現頻度の高い（閾値よりも多い）音素列を含んだ音素列のみを累計対象として、順次音素列の累計を行うため、音素列リストを高速に生成することが可能になる。
【００１３】
また、請求項２に記載の音声合成用リスト生成装置は、請求項１に記載の音声合成用リスト生成装置において、前記リスト出力手段が、前記音素列リストを出力した後に、前記蓄積手段に蓄積されている音素列の中で、音素数の最も多い音素列以外の音素列を削除するデータ削除手段を備えていることを特徴とする。
【００１４】
かかる構成によれば、音声合成用リスト生成装置は、データ削除手段によって、音素列リストを出力した後に、蓄積手段に蓄積されている音素列の中で、固定長音素列抽出手段で抽出した音素数の最も多い音素列以外の音素列を削除する。これによって、累計判定手段が判定を行うために必要となる音素列以外の音素列を削除することになり、蓄積手段の容量を低く抑えることができる。
【００１５】
さらに、請求項３に記載の音声合成用リスト生成装置は、音声を単語のテキストデータに書き下した複数の単語テキストから、音声合成の探索単位となる単語列リストを生成する音声合成用リスト生成装置であって、固定長単語列抽出手段と、出現頻度累計手段と、蓄積手段と、リスト出力手段とを備え、前記出現頻度累計手段が、累計判定手段を備えていることを特徴とする。
【００１６】
かかる構成によれば、音声合成用リスト生成装置は、固定長単語列抽出手段によって、各単語テキストから、予め定めた単語数となるように、各単語テキストの連続した単語数分の単語を単語列として抽出する。ここで、単語テキストとは、音声を単語のテキストデータに書き下したものであって、例えば、「全国の天気です」という音声を、単語に書き下した場合、単語テキストは、「ｚｅｎｋｏｋｕ／ｎｏ／ｔｅｎｋｉ／ｄｅｓｕ」（“／”は単語の区切り）となる。
【００１７】
また、音声合成用リスト生成装置は、累計判定手段によって、固定長単語列抽出手段で抽出された単語列の出現頻度が予め定めた閾値より多い場合に、その単語列を含み、かつ、固定長単語列抽出手段で抽出された単語列を、出現頻度を累計する対象であると判定し、出現頻度累計手段によって、その出現頻度を累計する対象であると判定された単語列の出現頻度を累計する。
そして、音声合成用リスト生成装置は、リスト出力手段によって、単語数毎に、単語列及び出現頻度を蓄積した蓄積手段を参照して、出現頻度が予め定めた閾値より多い単語列を単語列リストとして出力する。
【００１８】
なお、固定長単語列抽出手段は、単語数を順次増加して単語テキストから単語列を抽出し、リスト出力手段が、順次単語数の異なる単語列リストを出力する。これによって、音声合成用リスト生成装置は、単語数の少ない単語列から順に出現頻度の累計を行い、出現頻度の高い（閾値よりも多い）単語列を含んだ単語列のみを累計対象として、順次単語列の累計を行うため、単語列リストを高速に生成することが可能になる。
【００１９】
また、請求項４に記載の音声合成用リスト生成装置は、請求項３に記載の音声合成用リスト生成装置において、前記リスト出力手段が、前記音素列リストを出力した後に、前記蓄積手段に蓄積されている単語列の中で、単語数の最も多い単語列以外の音素列を削除するデータ削除手段を備えていることを特徴とする。
【００２０】
かかる構成によれば、音声合成用リスト生成装置は、データ削除手段によって、単語列リストを出力した後に、蓄積手段に蓄積されている単語列の中で、単語数の最も多い単語列以外の単語列を削除する。これによって、累計判定手段が判定を行うために必要となる単語列以外の単語列を削除することになり、蓄積手段の容量を低く抑えることができる。
【００２１】
さらに、請求項５に記載の音声合成用リスト生成プログラムは、音声を音素のテキストデータに書き下した複数の音素テキストから、音声合成の探索単位となる音素列リストを生成するために、コンピュータを、固定長音素列抽出手段、累計判定手段、出現頻度累計手段、リスト出力手段、として機能させることを特徴とする。
【００２２】
かかる構成によれば、音声合成用リスト生成プログラムは、固定長音素列抽出手段によって、各音素テキストから、予め定めた音素数の連続した音素で構成される音素列を抽出する。
そして、音声合成用リスト生成プログラムは、累計判定手段によって、固定長音素列抽出手段で抽出された音素列より短い音素列の出現頻度が予め定めた閾値より多い場合に、その固定長音素列抽出手段で抽出された音素列を、出現頻度を累計する対象であると判定する。なお、固定長音素列抽出手段で抽出された音素列より短い音素列及びその出現頻度は、すでに蓄積装置に蓄積されているものを使用する。
【００２３】
そして、音声合成用リスト生成プログラムは、出現頻度累計手段によって、累計判定手段で、出現頻度を累計する対象であると判定された音素列の出現頻度を累計し、その音素列とその音素列に対応する出現頻度とを蓄積装置に蓄積する。これによって、出現頻度の高い音素列のみが蓄積装置に蓄積されることになる。
このように、音素テキストから音素列とその出現頻度とを蓄積装置に蓄積した段階で、音声合成用リスト生成プログラムは、出現頻度が予め定めた閾値より多い音素列を、音素列リストとして出力する。
【００２４】
なお、固定長音素列抽出手段は、音素数を順次増加して音素テキストから音素列を抽出し、リスト出力手段が、順次音素数の異なる音素列リストを出力する。これによって、音声合成用リスト生成プログラムは、音素数の少ない音素列から順に出現頻度の累計を行い、出現頻度の高い（閾値よりも多い）音素列を含んだ音素列のみを累計対象として、順次音素列の累計を行うため、音素列リストを高速に生成することが可能になる。
【００２５】
また、請求項６に記載の音声合成用リスト生成プログラムは、音声を単語のテキストデータに書き下した複数の単語テキストから、音声合成の探索単位となる単語列リストを生成するために、コンピュータを、固定長単語列抽出手段、累計判定手段、出現頻度累計手段、リスト出力手段、として機能させることを特徴とする。
【００２６】
かかる構成によれば、音声合成用リスト生成プログラムは、固定長単語列抽出手段によって、各単語テキストから、予め定めた単語数の連続した単語で構成される単語列を抽出する。
そして、音声合成用リスト生成プログラムは、累計判定手段によって、固定長単語列抽出手段で抽出された単語列より短い単語列の出現頻度が予め定めた閾値より多い場合に、その固定長単語列抽出手段で抽出された単語列を、出現頻度を累計する対象であると判定する。なお、固定長単語列抽出手段で抽出された単語列より短い単語列及びその出現頻度は、すでに蓄積装置に蓄積されているものを使用する。
【００２７】
そして、音声合成用リスト生成プログラムは、出現頻度累計手段によって、累計判定手段で、出現頻度を累計する対象であると判定された単語列の出現頻度を累計し、その単語列とその単語列に対応する出現頻度とを蓄積装置に蓄積する。これによって、出現頻度の高い単語列のみが蓄積装置に蓄積されることになる。
このように、単語テキストから単語列とその出現頻度とを蓄積装置に蓄積した段階で、音声合成用リスト生成プログラムは、出現頻度が予め定めた閾値より多い単語列を、単語列リストとして出力する。
【００２８】
なお、固定長単語列抽出手段は、単語数を順次増加して単語テキストから単語列を抽出し、リスト出力手段が、順次単語数の異なる単語列リストを出力する。これによって、音声合成用リスト生成プログラムは、単語数の少ない単語列から順に出現頻度の累計を行い、出現頻度の高い（閾値よりも多い）単語列を含んだ単語列のみを累計対象として、順次単語列の累計を行うため、単語列リストを高速に生成することが可能になる。
【発明の効果】
【００２９】
請求項１又は請求項５に記載の発明によれば、音素数の少ない音素列から、順次音素列の出現頻度を累計し、かつ、その出現頻度が予め定めた閾値より高い音素列を含んだ音素列のみを、出現頻度の累計対象とするため、出現頻度が低いと判明している音素列の出現頻度を累計する無駄を省き、高速に音素列リストを生成することができる。また、このとき、閾値より高いすべての音素列を抽出することができるため、本発明によって生成された音素列リストによって、音声合成を行う際に、音素列の接続点における音質の劣化を低減することが可能になる。
【００３０】
請求項２に記載の発明によれば、蓄積手段には現在出現頻度を累計している音素数の音素列と、出現頻度が予め定められた閾値よりも高い音素数−１の音素列だけしか蓄積されないため、蓄積手段の容量を低く抑えることができる。
【００３１】
請求項３又は請求項６に記載の発明によれば、単語数の少ない単語列から、順次単語列の出現頻度を累計し、かつ、その出現頻度が予め定めた閾値より高い単語列を含んだ単語列のみを、出現頻度の累計対象とするため、出現頻度が低いと判明している単語列の出現頻度を累計する無駄を省き、高速に単語列リストを生成することができる。また、このとき、閾値より高いすべての単語列を抽出することができるため、本発明によって生成された単語列リストによって、音声合成を行う際に、単語列の接続点における音質の劣化を低減することが可能になる。
【００３２】
請求項４に記載の発明によれば、蓄積手段には現在出現頻度を累計している単語数の単語列と、出現頻度が予め定められた閾値よりも高い単語数−１の単語列だけしか蓄積されないため、蓄積手段の容量を低く抑えることができる。
【発明を実施するための最良の形態】
【００３３】
以下、本発明の実施の形態について図面を参照して説明する。
［音声合成用リスト生成装置の概要］
まず、図３及び図４を参照して、音声合成用リスト生成装置の概要について説明する。図３は、音声合成用リスト生成装置で生成する音素列リストについて説明を行うための説明図である。図４は、音声合成用リスト生成装置における音素列リストの生成の動作概要を説明するための説明図である。
【００３４】
図３に示すように、音声合成用リスト生成装置１０は、音声を音素のテキストデータに書き下した複数の音素テキストから、音声合成の探索単位となる音素列リスト（音素列、出現頻度）を生成するものである。ここでは、音声合成用リスト生成装置１０は、音素テキストを蓄積した音声データベース２０から音素テキストを入力し、生成した音素列リストを音声合成用データベース３０に出力する（書き込む）ものとする。
【００３５】
例えば、「ニュースです」を音素のテキストデータに書き下した音素テキストとして、「ｎｙ／ｕ：／ｓ／ｕ／ｄ／ｅ／ｓ／ｕ」（“／”は音素の区切り；以下同じ）が音声データベース２０に蓄積されている場合、音声合成用リスト生成装置１０は、音声データベース２０内で、音素数毎に音素列の出現頻度を累計する。そして、音声合成用リスト生成装置１０は、例えば、音素数“３”の音素列「ｕ：／ｓ／ｕ」の出現頻度を累計した値（ここでは“１５６”）を、音素列とともに音声合成用データベース３０に出力する。
【００３６】
次に、図４を参照（適宜図３参照）して、音声合成用リスト生成装置１０の動作の概要について説明する。まず、音声合成用リスト生成装置１０は、音素テキスト（ここでは「ｎｙ／ｕ：／ｓ／ｕ／ｄ／ｅ／ｓ／ｕ」）から、初期音素数として“３”の音素数となる音素列の出現頻度を累計する。そして、音素列の出現頻度が、予め定めた閾値（ここでは“１００”）を超過した音素列のみを、音声合成用データベース３０に出力する。例えば、閾値を超過した出現頻度となる「ｕ：／ｓ／ｕ」を出力する。
【００３７】
そして、音声合成用リスト生成装置１０は、出現頻度が閾値を超過した音素列のみを対象として、音素数を１増加し（ここでは音素数“４”）、その音素列の出現頻度を累計する。ここでも、音素数“３”のときと同様に出現頻度が閾値を超過する音素列のみを音声合成用データベース３０に出力する。例えば、閾値を超過した出現頻度となる（ｓ／ｕ／ｄ／ｅ）を出力する。
このように、音素数を１増加させながら順次出現頻度を超過する音素列とその出現頻度を音声合成用データベース３０に出力していく。
【００３８】
これによって、出現頻度の低い音素列に対して、それより長い音素列を、出現頻度の累計対象から省くことができ、メモリ容量を削減し、高速に音素列リストを生成することができる。また、ここでは、初期音素数を“３”としているが、“１”から始めてもよい。また、音素を単位としてリスト（音素列リスト）を生成しているが、単語を単位としてリスト（単語列リスト）を生成することとしてもよい。
なお、約３００００文の音素テキストを蓄積した音声データベース２０に対して、音素列の出現頻度の閾値を“１００”として本発明を実施したところ、約４００００個の音素列リストが生成された。これによって、音声データベース２０に依存する決まった言い回しについては、音素列リストからまとめて検索することが可能となる。
以下、音声合成用リスト生成装置の構成及び動作について詳細に説明する。
【００３９】
［音声合成用リスト生成装置の構成］
まず、図１を参照して、本発明に係る音声合成用リスト生成装置の構成について説明する。図１は、音声合成用リスト生成装置の構成を示すブロック図である。図１に示すように、音声合成用リスト生成装置１０は、複数の音素テキストを入力し、ある閾値以上の出現頻度となる音素列のリスト（音素列リスト）を生成し、出力するものである。ここで、音素テキストとは、音声を音声の最小単位である音素のテキストデータに書き下したものである。
【００４０】
ここでは、音声合成用リスト生成装置１０は、固定長音素列抽出手段１１と、出現頻度累計手段１２と、蓄積手段１３と、リスト出力手段１４と、初期データ設定手段１５とを備えるものである。また、ここでは、音声合成用リスト生成装置１０は、音素テキストを蓄積している音声データベース２０と、生成した音素列リストを蓄積するための音声合成用データベース３０と、キーボード等の入力手段４０とが、外部に接続されているものとする。
【００４１】
固定長音素列抽出手段１１は、音素テキストから、固定長の音素数の連続した音素で構成される音素列を抽出するものである。ここでは、固定長音素列抽出手段１１は、音声データベース２０から順次音素テキストを読み出して、固定長の音素列を抽出し、出現頻度累計手段１２に出力する。なお、固定長音素列抽出手段１１は、初期データ設定手段１５で設定される初期音素数を音素数の初期値とし、音声データベース２０内の全ての音素テキストから音素列を抽出した段階で、リスト出力手段１４にその音素数を含んだ出力指示を通知する。そして、固定長音素列抽出手段１１は、リスト出力手段１４から出力完了を通知されることで、音素数を１増加させて続けて音素列を抽出する。
【００４２】
例えば、「ニュースです」を音素のテキストデータに書き下した音素テキストとして、「ｎｙ／ｕ：／ｓ／ｕ／ｄ／ｅ／ｓ／ｕ」が入力され、初期音素数として「３」が設定されている場合、固定長音素列抽出手段１１は、３つの音素で構成される複数（ここでは６つ）の音素列「ｎｙ／ｕ：／ｓ」、「ｕ：／ｓ／ｕ」、「ｓ／ｕ／ｄ」、「ｕ／ｄ／ｅ」、「ｄ／ｅ／ｓ」及び「ｅ／ｓ／ｕ」を抽出する。また、固定長音素列抽出手段１１は、リスト出力手段１４から出力完了を通知されることで、音素数を１増加させた音素列「ｎｙ／ｕ：／ｓ／ｕ」等を抽出する。
【００４３】
出現頻度累計手段１２は、固定長音素列抽出手段１１で抽出された音素列を入力し、各音素列の出現頻度を累計するものである。この出現頻度累計手段１２は、蓄積手段１３を探索し、入力された音素列が、新規の（蓄積手段１３に蓄積されていない）音素列である場合は、蓄積手段１３に音素列及びその出現頻度を蓄える領域を確保し、入力された音素列をその領域に蓄積するとともに、出現頻度を初期化（例えば“１”をセット）する。また、入力された音素列が、すでに蓄積手段１３に蓄積されている場合は、その音素列に対応する出現頻度に１を加算する。これによって、音素列と出現頻度との対のデータが蓄積手段１３に蓄積されることになる。
なお、ここでは、出現頻度累計手段１２に累計判定部１２ａを備え、入力された音素列の出現頻度を累計するかどうかを判定する。
【００４４】
累計判定部１２ａ（累計判定手段）は、入力された音素列が出現頻度を累計する対象となる音素列かどうかを判定するものである。この累計判定部１２ａは、入力された音素列より１つ短い音素列の出現頻度を、蓄積手段１３から検索し、その出現頻度が初期データ設定手段１５で設定された閾値以上の場合に、入力された音素列が出現頻度を累計する対象であると判定する。
【００４５】
例えば、前記した「ニュースです」の音素テキスト「ｎｙ／ｕ：／ｓ／ｕ／ｄ／ｅ／ｓ／ｕ」で、３つの音素で構成される音素列「ｕ：／ｓ／ｕ」、「ｓ／ｕ／ｄ」及び「ｄ／ｅ／ｓ」の出現頻度が閾値（例えば“１００”）以上であった場合、累計判定部１２ａは、４つの音素で構成される「ｕ：／ｓ／ｕ／ｄ」、「ｓ／ｕ／ｄ／ｅ」及び「ｄ／ｅ／ｓ／ｕ」が、出現頻度の累計対象であると判定する。すなわち、累計判定部１２ａは、他の３つの音素で構成される音素列「ｎｙ／ｕ：／ｓ」、「ｕ／ｄ／ｅ」及び「ｅ／ｓ／ｕ」の出現頻度が低く、これ以上の長さを持つ音素列の出現頻度を累計することは意味を持たないことが分かっているため、これらを出現頻度の累計対象から外す。
この累計判定部１２ａの判定結果によって、出現頻度累計手段１２は、出現頻度を測定する音素列を限定することができる。
【００４６】
蓄積手段１３（蓄積装置）は、音素列及びその出現頻度を一時的に蓄積するものであって、一般的なメモリ等の記録媒体である。この蓄積手段１３は、出現頻度累計手段１２によって、音素列が書き込まれ、その音素列に対応する出現頻度が逐次更新される。
【００４７】
リスト出力手段１４は、蓄積手段１３に蓄積されている音素列で、出現頻度の多い音素列を音素列リストとして出力するものである。このリスト出力手段１４は、固定長音素列抽出手段１１から音素数を含んだ出力指示を通知されることで、その音素数からなる音素列の中で、出現頻度の多い音素列を選択して出力する。ここでは、リスト出力手段１４は、出力判定部１４ａと、データ削除部１４ｂとを備えている。
【００４８】
出力判定部１４ａは、蓄積手段１３に蓄積されている音素列を出力するかどうかを判定するものである。この出力判定部１４ａは、蓄積手段１３に蓄積されている音素列の中で、初期データ設定手段１５で設定される閾値以上の出現頻度となる音素列を出力可能であると判定する。これによって、ある閾値以上の出現頻度となった音素列のみを音素列リストとして出力することが可能になる。
【００４９】
データ削除部１４ｂ（データ削除手段）は、出現頻度の多い音素列を音素列リストとして出力した後に、蓄積手段１３に蓄積されている音素列及びその出現頻度の中で不要となったデータを削除し、記憶（メモリ）領域を解放するものである。このデータ削除部１４ｂは、固定長音素列抽出手段１１から通知される出力指示に含まれている音素数から１を減算した音素数の音素列、及び、出力指示に含まれている音素数で出現頻度が最少データ数（閾値）に達しなかった音素列、並びに、出現頻度のデータを削除する。ここで、出力指示に含まれている音素数の音素列で閾値に達している音素列を残すのは、累計判定部１２ａで、入力された音素列より１つ短い音素列を出現頻度の累計対象の判定に用いるためである。これによって、蓄積手段１３の容量を抑えることができる。
【００５０】
初期データ設定手段１５は、固定長音素列抽出手段１１に与える初期音素数や、出現頻度累計手段１２及びリスト出力手段１４に与える閾値を初期データとして設定するものである。ここでは、初期データ設定手段１５は、キーボード等の入力手段４０から初期データを入力する。例えば、予め定めた音素数として初期音素数を“３”と設定することで、固定長音素列抽出手段１１は、音素数“３”を初期値として、順次“４”、“５”…と音素数を増加させて音素列を抽出する。また、例えば、閾値を“１００”と設定することで、出現頻度累計手段１２の累計判定部１２ａが、入力された音素列より１つ短い音素列の出現頻度と、閾値（“１００”）とを比較して、出現頻度が閾値以上の場合に入力された音素列を、出現頻度の累計対象であると判定する。また、リスト出力手段１４が、閾値以上の出現頻度となった音素列を外部に出力する。
なお、初期音素数や閾値を、予め設定した固有の値とする場合は、音声合成用リスト生成装置１０から初期データ設定手段１５を外して構成してもよい。
【００５１】
以上、一実施形態に基づいて、音声合成用リスト生成装置１０の構成について説明したが、音声合成用リスト生成装置１０は、コンピュータにおいて固定長音素列抽出手段１１、出現頻度累計手段１２及びリスト出力手段１４を機能プログラムとして実現することも可能であり、各機能プログラムを結合して音声合成用リスト生成プログラムとして動作させることも可能である。
【００５２】
また、ここでは、音声合成用リスト生成装置１０を、音素列のリストを生成するものとして説明したが、単語列のリストを生成するものとして機能させることとしてもよい。例えば、「全国の天気です」を単語のテキストデータに書き下した単語テキストである「ｚｅｎｋｏｋｕ／ｎｏ／ｔｅｎｋｉ／ｄｅｓｕ」（“／”は単語の区切り）を入力として、単語列毎の出現頻度に基づいて、単語列リストを生成することも可能である。
【００５３】
この場合、図２に示すように、図１の固定長音素列抽出手段１１を、単語テキストから、固定長の単語数の連続した単語で構成される単語列を抽出する固定長単語列抽出手段１１Ｂとして機能させる。また、図１の出現頻度累計手段１２、蓄積手段１３及びリスト出力手段１４を、音素列の代わりに単語列を単位として、累計、蓄積及び出力する出現頻度累計手段１２Ｂ、蓄積手段１３Ｂ及びリスト出力手段１４Ｂとして機能させる。また、図１の初期データ設定手段１５を、初期音素数の代わりに初期単語数を設定する初期データ設定手段１５Ｂとして機能させる。
【００５４】
この図２に示すように音声合成用リスト生成装置１０Ｂを構成することで、音声合成用リスト生成装置１０Ｂは、複数の単語テキストを入力し、ある閾値以上の出現頻度となる単語列のリスト（単語列リスト）を生成し、出力することができる。なお、図２の音声合成用リスト生成装置１０Ｂは、音素列の代わりに単語列を使用する以外の機能は、音声合成用リスト生成装置１０と同様であるため、その詳細な説明については省略する。
【００５５】
［音声合成用リスト生成装置の動作］
次に、図５を参照（適宜図１参照）して、本発明に係る音声合成用リスト生成装置の動作について説明する。図５は、音声合成用リスト生成装置の動作を示すフローチャートである。なお、ここでは、初期データ設定手段１５によって、音素数列の初期値である初期音素数と出現頻度の閾値とが、予め設定されているものとする。
【００５６】
（固定長音素列抽出ステップ）
まず、音声合成用リスト生成装置１０は、固定長音素列抽出手段１１によって、音声データベース２０から音素テキストを１つ入力し（ステップＳ１）、設定された音素数の連続した音素で構成される音素列を抽出する（ステップＳ２）。例えば、音素テキスト「ｎｙ／ｕ：／ｓ／ｕ／ｄ／ｅ／ｓ／ｕ」から、設定された音素数で音素列（音素数“３”の場合、「ｎｙ／ｕ：／ｓ」等）を１つ切り出す。
【００５７】
（累計判定ステップ）
そして、出現頻度累計手段１２の累計判定部１２ａによって、音素列が出現頻度を累計する対象となる音素列かどうかを判定する（ステップＳ３）。ここでは、入力された音素列より１つ短い音素列の出現頻度を、蓄積手段１３から検索し、その出現頻度が初期データ設定手段１５で設定された閾値以上の場合に、入力された音素列が出現頻度を累計する対象であると判定する。
【００５８】
（出現頻度累計ステップ）
ここで、音素列が出現頻度の対象と判断された場合（ステップＳ３でＹｅｓ）、出現頻度累計手段１２によって、その音素列の出現頻度を１増加して（ステップＳ４）、ステップＳ５へ進む。なお、音素列が新規の場合は、蓄積手段１３に新たに音素列と、その音素列の出現頻度を蓄える領域を確保する。一方、音素列が出現頻度の対象ではないと判断された場合（ステップＳ３でＮｏ）、そのままステップＳ５へ進む。
【００５９】
そして、音声合成用リスト生成装置１０は、ステップＳ１で入力した音素テキストから音素列を抽出し終わったかどうかを判定する（ステップＳ５）。すなわち、音素テキストから設定された音素数の音素列を新規に切り出せるかどうかを判定する。ここで、音素テキストからすべての音素列を抽出し終わっていない場合（ステップＳ５でＮｏ）、ステップＳ２へ戻って、音素テキストから、設定された音素数の次の音素列を切り出して動作を続ける。
【００６０】
また、音声合成用リスト生成装置１０は、すべての音素列を抽出し終わった場合（ステップＳ５でＹｅｓ）、さらに音声データベース２０からの入力が終了したかどうかを判定する（ステップＳ６）。ここで、音声データベース２０からの入力が終了した場合（ステップＳ６でＹｅｓ）、ステップＳ７へ進む。一方、音声データベースからの入力が終了していない場合（ステップＳ６でＮｏ）、すなわち、まだ、音素列を切り出していない音素テキストが音声データベースに存在している場合は、ステップＳ１へ戻って、音声データベースから音素テキストを入力し動作を続ける。
【００６１】
（リスト出力ステップ）
そして、音声合成用リスト生成装置１０は、固定長音素列抽出手段１１からリスト出力手段１４に出力指示を通知し、リスト出力手段１４が、蓄積手段１３に蓄積されている音素列の中で、初期データ設定手段１５で設定された閾値以上の出現頻度となった音素列を、音素列リストとして出力する（ステップＳ７）。なお、ここで、データ削除部１４ｂによって、出力指示に含まれている音素数から１を減算した音素数の音素列及びその出現頻度のデータを、蓄積手段１３から削除する（ステップとして図示せず）。
【００６２】
この後、リスト出力手段１４から出力完了を通知されることで、固定長音素列抽出手段１１が、音素数を１増加し（ステップＳ８）、その音素数以上の音素列が音声データベース２０に存在するかどうかを判定し（ステップＳ９）、存在する場合（ステップＳ９でＹｅｓ）、ステップＳ１へ戻って、音声データベースから音素テキストを入力し動作を続ける。そして、音素数以上の音素列が音声データベース２０に存在しなくなった場合（ステップＳ９でＮｏ）、動作を終了する。
以上の動作によって、音声合成用リスト生成装置１０は、複数の音素テキストを入力し、ある閾値以上の出現頻度となる音素列のリスト（音素列リスト）を出力することができる。
【図面の簡単な説明】
【００６３】
【図１】本発明に係る音素列リストを生成する音声合成用リスト生成装置の構成を示すブロック図である。
【図２】本発明に係る単語列リストを生成する音声合成用リスト生成装置の構成を示すブロック図である。
【図３】本発明に係る音声合成用リスト生成装置で生成する音素列リストの概要を説明するための説明図である。
【図４】本発明に係る音声合成用リスト生成装置の動作の概要を説明するための説明図である。
【図５】本発明に係る音声合成用リスト生成装置の動作を示すフローチャートである。
【符号の説明】
【００６４】
１０、１０Ｂ  音声合成用リスト生成装置
１１    固定長音素列抽出手段
１１Ｂ  固定長単語列抽出手段
１２、１２Ｂ  出現頻度累計手段
１２ａ  累計判定部（累計判定手段）
１３、１３Ｂ  蓄積手段（蓄積装置）
１４、１４Ｂ  リスト出力手段
１４ａ  出力判定部
１４ｂ  データ削除部（データ削除手段）
１５、１５Ｂ  初期データ設定手段
【図１】
2005070164.tif 000003
【図２】
2005070164.tif 000004
【図３】
2005070164.tif 000005
【図４】
2005070164.tif 000006
【図５】
2005070164.tif 000007