(57)【要約】【課題】白色雑音から一般の音の任意の質感を持つ音を生成する音信号生成技術を提供する。【解決手段】入力された第１音から時刻によらない特徴量である第１音特徴を抽出する第１音特徴抽出部と、入力された第２音から時刻に依存する特徴量である第２音特徴を抽出する第２音特徴抽出部と、出力となる生成音を白色雑音で初期化する白色信号生成部と、第１音特徴と第２音特徴を用いて変形した生成音を出力する信号変形部とを含み、信号変形部は、生成音から時刻によらない特徴量である第１生成音特徴と時刻に依存する特徴量である第２生成音特徴を抽出する生成音特徴抽出部と、第１生成音特徴と第１音特徴との誤差である第１特徴誤差と第２生成音特徴と第２音特徴との誤差である第２特徴誤差とから計算される特徴誤差が小さくなるように、生成音を変形する誤差評価信号変形部とを含む。【選択図】図２
2019035888.tif 000002
【特許請求の範囲】
【請求項１】
入力された第１音から時刻によらない特徴量である第１音特徴を抽出する第１音特徴抽出部と、
入力された第２音から時刻に依存する特徴量である第２音特徴を抽出する第２音特徴抽出部と、
出力となる生成音を白色雑音で初期化する白色信号生成部と、
前記第１音特徴と前記第２音特徴を用いて変形した前記生成音を出力する信号変形部と
を含む音信号生成装置であり、
前記信号変形部は、
前記生成音から時刻によらない特徴量である第１生成音特徴と時刻に依存する特徴量である第２生成音特徴を抽出する生成音特徴抽出部と、
前記第１生成音特徴と前記第１音特徴との誤差である第１特徴誤差と前記第２生成音特徴と前記第２音特徴との誤差である第２特徴誤差とから計算される特徴誤差が小さくなるように、前記生成音を変形する誤差評価信号変形部と
を含む音信号生成装置。
【請求項２】
請求項１に記載の音信号生成装置であって、
前記第１音特徴は、前記第１音から計算される時間周辺統計量であり、
前記第１生成音特徴は、前記生成音から計算される時間周辺統計量である
ことを特徴とする音信号生成装置。
【請求項３】
請求項１または２に記載の音信号生成装置であって、
前記第２音特徴は、前記第２音から計算される時間パターンであり、
前記第２生成音特徴は、前記生成音から計算される時間パターンである
ことを特徴とする音信号生成装置。
【請求項４】
請求項１ないし３のいずれか１項に記載の音信号生成装置であって、
前記第１音特徴と前記第１生成音特徴は、ヒトの聴覚特性を考慮して帯域分割した帯域ごとに計算したものである
ことを特徴とする音信号生成装置。
【請求項５】
請求項４に記載の音信号生成装置であって、
xtex(t)を前記第１音の振幅値、stex(i,t)をxtex(t)から計算される帯域ごとの波形、etex(i,t)をstex(i,t)の振幅包絡、mtex(i,k,t)をetex(i,t)を帯域分割した波形（ただし、tは離散時刻を表すパラメータ、i、kは帯域番号を表すパラメータ）とし、
xgen(t)を前記生成音の振幅値、sgen(i,t)をxgen(t)から計算される帯域ごとの波形、egen(i,t)をsgen(i,t)の振幅包絡、mgen(i,k,t)をegen(i,t)を帯域分割した波形（ただし、tは離散時刻を表すパラメータ、i、kは帯域番号を表すパラメータ）とし、
前記第１音特徴は、etex(i,t)の平均であるfmean,tex(i)と、etex(i,t)の分散をetex(i,t)の平均の2乗で割った値であるfvar,tex(i)と、etex(i,t)の歪度であるfskew,tex(i)と、etex(i,t)とetex(j,t)の相関係数であるfcce,tex(i,j)と、mtex(i,k,t)の二乗平均をmtex(i,k,t)の分散で割った値であるfpow,tex(i,k)と、mtex(i,k,t)とmtex(j,k,t)の相関係数であるfccm,tex(i,j,k)であり、
前記第１生成音特徴は、egen(i,t)の平均であるfmean,gen(i)と、egen(i,t)の分散をegen(i,t)の平均の2乗で割った値であるfvar,gen(i)と、egen(i,t)の歪度であるfskew,gen(i)と、egen(i,t)とegen(j,t)の相関係数であるfcce,gen(i,j)と、mgen(i,k,t)の二乗平均をmgen(i,k,t)の分散で割った値であるfpow,gen(i,k)と、mgen(i,k,t)とmgen(j,k,t)の相関係数であるfccm,gen(i,j,k)である
ことを特徴とする音信号生成装置。
【請求項６】
請求項１ないし５のいずれか１項に記載の音信号生成装置であって、
前記第２音特徴と前記第２生成音特徴は、ヒトの聴覚特性を考慮して帯域分割した帯域ごとに計算したものである
ことを特徴とする音信号生成装置。
【請求項７】
音信号生成装置が、入力された第１音から時刻によらない特徴量である第１音特徴を抽出する第１音特徴抽出ステップと、
前記音信号生成装置が、入力された第２音から時刻に依存する特徴量である第２音特徴を抽出する第２音特徴抽出ステップと、
前記音信号生成装置が、出力となる生成音を白色雑音で初期化する白色信号生成ステップと、
前記音信号生成装置が、前記第１音特徴と前記第２音特徴を用いて変形した前記生成音を出力する信号変形ステップと
を含む音信号生成方法であり、
前記信号変形ステップは、
前記生成音から時刻によらない特徴量である第１生成音特徴と時刻に依存する特徴量である第２生成音特徴を抽出する生成音特徴抽出ステップと、
前記第１生成音特徴と前記第１音特徴との誤差である第１特徴誤差と前記第２生成音特徴と前記第２音特徴との誤差である第２特徴誤差とから計算される特徴誤差が小さくなるように、前記生成音を変形する誤差評価信号変形ステップと
を含む音信号生成方法。
【請求項８】
請求項１ないし６のいずれか１項に記載の音信号生成装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力された２つの音信号の双方の特徴を備えた音信号を得る技術に関する。
【背景技術】
【０００２】
所望の質感を備える音を生成する技術の研究が進められている。そのような技術の一例として、非特許文献１にあるような、声質変換がある。この声質変換については、これまで数多くの研究がなされてきた。
【０００３】
また、別の例として、非特許文献２では、ある質感を持った音をテクスチャ合成する手法について提案している。この手法では、入力された音から質感を表す特徴量を抽出し、その特徴量を用いて同じ質感を持つ新たな音を合成する。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】T. Toda, A. W. Black, and K. Tokuda, “Spectral Conversion Based on Maximum Likelihood Estimation Considering Global Variance of Converted Parameter”, IEEE International Conference on Acoustic, Speech, and Signal Processing 2005 (ICASSP ’05) Proceedings, vol.1, no.1, pp.9-12, 2005.
【非特許文献２】J. H. McDermott and E. P. Simoncelli, “Sound texture perception via statistics of the auditory periphery: Evidence from sound synthesis”, Neuron, vol.71, no.5, pp.926-940, 2011.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、非特許文献１の声質変換技術では、変換目標となる質感が現実に存在する人の声の質感に限られる。また、非特許文献２は、声質ではなく、一般の音の質感を対象とするが、テクスチャ変換ではなく、テクスチャ合成を対象としている。
【０００６】
つまり、声質以外の質感（例えば、発声する環境）や、音声以外の音の質感など、一般の音を任意の質感にテクスチャ変換する手法は存在しなかった。
【０００７】
そこで本発明では、白色雑音から一般の音の任意の質感を持つ音を生成する音信号生成技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一態様は、入力された第１音から時刻によらない特徴量である第１音特徴を抽出する第１音特徴抽出部と、入力された第２音から時刻に依存する特徴量である第２音特徴を抽出する第２音特徴抽出部と、出力となる生成音を白色雑音で初期化する白色信号生成部と、前記第１音特徴と前記第２音特徴を用いて変形した前記生成音を出力する信号変形部とを含み、前記信号変形部は、前記生成音から時刻によらない特徴量である第１生成音特徴と時刻に依存する特徴量である第２生成音特徴を抽出する生成音特徴抽出部と、前記第１生成音特徴と前記第１音特徴との誤差である第１特徴誤差と前記第２生成音特徴と前記第２音特徴との誤差である第２特徴誤差とから計算される特徴誤差が小さくなるように、前記生成音を変形する誤差評価信号変形部とを含む。
【発明の効果】
【０００９】
本発明によれば、白色雑音から一般の音の任意の質感を持つ音を生成することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】音信号生成アルゴリズムで用いるパラメータを示す表。
【図２】音信号生成装置１００の構成の一例を示すブロック図。
【図３】音信号生成装置１００の動作の一例を示すフローチャート。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【００１２】
実施形態の説明に先立って、この明細書における表記方法について説明する。
【００１３】
_（アンダースコア）は下付き添字を表す。例えば、xy_zはyzがxに対する上付き添字であり、xy_zはyzがxに対する下付き添字であることを表す。
【００１４】
＜技術的背景＞
ここでは、本発明の実施形態で用いる音信号生成アルゴリズムについて説明する。まず、その概要について説明する。
【００１５】
（音信号生成アルゴリズムの概要）
(1) 内容を保持して質感を変換したい音（以下、第２音という）と、変換目標の質感を持った音（以下、第１音という）を入力する。
(2) 第１音から、第１音の質感を表す特徴量（第１音特徴）を抽出する。第１音特徴として、聴覚系モデルの出力波形の時間周辺統計量を用いる。ここで、時間周辺統計量とは、時間の次元で周辺化した統計量のことであり、時間周辺統計量として、例えば、平均、分散、歪度、相関係数を用いる。したがって、時間周辺統計量は、時刻によらない特徴量となる。
(3) 第２音から、第２音の内容を表す特徴量（第２音特徴）を抽出する。第２音特徴として、聴覚系モデルの出力波形の時間パターンを用いる。ここでは、時間パターンとして、出力波形そのもの、つまり、振幅包絡、振幅包絡を帯域分割したものを用いる。したがって、時間パターンは、時刻に依存する特徴量となる。
(4) 生成音を白色雑音で初期化する。
(5) 生成音の質感を表す特徴量（第１生成音特徴）が第１音特徴に、生成音の内容を表す特徴量（第２生成音特徴）が第２音特徴にそれぞれ近づくように、生成音を変形する。
(6) 変形後の生成音を出力する。
【００１６】
ここで、聴覚系モデルとは、入力された音に対してヒトの聴覚系を模擬した処理を行うものである。聴覚系モデルは、まず、音を複数の帯域に分割し、その振幅包絡と微細構造を抽出する。次に、聴覚系における応答の非線形性を模擬するために、振幅包絡を非線形圧縮する。最後に、帯域ごとの振幅包絡の変動速度を反映するために、振幅包絡を帯域分割した波形を計算する。つまり、聴覚系モデルは、以下の４つの処理から構成される。
(a) バンドパスフィルタバンク
(b) 包絡線抽出
(c) 非線形圧縮
(d) バンドパスフィルタバンク
【００１７】
また、聴覚系モデルは、音の振幅値x(t)を入力とし、帯域ごとの波形s(i,t)、波形s(i,t)の振幅包絡e(i,t)、波形s(i,t)の微細構造p(i,t)、振幅包絡e(i,t)を帯域分割した波形m(i,k,t)の４つの出力波形を出力する。これらの出力波形から、上記(2)及び(3)の処理において時間周辺統計量や時間パターンを計算する。
【００１８】
続いて、音信号生成アルゴリズムについて説明する。
【００１９】
（音信号生成アルゴリズム）
処理内容：第１音と第２音を入力とし、それぞれの特徴をあわせ持つ音である生成音を出力する。
入力：第１音の振幅値xtex(t)、第２音の振幅値xcon(t)
出力：生成音の振幅値xgen(t)
【００２０】
ここで、tは離散時刻を表すパラメータであり、t∈{1, 2, …, Tx_type}とする。ただし、type∈{tex,con,gen}とする。つまり、Tx_texは第１音の長さ（サンプル数）、Tx_conは第２音の長さ（サンプル数）、Tx_genは生成音の長さ（サンプル数）を表す。また、Tx_con=Tx_genとなる。
【００２１】
なお、本アルゴリズムの計算時間はTx_conについて線形に増加する。
(1) 聴覚系モデルにより、第１音の振幅値xtex(t)から、帯域ごとの波形stex(i,t)、波形stex(i,t)の振幅包絡etex(i,t)、振幅包絡etex(i,t)を帯域分割した波形mtex(i,k,t)を計算する。聴覚系モデルについては後述する。ここで、i、kは帯域番号を表すパラメータであり、i∈{1, 2, …, Ni}、k∈{1, 2, …, Nk}とする。
(2) 振幅包絡etex(i,t)と波形mtex(i,k,t)の時間周辺統計量fmean,tex(i)、fvar,tex(i)、fskew,tex(i)、fcce,tex(i,j)、fpow,tex(i,k)、fccm,tex(i,j,k)を計算する。各時間周辺統計量の計算方法については後述する。
(3) 波形stex(i,t)の分散σs_tex(i)2を計算する。
【００２２】
【数１】
2019035888.tif 000003
【００２３】
(4) 聴覚系モデルにより、第２音の振幅値xcon(t)から、波形scon(i,t)の振幅包絡econ(i,t)と振幅包絡econ(i,t)を帯域分割した波形mcon(i,k,t)を計算する。
(5) 生成音xgen(t)を白色雑音で初期化する。つまり、xgen(t)←白色雑音とする。
(6) (6.1)から(6.11)をNiter回繰り返す。Niterは1以上の整数であり、例えば、20とするとよい（図１参照）。
(6.1) 聴覚系モデルにより、生成音の振幅値xgen(t)から、帯域ごとの波形sgen(i,t)、波形sgen(i,t)の振幅包絡egen(i,t)、波形sgen(i,t)の微細構造pgen(i,t)、振幅包絡egen(i,t)を帯域分割した波形mgen(i,k,t)を計算する。
(6.2) 振幅包絡egen(i,t)と波形mgen(i,k,t)の時間周辺統計量fmean,gen(i)、fvar,gen(i)、fskew,gen(i)、fcce,gen(i,j)、fpow,gen(i,k)、fccm,gen(i,j,k)を計算する。
(6.3) 特徴誤差をL(i)=αLcon(i)+(1-α)Ltex(i)とし、第２特徴誤差Lcon(i)、第１特徴誤差Ltex(i)をそれぞれ以下で計算する。ただし、α(0≦α≦1)は第２音と第１音がそれぞれ生成音に与える影響のバランスを決定するパラメータである。
【００２４】
なお、α=0のとき、第１音特徴を持ち、第２音特徴を持たない音が合成される。また、α=1のとき、雑音駆動音声が合成される。
(6.3.1) 第２特徴誤差Lcon(i)を、次式で表される、第２音の振幅包絡econ(i,t)と振幅包絡econ(i,t)を帯域分割した波形mcon(i,k,t)と、生成音の振幅包絡egen(i,t)と振幅包絡egen(i,t)を帯域分割した波形mgen(i,k,t)との二乗誤差とする。
【００２５】
【数２】
2019035888.tif 000004
【００２６】
(6.3.2) 第１特徴誤差Ltex(i)を、次式で表される、第１音の時間周辺統計量と生成音の時間周辺統計量との二乗誤差とする。
【００２７】
【数３】
2019035888.tif 000005
【００２８】
ただし、Σj,kは、jやkを引数に取るstatについてのみ実行するものとする。具体的には、stat∈{cce, pow, ccm}に対して実行することになる。
(6.4) 分散σs_tex(i)2が大きいiから順に、確率勾配法によって、特徴誤差L(i)が小さくなるように振幅包絡egen(i,t)を変形する。変形した振幅包絡をe’gen(i,t)とする。
(6.5) 振幅包絡e’gen(i,t)に対して、聴覚系モデルにおける非線形圧縮の逆の操作をする。すなわち、振幅包絡e’gen(i,t)をβ分の1乗したものを改めてe’gen(i,t)とする。
【００２９】
【数４】
2019035888.tif 000006
【００３０】
(6.6) 振幅包絡e’gen(i,t)を振幅包絡のサンプリング周波数feから振幅値のサンプリング周波数fxへアップサンプルする。例えば、fx=20kHz, fe=400Hzとするとよい（図１参照）。アップサンプルした振幅包絡を改めてe’gen(i,t)とする。
(6.7) 振幅包絡e’gen(i,t)と微細構造pgen(i,t)から、次式により波形s’gen(i,t)を復元する。
【００３１】
【数５】
2019035888.tif 000007
【００３２】
ただし、jは虚数単位である。
(6.8) 波形s’gen(i,t)の分散が波形stex(i,t)の分散と等しくなるように、次式のように、波形s’gen(i,t)にσs_tex(i)/σs’_gen(i)をかける。すなわち、波形s’gen(i,t)にσs_tex(i)/σs’_gen(i)をかけたものを改めてs’gen(i,t)とする。
【００３３】
【数６】
2019035888.tif 000008
【００３４】
ここで、σs’_gen(i)は波形s’gen(i,t)の標準偏差であり、次式で表される。
【００３５】
【数７】
2019035888.tif 000009
【００３６】
(6.9) 波形s’gen(i,t)にバンドパスフィルタバンクFa(i)を適用する。適用後の波形を改めてs’gen(i,t)とする。なお、バンドパスフィルタFa(i)については後述する。
(6.10) 波形s’gen(i,t)を次式により足し合わせ、振幅値x’gen(t)を算出する。
【００３７】
【数８】
2019035888.tif 000010
【００３８】
(6.11) xgen(t)←x’gen(t)とする。
（聴覚系モデル）
聴覚系モデルでは、先述した通り、入力された音に対してヒトの聴覚系を模擬した処理を行う。
【００３９】
以下、簡単のため、type∈{tex,con,gen}として、xtype(t)、stype(i,t)、etype(i,t)、ptype(i,t)、mtype(i,k,t)をそれぞれx(t)、s(i,t)、e(i,t)、p(i,t)、m(i,k,t)と表す。
入力：音の振幅値x(t)
出力：帯域ごとの波形s(i,t)、波形s(i,t)の振幅包絡e(i,t)、波形s(i,t)の微細構造p(i,t)、振幅包絡e(i,t)を帯域分割した波形m(i,k,t)
(1) 振幅値x(t)をバンドパスフィルタバンクFa(i)より帯域分割する。フィルタの中心周波数ca(i)がEquivalent rectangular bandwidth（ERB）スケール上で等間隔になるようにする。ERBスケールとは、蝸牛におけるフィルタの配置を模擬したスケールである。ここではerb(fω)と表す。ただしfはサンプリング周波数、ωは正規化周波数とする。i番目の帯域のバンド幅は、フィルタの係数が減衰して0になる点がca(i-1)とca(i+1)となるように設定する。
(1.1) 振幅値x(t)を離散フーリエ変換したものをX(ω)とする。ωは正規化周波数であり、ω∈{0, 1/Tx, 2/Tx, …, 1/2}となる。
(1.2) X(ω)にフィルタの係数Fa(i,ω)をかける。その結果をS(i,ω)とする。
【００４０】
【数９】
2019035888.tif 000011
【００４１】
ただし、fxは振幅値x(t)のサンプリング周波数、NiはバンドパスフィルタバンクFa(i)の帯域数、ωa0はバンドパスフィルタバンクFa(i)の最低帯域の中心周波数（最小中心周波数）、ωa1はバンドパスフィルタバンクFa(i)の最高帯域の中心周波数（最大中心周波数）とする。例えば、fx=20kHz, Ni=30, ωa0=20/fx, ωa1=10000/fxとするとよい（図１参照）。
(1.3) S(i,ω)を離散逆フーリエ変換したものを帯域ごとの波形s(i,t)とする。
(2) 波形s(i,t)の振幅包絡e(i,t)、微細構造p(i,t)をヒルベルト変換により計算する。つまり、振幅包絡e(i,t)、微細構造p(i,t)をそれぞれ波形s(i,t)のヒルベルト変換の絶対値、偏角とする。
(3) 振幅包絡e(i,t)を非線形圧縮する。すなわち、振幅包絡e(i,t)をβ乗したものを改めてe(i,t)とする。
【００４２】
【数１０】
2019035888.tif 000012
【００４３】
ただし、β(0<β≦1)は圧縮の程度を決めるパラメータである。例えば、β=0.3とするとよい（図１参照）。
(4) 振幅包絡e(i,t)を振幅値のサンプリング周波数fxから振幅包絡のサンプリング周波数feへダウンサンプルする。ダウンサンプルにより、t∈{1, 2, …, Te}となる。ただし、Teは振幅包絡e(i,t)の長さ（サンプル数）であり、Te/fe=Tx/fxである。ダウンサンプルした振幅包絡を改めてe(i,t)とする。
(5) 振幅包絡e(i,t)をバンドパスフィルタバンクFm(k)により帯域分割する。このバンドパスフィルタバンクFm(k)は、聴覚末梢系に存在すると考えられている変調フィルタバンクを想定したものである。フィルタの中心周波数の間隔はlogスケールとし、バンド幅はシャープネス（Q値）が2となるようにする。
(5.1) 振幅包絡e(i,t)を離散フーリエ変換したものをE(i,ω)とする。ωは正規化周波数であり、ω∈{0, 1/Te, 2/Te, …, 1/2}となる。
(5.2) E(i,ω)にフィルタの係数Fm(k,ω)をかける。その結果をM(i,k,ω)とする。
【００４４】
【数１１】
2019035888.tif 000013
【００４５】
ただし、feは振幅包絡e(i,t)のサンプリング周波数、NkはバンドパスフィルタバンクFm(k)の帯域数、ωm0はバンドパスフィルタバンクFm(k)最低帯域の中心周波数（最小中心周波数）、ωm1はバンドパスフィルタバンクFm(k)最高帯域の中心周波数（最大中心周波数）とする。例えば、fe=400Hz, Nk=20, ωm0=0.5/fe, ωm1=200/feとするとよい（図１参照）。
(5.3) M(i,k,ω)を離散逆フーリエ変換したものをm(i,k,t)とする。
（時間周辺統計量の計算）
聴覚系モデルの出力波形から、時間周辺統計量を計算する。
【００４６】
以下、簡単のため、type∈{tex, gen}として、stype(i,t)、etype(i,t)、mtype(i,k,t)をそれぞれs(i,t)、e(i,t)、m(i,k,t)と表す。また、時間周辺統計量fmean,type(i)、fvar,type(i)、fskew,type(i)、fcce,type(i,j)、fpow,type(i,k)、fccm,type(i,j,k)をそれぞれfmean(i)、fvar(i)、fskew(i)、fcce(i,j)、fpow(i,k)、fccm(i,j,k)と表す。
入力：波形s(i,t)の振幅包絡e(i,t)、振幅包絡e(i,t)を帯域分割した波形m(i,k,t)
出力：時間周辺統計量fmean(i)、fvar(i)、fskew(i)、fcce(i,j)、fpow(i,k)、fccm(i,j,k)
(1) 振幅包絡e(i,t)の時間周辺統計量を計算する。
(1.1) e(i,t)の平均μe(i)をfmean(i)とする。
【００４７】
【数１２】
2019035888.tif 000014
【００４８】
(1.2) e(i,t)の分散σe(i)2を平均μe(i)の2乗で割った値をfvar(i)とする。
【００４９】
【数１３】
2019035888.tif 000015
【００５０】
(1.3) e(i,t)の歪度をfskew(i)とする。
【００５１】
【数１４】
2019035888.tif 000016
【００５２】
(1.4)e(i,t)とe(j,t)の相関係数をfcce(i,j)とする。
【００５３】
【数１５】
2019035888.tif 000017
【００５４】
(2) 波形m(i,k,t)の時間周辺統計量を計算する。
(2.1) m(i,k,t)の二乗平均を分散σm(i,k)2で割った値をfpow(i,k)とする。ここで、μm(i,k)はm(i,k,t)の平均である。
【００５５】
【数１６】
2019035888.tif 000018
【００５６】
(2.2) m(i,k,t)とm(j,k,t)の相関係数をfccm(i,j,k)とする。
【００５７】
【数１７】
2019035888.tif 000019
【００５８】
図１は、上記音信号生成アルゴリズムで用いたパラメータを一覧にした表である。なお、この表の値はあくまで一例である。
【００５９】
（音信号生成アルゴリズムの変形例）
様々な複雑な質感を備える音を性能よく生成するためには、上述の音信号生成アルゴリズムのように、帯域分割を行ったうえで音信号を生成するのが好ましいが、帯域分割を行わずに音信号を生成することもできる。ここでは、音信号生成アルゴリズムを簡易化したアルゴリズムについて説明する。
【００６０】
まず、簡易化音信号生成アルゴリズム１について説明する。簡易化音信号生成アルゴリズム１は、振幅包絡e(i,t)を帯域分割した波形m(i,k,t)を計算しない点において、音信号生成アルゴリズムと異なる。
［簡易化音信号生成アルゴリズム１］
(1) 聴覚系モデルにより、第１音の振幅値xtex(t)から、帯域ごとの波形stex(i,t)、波形stex(i,t)の振幅包絡etex(i,t)を計算する。
(2) 振幅包絡etex(i,t)の時間周辺統計量fmean,tex(i)、fvar,tex(i)、fskew,tex(i)、fcce,tex(i,j)を計算する。
(3) 波形stex(i,t)の分散σs_tex(i)2を計算する。
(4) 聴覚系モデルにより、第２音の振幅値xcon(t)から、帯域ごとの波形scon(i,t)の振幅包絡econ(i,t)を計算する。
(5) 生成音xgen(t)を白色雑音で初期化する。つまり、xgen(t)←白色雑音とする。
(6) (6.1)から(6.11)をNiter回繰り返す。
(6.1) 聴覚系モデルにより、生成音の振幅値xgen(t)から、帯域ごとの波形sgen(i,t)、波形sgen(i,t)の振幅包絡egen(i,t)、波形sgen(i,t)の微細構造pgen(i,t)を計算する。
(6.2) 振幅包絡egen(i,t)の時間周辺統計量fmean,gen(i)、fvar,gen(i)、fskew,gen(i)、fcce,gen(i,j)を計算する。
(6.3) 特徴誤差をL(i)=αLcon(i)+(1-α)Ltex(i)とし、第２特徴誤差Lcon(i)、第１特徴誤差Ltex(i)をそれぞれ以下で計算する。
(6.3.1) 第２特徴誤差Lcon(i)を、次式で表される、第２音の振幅包絡econ(i,t)と生成音の振幅包絡egen(i,t)との二乗誤差とする。
【００６１】
【数１８】
2019035888.tif 000020
【００６２】
(6.3.2) 第１特徴誤差Ltex(i)を、次式で表される、第１音の時間周辺統計量と生成音の時間周辺統計量との二乗誤差とする。
【００６３】
【数１９】
2019035888.tif 000021
【００６４】
ただし、Σjは、jを引数に取るstatについてのみ実行するものとする。具体的には、stat∈{cce}に対して実行することになる。
(6.4) 分散σs_tex(i)2が大きいiから順に、確率勾配法によって、特徴誤差L(i)が小さくなるように振幅包絡egen(i,t)を変形する。変形した振幅包絡をe’gen(i,t)とする。
(6.5) 振幅包絡e’gen(i,t)に対して、聴覚系モデルにおける非線形圧縮の逆の操作をする。すなわち、振幅包絡e’gen(i,t)をβ分の1乗したものを改めてe’gen(i,t)とする。
【００６５】
【数２０】
2019035888.tif 000022
【００６６】
(6.6) 振幅包絡e’gen(i,t)を振幅包絡のサンプリング周波数feから振幅値のサンプリング周波数fxへアップサンプルする。アップサンプルした振幅包絡を改めてe’gen(i,t)とする。
(6.7) 振幅包絡e’gen(i,t)と微細構造pgen(i,t)から、次式により波形s’gen(i,t)を復元する。
【００６７】
【数２１】
2019035888.tif 000023
【００６８】
(6.8) 波形s’gen(i,t)の分散が波形stex(i,t)の分散と等しくなるように、次式のように、波形s’gen(i,t)にσs_tex(i)/σs’_gen(i)をかける。すなわち、波形s’gen(i,t)にσs_tex(i)/σs’_gen(i)をかけたものを改めてs’gen(i,t)とする。
【００６９】
【数２２】
2019035888.tif 000024
【００７０】
(6.9) 波形s’gen(i,t)にバンドパスフィルタバンクFa(i)を適用する。適用後の波形を改めてs’gen(i,t)とする。
(6.10) 波形s’gen(i,t)を次式により足し合わせ、振幅値x’gen(t)を算出する。
【００７１】
【数２３】
2019035888.tif 000025
【００７２】
(6.11) xgen(t)←x’gen(t)とする。
【００７３】
次に、簡易化音信号生成アルゴリズム２について説明する。簡易化音信号生成アルゴリズム２は、振幅包絡e(i,t)を帯域分割した波形m(i,k,t)を計算しない点に加えて、帯域ごとの波形s(i,t)も計算しない点において、音信号生成アルゴリズムと異なる。
【００７４】
［簡易化音信号生成アルゴリズム２］
(1) 第１音の振幅値xtex(t)から、振幅値xtex(t)の振幅包絡etex(t)を計算する。つまり、振幅包絡etex(t)を振幅値xtex(t)のヒルベルト変換の絶対値とする。
(2) 振幅包絡etex(t)の時間周辺統計量fmean,tex、fvar,tex、fskew,texを計算する。
【００７５】
【数２４】
2019035888.tif 000026
【００７６】
(3) 振幅値xtex(t)の分散σx_tex2を計算する。
【００７７】
【数２５】
2019035888.tif 000027
【００７８】
(4) 第２音の振幅値xcon(t)から、振幅値xcon(t)の振幅包絡econ(i,t)を計算する。つまり、振幅包絡etex(t)を振幅値xcon(t)のヒルベルト変換の絶対値とする。
(5) 生成音xgen(t)を白色雑音で初期化する。つまり、xgen(t)←白色雑音とする。
(6) (6.1)から(6.11)をNiter回繰り返す。
(6.1) 生成音の振幅値xgen(t)から、振幅値xgen(t)の振幅包絡egen(t)、振幅値xgen(t)の微細構造pgen(t)を計算する。つまり、振幅包絡egen(t)、微細構造pgen(t)をそれぞれ振幅値xgen(t)のヒルベルト変換の絶対値、偏角とする。
(6.2) 振幅包絡egen(t)の時間周辺統計量fmean,gen、fvar,gen、fskew,genを計算する。
(6.3) 特徴誤差をL=αLcon+(1-α)Ltexとし、第２特徴誤差Lcon、第１特徴誤差Ltexをそれぞれ以下で計算する。
(6.3.1) 第２特徴誤差Lconを、次式で表される、第２音の振幅包絡econ(t)と、生成音の振幅包絡egen(t)との二乗誤差とする。
【００７９】
【数２６】
2019035888.tif 000028
【００８０】
(6.3.2) 第１特徴誤差Ltexを、次式で表される、第１音の時間周辺統計量と生成音の時間周辺統計量との二乗誤差とする。
【００８１】
【数２７】
2019035888.tif 000029
【００８２】
(6.4)確率勾配法によって、特徴誤差Lが小さくなるように振幅包絡egen(t)を変形する。変形した振幅包絡をe’gen(t)とする。
(6.7) 振幅包絡e’gen(t)と微細構造pgen(t)から、次式により振幅値x’gen(t)を復元する。
【００８３】
【数２８】
2019035888.tif 000030
【００８４】
(6.8) 振幅値x’gen(t)の分散が振幅値xtex(t)の分散と等しくなるように、次式のように、振幅値x’gen(t)にσx_tex/σx’_genをかける。すなわち、振幅値x’gen(t)にσx_tex/σx’_genをかけたものを改めてx’gen(t)とする。
【００８５】
【数２９】
2019035888.tif 000031
【００８６】
(6.11) xgen(t)←x’gen(t)とする。
【００８７】
＜第一実施形態＞
以下、図２〜図３を参照して音信号生成装置１００について説明する。図２は、音信号生成装置１００の構成を示すブロック図である。図３は、音信号生成装置１００の動作を示すフローチャートである。図２に示すように音信号生成装置１００は、第１音特徴抽出部１１０、第２音特徴抽出部１２０、白色信号生成部１３０、信号変形部１４０、記録部１９０を含む。さらに、信号変形部１４０は、生成音特徴抽出部１４１、誤差評価信号変形部１４２を含む。記録部１９０は、音信号生成装置１００の処理に必要な情報を適宜記録する構成部である。
【００８８】
図３に従い音信号生成装置１００の動作について説明する。第１音特徴抽出部１１０は、入力された第１音から時刻によらない特徴量である第１音特徴を抽出する（Ｓ１１０）。具体的には、まず、音信号生成アルゴリズム(1)により、第１音の振幅値xtex(t)から、帯域ごとの波形stex(i,t)、波形stex(i,t)の振幅包絡etex(i,t)、振幅包絡etex(i,t)を帯域分割した波形mtex(i,k,t)を計算する。次に、音信号生成アルゴリズム(2)により、振幅包絡etex(i,t)と波形mtex(i,k,t)から、時間周辺統計量fmean,tex(i)、fvar,tex(i)、fskew,tex(i)、fcce,tex(i,j)、fpow,tex(i,k)、fccm,tex(i,j,k)を計算する。つまり、時間周辺統計量fmean,tex(i)、fvar,tex(i)、fskew,tex(i)、fcce,tex(i,j)、fpow,tex(i,k)、fccm,tex(i,j,k)が第１音特徴となる。また、音信号生成アルゴリズム(3)により、波形stex(i,t)からその分散σs_tex(i)2を計算する。
【００８９】
なお、音信号生成アルゴリズム(6.3.2)の第１特徴誤差Ltex(i)の計算において、６つの時間周辺統計量すべてを用いる必要はない。つまり、少なくとも１つの時間周辺統計量を用いることにより第１特徴誤差Ltex(i)を計算するようにしてもよい。したがって、必ずしも、振幅包絡etex(i,t)と波形mtex(i,k,t)の両方を計算する必要はないし、また、６つの時間周辺統計量すべてを計算する必要もない。すなわち、Ｓ１１０では、第１特徴誤差Ltex(i)の計算において必要となるもののみを計算すればよい。
【００９０】
第２音特徴抽出部１２０は、入力された第２音から時刻に依存する特徴量である第２音特徴を抽出する（Ｓ１２０）。具体的には、まず、音信号生成アルゴリズム(4)により、第２音の振幅値xcon(t)から、波形scon(i,t)の振幅包絡econ(i,t)、振幅包絡econ(i,t)を帯域分割した波形mcon(i,k,t)を計算する。時間パターンである振幅包絡econ(i,t)と波形mcon(i,k,t)が第２音特徴となる。
【００９１】
なお、音信号生成アルゴリズム(6.3.1)の第２特徴誤差Lcon(i)の計算において、振幅包絡econ(i,t)と波形mcon(i,k,t)の両方を用いる必要はない。つまり、振幅包絡econ(i,t)と波形mcon(i,k,t)のいずれか１つを用いることにより第２特徴誤差Lcon(i)を計算するようにしてもよい。したがって、場合によっては、波形mcon(i,k,t)を計算する必要はない。
【００９２】
白色信号生成部１３０は、出力となる生成音を白色雑音で初期化する（Ｓ１３０）。具体的には、音信号生成アルゴリズム(5)による。
【００９３】
信号変形部１４０は、第１音特徴と第２音特徴を用いて変形した生成音を出力する（Ｓ１４０）。生成音特徴抽出部１４１は、生成音から時刻によらない特徴量である第１生成音特徴と時刻に依存する特徴量である第２生成音特徴を抽出する（Ｓ１４１）。なお、第１生成音特徴と第２生成音特徴を生成音特徴という。誤差評価信号変形部１４２は、第１生成音特徴と第１音特徴との誤差である第１特徴誤差と第２生成音特徴と第２音特徴との誤差である第２特徴誤差とから計算される特徴誤差が小さくなるように、生成音を変形する（Ｓ１４２）。所定の条件が満たされた場合、誤差評価信号変形部１４２は、変形した生成音を出力する（Ｓ１４９）。例えば、生成音を変形する処理をNiter回繰り返した後、出力する。
【００９４】
以下、生成音特徴抽出部１４１及び誤差評価信号変形部１４２の動作について説明する。まず、生成音特徴抽出部１４１の動作について説明する。最初に、音信号生成アルゴリズム(6.1)により、生成音の振幅値xgen(t)から、帯域ごとの波形sgen(i,t)、波形sgen(i,t)の振幅包絡egen(i,t)、波形sgen(i,t)の微細構造pgen(i,t)、振幅包絡egen(i,t)を帯域分割した波形mgen(i,k,t)を計算する。時間パターンである振幅包絡egen(i,t)と波形mgen(i,k,t)が第２生成音特徴である。続いて、音信号生成アルゴリズム(6.2)により、振幅包絡egen(i,t)と波形mgen(i,k,t)の時間周辺統計量fmean,gen(i)、fvar,gen(i)、fskew,gen(i)、fcce,gen(i,j)、fpow,gen(i,k)、fccm,gen(i,j,k)を計算する。時間周辺統計量fmean,gen(i)、fvar,gen(i)、fskew,gen(i)、fcce,gen(i,j)、fpow,gen(i,k)、fccm,gen(i,j,k)が第１生成音特徴である。
【００９５】
なお、ここで計算する生成音特徴は、Ｓ１１０やＳ１２０に対応する形で必要となるもののみでよい。
【００９６】
次に、誤差評価信号変形部１４２の動作について説明する。最初に、音信号生成アルゴリズム(6.3)及び(6.4)により、帯域番号iについて、分散σs_tex(i)2が大きいiから順に、確率勾配法によって、特徴誤差L(i)が小さくなるように振幅包絡egen(i,t)を変形していく。これにより、変形した振幅包絡e’gen(i,t)が得られる。
【００９７】
なお、二乗誤差を用いて第１特徴誤差Ltex(i)及び第２特徴誤差Lcon(i)を計算する代わり、誤差の絶対値を用いて第１特徴誤差Ltex(i)及び第２特徴誤差Lcon(i)を計算するようにしてもよい。また、第１特徴誤差Ltex(i)及び第２特徴誤差Lcon(i)を計算する際、各二乗和（各絶対値和）に重みを付けたうえで加算するようにしてもよい。
【００９８】
続いて、音信号生成アルゴリズム(6.5)〜(6.11)により、変形した振幅包絡e’gen(i,t)(i∈{1, 2, …, Ni})から生成音の振幅値xgen(t)を計算する。
【００９９】
本発明は上述の実施形態に限定されるものではない。例えば、Ｓ１１０〜Ｓ１３０の処理はこの順序でなく適宜入れ替えて実行してもよいし、並列に実行してもよい。
【０１００】
本発明によれば、白色雑音から一般の音の任意の質感を持つ音を生成することができる。
【０１０１】
＜変形例＞
音信号生成装置１００では、各構成部は音信号生成アルゴリズムに基づいて動作するものとして説明したが、音信号生成アルゴリズムの代わりに、簡易化音信号生成アルゴリズム１や簡易化音信号生成アルゴリズム２に基づいて動作するものとしてもよい。
【０１０２】
この場合、第１音特徴、第２音特徴、第１生成音特徴、第２生成音特徴は、必ずしも帯域分割して帯域ごとに計算したものではないことになる。この点において、第１音特徴、第２音特徴、第１生成音特徴、第２生成音特徴が、ヒトの聴覚特性を考慮して帯域分割した帯域ごとに計算したものである音信号生成装置１００と異なる。
【０１０３】
＜補記＞
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置（例えば通信ケーブル）が接続可能な通信部、ＣＰＵ（Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい）、メモリであるＲＡＭやＲＯＭ、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、ＣＰＵ、ＲＡＭ、ＲＯＭ、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、ＣＤ−ＲＯＭなどの記録媒体を読み書きできる装置（ドライブ）などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
【０１０４】
ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている（外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるＲＯＭに記憶させておくこととしてもよい）。また、これらのプログラムの処理によって得られるデータなどは、ＲＡＭや外部記憶装置などに適宜に記憶される。
【０１０５】
ハードウェアエンティティでは、外部記憶装置（あるいはＲＯＭなど）に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にＣＰＵで解釈実行・処理される。その結果、ＣＰＵが所定の機能（上記、…部、…手段などと表した各構成要件）を実現する。
【０１０６】
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
【０１０７】
既述のように、上記実施形態において説明したハードウェアエンティティ（本発明の装置）における処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。
【０１０８】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等を、光磁気記録媒体として、ＭＯ（Magneto-Optical disc）等を、半導体メモリとしてＥＥＰ−ＲＯＭ（Electronically Erasable and Programmable-Read Only Memory）等を用いることができる。
【０１０９】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【０１１０】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【０１１１】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【図１】
2019035888.tif 000032
【図２】
2019035888.tif 000033
【図３】
2019035888.tif 000034