(57)【特許請求の範囲】
【請求項１】
音声データが表す音声を構成する各音声素片の境界時間の推定値である素片境界によって区分された各区分時間区間をそれぞれ１以上の状態境界で区分した複数の状態時間区間を求める区分ステップと、
隣接する２つの前記区分時間区間からなる処理時間区間ごとに、当該処理時間区間に含まれる隣接した前記状態時間区間からなる組の集合の中から、当該組をなす隣接した前記状態時間区間それぞれの前記音声データの代表値の距離が最大となる組を選択し、選択した当該組をなす隣接した前記状態時間区間の状態境界又は素片境界を、当該処理時間区間での修正された素片境界とする境界修正ステップと、
を有し、
前記区分ステップは、前記区分時間区間の音声データを複数の時間区間の音声データにクラスタリングし、当該クラスタリングによって特定された当該複数の時間区間を前記複数の状態時間区間とするステップを含む、
ことを特徴とする音声データ区分方法。
【請求項２】
音声データが表す音声を構成する各音声素片の境界時間の推定値である素片境界によって区分された各区分時間区間をそれぞれ１以上の状態境界で区分した複数の状態時間区間を求める区分ステップと、
隣接する２つの前記区分時間区間からなる処理時間区間ごとに、当該処理時間区間に含まれる隣接した前記状態時間区間からなる組の集合の中から、当該組をなす隣接した前記状態時間区間それぞれの前記音声データの代表値の距離が最大となる組を選択し、選択した当該組をなす隣接した前記状態時間区間の状態境界又は素片境界を、当該処理時間区間での修正された素片境界とする境界修正ステップと、
を有し、
前記境界修正ステップで得られた前記修正された素片境界を前記区分ステップでの前記素片境界とし、前記区分ステップと境界修正ステップとを再び実行する処理を所定の終了条件を満たすまで繰り返す、
ことを特徴とする音声データ区分方法。
【請求項３】
請求項１又は２の音声データ区分方法であって、
前記処理時間区間に含まれる隣接した前記状態時間区間の組の集合は、前記素片境界を境界とする隣接した前記状態時間区間の組と、前記素片境界よりも過去の前記状態境界を境界とする隣接した前記状態時間区間の組と、前記素片境界よりも未来の前記状態境界を境界とする隣接した前記状態時間区間の組とを含む、
ことを特徴とする音声データ区分方法。
【請求項４】
音声データが表す音声を構成する各音声素片の境界時間の推定値である素片境界によって区分された各区分時間区間をそれぞれ１以上の状態境界で区分した複数の状態時間区間を求める区分部と、
隣接する２つの前記区分時間区間からなる処理時間区間ごとに、当該処理時間区間に含まれる隣接した前記状態時間区間からなる組の集合の中から、当該組をなす隣接した前記状態時間区間それぞれの前記音声データの代表値の距離が最大となる組を選択し、選択した当該組をなす隣接した前記状態時間区間の状態境界又は素片境界を、当該処理時間区間での修正された素片境界とする境界修正部と、
を有し、
前記区分部は、前記区分時間区間の音声データを複数の時間区間の音声データにクラスタリングし、当該クラスタリングによって特定された当該複数の時間区間を前記複数の状態時間区間とする、
ことを特徴とする音声データ区分装置。
【請求項５】
音声データが表す音声を構成する各音声素片の境界時間の推定値である素片境界によって区分された各区分時間区間をそれぞれ１以上の状態境界で区分した複数の状態時間区間を求める区分部と、
隣接する２つの前記区分時間区間からなる処理時間区間ごとに、当該処理時間区間に含まれる隣接した前記状態時間区間からなる組の集合の中から、当該組をなす隣接した前記状態時間区間それぞれの前記音声データの代表値の距離が最大となる組を選択し、選択した当該組をなす隣接した前記状態時間区間の状態境界又は素片境界を、当該処理時間区間での修正された素片境界とする境界修正部と、
を有し、
前記境界修正部で得られた前記修正された素片境界を前記区分部での前記素片境界とし、前記区分部の処理と境界修正部の処理とを再び実行する処理を所定の終了条件を満たすまで繰り返す、
ことを特徴とする音声データ区分装置。
【請求項６】
請求項１から３の何れかの音声データ区分方法の各ステップの処理をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声データを音声素片ごとに区分する技術に関する。
【背景技術】
【０００２】
従来、肉声に近い高品質な音声合成を実現する手法として、素片接続型音声合成が提案されている（例えば、特許文献１参照）。この素片接続型音声合成において、高品質な合成音声を得るためには、高精度に音素ラベリングをされた大規模な音声データベースが必要となる（音素ラベリングとは、音素の境界（音素境界）と各音素の種別を表すラベルを音声データに付与することを意味する）。しかし、人手による音素ラベリング作業には非常に大きなコストがかかる点が課題となっている。
【０００３】
この課題を解決するために、人手によって行われている音素ラベリング作業を自動的に行う手法（自動セグメンテーション）が提案されている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第２７６１５５２号公報
【特許文献２】特開２００４−７７９０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、従来の自動セグメンテーションは人手によるセグメンテーションと比べ、精度が悪く、自動セグメンテーションにより得られる音素境界と真の音素境界との間にずれが生じるという問題があった。このような問題は音声データを音素単位に区分する場合のみならず、音声データを音声素片ごとに区分する場合に一般化できる問題である。
【０００６】
本発明はこのような点に鑑みてなされたものであり、音声データを自動的に音声素片ごとに精度よく区分するための技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明では上記課題を解決するために、音声データが表す音声を構成する各音声素片の境界時間の推定値である素片境界によって区分された各区分時間区間をそれぞれ１以上の状態境界で区分した複数の状態時間区間を求め、隣接する２つの区分時間区間からなる処理時間区間ごとに、当該処理時間区間に含まれる隣接した状態時間区間からなる組の集合の中から、当該組をなす隣接した状態時間区間それぞれの音声データの代表値の距離が最大となる組を選択し、選択した当該組をなす隣接した状態時間区間の状態境界又は素片境界を、当該処理時間区間での修正された素片境界とする。
【発明の効果】
【０００８】
上述の組をなす隣接した状態時間区間それぞれの音声データの代表値の距離が最大となる場合、当該隣接した状態時間区間の間の状態境界が真の素片境界に最も近いと推定できる。本発明では、この状態境界を修正された素片境界とすることとしたため、音声データを自動的に音声素片ごとに精度よく区分することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施形態の音素境界修正装置の機能構成を説明するための図である。
【図２】図２は、ラベルデータの構成を例示するための図である。
【図３】図３は、第１実施形態の音素境界修正方法を説明するための図である。
【図４】図４は、実施形態の区分ステップを説明するための図である。
【図５】図５Ａ及び図５Ｂは、実施形態の境界修正ステップを説明するための図である。
【図６】図６は、第２実施形態の音素境界修正方法を説明するための図である。
【図７】図７は、第３実施形態の音素境界修正方法を説明するための図である。
【図８】図８は、第４実施形態の音素境界修正方法を説明するための図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して本発明の実施形態を説明する。
【００１１】
〔第１実施形態〕
第１実施形態では、音声データが表す音声を構成する各音声素片の境界時間の推定値である素片境界によって区分された各区分時間区間をそれぞれ１以上の状態境界で区分した複数の状態時間区間を求める区分ステップと、隣接する２つの区分時間区間からなる処理時間区間ごとに、当該処理時間区間に含まれる隣接した状態時間区間からなる組の集合の中から、当該組をなす隣接した状態時間区間それぞれの音声データの代表値の距離が最大となる組を選択し、選択した当該組をなす隣接した状態時間区間の状態境界又は素片境界を、当該処理時間区間での修正された素片境界とする境界修正ステップとを実行することで、音声データを自動的に音声素片ごとに精度よく区分する。
【００１２】
なお、本形態の区分ステップでは、区分時間区間の音声データを複数の時間区間の音声データにクラスタリングし、当該クラスタリングによって特定された当該複数の時間区間を複数の状態時間区間とする。これにより、状態時間区間の状態境界の何れかが真の素片境界に近時する頻度が高くなり、素片境界の修正精度が向上する。また、本形態の境界修正ステップでは、素片境界を境界とする隣接した状態時間区間の組と、当該素片境界よりも過去の状態境界を境界とする隣接した状態時間区間の組と、当該素片境界よりも未来の状態境界を境界とする隣接した状態時間区間の組とを含む集合から、当該組をなす隣接した状態時間区間それぞれの音声データの代表値の距離が最大となる組を選択し、選択した当該組をなす隣接した状態時間区間の状態境界を当該処理時間区間での修正された素片境界とする。
【００１３】
なお、音声素片とは１以上の音素からなる音声の単位を意味する。音声素片の例は、音素、単語、形態素、文などである。以下では、音声素片として音素を用いる場合を例示するが、これは本発明を限定するものではない。
【００１４】
＜構成＞
図１に例示するように、第１実施形態の音素境界修正装置１は、記憶部１１，１２，１５と区分部１３と境界修正部１４とを有する。区分部１３は、音素区分部１３Ａと状態区分部１３Ｂと記憶部１３Ｃとを有し、境界修正部１４は、状態間距離計算部１４Ａと境界選択部１４Ｂとを有する。
【００１５】
なお、音素境界修正装置１は、例えば、CPU(central processing unit)、RAM(random-access memory)、ROM(read-only memory)などを有する公知又は専用コンピュータと特別なプログラムとから構成される。例えば、記憶部１１，１２，１３Ｃ，１５は、RAM、レジスタ、キャッシュメモリ、ハードディスクやそれらを結合した記憶領域であり、音素区分部１３Ａや状態区分部１３Ｂや状態間距離計算部１４Ａなどの処理部は、例えば、特別なプログラムが読み込まれたCPUである。上記の特別なプログラムは、単一のプログラム列として構成されていてもよく、また、特別なプログラムの少なくとも一部が別個のモジュールとしてライブラリに格納されていてもよい。また、上記の特別なプログラム単体で本形態の機能を実現できるものでもよいし、上記の特別なプログラムがさらに他のライブラリ（記載していない）を読み出して各機能を実現してもよい。また、処理部の少なくとも一部が集積回路によって構成されていてもよい。
【００１６】
＜事前処理＞
記憶部１１には、音素境界（「素片境界」の例）の修正を行うラベルデータに対応する音声データが格納される。音声データとは音声を表すデータである。本形態では、観測された音声信号に信号処理を行った結果得られる時系列スペクトルパラメータ（ケプストラム、メルケプストラム等）を音声データとする。
【００１７】
記憶部１２には、上記のラベルデータが格納される。ラベルデータとは、公知の自動セグメンテーション技術などを用い、記憶部１１に格納された音声データが表す音声が含む音素の名称（音素名）と各音素の開始時間と終了時間とを対応付けたデータである。図２の例では、例えば、音素名「pause」に対して開始時間「0 [ms]」と終了時間「350 [ms]」とが対応付けられ、音素名「o」に対して開始時間「350 [ms]」と終了時間「600 [ms]」とが対応付けられ、音素名「s」に対して開始時間「600 [ms]」と終了時間「680 [ms]」とが対応付けられ、音素名「a」に対して開始時間「680 [ms]」と終了時間「830 [ms]」とが対応付けられている。なお、各音素名に対応付けられた開始時間や終了時間は、当該各音素名に対応する各音素の境界時間の推定値であり、「音素境界」に相当する。また、各音素名に対応付けられた開始時間と終了時間とによって区分された時間区間が、各音素名に対応する「区分時間区間」に相当する。例えば、開始時間「350 [ms]」から終了時間「600 [ms]」までの時間区間が音素名「o」に対応する区分時間区間である。
【００１８】
＜音素境界修正処理＞
次に、図３を用いて本形態の音素境界修正処理を説明する。
【００１９】
［区分ステップ］
区分ステップでは、区分部１３が、各区分時間区間をそれぞれ１以上の状態境界で区分した複数の状態時間区間を求める。以下に本形態の区分ステップの内容を説明する。
【００２０】
まず、区分部１３の音素区分部１３Ａに音声データとラベルデータとが入力される。音素区分部１３Ａは、ラベルデータが有する各音素の開始時間と終了時間とを用い（図２参照）、音声データを音素ごとに区分する。言い換えると、音素区分部１３Ａは、音声データを音素境界（開始時間と終了時間）で区分し、音素境界で挟まれた各区分時間区間の音声データに、それと対応する音素名を対応付ける。例えば、図２の例では、時間0〜350 [ms]の区分時間区間の音声データに音素名「pause」が対応付けられ、350〜600 [ms]の区分時間区間の音声データに音素名「o」が対応付けられ、600〜680 [ms]の区分時間区間の音声データに音素名「s」が対応付けられ、680〜830 [ms]の区分時間区間の音声データに音素名「a」が対応付けられる。音素区分部１３Ａは、このように各区分時間区間の音声データに音素名が対応付けられた音素情報付音声データ１０１（図４参照）を生成して出力する。なお、各区分時間区間の音声データを「音素データ」と呼ぶことにする（ステップＳ１０１）。
【００２１】
音素情報付音声データ１０１は状態区分部１３Ｂに入力される。状態区分部１３Ｂは、音素ごとに区分された音声データをより短い区間で扱うために、音素情報付音声データ１０１の各区分時間区間をそれぞれ１以上の状態境界で区分した複数の状態時間区間を求め、音素区分情報付音声データ１０１を状態時間区間ごとに区分する。図４の例では、音素名「s」に対応する区分時間区間１１０が５つの状態時間区間１１１〜１１５に区分されている。本形態の状態区分部１３Ｂは、すべての音素データi=1,...,N（Nはラベルデータが表す音素名の総数）をそれぞれ任意の状態数K(K≧2)に区分し、各音素名と音素境界と状態境界とが特定された音素・状態区分情報付音声データ１０２を生成して記憶部１３Ｃに格納する（ステップＳ１０２〜Ｓ１０４）。
【００２２】
なお、音素データi=1,...,Nをそれぞれ任意の状態数K(K≧2)に区分する処理は、音素データiごとに順番に実行されてもよいし、複数の音素データiに対して並列に実行されてもよい。また、本形態では、クラスタリング技術を用いて各区分時間区間を複数の状態時間区間に区分する。クラスタリング技術の例は、セグメンタルk-means法等などである。セグメンタルk-means法は、音声等の時間的に連続した信号をクラスタリングするための手法で、入力信号に対して特徴区間毎に適切な状態分割を行うことが可能である。これにより、状態時間区間の状態境界の何れかが真の音素境界に近時する頻度が高くなり、音素境界の修正精度が向上する。また、入力音声が音素単位に区分される場合、状態数Kは5以上であることが望ましい。また、１つの状態時間区間が10〜20 [ms]となることが望ましい。状態時間区間の状態境界の何れかが真の音素境界に近時する頻度がより高くなるからである。例えば、図４の例では、音素名「o」の区分時間区間と音素名「s」の区分時間区間との間の音素境界と真の音素境界とのずれがあり、音素名「s」の区分時間区間１１０に音素「o」に真に対応する音声データの一部が含まれている。しかしながら、状態時間区間１１１と状態時間区間１１２との間の状態境界１２０が、音素「o」と音素「s」との間の真の音素境界に近時している。
【００２３】
［境界修正ステップ］
境界修正ステップでは、境界修正部１４が、隣接する２つの区分時間区間からなる処理時間区間ごとに、当該処理時間区間に含まれる隣接した状態時間区間からなる組の集合の中から、当該組をなす隣接した状態時間区間それぞれの音声データの代表値の距離が最大となる組を選択し、選択した当該組をなす隣接した状態時間区間の状態境界又は音素境界を、当該処理時間区間での修正された音素境界とする。以下に本形態の境界修正ステップの内容を説明する。
【００２４】
本形態の境界修正ステップでは、各音素データj=1,...,N-1について、それぞれ以下のステップＳ１０６〜Ｓ１０９の処理が実行される（ステップＳ１０５〜Ｓ１１０）。これらの処理は、音素データjごとに順番に実行されてもよいし、複数の音素データjに対して並列に実行されてもよい。
【００２５】
まず、音素・状態区分情報付音声データ１０２が状態間距離計算部１４Ａに入力される。状態間距離計算部１４Ａは、j番目の音素データに対応する区分時間区間とj+1番目の音素データに対応する区分時間区間との間の音素境界に対し、当該音素境界近傍の状態間距離（dleft, dcenter, dright）を求める。言い換えると、隣接するj番目の区分時間区間とj+1番目の区分時間区間とからなる処理時間区間ごとに、状態間距離（dleft, dcenter, dright）を求める。状態間距離は、処理時間区間に含まれる隣接する状態時間区間の組に対して求められる。本形態では、音素境界を境界とする隣接した状態時間区間の組と、音素境界よりも１つ過去の状態境界を境界とする隣接した状態時間区間の組と、音素境界よりも１つ未来の状態境界を境界とする隣接した状態時間区間の組とに対して求められる。また、本形態の状態間距離は、組をなす隣接した状態時間区間それぞれの音声データの代表値の距離である。以下に、本形態の状態間距離（dleft, dcenter, dright）を例示する（図５Ａ参照）。
【００２６】
dleft= d(Sj,K-1, Sj,K)    …(1)
dcenter= d(Sj,K, Sj+1,1)    …(2)
dright= d(Sj+1,1, Sj+1,2)    …(3)
ここで、d(Sα1,κ1, Sα2,κ2)は、Sα1,κ1とSα2,κ2との距離を表す。この距離尺度の例は、ユークリッド距離やマハラノビス距離等である。距離尺度としてユークリッド距離が用いられる場合には、
d(Sα1, κ1, Sα2, κ2) = (c(Sα1, κ1) - c(Sα2, κ2))2    …(4)
を満たす。
【００２７】
また、Sα, κは、α番目の音素データに対応する区分時間区間中のκ番目の状態時間区間を表している。また、c(S)は、状態時間区間Sでの音声データの代表値を返す関数であり、状態時間区間Sでの音声データの代表値の例は、状態時間区間Sでの音声データの平均値、状態時間区間Sでの音声データの平均値に最も距離が近い実サンプルの音声データ等である。例えば、音声データがケプストラムやメルケプストラムである場合、c(S)は、状態時間区間Sでのケプストラムの代表値を返す関数であり、状態時間区間Sでのケプストラムの代表値の例は、状態時間区間Sでのケプストラムの平均値、或いは状態時間区間Sでのケプストラムの平均値に最も距離が近い実サンプルのケプストラム等である（ステップＳ１０６）。
【００２８】
状態間距離計算部１４Ａで算出された３つの状態間距離（dleft, dcenter, dright）は境界選択部１４Ｂに入力される。境界選択部１４Ｂは、これら３つの状態間距離（dleft, dcenter, dright）のうち距離が最も大きいものを選択する（ステップＳ１０７）。ここで、３つの状態間距離（dleft, dcenter, dright）のうち、距離が最も大きいものに対応する状態時間区間の組の境界（状態境界又は音素境界）が、j番目の音素データに対応する区分時間区間とj+1番目の音素データに対応する区分時間区間との間の真の音素境界である可能性が高いと考えられる。よって、境界選択部１４Ｂは、j番目の音素データに対応する区分時間区間とj+1番目の音素データに対応する区分時間区間との間の音素境界を以下のように修正する。
【００２９】
状態間距離dleftが最大となる場合には、音素境界を状態時間区間Sj, K-1とSj, Kとの間の状態境界に修正する（ステップＳ１０８）。状態間距離dcenterが最大となる場合には、音素境界を修正しない（音素境界を状態時間区間Sj,KとSj+1,1との間の音素境界とする）。状態間距離drightが最大となる場合には、音素境界を状態時間区間Sj+1, 1とSj+1, 2との間の状態境界に修正する（ステップＳ１０９）。例えば、図５Ｂの例では、状態間距離drightが最大となるため、j番目の音素データに対応する区分時間区間とj+1番目の音素データに対応する区分時間区間との間の音素境界が時間Ａから時間Ｂに修正される。
【００３０】
各音素データj=1,...,N-1について上記の処理が実行され、音素境界の修正が終了すると、境界修正部１４は音素境界が修正されたラベルデータを出力し、当該修正後のラベルデータを記憶部１５に格納する。
【００３１】
〔第２実施形態〕
次に、本発明の第２実施形態を説明する。本形態は第１実施形態の変形例である。本形態では、境界修正ステップで得られた修正された音素境界を区分ステップでの音素境界とし、区分ステップと境界修正ステップとを再び実行する処理を所定の終了条件を満たすまで繰り返す。これにより、より精度の高い修正を行うことができる。以下では、第１実施形態との相違点を中心に説明し、第１実施形態と共通する事項については説明を省略する。
【００３２】
＜構成＞
図１に例示するように、第２実施形態の音素境界修正装置２は、記憶部１１，１２，１５と区分部１３と境界修正部１４と収束判定部２６とを有する。なお、音素境界修正装置２は、例えば、CPU、RAM、ROMなどを有する公知又は専用コンピュータと特別なプログラムとから構成され、CPUに当該特別なプログラムが読み込まれることで後述の処理を実行する。
【００３３】
＜事前処理＞
第１実施形態と同じであるため説明を省略する。
【００３４】
＜音素境界修正処理＞
次に、図６を用いて本形態の音素境界修正処理を説明する。
【００３５】
まず、音素境界修正装置２は、第１実施形態で説明したステップＳ１０１〜Ｓ１１０の処理を実行する。次に、これによって得られた修正後のラベルデータとその修正前のラベルデータとが収束判定部２６に入力される。収束判定部２６は、これらを比較して所定の終了条件を満たすか否かを判定する。本形態では、修正後のラベルデータが表す音素データjと音素データj+1との間の音素境界と、その修正前のラベルデータが表す音素データjと音素データj+1との間の音素境界とが、すべてのj=1,...,N-1について同一であることを終了条件とする。以下に、本形態の収束判定部２６での処理の流れを示す。
【００３６】
収束判定部２６は、各j=1,...,N-1について、修正後のラベルデータが表す音素データjと音素データj+1との間の音素境界と、その修正前のラベルデータが表す音素データjと音素データj+1との間の音素境界とが同一であるか否かを判定する（ステップＳ２０１〜Ｓ２０３）。ここで、何れかのj=1,...,N-1について、修正後のラベルデータが表す音素データjと音素データj+1との間の音素境界と、その修正前のラベルデータが表す音素データjと音素データj+1との間の音素境界とが同一でなかった場合、ラベルデータの修正結果が収束していないとみなして、修正後のラベルデータを新たなラベルデータとして区分部１３に入力し、第１実施形態で説明したステップＳ１０１〜Ｓ１１０の処理を再び実行し、新たに修正後のラベルデータを生成して記憶部１５に上書き保存する。一方、すべてのj=1,...,N-1について、修正後のラベルデータが表す音素データjと音素データj+1との間の音素境界と、その修正前のラベルデータが表す音素データjと音素データj+1との間の音素境界とが同一であった場合、ラベルデータの修正結果が収束しているとみなして、処理を終了する。
【００３７】
〔第３実施形態〕
第１実施形態の境界修正部１４は、j番目の音素データに対応する区分時間区間とj+1番目の音素データに対応する区分時間区間との間の音素境界に対し、当該音素境界及びその前後の状態境界についての状態間距離（dleft, dcenter, dright）のみを求め（式(1)〜(3)参照）、音素境界の修正を行った。そのため、音素境界の１つ前又は１つ後の状態境界にしか音素境界を修正することができない。本形態では、音素境界及びその前後の状態境界だけではなく、その他の状態境界についても状態間距離を求め、音素境界の修正を行う。これにより、適切な任意の位置に音素境界を修正することが可能となる。以下では、第１実施形態との相違点を中心に説明し、第１実施形態と共通する事項については説明を省略する。
【００３８】
＜構成＞
図１に例示するように、第３実施形態の音素境界修正装置３は、記憶部１１，１２，１５と区分部１３と境界修正部３４とを有する。境界修正部３４は、状態間距離計算部３４Ａと境界選択部３４Ｂとを有する。なお、音素境界修正装置３は、例えば、CPU、RAM、ROMなどを有する公知又は専用コンピュータと特別なプログラムとから構成され、CPUに当該特別なプログラムが読み込まれることで後述の処理を実行する。
【００３９】
＜事前処理＞
第１実施形態と同じであるため説明を省略する。
【００４０】
＜音素境界修正処理＞
次に、図７を用いて本形態の音素境界修正処理を説明する。
【００４１】
［区分ステップ］
まず、第１実施形態で説明した区分ステップが実行される（ステップＳ１０１〜Ｓ１０４）。
【００４２】
［境界修正ステップ］
次に、境界修正ステップが実行される。本形態の境界修正ステップでは、境界修正部３４が、隣接する２つの区分時間区間からなる処理時間区間ごとに、当該処理時間区間に含まれる隣接した状態時間区間からなる組の集合の中から、当該組をなす隣接した状態時間区間それぞれの音声データの代表値の距離が最大となる組を選択し、選択した当該組をなす隣接した状態時間区間の状態境界又は音素境界を、当該処理時間区間での修正された音素境界とする。ただし、本形態の場合、上記処理時間区間に含まれる隣接した状態時間区間の組の集合は、当該隣接した状態時間区間の組を４種類以上含む。以下に本形態の境界修正ステップの内容を説明する。
【００４３】
本形態の境界修正ステップでは、各音素データj=1,...,N-1について、それぞれ以下のステップＳ３０６〜Ｓ３１０の処理が実行される（ステップＳ３０５〜Ｓ３１１）。これらの処理は、音素データjごとに順番に実行されてもよいし、複数の音素データjに対して並列に実行されてもよい。
【００４４】
まず、音素・状態区分情報付音声データ１０２が状態間距離計算部３４Ａに入力される。状態間距離計算部３４Ａは、j番目の音素データに対応する区分時間区間とj+1番目の音素データに対応する区分時間区間との間の音素境界に対し、当該音素境界近傍の状態間距離を４種類以上求める。言い換えると、隣接するj番目の区分時間区間とj+1番目の区分時間区間とからなる処理時間区間ごとに、当該処理時間区間に含まれる４種類以上の隣接する状態時間区間の組に対してそれぞれ状態間距離を求める。本形態の状態間距離計算部３４Ａは、例えば、以下のように各m=-L,-L+1,...,L-1,L (LはKより小さい正整数)について状態間距離dmを求める。
【００４５】
【数１】
0005498252.tif 000002
【００４６】
なお、状態間距離の定義等は第１実施形態と同じである。これらの処理は、音素データmごとに順番に実行されてもよいし、複数のmに対して並列に実行されてもよい（ステップＳ３０６〜Ｓ３０８）。
【００４７】
状態間距離計算部３４Ａで算出された各状態間距離dmは境界選択部３４Ｂに入力される。境界選択部３４Ｂは、入力された各状態間距離dmのうち距離が最も大きいものを選択する（ステップＳ３０９）。そして、境界選択部３４Ｂは、選択した状態間距離dm'(m'∈{-L,-L+1,...,L-1,L})に対応する状態境界又は音素境界を修正後の状態境界とする。すなわち、境界選択部３４Ｂは、状態間距離dm'(m'<0)が最大の場合には、音素境界を状態時間区間Sj, K+m'とSj, K+m'+1との間の状態境界に修正し、状態間距離d0が最大の場合には、音素境界を修正せず（音素境界を状態時間区間Sj,KとSj+1,1との間の音素境界とする）、状態間距離dm'(m'>0)が最大の場合には、音素境界を状態時間区間Sj+1, m'とSj+1, m'+1との間の状態境界に修正する。境界選択部３４Ｂは、このように音素境界を修正したラベルデータは出力、当該修正後のラベルデータを記憶部１５に格納する（ステップＳ３１０）。
【００４８】
〔第４実施形態〕
次に、本発明の第４実施形態を説明する。本形態は第３実施形態の変形例である。本形態では、境界修正ステップで得られた修正された音素境界を区分ステップでの音素境界とし、区分ステップと境界修正ステップとを再び実行する処理を所定の終了条件を満たすまで繰り返す。これにより、より精度の高い修正を行うことができる。以下では、第１〜３実施形態との相違点を中心に説明し、第１〜３実施形態と共通する事項については説明を省略する。
【００４９】
＜構成＞
図１に例示するように、第４実施形態の音素境界修正装置４は、記憶部１１，１２，１５と区分部１３と境界修正部３４と収束判定部２６とを有する。なお、音素境界修正装置４は、例えば、CPU、RAM、ROMなどを有する公知又は専用コンピュータと特別なプログラムとから構成され、CPUに当該特別なプログラムが読み込まれることで後述の処理を実行する。
【００５０】
＜事前処理＞
第１実施形態と同じであるため説明を省略する。
【００５１】
＜音素境界修正処理＞
次に、図８を用いて本形態の音素境界修正処理を説明する。
【００５２】
まず、音素境界修正装置４は、第１実施形態で説明したステップＳ１０１〜Ｓ１０４及び第３実施形態で説明したステップＳ３０５〜Ｓ３１１の処理を実行する。次に、これによって得られた修正後のラベルデータとその修正前のラベルデータとが収束判定部２６に入力される。収束判定部２６は、これらを比較して所定の終了条件を満たすか否かを判定する。本形態では、修正後のラベルデータが表す音素データjと音素データj+1との間の音素境界と、その修正前のラベルデータが表す音素データjと音素データj+1との間の音素境界とが、すべてのj=1,...,N-1について同一であることを終了条件とする。以下に、本形態の収束判定部２６での処理の流れを示す。
【００５３】
収束判定部２６は、各j=1,...,N-1について、修正後のラベルデータが表す音素データjと音素データj+1との間の音素境界と、その修正前のラベルデータが表す音素データjと音素データj+1との間の音素境界とが同一であるか否かを判定する（ステップＳ２０１〜Ｓ２０３）。ここで、何れかのj=1,...,N-1について、修正後のラベルデータが表す音素データjと音素データj+1との間の音素境界と、その修正前のラベルデータが表す音素データjと音素データj+1との間の音素境界とが同一でなかった場合、ラベルデータの修正結果が収束していないとみなして、修正後のラベルデータを新たなラベルデータとして区分部１３に入力し、第１，３実施形態で説明したステップＳ１０１〜Ｓ１１０，Ｓ３０５〜Ｓ３１１の処理を再び実行し、新たに修正後のラベルデータを生成して記憶部１５に上書き保存する。一方、すべてのj=1,...,N-1について、修正後のラベルデータが表す音素データjと音素データj+1との間の音素境界と、その修正前のラベルデータが表す音素データjと音素データj+1との間の音素境界とが同一であった場合、ラベルデータの修正結果が収束しているとみなして、処理を終了する。
【００５４】
〔その他の変形例〕
なお、本発明は上述の実施の形態に限定されるものではない。例えば、上記の各実施形態では、音素境界についての状態間距離、及び、音素境界の直前及び直後の状態境界についての状態間距離が必ず求められ、音素境界が修正されることとした。しかし、音素境界についての状態間距離、音素境界の直前の状態境界についての状態間距離、又は直後の状態境界についての状態間距離が求められることなく、音素境界が修正されてもよい。
【００５５】
また、上記の各実施形態では、連続する境界（音素境界又は状態境界）のそれぞれについて状態間距離が求められ、音素境界が修正されることとした。しかし、q個（qは１以上の正整数）おきの境界（音素境界又は状態境界）のそれぞれのみについて状態間距離が求められ、音素境界が修正されてもよい。
【００５６】
また、上記の各実施形態では、音声素片が音素であり、素片境界が音素境界である例を示した。しかし、各音声素片が単語その他の複数の音素を含む単位であってもよい。
【００５７】
また、上記の各実施形態では、セグメンタルk-means法を用い、音素データに対応する区分時間区間を複数の状態時間区間に区分した。しかし、その他のクラスタリング技術を用い、音素データに対応する区分時間区間を複数の状態時間区間に区分してもよい。また、クラスタリング技術を用いるのではなく、例えば、音素データに対応する区分時間区間を均等に分割した区間を状態時間区間としたり、音素データに対応する区分時間区間を所定の時間区間ごとに分割したものを状態時間区間としたりしてもよい。
【００５８】
また、第２，４実施形態では、「修正後のラベルデータが表す音素データjと音素データj+1との間の音素境界とその修正前のラベルデータが表す音素データjと音素データj+1との間の音素境界とがすべてのj=1,...,N-1について同一であること」を終了条件とし、当該終了条件を満たすまで、境界修正ステップで得られた修正された素片境界を新たな区分ステップでの素片境界とし、区分ステップと境界修正ステップとを再び実行する処理を繰り返すこととした。しかし、その他の終了条件を用いてもよい。例えば、「区分ステップと境界修正ステップとの繰り返し回数が所定回に達したこと」を終了条件としてもよい。或いは、例えば、「修正後のラベルデータが表す音素データjと音素データj+1との間の音素境界とその修正前のラベルデータが表す音素データjと音素データj+1との間の音素境界とが所定個以上のjについて同一であること」を終了条件としてもよい。或いは、例えば、「修正後のラベルデータが表す音素データjと音素データj+1との間の音素境界とその修正前のラベルデータが表す音素データjと音素データj+1との間の音素境界との時間情報の差がすべてのj=1,...,N-1について所定時間以下であること」を終了条件としてもよい。
【００５９】
また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【００６０】
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【００６１】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【００６２】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００６３】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００６４】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【産業上の利用可能性】
【００６５】
例えば、本発明によって音素境界が修正されたラベルデータを用いることにより、当該修正されたラベルデータに対応する音声データを用いて合成音声を生成する際の音質が向上する。
【符号の説明】
【００６６】
１〜４  素片境界修正装置
１３  区分部
１４，３４  境界修正部
２６  収束判定部
【図１】
0005498252.tif 000003
【図２】
0005498252.tif 000004
【図３】
0005498252.tif 000005
【図４】
0005498252.tif 000006
【図５】
0005498252.tif 000007
【図６】
0005498252.tif 000008
【図７】
0005498252.tif 000009
【図８】
0005498252.tif 000010