(57)【要約】【課題】２系統の入力信号（変調波形、被変調波形）から印象的な音響効果を生み出す。【解決手段】音楽用ボコーダの内部を特徴量のノルムの比較による波形選択機能に置き換える。被変調波形に該当する波形生成装置はパラメータ制御可能とし、進化的計算法により、変調波形により近い波形を出力できるようにする。【選択図】図１
2008287200.tif 000002
【特許請求の範囲】
【請求項１】
２つ以上の波形生成装置（Ｓ１〜Ｓｎ）を持ち、これらの個々の装置に対して一纏まりとして同等な特性を有する特徴量抽出装置群（Ｅ１，１〜Ｅｎ，ｍ）と、変調ソース信号入力装置（Ｓ０）と、Ｓ０に対して上記特徴量抽出装置群と一纏まりとして同等な特性の装置群（Ｅ０，１〜Ｅ０，ｍ）を持ち、Ｅ１〜ＥｎとＥ０間のノルムから評価値を求め、Ｓ１〜Ｓｎの中から該評価値の高い波形を優勢にミックスし出力することを特徴とする音声合成装置。
【請求項２】
請求項１の音声合成装置において、特徴量抽出装置はバンドパスフィルタのエンベローブ抽出装置であることを特徴とする音声合成装置。
【請求項３】
請求項１の音声合成装置において、入力値の振幅に比例する特徴量抽出装置の出力値の大きさを、Ｓ０〜Ｓｎに対応する特徴量抽出装置群毎に求め、Ｓ０に対応する該大きさを、Ｓ１〜Ｓｎに対応する大きさにより除算した結果から、Ｓ１〜Ｓｎの個々に対応する補正値を求め、該補正値によりＳ１〜Ｓｎの出力波形の評価値、及び振幅を調整することを特徴とする音声合成装置。
【請求項４】
請求項３の音声合成装置において、各波形生成装置に対応する評価値と補正値との積をローパスフィルタへ通した後に、対応する波形生成装置の出力波形と乗算することを特徴とする音声合成装置。
【請求項５】
請求項３の音声合成装置において、評価値、および補正値を求める操作の実行を定期的（非連続的）とし、該定期的実行のタイミングにおいて最も高い評価値を得た波形生成装置のみに補正値をリリース成分値として設定し、該リリース成分値は該定期的実行毎に減衰し、一定値以下となったリリース成分値を０とし、該リリース成分値により、該波形生成装置の出力波形の振幅を調整することを特徴とする音声合成装置。
【請求項６】
請求項５の音声合成装置において、定期的実行のタイミングにおいて最も高い評価値を得た波形生成装置に対し評価値自体を一定期間割り増しすることを特徴とする音声合成装置。
【請求項７】
請求項５の音声合成装置において、各波形生成装置は自身に１対１で対応するパラメータベクトルにより制御されるものとし、定期的実行のタイミングにおいて、リリース成分値が０の波形生成装置に対応するパラメータベクトルを不連続に変更することを特徴とする音声合成装置。
【請求項８】
請求項７の音声合成装置において、波形生成装置のパラメータベクトルと、特徴量ベクトルとの組のスナップショットを記憶しておくコードブックの集合を設置し、該コードブックの集合の要素数が空の時、該定期的実行のタイミングにおいて最も高い評価値を得た波形生成装置のパラメータベクトルと、特徴量ベクトルを格納し、該コードブックの集合の要素数が空でない時、全コードブックの特徴量ベクトルと、Ｅ０とのノルムから評価値を求め、最も評価値が高かったコードブック要素のパラメータベクトルを、請求項７の不連続な変更処理の対象となっているパラメータベクトルの１要素へコピー、次回の定期的実行のタイミングにおいて該パラメータベクトルと、最も高い評価値を得た波形生成装置のパラメータベクトルが異なっている場合は、該最も高い評価値を得た波形生成装置のパラメータベクトルと、特徴量ベクトルをコードブックに登録することを特徴とする音声合成装置。
【請求項９】
請求項８の音声合成装置において、Ｓ０に対して定期的実行の時間間隔と同間隔に遅延させた波形をＳｄとし、波形生成装置の評価用にはＳ０の代わりにＳｄを用いることを特徴とする音声合成装置。
【請求項１０】
請求項７の音声合成装置において、リリース成分値が０の波形生成装置に対応するパラメータベクトルを不連続に変更する処理は、進化的計算に基づくものであることを特徴とする音声合成装置。
【請求項１１】
請求項９の音声合成装置において、パラメータベクトルの要素毎にグリッドを設け、全コードブック内の全パラメータベクトル要素を該グリッドのインデックスとして扱い、コードブックの要素の評価値を加算、該グリッドを平滑化し、積分値を求め、ルーレット選択により次回のパラメータを決定する処理を、請求項７の不連続な変更処理の対象となっていて請求項８のコードブック要素のパラメータベクトルから直接コピーされていない全てのパラメータベクトルの全要素について実行することを特徴とする音声合成装置。
【請求項１２】
請求項７の音声合成装置において、被変調ソース波形を波形テーブルに巡回して録音し、波形生成装置は該波形テーブルをパラメータで指定された位置にて再生することを特徴とする音声合成装置。
【発明の詳細な説明】
【技術分野】
【０００１】本発明は、入力音声を他の音声に変換して出力したり、合成音声を生成したりする音声信号処理装置及び音声信号処理方法に関する。
【背景技術】
【０００２】音源から出力される楽音信号を、外部より入力される音声信号により変調して楽音形成する装置が知られている。この種の技術として、例えば特許文献１  には、通過周波数帯域がそれぞれ異なる複数のバンドパスフィルタを用いて、外部より入力される音声信号の周波数帯域毎のエンベロープレベルを抽出し、これに応じて、自動演奏される楽音の周波数特性を制御してあたかも人声のような楽音を発生する装置が開示されている。【０００３】こうした装置はボコーダと呼ばれ、これによって生成される音色はロボットボイスと呼ばれることもあり、必ずしも人声としてのリアリティが求められているわけではなく、２系統の入力信号（変調波形、被変調波形）から印象的な音響効果を生み出す装置として用いられている。【０００４】従来、ボコーダの技術的進歩の方向性は、バンドパスフィルタの密度（数量）を増やし、出力される楽音の艶かしさを向上させることに主眼が置かれ、短時間フーリエ変換を施したフレームを加工し、これを重ね合わせるといった処理が発案され、製品化されている。時間的精度と周波数精度との間にはトレードオフの関係があることから、短時間フーリエ変換を利用したボコーダは、こうした進歩の１つの完成形と言えよう。【０００５】
【特許文献１】特許第２８０８７２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】ところで、２系統の入力信号から印象的な音響効果を生み出す装置としてボコーダを捉えた場合、バンドパスフィルタの密度を増やすことは有効ではあるが、唯一の手段というわけではない。
本発明は、装置の構成と加工方法とを工夫し、とりわけ選択と進化の算法に基づき従来のボコーダでは成しえなかった新たな質感の音響効果を生み出すことを目的としている。
【課題を解決するための手段】
【０００７】請求項１は、２つ以上の波形生成装置（Ｓ１〜Ｓｎ）を持ち、これらの個々の装置に対して一纏まりとして同等な特性を有する特徴量抽出装置群（Ｅ１，１〜Ｅｎ，ｍ）と、変調ソース信号入力装置（Ｓ０）と、Ｓ０に対して上記特徴量抽出装置群と一纏まりとして同等な特性の装置群（Ｅ０，１〜Ｅ０，ｍ）を持ち、Ｅ１〜ＥｎとＥ０間のノルムから評価値を求め、Ｓ１〜Ｓｎの中から該評価値の高い波形を優勢にミックスし出力することを特徴とする音声合成装置である。【０００８】請求項２は、請求項１の音声合成装置において、特徴量抽出装置はバンドパスフィルタのエンベローブ抽出装置であることを特徴とする音声合成装置である。【０００９】請求項３は、請求項１の音声合成装置において、入力値の振幅に比例する特徴量抽出装置の出力値の大きさを、Ｓ０〜Ｓｎに対応する特徴量抽出装置群毎に求め、Ｓ０に対応する該大きさを、Ｓ１〜Ｓｎに対応する大きさにより除算した結果から、Ｓ１〜Ｓｎの個々に対応する補正値を求め、該補正値によりＳ１〜Ｓｎの出力波形の評価値、及び振幅を調整することを特徴とする音声合成装置である。【００１０】請求項４は、請求項３の音声合成装置において、各波形生成装置に対応する評価値と補正値との積をローパスフィルタへ通した後に、対応する波形生成装置の出力波形と乗算することを特徴とする音声合成装置である。【００１１】請求項５は、請求項３の音声合成装置において、評価値、および補正値を求める操作の実行を定期的（非連続的）とし、該定期的実行のタイミングにおいて最も高い評価値を得た波形生成装置のみに補正値をリリース成分値として設定し、該リリース成分値は該定期的実行毎に減衰し、一定値以下となったリリース成分値を０とし、該リリース成分値により、該波形生成装置の出力波形の振幅を調整することを特徴とする音声合成装置である。【００１２】請求項６は、請求項５の音声合成装置において、定期的実行のタイミングにおいて最も高い評価値を得た波形生成装置に対し評価値自体を一定期間割り増しすることを特徴とする音声合成装置である。【００１３】請求項７は、請求項５の音声合成装置において、各波形生成装置は自身に１対１で対応するパラメータベクトルにより制御されるものとし、定期的実行のタイミングにおいて、リリース成分値が０の波形生成装置に対応するパラメータベクトルを不連続に変更することを特徴とする音声合成装置である。【００１４】請求項８は、請求項７の音声合成装置において、波形生成装置のパラメータベクトルと、特徴量ベクトルとの組のスナップショットを記憶しておくコードブックの集合を設置し、該コードブックの集合の要素数が空の時、該定期的実行のタイミングにおいて最も高い評価値を得た波形生成装置のパラメータベクトルと、特徴量ベクトルを格納し、該コードブックの集合の要素数が空でない時、全コードブックの特徴量ベクトルと、Ｅ０とのノルムから評価値を求め、最も評価値が高かったコードブック要素のパラメータベクトルを、請求項７の不連続な変更処理の対象となっているパラメータベクトルの１要素へコピー、次回の定期的実行のタイミングにおいて該パラメータベクトルと、最も高い評価値を得た波形生成装置のパラメータベクトルが異なっている場合は、該最も高い評価値を得た波形生成装置のパラメータベクトルと、特徴量ベクトルをコードブックに登録することを特徴とする音声合成装置である。【００１５】請求項９は、請求項８の音声合成装置において、Ｓ０に対して定期的実行の時間間隔と同間隔に遅延させた波形をＳｄとし、波形生成装置の評価用にはＳ０の代わりにＳｄを用いることを特徴とする音声合成装置である。【００１６】請求項１０は、請求項７の音声合成装置において、リリース成分値が０の波形生成装置に対応するパラメータベクトルを不連続に変更する処理は、進化的計算に基づくものであることを特徴とする音声合成装置である。【００１７】請求項１１は、請求項９の音声合成装置において、パラメータベクトルの要素毎にグリッドを設け、全コードブック内の全パラメータベクトル要素を該グリッドのインデックスとして扱い、コードブックの要素の評価値を加算、該グリッドを平滑化し、積分値を求め、ルーレット選択により次回のパラメータを決定する処理を、請求項７の不連続な変更処理の対象となっていて請求項８のコードブック要素のパラメータベクトルから直接コピーされていない全てのパラメータベクトルの全要素について実行することを特徴とする音声合成装置である。【００１８】請求項１２は、請求項７の音声合成装置において、被変調ソース波形を波形テーブルに巡回して録音し、波形生成装置は該波形テーブルをパラメータで指定された位置にて再生することを特徴とする音声合成装置である。
【発明の効果】
【００１９】始めに図１に本発明の最小限の構成を示す。
音声合成装置は、任意の波形を生成する２つ以上の波形生成装置群１と、各波形生成装置に１対１で対応し、一纏まりで同一の特性を有し特徴量ベクトルを出力する特徴量抽出装置群５と、変調する側の波形を入力する装置である変調ソース３と、変調ソースの出力信号に対して、特徴量抽出装置群５と一纏まりで同一の特性を持つ特徴量抽出装置群４と、各波形生成装置の特徴量ベクトルと変調ソースの特徴量ベクトルとのノルムを元に評価値７、及び補正値８を出力する評価器６と、評価値を正規化するノーマライザ９と、補正値と正規化評価値とを掛け合わせ、増幅量を算出する乗算器１０と、増幅量の高周波成分を取り除くローパスフィルタ１１と、各波形生成装置の出力波形を遅延するディレイ１２と、ローパスフィルタ１１の出力波形とディレイ１２の出力波形とを掛け合わせる乗算器１３と、ミキサ１４とから構成される。【００２０】次に原理動作を説明する。
波形生成装置群１は、各々が独立して波形を生成し続ける波形生成装置である。通常は互いに十分に異なる特徴量を持つように配慮して設置するものである。例えば特徴量抽出装置群（５及び４）がバンドパスフィルタとエンベローブ抽出器を直列に繋いだ装置を複数束ねたものであった場合、この特徴量抽出装置群によって検出される特徴量は、波形生成装置のスペクトラムの概形といえるから、各波形生成装置のスペクトラムの概形は十分に異なるように配慮する。なお、この特性は変動していても構わない。
各波形生成装置から出力された波形は対応する特徴量抽出装置群５に入力され、特徴量ベクトルが出力される。
ここで、波形生成装置群によって出力される波形をＳ１、Ｓ２・・・Ｓｎ（ｎは波形生成装置の数）とし、特徴量抽出装置群が出力する特徴量ベクトルを列、対応する波形生成装置を行として、行列（Ｅ１，０〜Ｅｎ，ｍ）（ｍは特徴量ベクトルの次元数−１）で表すことにする。特徴量抽出装置群は一纏まりで同じ特性を持つ。すなわちＥ１，１に対応する特徴量抽出装置が４００Ｈｚを中心とする周波数帯域のエンベローブを出力するものであれば、Ｅ２，１〜Ｅｎ，１も同じである。【００２１】特徴量ベクトルの各要素の値を求める段階では、重みを付けることもできる。例えば特徴量ベクトルは５００Ｈｚ帯域のエンベローブ、１ＫＨｚ帯域のエンベローブ、２ＫＨｚ帯域のエンベローブ、４ＫＨｚ帯域のエンベローブの組み合わせであった場合、高域の影響度を強くするために、それぞれ、１、２、３、４という重みを付けることができる。【００２２】変調ソース３からは本音声合成装置において、変調する側の役割をする波形を入力する。通常のボコーダであれば、変調波形と被変調波形は１対１で対応するが、本発明では、１対ｎ（ｎ≧２）で対応し、被変調波形は多重化されている。
変調ソースからの入力波形（Ｓ０とする）、は特徴量抽出装置群４によって特徴量ベクトル（Ｅ０，０〜Ｅ０，ｍ）に変換される。特徴量抽出装置群４は、特徴量抽出装置群５と一纏まりとして同一の特性を有する。
評価器６では先ずＥ０と、Ｅ１〜Ｅｎとのノルムを求める。
ノルムκ＝ＳＱＲＴ（（Ｅ０，０−Ｅκ，０）＾２＋（Ｅ０，１−Ｅκ，１）＾２＋・・・＋（Ｅ０，ｍ−Ｅκ，ｍ）＾２）ｆｏｒ  ａｌｌ  κ
※ＳＱＲＴ（）は平方根を求める関数、＾はべき乗を表す。
※κは特徴量抽出装置群に対応する波形生成装置のインデックスで（１≦κ≦ｎ）【００２３】ノルムを求める際に、各特徴量の差分を自乗しているのは、差分の符号に寄らず大きさを抽出するためであり、全体の平方根を求めるのは、自乗の逆操作を行うためである。ノルムは一般的に「距離」と呼ばれる概念で、他の指数や、絶対値を使って求めることもできる。
特徴量ベクトルのうち、入力値の振幅に比例する要素がある場合は、以下の計算により、補正値を求める。
補正値κ＝
（（Σ（（Ｅ０，τ）＾２）ｆｏｒ  ａｌｌ  τ）
／（Σ（（Ｅκ，τ）＾２）ｆｏｒ  ａｌｌ  τ））ｆｏｒ  ａｌｌ  κ
※τは特徴量ベクトルのうち、入力値の振幅に比例する要素のインデックス
※κは特徴量抽出装置群に対応する波形生成装置のインデックスで（１≦κ≦ｎ）【００２４】算出した補正値を使ってノルム計算を下記のように補正する。
ノルムκ＝ＳＱＲＴ（Σ（Ａγ＾２））  ｆｏｒ  ａｌｌ  κ
Ａγ＝
γがτに含まれる場合：
Ｅ０，γ−Ｅκ，γ×補正値κ
γがτに含まれない場合：
Ｅ０，γ−Ｅκ，γ
※γは特徴量ベクトルのインデックスで（０≦γ≦ｍ）【００２５】通常、求めたノルムを以下の計算により評価値へと変換する。
評価値κ＝α÷（ノルムκ＋α）  ｆｏｒ  ａｌｌ  κ【００２６】小さいノルム、すなわち距離が短いほど、高い評価値を得られるようにするためノルムの逆数を計算し、またノルムが０に近い値の場合に、評価値が無限大に近づいてしまうことを防ぐためにαという準定数を用いる。
ただしαは必ずしも定数である必要はなく、またノルムから評価値への変換操作は上記の式のみを用いる必要はない。例えば距離が大きいほど評価値が高くなるような設定も考えられ、この場合は本来のボコーダの性質とは異なるものの、変化に富んだ刺激的なサウンドを得ることができる。【００２７】評価値は幅広い変化域を持つため、ノーマライザ９により、各波形生成装置に対する評価値を、全波形生成装置の評価値の合計で除算することで、評価値を正規化する。
正規化評価値κ＝
評価値κ／（Σ（評価値η）  ｆｏｒ  ａｌｌ  η）  ｆｏｒ  ａｌｌ  κ
※ηは特徴量抽出装置群に対応する波形生成装置のインデックスで（１≦η≦ｎ）【００２８】正規化評価値と補正値とを乗算器１０により乗算し、各波形生成装置に対する増幅量を得る。
増幅量κ＝正規化評価値κ×補正値κ  ｆｏｒ  ａｌｌ  κ
通常、特徴量ベクトルの抽出処理には遅延が生じるため、ディレイ１２を設置し、波形生成装置の出力波形と、特徴量ベクトルから求めた増幅量の増減のタイミングとを調整する。増幅量は高い周波数成分を含み得るため、ローパスフィルタ１１を通した後に、乗算器１３により、波形生成装置の増幅量を制御する。【００２９】最終的に増幅制御された各波形生成装置の出力波形を加算合成し、本音声合成装置の出力値とする。【００３０】さて、これだけの構成であっても複数の波形生成装置の出力波形から、変調ソースに最も似た波形を優勢にミックスして出力することが可能である。しかし、より積極的に変調ソースに似た波形を合成するためには、波形生成装置をパラメータ制御可能とし、評価値の低い波形生成装置は刻々とパラメータを変えて行き、評価値の高いパラメータを見つけ出す枠組みが必要となる。本発明では上述の音声合成装置に進化的計算法を取り入れることで、この枠組みを実現する。【００３１】図２に進化的計算法を取り入れた音声合成装置（以下進化版ボコーダと述べる）の構成を示す。
図中の矢印は値、及び波形の入出力の方向を示し、ベクトル値の場合は２重線の矢印で示す。また破線の内側のブロックは定期的に（オーディオサンプル時間よりも低粒度に）駆動される処理である。
進化版ボコーダは、波形生成装置１を、パラメータによって特性が変わるパラメータ制御型波形生成装置１５（以下、ＰＣＳＧと呼ぶ）に置き換え、ローパスフィルタ１１を補間器２８で置き換え、パラメータベクトル１６の集合と、全ＰＣＳＧの中から評価値がトップとなるＰＣＳＧを選択するトップセレクタ１７と、トップセレクタ１７と補正値とを掛け合わせる乗算器１８と、リリース成分生成装置１９と、変調ソースの出力波形を遅延するディレイ２０と、パラメータベクトル２４と、特徴量ベクトル２５、累積評価値２６の組を格納するコードブック２３の集合と、コードブック内の特徴量ベクトル２５と比較する特徴量ベクトルを変調ソースの出力波形から求め出力する特徴量抽出装置群２１と、これらを比較する評価器２２と、パラメータベクトル１６の次回の値を決定するルーレット選択器２７とを付け加えた装置である。【００３２】次に、進化版ボコーダの原理を説明する。
まず波形生成装置をパラメータ制御可能なものとする。パラメータ制御可能とは、少なくとも与えられたパラメータの変化によって出力する波形の特徴が変化するという意味である。
通常は、異なる時刻において同一パラメータを与えたとき、与えた時点から短い時間集計した特徴量ベクトルのばらつきが十分に小さいことが期待される。
例えばＰＣＳＧの出力波形の特徴量をピッチとした場合、ピッチがＰＣＳＧに与えられたパラメータとは無関係な要素により大きく変動するのであれば、このＰＣＳＧは進化版ボコーダで用いる波形生成装置としては十分な性能を発揮しないといえる。
また、ＰＣＳＧが長時間の履歴を持つ場合も十分な性能を発揮できない。これは例えばオシレータの後段にフィードバックを有するディレイを設けるといった構成である。
逆に適切なＰＣＳＧの構成として、波形テーブルの選択番号と、再生ピッチとをパラメータとして持ち、指定された波形テーブルを先頭から、あるいは循環して指定されたピッチで再生する装置などが考えられる。
また、異なるＰＣＳＧに同一パラメータを与えたときも、同様に特徴量のばらつきが十分に小さいことが期待される。実際上は全てのＰＣＳＧは同一構成であることが期待される。【００３３】次に、ＰＣＳＧの評価値算出はオーディオサンプル時間間隔ではなく、定期的に行うものとする。この定期的処理では、ＰＣＳＧのミックスバランス調整のほか、より高い評価値を得るためにＰＣＳＧに与えるパラメータの不連続な変更処理などが実行される。（以降、この定期的に実行される処理を、生まれ変わり処理と呼ぶ）
パラメータベクトル１６（以下ＰＶ）は、ＰＣＳＧと１対１で対応し、ＰＣＳＧを制御するための複数個のパラメータを記録しておく装置である。原則として、ＰＶ内の各値は生まれ変わり処理の時点で更新され、それ以外の時間は固定値が保持される。但しＰＶの１つの値を、他の値の増分として定義する場合はこの限りではない。
例えば、ＰＣＳＧが大きな波形テーブルの任意の位置を再生する装置であって、そのパラメータは「再生位置」であった場合、このパラメータが固定となっていては、その出力波形は一定レベルのＤＣ値となってしまい、音として聴こえず、また特徴量としても変化が見られないものとなってしまうであろう。
そこで、ＰＶ内に「再生位置」のみではなく「再生位置・増分」というパラメータを定義しオーディオサンプル時間間隔で「再生位置」へ「再生位置・増分」を足し込み続けることによりＰＣＳＧからの出力波形は一定のピッチで波形テーブルを再生した結果となる。【００３４】次に、生まれ変わり処理の効率を高めるため、進化版ボコーダの最終的な出力波形として同時にミックスされるＰＣＳＧの出力波形の個数を限定する仕組みを設ける。
具体的には、生まれ変わり処理のタイミングで、最も評価値が高かったＰＣＳＧに対して１を、それ以外のＰＣＳＧに対して０の値を出力するトップセレクタ１７を設け、この出力値と、ＰＣＳＧに対応する評価器から出力される補正値とを掛け合わせることにより、同時に出力されるＰＣＳＧの出力波形を１つのみに制限する。
「変調ソースの出力波形に似ている波形」というのは通常大変に厳しい条件であり、またＰＶの内容はランダム性が高いことを前提とすれば、ＰＣＳＧの評価値群は大きなダイナミックレンジを持っていることが予想できる。このため、２番目以降に評価値が高い波形は十分な成績を得られる可能性は低く、最も優れた波形を１つだけ選択するということは、結果的に高い類似度を得られる可能性が高い。
ところで、最も評価値の高いＰＣＳＧとそのパラメータは、生まれ変わり処理毎に次々に変化することが多い。このため、同時に出力する波形を完全に１つに限定してしまうと、進化版ボコーダの出力波形は、生まれ変わり処理のタイミングでツギハギしたような音質となってしまい不自然な結果となる。
このためリリース成分生成装置１９を設け、一旦設定された補正値が、徐々に減衰し、一定レベル以下となった場合は０に設定し進化版ボコーダの出力波形にミックスされないようにする。この処理は例えば以下のような式により実現される。【００３５】リリース成分κ（ｔ）＝
リリース成分κ（ｔ−１）≧βの場合
評価値κ＋リリース成分κ（ｔ−１）×λ
リリース成分κ（ｔ−１）＜βの場合
０
ｆｏｒ  ａｌｌ  κ
※ｔは時刻を表す。ｔ−１とは前回の生まれ変わり処理の状態である。
※κは特徴量抽出装置群に対応する波形生成装置のインデックスで（１≦κ≦ｎ）
※βはリリース成分を０と見なす閾値
※λは減衰率で（０≦λ＜１）【００３６】後述するＰＶの不連続な変更処理（以下、ＰＶ更新処理と呼ぶ）は、リリース成分が０のＰＣＳＧに対応するＰＶを対象とに実行する。
リリース成分が０となっているＰＣＳＧは、ＰＶ更新処理を行った場合も、進化版ボコーダの出力波形に影響を与えることがないが、もし仮にオーディオ出力中のＰＣＳＧにてＰＶ更新処理が実行されると、その出力波形には耳障りなパルス性ノイズが混入してしまうためである。通常は大半のＰＶが更新処理対象となる。
図３に以上の処理のイメージを示す。ＨＩＴはトップセレクタが１を出力したＰＣＳＧ、ＲＥＬはリリース成分が０ではないＰＣＳＧ、０はリリース成分が０のＰＣＳＧ、網掛け部分は、最新回の生まれ変わり処理で、ＰＶ更新処理の対象となるＰＣＳＧである。【００３７】また、ツギハギ感を回避するもう一つの方法として、ヒット（トップセレクタが１を出力）したＰＣＳＧは、それ以降の一定期間、評価値にプレミアを付与することもできる。例えばヒットしたタイミングで、プレミアを２０％としておき、生まれ変わり処理の度にプレミアを５％づつ漸減してゆく。他のＰＣＳＧがヒットした時点でプレミアは０にリセットする。プレミアが０となった場合は、次回ヒットするまで漸減処理は行わないものとする。上述したＰＣＳＧのノルムから評価値へ変換する処理において、プレミアの分だけ評価値を割り増しすれば、トップセレクタが同一ＰＣＳＧを選択し続ける可能性が高くなり、逆にツギハギが起こる可能性は低くなる。【００３８】次に、生まれ変わり処理の本体ともいえるＰＶ更新処理を詳細に説明する。
これまでに述べてきたＰＣＳＧの選択処理は、進化的計算法における評価、選択効果を実現しているといえる。ＰＶ更新処理は初期化、履歴、突然変異、エリート、進化の機能を担う。
まず、コードブック２３の集合を設ける。コードブックはパラメータベクトル２４と、特徴量ベクトル２５、累積評価値２６との組で構成され、過去に高い評価値を記録したＰＣＳＧのＰＶと、特徴量ベクトルとの組のスナップショットを複数個記録しておくための装置である。（以下コードブック内コピーされているパラメータベクトルをＰＶｃと呼ぶ）コードブックは、ＰＣＳＧの出力波形そのものではなく、生まれ変わり処理時点での特徴量ベクトルを記録しておくため、変調ソースの特徴量ベクトルとの比較に際して、特徴量抽出装置群を通す必要はない。
コードブックは、過去に高い評価値を記録した、いわばエリートといえるＰＶを、その特徴量ベクトルとともに記憶しておくための辞書である。コードブックの内容がこの状態を保つようにするため、以下の手順を踏む。【００３９】コードブックの集合が空の場合：
１．トップセレクタが１を出力したＰＣＳＧのＰＶと特徴量ベクトルの組（以下ＢＩ（ベストインスタンス）と呼ぶ）をコードブックの集合に登録する。累積評価値は該当ＰＣＳＧの評価値にて初期化する。
コードブックの集合が空でない場合
１．コードブックの全要素の特徴量ベクトルと、変調ソースの出力波形から求めた特徴量ベクトルとを評価器２２により評価し、最も評価値が高かった要素を選択し、そのＰＶｃを、ＰＶ更新処理対象となっているＰＶの１要素へコピーする。（以下このＰＶをＥＩ（エリートインスタンス）と呼ぶ）
２．前回ＥＩとして登録されたＰＶと、今回ＢＩとして選択されたＰＶが異なっている場合、ＢＩをコードブックの集合に登録する。累積評価値はＢＩに該当するＰＣＳＧの評価値にて初期化する。
２−１．コードブックの集合に登録されている要素数が最大値を超えている場合は、累積評価値が最小の要素をＢＩの内容で書き換える。
共通処理
以下の式により、累積評価値の更新処理を行う
累積評価値ψ（ｔ）＝
評価値ψ＋累積評価値ψ（ｔ−１）×λ  ｆｏｒ  ａｌｌ  ψ
※ｔは時刻を表す。ｔ−１とは前回の生まれ変わり処理の状態である。
※ψはコードブックのインデックスで（０≦ψ≦コードブックの要素数−１）
※λは減衰率で（０≦λ＜１）【００４０】ＰＣＳＧがＰＶ以外の要素によって特徴量の変化を受ける確率が高い場合は、上記の累積評価値によるコードブックの書き換え対象選択処理は十分に機能しない。その場合は、最も古く登録されたコードブックを書き換えの対象とすれば良い。【００４１】コードブックは特徴量ベクトルを持つのみで実際に波形生成を行うわけではない。コードブックの登録時点から時間が経過すれば、ＰＶｃと同一内容のＰＶを与えた時にＰＣＳＧから出力される波形の特徴量は大きく変化しているかも知れない。このためＥＩを登録して、実際にＰＣＳＧから出力された波形同士を比較することで、コードブックの内容を現状に即して更新することができるのである。
しかし、ＥＩを登録するため（及び後述するルーレット選択処理を行うため）には他のＰＣＳＧ出力波形に先んじて、コードブックを評価しておかなければならない。このため変調ソース出力波形と、ＰＣＳＧ評価用の特徴量抽出装置群との間にディレイ２０を挟み込み、変調ソース出力波形を生まれ変わり処理１回分の時間だけ遅延させる。【００４２】さて、１回の生まれ変わり処理でＰＶ更新処理対象となっているＰＶは１つのみではなく、先ほどのＥＩとして更新されるＰＶの他にも複数のＰＶが更新されうる。これらのＰＶは、例えばパラメータ毎に範囲設定された一様乱数によって書き換えることも考えられるが、しかしそれではコードブックの集合に蓄積されている履歴を十分に活用できない。
そこでルーレット選択器２７を設置し、コードブックのＰＶｃと評価値から進化的計算法に基づいて新たなＰＶの内容を求める機能を導入する。進化的計算法では遺伝と突然変異によって前世代と似通ったパラメータを合成するアルゴリズムが多数知られているが、ここで本発明に適した設計がなされたアルゴリムを説明する。【００４３】まず、ルーレット選択器２７にはＰＶを構成するパラメータに１対１で対応し、内部に解像度で指定された数の要素を持つグリッドを設ける。（以下これを選択グリッドと呼ぶ）選択グリッド毎に、ベース値、最大値、最小値、解像度、平滑化度の情報を固定値として持つ。（ただしベース値についてはアルゴリズムの変更なしに可変化することも可能である。）
ベース値とは選択グリッドの各要素の初期値である。
最大値、最小値はパラメータの最大値、最小値であり、本処理の結果としてこの範囲で新たなパラメータが設定される。
解像度とは、最小値〜最大値の範囲で、本処理において異なる値として扱われる区分の個数である。例えば最小値０、最大値１で、解像度が１の場合は、０≦ｎ≦１の範囲のパラメータは、同区分（同インデックス）として扱われる。最小値０、最大値２で、解像度が３の場合は、０≦ｎ＜３分の２、３分の２≦ｎ＜３分の４、３分の４≦ｎ≦２の３つの区分を持つものとして扱われる。（但しこの区分の範囲は厳密には異なるケースも考えられる。要は最小値〜最大値の値域を解像度の値で等分割することにある。）
平滑化度は後述する平滑化処理の度合いである。【００４４】次にルーレット選択器２７の動作（以下、ルーレット選択処理と呼ぶ）を説明する。
最初に全選択グリッドの全要素をベース値により初期化する。
次にコードブックの集合の全要素に対し、そのＰＶｃの要素（パラメータ）の値をパラメータに対応する選択グリッド内のインデックスに変換し、該インデックスの要素へコードブック要素の評価値を加算する処理を行う。
図４にこの処理のイメージを示す。ＰＶが「第一パラメータ」、「第二パラメータ」の２つのパラメータで構成され、コードブックが４つの要素を持つ場合を想定している。
各パラメータのグラフの土台にある網掛け部分は選択グリッドの要素を表している。棒グラフの高さは選択グリッドの要素に加算されたコードブックの要素の評価値を表す。棒グラフ内に描かれた数値は、コードブックの要素のインデックスである。第二パラメータでは、インデックスが１と２のコードブックの評価値が同一の選択グリッド要素に加算されている。
選択グリッドのベース値は通常は小さい値であるため、この図では省略されている。
ＰＶｃのパラメータ値が選択グリッドの最小値よりも小さい場合は、コードブックの評価値をインデックス＝０（最小）の選択グリッド要素へ加算する。逆にＰＶｃのパラメータ値が選択グリッドの最大値よりも大きい場合は、インデックス＝解像度−１（最大）の要素へ加算する。【００４５】次に全選択グリッドの平滑化を行う。この処理のイメージを図５に示す。平滑化とは選択グリッド上の値を左右に染み出すように「ぼかす」処理であり、選択グリッドをある種の波形と見なせば、これはローパスフィルタに該当する処理である。また、移動平均処理として捉えることもできる。選択グリッドの平滑化度は、このローパスフィルタの係り具合、あるいは移動平均の窓の幅を表す。
次に全選択グリッドの積分値を算出する。以下の計算を全選択グリッドに対して実行する。
選択グリッドκ（ｉ）＝選択グリッドκ（ｉ）＋選択グリッドκ（ｉ−１）  ｆｏｒ  （１≦ｉ≦１〜解像度−１）  ｆｏｒ  ａｌｌ  κ
※κは選択グリッドのインデックスを表す。
※ｉは選択グリッド内部の要素のインデックスを表す。【００４６】次に選択グリッド毎にルーレット選択の本体処理を行う。図６にルーレット選択処理のイメージを示す。以下より、１つの選択グリッドについて説明するが、実際には全ての選択グリッドに対して同じ処理を行う。
選択グリッド（０）≦ｒ≦選択グリッド（解像度−１）の範囲で一様乱数ｒを求め、２分探索法により選択グリッド内の１要素を選択する。
通常２分探索法はソートされた配列の中から検索したい値と同一値を求めるアルゴリズムである。しかし通常は一様乱数の値、及び選択グリッドの要素の値は実数値であり、同じ値を求めることができないから、アルゴリムの簡単な改良が必要である。具体的には以下の処理となる。
１．Ｌ（下限インデックス）に０、Ｈ（上限インデックス）に解像度−２を設定する。
２．Ｓ（検索位置）に初期値（Ｌ＋Ｈ）／２を設定する。
３．選択グリッド（Ｓ）＞ｒの場合：ＨにＳ−１を設定する。
４．選択グリッド（Ｓ＋１）＜ｒの場合：ＬにＳ＋１を設定する。
５．手順３、４の条件の何れかが成立していればＳに（Ｌ＋Ｈ）／２を設定し、手順３へ戻る。【００４７】最後に線形補間を用いて、対応するＰＶのパラメータの更新値を求める。
ＰＶのパラメータの更新値＝
（最大値−最小値）×
（
（ｒ−選択グリッド（Ｓ））／（選択グリッド（Ｓ＋１）−選択グリッド（Ｓ））
＋Ｓ）／解像度
＋最小値【００４８】この補間処理は選択グリッド内の各要素の端を折れ線グラフで結んだイメージとなるが、必ずしも、上記の式の通りに行う必要はない。例えばパラメータは波形テーブルのインデックスなど、整数値ということも考えられる。この場合、０〜選択グリッド（解像度−１）の範囲で一様乱数ｒを求めておき、ｒを超えていて最小の値を持つ選択グリッド要素のインデックスを求め、パラメータの更新値とすれば良い。【００４９】以上説明したルーレット選択処理は、ＰＶ更新処理対象となっているＰＶのうち、ＥＩ以外の全てを対象として行う。【００５０】補間器２８は、ローパスフィルタ１１の代わりとなる装置である。補間器はローパスフィルタであっても構わないが、線形補間など、他の補間方法を選択することもできる。
ディレイ２９は、最初の構成と変わらないものであるが、ＰＶ更新処理により不連続に波形が変化する部分をごまかす目的と、ＰＣＳＧの評価のタイミングと実際の出力波形のタイミングを合わせる目的から、通常は生まれ変わり処理１回分の時間だけ遅延させることが望ましい。【００５１】図７ではＰＣＳＧの出力波形と、増幅量（ゲイン）の変化の様子を示す。
図中の縦線は生まれ変わり処理が行われるタイミングを表す。ａはＰＶ更新処理によってＰＶが不連続に変化した時点である、ｂの時点では係るＰＣＳＧがＢＩであると判定され増幅量が設定されている。実際に進化版ボコーダの出力波形にミックスされるのは、「遅延ＰＣＳＧ出力波形」×「補間されたゲイン」である。上記の目的が達成されていることが判る。【００５２】さて通常のボコーダでは、変調波形と被変調波形の２系統の波形入力が前提となるが、本発明では、被変調波形に該当するＰＣＳＧは２つ以上で構成されることを前提としている。進化版ボコーダを通常のボコーダに近い感覚で使うためには、１つの被変調波形から複数のＰＣＳＧ出力波形を生成する枠組みを考える必要がある。
そこで数十秒から数分程度の波形テーブルを用意し、被変調波形をこの波形テーブルに巡回して録音するようにする。つまり波形テーブルの長さが１０秒であった場合、１０秒ごとに位置を波形テーブルの先頭にリセットして録音する。
そして、ＰＣＳＧはこの波形テーブルを対象にしてＰＶで指定された位置の波形を再生すればよい。再生速度は位置の増分パラメータとしてＰＶ内に保持する。
再生位置が録音位置を通過する時、再生波形が不連続となるためノイズが発生してしまう。このため再生位置と録音位置とが近い場合はＰＣＳＧ出力波形の振幅を減衰させ、通過時は振幅が０となるようにする機能をＰＣＳＧ自体に持たせる。
【図面の簡単な説明】
【図１】本発明の基本的構成要素を示した図である。
【図２】基本的構成要素の進化的計算対応化について示した図である。
【図３】２値化とリリース成分、ＰＶ変更対象について示した図である。
【図４】コードブックから選択グリッドへの評価値の加算について示した図である。
【図５】選択グリッドの平滑化の様子を示した図である。
【図６】選択グリッドから次回パラメータを求めるルーレット選択処理の様子を示した図である。
【図７】ＰＣＳＧの出力波形と、増幅量（ゲイン）の変化の様子を示した図である。
【図１】
2008287200.tif 000003
【図２】
2008287200.tif 000004
【図３】
2008287200.tif 000005
【図４】
2008287200.tif 000006
【図５】
2008287200.tif 000007
【図６】
2008287200.tif 000008
【図７】
2008287200.tif 000009