(57)【要約】【課題】二つの音声スペクトルの間で、周波数軸上での対応点を自動的に探索できる周波数対応点探索装置を提供する。【解決手段】周波数対応点探索装置４４は、第１及び第２の音声スペクトル４０，４２を累積して、周波数の関数である第１及び第２の累積対数パワースペクトルを算出する第１及び第２の累積処理部８４，８６と、第１及び第２の累積対数パワースペクトルにおいて互いに等しい累積対数パワースペクトルの値を与える周波数を求め、それら周波数の差分からなる等価累積対数スペクトル周波数マップ９４を周波数の関数として作成する等価累積対数スペクトル周波数マップ作成処理部９２と、このマップ９４において所定の条件を充足する点を求め、当該点に対応する第１及び第２の周波数を、第１及び第２の音声スペクトル４０，４２の周波数の間の対応点として出力する対応点テーブル作成処理部９６とを含む。【選択図】      図２
2007212908.tif 000002
【特許請求の範囲】
【請求項１】
第１及び第２の音声スペクトルの間の周波数の対応点を探索するための周波数対応点探索装置であって、
前記第１及び第２の音声スペクトルをそれぞれ累積する事により、いずれも周波数の関数である第１及び第２の累積対数パワースペクトルをそれぞれ算出するための第１及び第２の累積対数パワースペクトル算出手段と、
前記第１及び第２の累積対数パワースペクトルにおいて互いに等しい累積対数パワースペクトルの値を与える周波数を求め、それら周波数の差分からなる等価累積対数スペクトル周波数マップを、前記第１の音声スペクトルの周波数の関数として作成するための等価累積対数スペクトル周波数マップ作成手段と、
前記等価累積対数スペクトル周波数マップにおいて、所定の条件を充足する点を求め、当該点に対応する第１及び第２の周波数を、それぞれ前記第１及び第２の音声スペクトルの周波数の間の対応点として出力するための対応点探索部とを含む、周波数対応点探索装置。
【請求項２】
前記対応点探索部は、
前記等価累積対数スペクトル周波数マップにおいて前記所定の条件を充足する点に対応する第１の周波数を検出し、前記対応点における前記第１の音声スペクトルの周波数として出力するための第１の検出手段と、
前記等価累積対数スペクトル周波数マップにおいて前記第１の周波数の前記関数として定まる値だけ、前記第１の周波数と異なる第２の周波数を検出し、前記対応点における前記第２の音声スペクトルの周波数として出力するための第２の検出手段とを含む、請求項１に記載の周波数対応点探索装置。
【請求項３】
前記第１の検出手段は、
前記等価累積対数スペクトル周波数マップに対し、周波数に対する単調減少関数である所定の重み関数を乗ずる事により、前記等価累積対数パワースペクトルの差分の大きさを、各周波数に対して評価するためのコストを算出するためのコスト算出手段と、
前記コスト算出手段により算出されたコストが最大となる周波数を、前記対応点における前記第１の音声スペクトルの周波数として出力するための手段とを含む、請求項２に記載の周波数対応点探索装置。
【請求項４】
前記対応点探索部はさらに、
前記第１の検出手段により出力された周波数における値が０となるように、かつ既に検出された対応点における値が変化しないように、前記第１の検出手段から出力される周波数と、隣接する対応点の周波数との間で、前記等価累積対数スペクトル周波数マップを所定の一次変換により更新するための更新手段と、
前記等価累積対数スペクトル周波数マップを、所定の個数の対応点が検出されるまで繰返し処理するように前記第１及び第２の検出手段、並びに前記更新手段を制御するための制御手段とを含む、請求項３に記載の周波数対応点探索装置。
【請求項５】
コンピュータにより実行されると、当該コンピュータに、第１及び第２の音声スペクトルの間の周波数の対応点を探索する方法を実行させるためのコンピュータプログラムであって、
前記方法は、
前記第１及び第２の音声スペクトルをそれぞれ累積する事により、いずれも周波数の関数である第１及び第２の累積対数パワースペクトルをそれぞれ算出する累積対数パワースペクトル算出ステップと、
前記第１及び第２の累積対数パワースペクトルにおいて互いに等しい累積対数パワースペクトルの値を与える周波数を求め、それら周波数の差分からなる等価累積対数スペクトル周波数マップを、前記第１の音声スペクトルの周波数の関数として作成する等価累積対数スペクトル周波数マップ作成ステップと、
前記等価累積対数スペクトル周波数マップにおいて、所定の条件を充足する点を求め、当該点に対応する第１及び第２の周波数を、それぞれ前記第１及び第２の音声スペクトルの周波数の間の対応点として出力する対応点探索ステップとを含む、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は音声合成技術に関し、特に、二つの音声スペクトルの間の周波数の対応点を自動的に探索するための周波数対応点探索装置に関する。
【背景技術】
【０００２】
音声合成のためのツールとして、非特許文献１に紹介された「ＳＴＲＡＩＧＨＴ」と呼ばれる高品位ボコーダがある。このボコーダの応用形態として、２種の音声の間の「中間形」を高品質に合成する手法が提案されている。以下、この手法を「音声モルフィング手法」と呼ぶ。
【０００３】
この手法では、２種の音声のスペクトログラム（音声の時間−周波数領域の表現）に基づいて、特徴となる点の対応関係を与える必要がある。この対応関係は非線形対応である。従来は、この対応関係を、スペクトログラム上で、目視による手作業で行なっていた。
【非特許文献１】河原英紀、「高品質音声分析変換合成システム  STRAIGHT」、［ｏｎｌｉｎｅ］、２００４年１月２９日、和歌山大学、［２００６年２月６日検索］、インターネット（ＵＲＬ：http://www.wakayama-u.ac.jp/~kawahara/STRAIGHTadv/）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
現在、素片接続型の音声合成において、音声素片の合成時の接続歪をこの音声モルフィング手法により低減させる手法が提案されている。このような応用形態においては、接続の組合せごとに音声モルフィング手法を適用する必要があり、各々の組合せについて音声スペクトルの間の周波数の対応関係を準備しなければならない。従来のようにこの対応関係を目視で行なう手法を採用した場合、音声合成に適用する事は現実的には不可能である。従って、対応関係を自動的に抽出する技術が求められている。
【０００５】
ところで、素片接続による音声合成では、各音声素片に対する分節化とラベリング情報とは事前に与えられていると仮定できる。従って、時間軸上での対応関係については、こうした情報を使う事により実質的に付与可能と考えられる。その結果、二つの音声スペクトルの間で、周波数の対応関係を自動的に与える技術が実現できれば、音声合成に音声モルフィング手法を適用する事が可能になる。この場合、周波数帯域全体の対応関係ではなく、何点かの対応関係だけ付ければ、対応点と対応点との間の音声モルフィングには内挿を用いる事ができる。従って、所望の個数の対応点を見つける事さえできるようになればよいと考えられる。
【０００６】
それゆえに本発明の目的は、二つの音声スペクトルの間で、周波数軸上での対応点を自動的に探索できる周波数対応点探索装置を提供する事である。
【０００７】
本発明の他の目的は、二つの音声スペクトルの間で、周波数軸上での対応点を自動的に安定して探索できる周波数対応点探索装置を提供する事である。
【課題を解決するための手段】
【０００８】
本発明の第１の局面に係る周波数対応点探索装置は、第１及び第２の音声スペクトルの間の周波数の対応点を探索するための周波数対応点探索装置であって、第１及び第２の音声スペクトルをそれぞれ累積する事により、いずれも周波数の関数である第１及び第２の累積対数パワースペクトルをそれぞれ算出するための第１及び第２の累積対数パワースペクトル算出手段と、第１及び第２の累積対数パワースペクトルにおいて互いに等しい累積対数パワースペクトルの値を与える周波数を求め、それら周波数の差分からなる等価累積対数スペクトル周波数マップを、第１の音声スペクトルの周波数の関数として作成するための等価累積対数スペクトル周波数マップ作成手段と、等価累積対数スペクトル周波数マップにおいて、所定の条件を充足する点を求め、当該点に対応する第１及び第２の周波数を、それぞれ第１及び第２の音声スペクトルの周波数の間の対応点として出力するための対応点探索手段とを含む。
【０００９】
第１及び第２の累積対数パワースペクトル算出手段が、それぞれ第１及び第２の音声スペクトルから第１及び第２の累積対数パワースペクトルを算出する。これらの累積対数パワースペクトルにおいて互いに等しい値を与える周波数の差分から、等価累積対数スペクトル周波数マップ作成手段が等価累積対数スペクトル周波数マップを作成する。対応点探索手段は、このマップにおいて所定の条件を充足する点を求め、その点に対応する第１及び第２の周波数を対応点の周波数として出力する。
【００１０】
累積対数パワースペクトルは単調増加関数であり、第１及び第２の音声スペクトルそのものから対応点を求める場合と比較して不安定要因が除かれ、安定した対応関係を自動的に得る事ができる。求められた対応点は必ずしもフォルマントとは一致しないが、著しく誤った対応関係ではなく、安定してほぼ正しい対応関係を与えるものとなる。その結果、この対応関係を用いて二つの音声スペクトルの間で、周波数軸上での対応点を自動的に探索できる周波数対応点探索装置を提供できる。
【００１１】
好ましくは、対応点探索部は、等価累積対数スペクトル周波数マップにおいて所定の条件を充足する点に対応する第１の周波数を検出し、対応点における第１の音声スペクトルの周波数として出力するための第１の検出手段と、等価累積対数スペクトル周波数マップにおいて第１の周波数の関数として定まる値だけ、第１の周波数と異なる第２の周波数を検出し、対応点における第２の音声スペクトルの周波数として出力するための第２の検出手段とを含む。
【００１２】
対応点の情報は、第１の音声スペクトルにおける周波数と、第２の音声スペクトルにおける周波数という形で得られる。両スペクトルにおける対応関係が周波数の関係として得られる事により、他の点での対応関係も対応点における周波数の対応関係の内挿として容易に得る事ができる。
【００１３】
より好ましくは、第１の検出手段は、等価累積対数スペクトル周波数マップに対し、周波数に対する単調減少関数である所定の重み関数を乗ずる事により、等価累積対数パワースペクトルの差分の大きさを、各周波数に対して評価するためのコストを算出するためのコスト算出手段と、コスト算出手段により算出されたコストが最大となる周波数を、対応点における第１の音声スペクトルの周波数として出力するための手段とを含む。
【００１４】
等価累積対数パワースペクトルの算出においては、累積誤差の蓄積により、周波数値が大きくなるほど大きくなる傾向がある。一方、音声信号の音韻性は、比較的低域の周波数による支配が強い。このような誤差の排除、及び知覚に対する適合性を達成するために、周波数に対する単調減少関数である所定の重み関数を等価累積対数スペクトル周波数マップに対し乗算し、その後にマップ上で最大値を与える点を対応点とする。
【００１５】
このようにして検出された対応点は、重み関数の取り方にもよるが、比較的広い範囲にわたり分散する。その結果、得られた対応点の情報に基づき、音声スペクトルの広い範囲で、対応関係を推定できる。
【００１６】
対応点探索部はさらに、第１の検出手段により出力された周波数における値が０となるように、かつ既に検出された対応点における値が変化しないように、第１の検出手段から出力される周波数と、隣接する対応点の周波数との間で、等価累積対数スペクトル周波数マップを所定の一次変換により更新するための更新手段と、この等価累積対数スペクトル周波数マップを、所定の個数の対応点が検出されるまで繰返して処理するように第１及び第２の検出手段、並びに更新手段を制御するための制御手段とを含む。
【００１７】
対応点が検出された後、その対応点における等価累積対数スペクトル周波数マップの値が０となるように、かつ既に検出された対応点における値が変化しないように、更新手段により等価累積対数スペクトル周波数マップが更新される。この更新は、新たに検出された対応点の周波数と、隣接する対応点の周波数との間で行なわれる。他の対応点には影響を与えず、対応点の周辺のみで局所的に等価累積対数スペクトル周波数マップの値を更新する。従って、第１及び第２の検出手段、並びに更新手段が、制御手段による制御によって所定個数の対応点が検出されるまでこの処理を繰返し行なう場合でも、対応点が偏在せず、広い範囲で対応点を検出できる。
【００１８】
本発明の第２の局面に係るコンピュータプログラムは、コンピュータにより実行されると、当該コンピュータに、第１及び第２の音声スペクトルの間の周波数の対応点を探索する方法を実行させるためのコンピュータプログラムであって、方法は、第１及び第２の音声スペクトルをそれぞれ累積する事により、いずれも周波数の関数である第１及び第２の累積対数パワースペクトルをそれぞれ算出する累積対数パワースペクトル算出ステップと、第１及び第２の累積対数パワースペクトルにおいて互いに等しい累積対数パワースペクトルの値を与える周波数を求め、それら周波数の差分からなる等価累積対数スペクトル周波数マップを、第１の音声スペクトルの周波数の関数として作成する等価累積対数スペクトル周波数マップ作成ステップと、等価累積対数スペクトル周波数マップにおいて、所定の条件を充足する点を求め、当該点に対応する第１及び第２の周波数を、それぞれ第１及び第２の音声スペクトルの周波数の間の対応点として出力する対応点探索ステップとを含む。
【００１９】
累積対数パワースペクトルは単調増加関数であり、第１及び第２の音声スペクトルそのものから対応点を求める場合と比較して不安定要因が除かれ、安定した対応関係を自動的に得る事ができる。求められた対応点は必ずしもフォルマントとは一致しないが、著しく誤った対応関係ではなく、安定してほぼ正しい対応関係を与えるものとなる。その結果、この対応関係を用いて二つの音声スペクトルの間で、周波数軸上での対応点を自動的に探索できるコンピュータプログラムを提供できる。
【００２０】
好ましくは、対応点探索ステップは、等価累積対数スペクトル周波数マップにおいて所定の条件を充足する点に対応する第１の周波数を検出し、対応点における第１の音声スペクトルの周波数として出力する第１の検出ステップと、等価累積対数スペクトル周波数マップにおいて第１の周波数の関数として定まる値だけ、第１の周波数と異なる第２の周波数を検出し、対応点における第２の音声スペクトルの周波数として出力する第２の検出ステップとを含む。
【００２１】
対応点の情報は、第１の音声スペクトルにおける周波数と、第２の音声スペクトルにおける周波数という形で得られる。両スペクトルにおける対応関係が周波数の関係として得られる事により、他の点での対応関係も対応点における周波数の対応関係の内挿として容易に得る事ができる。
【００２２】
より好ましくは、第１の検出ステップは、等価累積対数スペクトル周波数マップに対し、周波数に対する単調減少関数である所定の重み関数を乗ずる事により、等価累積対数パワースペクトルの差分の大きさを、各周波数に対して評価するためのコストを算出するコスト算出ステップと、コスト算出ステップにおいて算出されたコストが最大となる周波数を、対応点における第１の音声スペクトルの周波数として出力する第１の出力ステップとを含む。
【００２３】
等価累積対数パワースペクトルの算出においては、累積誤差の蓄積により、周波数値が大きくなるほど大きくなる傾向がある。一方、音声信号の音韻性は、比較的低域の周波数による支配が強い。このような誤差の排除、及び知覚に対する適合性を達成するために、周波数に対する単調減少関数である所定の重み関数を等価累積対数スペクトル周波数マップに対し乗算し、その後にマップ上で最大値を与える点を対応点とする。
【００２４】
このようにして検出された対応点は、重み関数の取り方にもよるが、比較的広い範囲にわたり分散する。その結果、得られた対応点の情報に基づき、音声スペクトルの広い範囲で、対応関係を推定できる。
【００２５】
さらに好ましくは、対応点探索ステップはさらに、第１の出力ステップで出力された周波数における値が０となるように、かつ既に検出された対応点における値が変化しないように、第１の出力ステップで出力された周波数と、隣接する対応点の周波数との間で、等価累積対数スペクトル周波数マップを所定の一次変換により更新する更新ステップと、更新ステップで更新された等価累積対数スペクトル周波数マップに対し、第１及び第２の検出ステップ、並びに更新ステップを、所定の個数の対応点が検出されるまで繰返すステップとを含む。
【００２６】
対応点が検出された後、その対応点における等価累積対数スペクトル周波数マップの値が０となるように、かつ既に検出された対応点における値が変化しないように、等価累積対数スペクトル周波数マップが更新される。この更新は、新たに検出された対応点の周波数と、隣接する対応点の周波数との間で行なわれる。他の対応点には影響を与えず、対応点の周辺のみで局所的に等価累積対数スペクトル周波数マップの値を更新する。従って、対応点が偏在せず、広い範囲で対応点を検出できる。
【発明を実施するための最良の形態】
【００２７】
＜概要＞
本実施の形態では、時間軸上で対応付けられた２種類の振幅スペクトルに基づいて、その周波数軸上の対応関係を探索する。この対応関係は、一般的に非線形である。この探索には、初期条件として探索すべき対応点の個数が予め与えられ、所望の個数の対応点が探索された時点でそれら対応点に関する情報を出力して処理を終了する。
【００２８】
２つの音声の振幅スペクトルの特徴点として、最も直観的で、かつ物理的基盤が明確なものは、フォルマント周波数である。従来でも、２つのスペクトログラム上での目視による対応付けでは、フォルマント同士を対応付ける事が主として行なわれて来た。また、その結果得られる合成音声も良好なものであった。
【００２９】
しかし、フォルマントは周波数・振幅スペクトル平面上の極大点として出現するものであるため、自動抽出は困難である。仮に自動処理により著しく誤った対応関係を生成してしまうと、音声合成の結果が全く不当なものとなる危険性が存在する。
【００３０】
以下に述べる本実施の形態では、累積対数パワースペクトルを用いる事により、上記した不安定要因を回避する。
【００３１】
累積対数パワースペクトルとは、音声の対数パワースペクトルを周波数方向に積分したものをいう。従って累積対数パワースペクトルは、単調増加関数となる。
【００３２】
本実施の形態では、２つの音声について両者の累積対数パワースペクトルを算出し、両者の累積値が等しくなるような周波数同士を互いの対応点とする。この動作を順次繰返して、所望の数の対応点を見出す。
【００３３】
こうして得られた対応点を、上記した高品位ボコーダであるＳＴＲＡＩＧＨＴにおける音声モルフィング手法において使用する事により、２つの音声スペクトルから合成音声の音声スペクトルを算出できる。なお、以下の説明では、０Ｈｚ〜２４ｋＨｚの範囲の音声スペクトルを扱うものとする。
【００３４】
＜構成＞
図１は、本実施の形態に係る周波数対応点探索手法を採用したスペクトル合成装置３０のブロック図である。図１を参照して、スペクトル合成装置３０は、予め互いに時間的に対応付けられた第１の音声スペクトル４０及び第２の音声スペクトル４２を入力とし、これらの間で、周波数軸上で所望数の対応点を探索するための周波数対応点探索部４４と、周波数対応点探索部４４により探索された対応点に関する情報を記憶するための周波数対応点情報格納装置４６と、周波数対応点情報格納装置４６に格納された周波数対応点情報と、第１の音声スペクトル４０及び第２の音声スペクトル４２とに基づき、第１の音声スペクトル４０と第２の音声スペクトル４２との間の中間音声を与える合成スペクトル５０を出力するためのボコーダ４８とを含む。
【００３５】
これらのうち、ボコーダ４８としては、上記した高品位ボコーダＳＴＲＡＩＧＨＴを使用できる。
【００３６】
図２を参照して、周波数対応点探索部４４は、第１の音声スペクトル４０の対数パワーを周波数軸上で積分する事により、第１の累積対数パワースペクトルを算出するための第１の累積処理部８４と、第１の音声スペクトル４０及び第２の音声スペクトル４２の間のパワーの絶対値等の相違を補償するために、第２の音声スペクトル４２を第１の音声スペクトル４０を基準として正規化するための正規化処理部８０と、正規化処理部８０により出力される正規化後スペクトルを記憶するための正規化後スペクトル記憶部８２と、正規化後スペクトル記憶部８２に記憶された正規化後のスペクトルの対数パワーを周波数軸上で積分する事により、第２の累積対数パワースペクトルを算出するための第２の累積処理部８６と、第１及び第２の累積対数パワースペクトルをそれぞれ格納するための第１及び第２の累積対数パワースペクトル格納部８８及び９０とを含む。
【００３７】
正規化が必要な理由は以下の通りである。２つの音声のパワースペクトルの差異は、フォルマント構造の違いだけでなく、全体的なパワーの相違、及びスペクトル傾斜の相違によってももたらされる。前者は単純に音源部の強度の違い、又は音源と観測点との距離の違いによる減衰等を反映する。後者は音源の違い又は放射特性の違いによる。いずれも周波数軸上の非線形対応によって解消されるべき要因とすべきではない。本実施の形態では、累積対数パワーの差に基づいて対応点を決定するため、このような要因に基づく差異については予め正規化を施しておく必要がある。正規化処理部８０が行なう正規化処理はそのためのものである。
【００３８】
具体的には、正規化処理は以下のようにして行なう。周波数−対数スペクトル平面において、第１の音声スペクトル４０の一次関数近似を求める。この一次関数近似を基準に、第２の音声スペクトル４２に対して求められる一次関数近似が、第１の音声スペクトル４０に対して求められた一次関数近似と等しくなるように、第２の音声スペクトル４２に対する変換を行なう。この変換により、直流バイアスとスペクトル傾斜とにおける両スペクトルの相違が除去される。本実施の形態では、このようにして第１の音声スペクトル４０を基準に第２の音声スペクトル４２を正規化する。
【００３９】
なお、上記した正規化は、第１及び第２の音声スペクトルが、同じ環境で録音された音声から得られたものであると考えられる場合には、不要となる事もあり得る。
【００４０】
周波数対応点探索部４４はさらに、第１及び第２の累積対数パワースペクトル格納部８８及び９０に格納された第１及び第２の累積対数パワースペクトルの間で、同じ値を与える周波数同士の差分を与える関数を、第１の累積対数パワースペクトルを基準とする周波数の関数（以下これを「等価累積対数スペクトル周波数マップ」と呼ぶ。）として作成するための等価累積対数スペクトル周波数マップ作成処理部９２と、この等価累積対数スペクトル周波数マップを格納するための等価累積対数スペクトル周波数マップ格納部９４と、予め与えられた、求めるべき対応点の数（これをＮとする。）を記憶するための最大対応点個数記憶部９８と、等価累積対数スペクトル周波数マップに基づき、第１の音声スペクトル４０と第２の音声スペクトル４２との間の周波数軸上での対応点の組を、最大対応点個数記憶部９８に記憶された最大対応点個数だけ探索してテーブルとして出力するための対応点テーブル作成処理部９６と、対応点テーブル作成処理部９６により作成される対応点テーブルを記憶するための対応点テーブル記憶部１００とを含む。最終的に対応点テーブル記憶部１００に生成される対応点テーブルが、図１に示す周波数対応点情報格納装置４６に格納される。
【００４１】
対応点テーブル記憶部１００は、後述するようにコンピュータにより本実施の形態に係るスペクトル合成装置３０を実現する際には、配列により実現される事が多い。本実施の形態でも、対応点テーブル記憶部１００は、第１の音声スペクトル４０での対応点の周波数を、小さいものから順に記憶していくための配列Ｄｏ［］と、第２の音声スペクトル４２での対応点の周波数を小さいものから順に記憶していくための配列Ｄｔ［］とを含む。最大対応点個数記憶部９８に記憶される個数をＮとすると、本実施の形態では、最終的に配列Ｄｏ［］はＤｏ［０］からＤｏ［Ｎ＋１］までのＮ＋２個の要素、配列Ｄｔ［］もＤｔ［０］からＤｔ［Ｎ＋１］までのＮ＋２個の要素からなる。ただし、後述するように、本実施の形態では常にＤｏ［０］＝Ｄｔ［０］＝０である。また、最終的にはＤｏ［Ｎ＋１］＝Ｄｔ［Ｎ＋１］＝２４０００である。そして、後述するように、最終的に得られるＤｏ［１］からＤｏ［Ｎ］までのＮ個とＤｔ［１］からＤｔ［Ｎ］までのＮ個とが、周波数の小さいものから順にＮ個の対応点の周波数ｆｏとｆｔとをそれぞれ与える。後述する処理の途中過程で得られる対応点の個数をｉ個とすると、Ｄｏ［ｉ＋１］＝Ｄｔ［ｉ＋１］＝２４０００であり、要素Ｄｏ［１］〜Ｄｏ［ｉ］と要素Ｄｔ［１］〜Ｄｔ［ｉ］とが、これらｉ個の対応点の周波数ｆｏとｆｔとを、先頭から周波数の小さいもの順に格納している。
【００４２】
図３に、図２の対応点テーブル作成処理部９６の詳細なブロック図を示す。図３を参照して、対応点テーブル作成処理部９６は、等価累積対数スペクトル周波数マップに対し、以下の式により周波数ｆｏに対するコストＣ（ｆo）を算出するためのコスト算出部１２０を含む。
【００４３】
【数１】
2007212908.tif 000003
ただし、ｗ（ｆｏ）は第１の音声スペクトル４０の周波数ｆoにおける重みであり、δ（ｆo）は第１の音声スペクトル４０の周波数ｆｏにおける累積パワー値と等価な累積パワー値を与える第２の音声スペクトル４２の周波数ｆｔとの差分である。本実施の形態では、重み関数ｗ（ｆo）として次の式を使用する。
【００４４】
【数２】
2007212908.tif 000004
この重みのグラフを図４に曲線１４０として示す。図４に示されるように、この重みは低周波数領域で大きく、高周波数領域で小さくなっている。こうして算出されるコストは、等価累積対数パワースペクトルの差分の大きさを、各周波数に対して評価するための評価関数として使用される。
【００４５】
対応点テーブル作成処理部９６はさらに、コスト算出部１２０で使用される重み関数ｗ（ｆo）を記憶するための重み関数記憶部１２２と、コスト算出部１２０で算出されたコストＣ（ｆｏ）を格納するためのコスト格納部１２４と、コスト格納部１２４に記憶されたコストに基づいて、コスト値Ｃ（ｆｏ）が最大となる周波数ｆｏｍａｘと、そのときの目標信号の周波数ｆｔｍａｘ（＝ｆｏｍａｘ＋δ（ｆｏｍａｘ））とを検出するための最大値検出部１２６とを含む。
【００４６】
重みとして上記したｗ（ｆｏ）を使用する理由は以下の通りである。例えば累積パワーの差分の絶対値は、周波数値が大きくなるほど大きくなる傾向を持つ。これは、累積誤差の蓄積に起因すると思われる。その反面、音声信号の場合の音韻性は、第１、第２フォルマントのように比較的低域の周波数による支配が強い。このような累積パワーの差分の絶対値の性質を考慮し、さらに知覚の際の周波数の重要性を対応点の探索に反映させて、等価累積対数パワースペクトルの差分の大きさを各周波数に対して適切に評価するために、本実施の形態では、前述のようにコスト算出の際に等価累積対数スペクトル周波数のうち低周波数領域に大きな重みをかけ、高周波数領域に小さな重みをかけるような重み関数ｗ（ｆｏ）を使用する。本実施の形態における重み関数ｗ（ｆｏ）は、経験的に定められたものである。この重み関数ｗ（ｆｏ）が重み関数記憶部１２２に記憶されている。
【００４７】
対応点テーブル作成処理部９６はさらに、最大値検出部１２６により検出された原関数の周波数（ｆoｍａｘ）と、対応する目標関数の周波数ｆｔｍａｘとを対応点テーブル記憶部１００に追加する事により対応点テーブル記憶部１００を更新するためのテーブル更新部１２８と、テーブル更新部１２８により対応点テーブル記憶部１００に追加された対応点の組（ｆｏｍａｘ、ｆｔｍａｘ）の個数を記憶するための対応点個数記憶部１３０と、最大値検出部１２６により直前に検出された周波数ｆｏｍａｘ及びｆｔｍａｘの組を記憶するための最大値位置記憶部１３２と、最大値位置記憶部１３２に記憶された周波数ｆｏｍａｘにおける等価累積対数スペクトル周波数が０となるように、かつ既に検出された対応点における値が変化しないように、後述する計算方法により等価累積対数スペクトル周波数マップを更新するための等価累積対数スペクトル周波数マップ更新部１３４と、コスト算出部１２０、最大値検出部１２６、テーブル更新部１２８、及び等価累積対数スペクトル周波数マップ更新部１３４の動作を制御し、最大対応点個数記憶部９８に記憶された個数と同じだけの個数の対応点が求められるまで、これら機能ブロックの処理を繰返し行なわせるための繰返制御部１３６とを含む。この繰返処理については後述する。
【００４８】
以下、図１から図３に示される各要素についてさらに詳細に説明する。
【００４９】
図５に第１の音声スペクトル４０の例を、図６に第２の音声スペクトル４２の例を、それぞれ示す。以下の説明では、図５及び図６に示される音声スペクトルの合成スペクトルを得る場合を例にする。以下の説明では、第２の音声スペクトル４２は既に第１の音声スペクトル４０を基準として正規化されているものとする。
【００５０】
最大値検出部１２６は、コスト格納部１２４に基づいて、以下のようにして対応点を見出す。以下、第１の音声スペクトル４０から得た累積対数パワースペクトルを原信号、第２の音声スペクトル４２から得たものを目標信号と呼ぶ。
【００５１】
図７に、原信号の累積対数パワー曲線１６０を、図８に目標信号の累積対数パワー曲線１６２を、それぞれ示す。両者を重ねた図を図９に示す。
【００５２】
等価累積対数スペクトル周波数マップ作成処理部９２は、等価累積対数スペクトル周波数マップを以下のようにして算出する。図９において、原信号の累積対数パワー曲線１６０の周波数ｆｏにおける各累積パワー値と、その累積パワー値と等価な累積パワー値を目標信号の累積対数パワー曲線１６２において与える周波数ｆｔとの間の差分δ（ｆｏ）を算出する。この差分を全周波数にわたって算出する事により、等価累積対数スペクトル周波数マップが周波数の関数として得られる。
【００５３】
等価累積対数スペクトル周波数マップの例を図１０（Ａ）に示す。等価累積対数スペクトル周波数マップの計算において、周波数範囲を０Ｈｚ〜２４ｋＨｚとすると、正規化処理部８０で行なわれる正規化の結果、図１０（Ａ）にも示されるように、周波数が０Ｈｚと２４ｋＨｚとの双方において、等価累積対数スペクトル周波数マップは０となる。すなわち、第１の音声スペクトル４０及び正規化後の第２の音声スペクトル４２の累積対数パワースペクトルの値はこれらの点では一致する。
【００５４】
図３に示す最大値検出部１２６は、等価累積対数スペクトル周波数マップの中でコスト関数Ｃ（ｆｏ）の最大値を与える周波数ｆｏｍａｘを定める。図１０（Ａ）に示す例では、縦線で示される周波数ｆｏ１が周波数ｆｏｍａｘである。ここで、周波数の差分δ（ｆｏ）だけ見ると、高周波数領域に大きな絶対値を持つ点が集まっているが、コスト関数に含まれる重み関数ｗ（ｆｏ）により、低周波数領域の重みが大きくなっている。この結果、図１０（Ａ）に示すように差分のピークが低い位置に周波数ｆｏｍａｘが検出される。
【００５５】
等価累積対数スペクトル周波数マップ更新部１３４による等価累積対数スペクトル周波数マップ格納部９４の更新は以下のようにして行なわれる。図１１（Ａ）を参照して、等価累積対数スペクトル周波数マップ２４０に対して、Ｋ個目の最大値を与える周波数ｆｏが周波数ｆｏｍａｘに定まったものとする。この周波数が、配列Ｄｏ［］のｊ番目の要素Ｄｏ［ｊ］とｊ＋１番目の要素Ｄｏ［ｊ＋１］との間の周波数であったものとする。
【００５６】
まず、図１１（Ｂ）に示すように、要素Ｄｏ［ｊ＋１］以降の値を要素Ｄｏ［ｊ＋２］以降に順に１ずつ移動した後、要素Ｄｏ［ｊ＋１］に周波数ｆｏｍａｘを代入する。
【００５７】
次いで、図１１（Ｃ）に示すように、周波数Ｄｏ［ｊ］〜Ｄｏ［ｊ＋１］の間において、周波数Ｄｏ［ｊ＋１］における等価累積対数スペクトル周波数マップ２４０のピークと、周波数Ｄｏ［ｊ］における等価累積対数スペクトル周波数マップ２４０上の点（後述するようにこのときの周波数の差分は常に０となる。）とを結んだ直線２４２を考え、この直線２４２を、等価累積対数スペクトル周波数マップ２４０のうちの周波数Ｄｏ［ｊ］〜Ｄｏ［ｊ＋１］での曲線２５０から差し引くという一次変換処理を行なう。この処理により、図１１（Ｄ）に示すように周波数Ｄｏ［ｊ］〜Ｄｏ［ｊ＋１］における更新後の等価累積対数スペクトル周波数マップの曲線２６０が得られる。
【００５８】
同様にして、図１１（Ｅ）に示すように、周波数Ｄｏ［ｊ＋１］〜Ｄｏ［ｊ＋２］の間において、周波数ｆｏｍａｘにおける等価累積対数スペクトル周波数マップ２４０のピークと、周波数Ｄｏ［ｊ＋２］における等価累積対数スペクトル周波数マップ２４０上の点（このときの周波数の差分も常に０となる。）とを結んだ直線２４４を考え、この直線２４４を、等価累積対数スペクトル周波数マップ２４０のうちの周波数Ｄｏ［ｊ＋１］〜Ｄｏ［ｊ＋２］での曲線２５２から差し引くという一次変換処理を行なう。この処理により、図１１（Ｆ）に示すように周波数Ｄｏ［ｊ＋１］〜Ｄｏ［ｊ＋２］における更新後の等価累積対数スペクトル周波数マップの曲線２６２が得られる。
【００５９】
図１１（Ｇ）を参照して、このようにして得られた二つの曲線２６０及び２６２を周波数Ｄｏ［ｊ＋１］において接続する事により、周波数Ｄｏ［ｊ］〜Ｄｏ［ｊ＋２］の間において、等価累積対数スペクトル周波数マップ２４０が新たな等価累積対数スペクトル周波数マップ２７０に更新される。容易に分かるように、このようにして得られた等価累積対数スペクトル周波数マップ２７０において、周波数Ｄｏ［ｊ＋１］における周波数の差分は０となる。Ｄｏ［ｊ］等における周波数の差分が０となるのもそのためである。なおこの際、周波数Ｄｏ［ｊ］以下及び図１１（Ｂ）に示すＤｏ［ｊ＋２］以上の周波数範囲においては等価累積対数スペクトル周波数マップの更新は行なわれない。
【００６０】
図１０に、等価累積対数スペクトル周波数マップ更新部１３４による更新処理により、等価累積対数スペクトル周波数マップ格納部９４から得られる周波数の差分曲線がどのように変化するかの例を示す。図１０（Ａ）に示される周波数ｆｏ１において周波数の差分（重み付きの差分）が最大値をとるものとする。周波数ｆｏ１における周波数の差分が０となるように、図１１に示す方法を用いて等価累積対数スペクトル周波数マップを更新する事により、図１０（Ｂ）に示す周波数の差分曲線が得られる。
【００６１】
図１０（Ｂ）に示す状態で周波数の差分（重み付きの差分）が最大値をとる周波数を探す事により、周波数ｆｏ２が定まったものとする。周波数ｆｏ２における周波数の差分が０となるように、図１１に示す方法を用いて等価累積対数スペクトル周波数マップを更新する事により、図１０（Ｃ）に示す周波数の差分曲線が得られる。なお、この場合、周波数ｆｏ２より小さな周波数の対応点はまだなく、周波数ｆｏ２より大きな周波数の対応点のうちで周波数が最も小さなものは周波数ｆｏ１である。従って、等価累積対数スペクトル周波数マップの更新は、周波数０（Ｈｚ）〜周波数ｆｏ１の範囲で行なわれる。
【００６２】
図１０（Ｃ）に示す状態で周波数の差分（重み付きの差分）が最大値をとる周波数を探す事により、周波数ｆｏ３が定まったものとする。周波数ｆｏ３における周波数の差分が０となるように、図１１に示す方法を用いて等価累積対数スペクトル周波数マップを更新する事により、図１０（Ｄ）に示す周波数の差分曲線が得られる。この場合、周波数ｆｏ３より小さな周波数の対応点はまだなく、周波数ｆｏ３より大きな周波数の対応点のうちで周波数が最も小さなものは周波数ｆｏ２である。等価累積対数スペクトル周波数マップの更新は、周波数０〜周波数ｆｏ２の範囲のみで行なわれる。
【００６３】
図１０（Ｄ）に示す状態で周波数の差分（重み付きの差分）が最大値をとる周波数を探す事により、周波数ｆｏ４が定まったものとする。周波数ｆｏ４における周波数の差分が０となるように、図１１に示す方法を用いて等価累積対数スペクトル周波数マップを更新する事により、図１０（Ｅ）に示す周波数の差分曲線が得られる。この場合、周波数ｆｏ４より小さな周波数の対応点のうちで周波数が最大のものは周波数ｆｏ１であり、周波数ｆｏ４より大きな周波数の対応点はまだない。従って、等価累積対数スペクトル周波数マップの更新は、周波数ｆｏ１〜周波数２４ｋＨｚの範囲のみで行なわれる。
【００６４】
以下同様に、周波数の差分（重み付きの差分）が最大値をとる周波数を探す。周波数が定まると、その周波数ｆｏ４における周波数の差分が０となるように、図１１に示す方法を用いて等価累積対数スペクトル周波数マップを更新する事により、新たな周波数の差分曲線が得られる。このときの更新は、見つかった周波数より小さな周波数の対応点のうちで最大の周波数（そのような対応点が存在していない場合には０Ｈｚ）のものと、見つかった周波数より大きな周波数の対応点のうちで最小の周波数（そのような対応点が存在していない場合には２４ｋＨｚ）のもの（すなわち、見つかった周波数に隣接する対応点）との間でだけ行なわれる。このようにして、以下図１０（Ｉ）までに示すように、周波数ｆｏ５，ｆｏ６，ｆｏ７，ｆｏ８が順番に定められる。
【００６５】
定められた対応点の個数が図３に示す対応点個数記憶部１３０に記憶された個数と同じになれば、等価累積対数スペクトル周波数マップ更新部１３４は処理を中止する。
【００６６】
上記した処理は、対応点テーブル作成処理部９６中に含まれる各機能ブロックが協働する事により実現される。この繰返処理及び停止処理は、繰返制御部１３６により制御される。
【００６７】
この処理の結果、対応点テーブル記憶部１００に記憶された対応点テーブルのＮ＋２個の要素には、先頭及び末尾の要素を除き、第１の音声スペクトル４０（図５参照）及び第２の音声スペクトル４２（図６参照）の対応点の組が、最大対応点個数記憶部９８に指定された個数Ｎだけ記憶されている事になる。
【００６８】
なお、ボコーダ４８については前述の通り公知のものをそのまま使用できるため、ここではその構成の詳細については説明しない。
【００６９】
＜コンピュータによる実現＞
上記した周波数対応点探索部４４は、コンピュータシステム及び当該コンピュータシステムにより実行されるコンピュータプログラムにより実現できる。図１２に、そのようなコンピュータシステム３３０の外観を示し、図１３にブロック図を示す。また図１４に、上記した対応点テーブル作成処理部９６を実現するためのコンピュータプログラムのフローチャートを示す。
【００７０】
図１２を参照して、このコンピュータシステム３３０は、持運び可能なメモリが挿抜されるメモリドライブ３５２及びＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）が装着されるＤＶＤドライブ３５０を有するコンピュータ３４０と、いずれもコンピュータ３４０に接続されたキーボード３４６と、マウス３４８と、モニタ３４２とを含む。
【００７１】
図１３を参照して、コンピュータ３４０は、メモリドライブ３５２及びＤＶＤドライブ３５０に加えて、ＣＰＵ（中央処理装置）３５６と、ＣＰＵ３５６、メモリドライブ３５２及びＤＶＤドライブ３５０に接続されたバス３６６と、ブートアッププログラム等を記憶する読出専用メモリ（ＲＯＭ）３５８と、バス３６６に接続され、プログラム命令、システムプログラム、及び作業データ等を記憶するランダムアクセスメモリ（ＲＡＭ）３６０とを含む。
【００７２】
コンピュータ３４０はさらにネットワーク３７０への接続を提供するネットワークアダプタ３６８を含んでもよい。
【００７３】
コンピュータシステム３３０に本実施の形態に係るスペクトル合成装置３０としての動作を行なわせるためのコンピュータプログラムは、ＤＶＤドライブ３５０又はメモリドライブ３５２に挿入されるＤＶＤ３６２又はメモリ３６４に記憶され、さらにハードディスク３５４に転送される。又は、プログラムはネットワーク３７０を通じてコンピュータ３４０に送信されハードディスク３５４に記憶されてもよい。プログラムは実行の際にＲＡＭ３６０にロードされる。ＤＶＤ３６２から、メモリ３６４から、又はネットワークを介して、直接にＲＡＭ３６０にプログラムをロードしてもよい。
【００７４】
このプログラムは、コンピュータ３４０にこの実施の形態のスペクトル合成装置３０としての動作を行なわせる複数の命令を含む。この動作を行なわせるのに必要な基本的機能のいくつかはコンピュータ３４０上で動作するオペレーティングシステム（ＯＳ）若しくはサードパーティのプログラム、又はコンピュータ３４０にインストールされる各種ツールキットのモジュールにより提供される。従って、このプログラムはこの実施の形態のシステム及び方法を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令のうち、所望の結果が得られるように制御されたやり方で適切な機能又は「ツール」を呼出す事により、上記したスペクトル合成装置３０としての動作を実行する命令のみを含んでいればよい。
【００７５】
スペクトル合成装置３０を実現するために、コンピュータシステム３３０のリソースをどのように割当てるかは任意であるが、本実施の形態では、第１の音声スペクトル４０及び第２の音声スペクトル４２については最初にハードディスク３５４に準備され、後述するプログラムの実行時にＲＡＭ３６０にロードされるものとする。その他、図２及び図３に示される種々の記憶部は、いずれもＲＡＭ３６０により実現されるものとする。ただし、結果として得られる合成スペクトル５０については、最終的にはＲＡＭ３６０からハードディスク３５４又はメモリ３６４等、コンピュータシステム３３０の電源を切断しても記憶が保持されるものに書き込まれるものとする。
【００７６】
コンピュータシステム３３０の動作は周知であるので、ここでは繰返さない。
【００７７】
図１４を参照して、コンピュータシステム３３０に対応点テーブル作成処理部９６としての動作を実行させるためのプログラムは、以下の制御構造を有する。なお、この処理に先立ち、等価累積対数スペクトル周波数マップが計算済みであり、メモリ等に格納済みであるものとする。
【００７８】
まずステップ２９０で初期化処理を行なう。本プログラムでは、主な変数として繰返しを制御する繰返変数ｉ、及び前述した対応点テーブル記憶部１００としての配列Ｄｏ［］及びＤｔ［］を使用する。初期化処理では、変数ｉに０を代入し、要素Ｄｏ［０］＝Ｄｔ［０］＝０、要素Ｄｏ［１］＝Ｄｔ［１］＝２４０００とする。また、求めるべき対応点の個数が変数Ｎとして与えられるものとする。
【００７９】
ステップ２９２で、繰返変数ｉに１を加算する。
【００８０】
ステップ２９４で、変数ｉの値が変数Ｎより大きいか否かを判定する。変数ｉの値が変数Ｎより大きければステップ３１０に進み、テーブルＤｏ［１］〜Ｄｏ［Ｎ］、及びＤｔ［０］〜Ｄｔ［Ｎ］を出力して対応点テーブル作成処理部９６としての処理を終了する。変数ｉが変数Ｎ以下であればステップ２９６に進む。
【００８１】
ステップ２９６では、ＲＡＭ３６０に記憶されている等価累積対数スペクトル周波数マップの各周波数ｆｏ（０〜２４ｋＨｚ）に対し、前述した重み関数を用いて原関数に対するコストＣ（ｆｏ）の計算を行なう。
【００８２】
ステップ２９８では、算出されたコストＣ（ｆｏ）が最大値をとる周波数ｆｏｍａｘを探索する。
【００８３】
ステップ３００では、テーブルＤｏ［］において、Ｄｏ［ｊ］＜ｆｏｍａｘ＜Ｄ［ｊ＋１］となるような値ｊ（０≦ｊ＜ｉ）を探す。
【００８４】
ステップ３０２では、要素Ｄｏ［ｊ＋１］〜Ｄｏ［ｉ］及び要素Ｄｔ［ｊ＋１］〜Ｄｔ［ｉ］をそれぞれ要素Ｄｏ［ｊ＋２］〜Ｄｏ［ｉ＋１］及び要素Ｄｔ［ｊ＋２］〜Ｄｔ［ｉ＋１］に移動させる処理が行なわれる。
【００８５】
ステップ３０４では、要素Ｄｏ［ｊ＋１］に周波数ｆｏｍａｘを代入し、要素Ｄｔ［ｊ＋１］に原関数の周波数ｆｏｍａｘでの値と等価な値をとる目標関数の周波数ｆｔｍａｘを代入する。
【００８６】
ステップ３０６では、等価累積対数スペクトル周波数マップのうち、要素Ｄｏ［ｊ］により示される周波数と、要素Ｄｏ［ｊ＋１］により示される周波数との間を図１１を参照して説明した更新方法により更新する。
【００８７】
さらにステップ３０８では、等価累積対数スペクトル周波数マップのうち、要素Ｄｏ［ｊ＋１］により示される周波数と、要素Ｄｏ［ｊ＋２］により示される周波数との間を同様にして更新する。
【００８８】
ステップ３０８の後、ステップ２９２に戻る。
【００８９】
＜動作＞
スペクトル合成装置３０は以下のように動作する。図１及び図２を参照して、いずれも０Ｈｚ〜２４ｋＨｚの範囲で第１の音声スペクトル４０及び第２の音声スペクトル４２が予め準備されるものとする。図２に示す正規化処理部８０は、第１の音声スペクトル４０を基準として第２の音声スペクトル４２を正規化し、正規化後スペクトル記憶部８２に記憶させる。第１の累積処理部８４は第１の音声スペクトル４０から第１の累積対数パワースペクトルを算出し、第１の累積対数パワースペクトル格納部８８に記憶させる。第２の累積処理部８６は、正規化後スペクトル記憶部８２に格納された正規化後スペクトルの対数パワーから第２の累積対数パワースペクトルを算出し、第２の累積対数パワースペクトル格納部９０に記憶させる。
【００９０】
等価累積対数スペクトル周波数マップ作成処理部９２は、第１及び第２の累積対数パワースペクトル格納部８８及び９０にそれぞれ記憶された第１及び第２の累積対数パワースペクトルに基づいて、等価な累積対数スペクトルを与える周波数の差分を求め、等価累積対数スペクトル周波数マップ格納部９４に記憶させる。
【００９１】
以下、対応点テーブル作成処理部９６による対応点テーブル記憶部１００の更新処理が開始される。
【００９２】
図３を参照して、コスト算出部１２０は、重み関数記憶部１２２に記憶されている重み関数を使用し、等価累積対数スペクトル周波数マップ格納部９４に記憶されている等価累積対数スペクトル周波数マップの各周波数ｆｏに対し、前述したコスト関数Ｃ（ｆｏ）を算出し、コスト格納部１２４にその結果を記憶させる（図１４、ステップ２９６。以下に述べる「ステップ」はいずれも図１４に示されるもの）。
【００９３】
最大値検出部１２６は、コスト格納部１２４に記憶されたコストの最大値を求め、そのときの原関数の周波数ｆｏｍａｘ及び目標関数の対応する周波数ｆｔｍａｘをテーブル更新部１２８に与える（ステップ２９８）。
【００９４】
テーブル更新部１２８は、周波数ｆｏｍａｘ及びｆｔｍａｘを組にして対応点テーブル記憶部１００に追加して記憶させる（ステップ３００〜ステップ３０４）。さらにテーブル更新部１２８は、対応点個数記憶部１３０に記憶された個数に１を加算する（ステップ２９２）。対応点個数記憶部１３０の記憶内容はスペクトル合成装置３０の動作開始時に０にクリアされている。従って対応点個数記憶部１３０には、今までに見つけられた対応点の個数が記憶される事になる。テーブル更新部１２８はまた、最新の最大値を与えた周波数ｆｏｍａｘを最大値位置記憶部１３２に記憶させる。
【００９５】
等価累積対数スペクトル周波数マップ更新部１３４は、対応点個数記憶部１３０に記憶された対応点個数と、最大値位置記憶部１３２に記憶された、最新の最大値を与えた周波数ｆｏｍａｘと、対応点テーブル記憶部１００に記憶された、これまでに見つかった対応点の組の配列とに基づいて、図１１を参照して説明した更新方法により等価累積対数スペクトル周波数マップ格納部９４に記憶された等価累積対数スペクトル周波数マップを更新する（ステップ３０６及びステップ３０８）。
【００９６】
繰返制御部１３６は、テーブル更新部１２８により対応点個数記憶部１３０が更新される（ステップ２９２）と、その値と最大対応点個数記憶部９８に記憶された値とを比較する（ステップ２９４）。対応点個数記憶部１３０の値が最大対応点個数記憶部９８に記憶された値よりも小さければ、繰返制御部１３６は、対応点テーブル作成処理部９６を制御して前述した動作を更新された等価累積対数スペクトル周波数マップに対してもう一度実行させる（ステップ２９４において「ＮＯ」）。対応点個数記憶部１３０の値が最大対応点個数記憶部９８に記憶された値と等しければ、繰返制御部１３６は対応点テーブル作成処理部９６の動作を終了させる（ステップ２９４において「ＹＥＳ」）。繰返制御部１３６はこの場合、対応点テーブル記憶部１００を図１に示す周波数対応点情報格納装置４６に格納させ、ボコーダ４８に対して周波数対応点の探索が終了した事を示す信号を与える（ステップ３１０）。
【００９７】
図１５に、そのように求められた対応点の例を示す。図１５においては、周波数対応点を８個まで求めたうち、上記した繰返の第１番目〜第４番目（ｆｏ１〜ｆｏ４）、及び第７番目（ｆｏ７）及び第８番目（ｆｏ８）に得られた対応点を、原信号及び目標信号のそれぞれのスペクトル上に互いに対応して縦線で示してある。図１５では、低域側の関係を見やすくするために、グラフの横軸の上限を１０ｋＨｚまでとしているため、５番目及び６番目の対応点は示されていない。
【００９８】
ボコーダ４８は、この信号に応答して、第１の音声スペクトル４０及び第２の音声スペクトル４２に基づき、周波数対応点情報格納装置４６に格納された対応点情報に基づいて第１の音声スペクトル４０と第２の音声スペクトル４２との中間のスペクトルを生成する。生成されたものの一例を図１６に示す。図１６において、第１の音声スペクトル４０及び第２の音声スペクトル４２は、それぞれ図５及び図６に示したものと同一である。スペクトル３２４は、周波数対応点探索部４４により作成された周波数対応点情報に基づいて第１の音声スペクトル４０と第２の音声スペクトル４２とから合成されたものである。
【００９９】
以上のように本実施の形態によれば、二つの音声スペクトルに対し、周波数の対応点を自動的に探索できる。累積対数パワースペクトルは単調増加関数であり、第１及び第２の音声スペクトルそのものから対応点を求める場合と比較して不安定要因が除かれ、安定した対応関係を自動的に得る事ができる。求められた対応点は必ずしもフォルマントとは一致しないが、著しく誤った対応関係ではなく、安定してほぼ正しい対応関係を与えるものとなる。
【０１００】
対応点の間の周波数についても、対応点同士の周波数が求められるので、それら周波数に基づいて内挿により同様に正確な対応付けが可能になる。
【０１０１】
さらに、対応点が求められるたびに、その対応点における等価累積対数スペクトル周波数マップの値が０となるように隣接する対応点との間でマップを更新する。隣接する対応点を超えた部分の等価累積対数スペクトル周波数マップには影響が及ぼされない。この直後にはその対応点の近傍に新たな対応点が検出される事は少なくなる。従って、広い範囲にわたり分散した対応点を検出できる。その結果、音声スペクトルの広い範囲にわたり安定して対応関係を検出する事が可能になる。
【０１０２】
本実施の形態によれば、一方の音声スペクトルと、他方の音声スペクトルとの間で合成音声のスペクトルを作成する際に、互いの周波数の対応関係を維持しながら合成音声のスペクトルを作成できる。作成されたスペクトルを用いてボコーダ４８により音声合成を行なう事により、二つの音声の中間的な音声を、違和感なく合成できる。
【０１０３】
なお、上記した実施の形態では、ｗ（ｆｏ）をコスト算出の際の重みとして用いた。しかし本発明はそのような実施の形態には限定されない。一般的には、低周波数領域における重みが大きく、高周波数領域における重みが小さくなるような、周波数に対する単調減少関数として、この重み関数を経験により定めるとよい。これは、前述した通り、累積パワーの差分の絶対値の性質を考慮し、さらに知覚の際の周波数の重要性を対応点の探索に反映させて、等価累積対数パワースペクトルの差分の大きさを各周波数に対して適切に評価するためである。
【０１０４】
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内でのすべての変更を含む。
【図面の簡単な説明】
【０１０５】
【図１】本発明の一実施の形態に係るスペクトル合成装置３０の全体のブロック図である。
【図２】図１に示す周波数対応点探索部４４のブロック図である。
【図３】図２に示す対応点テーブル作成処理部９６の詳細なブロック図である。
【図４】重み関数の例を示すグラフである。
【図５】第１の音声スペクトルの例を示すグラフである。
【図６】第２の音声スペクトルの例を示すグラフである。
【図７】原信号の累積対数パワー曲線の例を示すグラフである。
【図８】目標信号の累積対数パワー曲線の例を示すグラフである。
【図９】原信号及び目標信号の累積対数パワー曲線の例を重ねて示すグラフである。
【図１０】本発明の一実施の形態における対応点の探索経過を示す図である。
【図１１】図３に示す等価累積対数スペクトル周波数マップ更新部１３４により行なわれる処理の詳細を説明するための図である。
【図１２】本発明の一実施の形態に係るスペクトル合成装置３０を実現するコンピュータシステムの外観図である。
【図１３】図１２に示すコンピュータのブロック図である。
【図１４】図３に示す対応点テーブル作成処理部９６をコンピュータにより実現する際のコンピュータプログラムの制御構造を示すフローチャートである。
【図１５】周波数対応点探索部４４によるスペクトルの対応点探索処理の結果の一例を示す図である。
【図１６】スペクトル合成装置３０によるスペクトル合成の結果を示すグラフである。
【符号の説明】
【０１０６】
３０  スペクトル合成装置
４０  第１の音声スペクトル
４２  第２の音声スペクトル
４４  周波数対応点探索部
４８  ボコーダ
５０  合成スペクトル
８０  正規化処理部
８４  第１の累積処理部
８６  第２の累積処理部
９２  等価累積対数スペクトル周波数マップ作成処理部
９６  対応点テーブル作成処理部
１２０  コスト算出部
１２６  最大値検出部
１２８  テーブル更新部
１３４  等価累積対数スペクトル周波数マップ更新部
【図１】
2007212908.tif 000005
【図２】
2007212908.tif 000006
【図３】
2007212908.tif 000007
【図４】
2007212908.tif 000008
【図５】
2007212908.tif 000009
【図６】
2007212908.tif 000010
【図７】
2007212908.tif 000011
【図８】
2007212908.tif 000012
【図９】
2007212908.tif 000013
【図１０】
2007212908.tif 000014
【図１１】
2007212908.tif 000015
【図１２】
2007212908.tif 000016
【図１３】
2007212908.tif 000017
【図１４】
2007212908.tif 000018
【図１５】
2007212908.tif 000019
【図１６】
2007212908.tif 000020