JP4229435B2 - 音場シミュレーション装置、音場シミュレーション方法、コンピュータプログラム、プログラム記録媒体 - Google Patents
音場シミュレーション装置、音場シミュレーション方法、コンピュータプログラム、プログラム記録媒体 Download PDFInfo
- Publication number
- JP4229435B2 JP4229435B2 JP2003113723A JP2003113723A JP4229435B2 JP 4229435 B2 JP4229435 B2 JP 4229435B2 JP 2003113723 A JP2003113723 A JP 2003113723A JP 2003113723 A JP2003113723 A JP 2003113723A JP 4229435 B2 JP4229435 B2 JP 4229435B2
- Authority
- JP
- Japan
- Prior art keywords
- window function
- sound
- signal
- sound field
- reference window
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Measurement Of Mechanical Vibrations Or Ultrasonic Waves (AREA)
- Reverberation, Karaoke And Other Acoustics (AREA)
Description
【発明の属する技術分野】
本発明は、音場をシミュレーションするための装置および方法に係り、特に、音源から受聴位置への音の伝達関数が時間的に変化する場合に受聴位置での音場をシミュレートするうえで好適な方法および装置に関する。また、本発明はその方法をコンピュータに実行させるためのプログラムおよびそのプログラムを記録した記録媒体に関する。
【0002】
【従来の技術】
従来より、例えば、非特許文献1に記載されるように、音の伝達関数を用いて、実際の受聴位置で観測される音場と等価な音場をシミュレートするシステムが知られている。このシステムでは、音源から特定の受聴位置までのインパルス応答を求め、このインパルス応答と音源信号との畳み込み計算を行うことで、当該受聴位置での音場を生成している。
【0003】
【非特許文献1】
大成建設株式会社技術研究所、”音場シミュレータ「リスン」”、
日本音響学会誌、1992年、48巻4号、P.266〜267
【0004】
【発明が解決しようとする課題】
ところで、例えば、受聴者が移動し、または、音源が移動する場合などのように、音源から受聴位置までの音の伝達関数が時間的に変化することがある。このような場合に受聴位置での音場をシミュレートする手法として、予め各時点での音源から受聴位置へのインパルス応答を求めておき、時間の経過に伴ってインパルス応答を切り替えながら、各時点でのインパルス応答と音源信号との畳み込みにより音場を生成することが考えられる。しかし、インパルス応答を単に切り替えながら畳み込みを計算するだけでは、生成される音場は切り替え時点で不連続的に変化して不自然なものになってしまう。
【0005】
本発明は上記の点に鑑みてなされたものであり、音源から受聴位置までの音の伝達状況が時間と共に変化する場合に、離散的な時点でのインパルス応答を用いながら、自然かつ滑らかな音場信号を生成できるようにすることを目的とする。
【0006】
【課題を解決するための手段】
上記の目的を達成するため、請求項1に記載された発明は、音源から受聴位置への音の伝達関数が時間的に変化する場合に、前記受聴位置での音場を再生するための音場シミュレーション装置であって、
音源信号u(t)を取得する取得手段と、
離散的な複数の時点Pi(i=1,・・・,N)における前記音源から前記受聴位置への音のインパルス応答hi(t)が格納された記憶手段と、
前記音源信号u(t)と前記複数の時点におけるインパルス応答hi(t)とに基づいて、各時点における前記音源信号u(t)に対する前記受聴位置での応答信号yi(t)を計算する応答演算手段と、
隣接する2つの時点における前記応答信号yi(t),yi+1(t)に基づき、前記応答信号yi(t)に時間の経過と共に次第に減少する第1の窓関数f1(t)を掛けたf1(t)・yi(t)と、前記応答信号yi+1(t)に時間の経過と共に次第に増加する第2の窓関数f2(t)を掛けたf2(t)・yi+1(t)とを足し合わせることにより当該2つの時点間における音場信号xi(t)を計算するクロスフェード演算手段と、を備え、
前記クロスフェード演算手段は、
隣接する2つの時点におけるインパルス応答h i ( t ) ,h i+1 ( t ) の間の相関係数r i に基づいて前記第1および第2の窓関数f 1 ( t ) ,f 2 ( t ) を決定する決定手段を含むと共に、前記第1および第2の窓関数f 1 ( t ) ,f 2 ( t ) の夫々について、前記相関係数r i が小さい場合に対応した第1の基準窓関数f a1 ( t ) ,f a2 ( t ) と、前記相関係数r i が大きい場合に対応した第2の基準窓関数f b1 ( t ) ,f b2 ( t ) とを記憶しており、
前記決定手段は、
前記相関係数に応じて、前記第2の基準窓関数f b1 ( t ) ,f b2 ( t ) の重みk 1 および前記第1の基準窓関数f a1 ( t ) ,f a2 ( t ) の重みk 2 を決定し、
前記重みk 1 を前記第2の基準窓関数f b1 ( t ) に掛けたk 1 ・f b1 ( t ) と、前記重みk 2 を前記第1の基準窓関数f a1 ( t ) に掛けたk 2 ・f a1 ( t ) とを足し合わせることにより前記第1の窓関数f 1 ( t ) を決定し、
前記重みk 1 を前記第2の基準窓関数f b2 ( t ) に掛けたk 1 ・f b2 ( t ) と、前記重みk 2 を前記第1の基準窓関数f a2 ( t ) に掛けたk 2 ・f a2 ( t ) とを足し合わせることにより前記第2の窓関数f 2 ( t ) を決定することを特徴とする。
【0007】
本発明によれば、クロスフェード演算手段により、隣接する2つの時点における前記応答信号yi(t),yi+1(t)に基づき、応答信号y i ( t ) に時間の経過と共に次第に減少する第1の窓関数f 1 ( t ) を掛けたf 1 ( t ) ・y i ( t ) と、応答信号y i+1 ( t ) に時間の経過と共に次第に増加する第2の窓関数f 2 ( t ) を掛けたf 2 ( t ) ・y i+1 ( t ) とを足し合わせることにより当該2つの時点間における音場信号xi(t)を計算するので、生成された音場信号xi(t)は、応答信号yi(t)からyi+1(t)へ滑らかに推移する信号となる。したがって、本発明によれば、音源から観測点までの音の伝達状況が時間と共に変化する場合に、離散的な各時点でのインパルス応答を用いながら、自然かつ滑らかな音場信号を生成することができる。
【0009】
また、請求項2に記載された発明は、請求項1記載の音場シミュレーション装置において、前記応答演算手段は、前記音源信号u(t)と各時点のインパルス応答hi(t)との畳み込みにより前記応答信号yi(t)を計算することを特徴とする。
【0011】
また、請求項3に記載された発明は、請求項1記載の音場シミュレーション装置において、前記第1の基準窓関数fa1(t),fa2(t)は、前記相関係数が0の場合に、それらの2乗和{fa1(t)}2+{fa2(t)}2の振幅の時間平均が1となるように設定されており、
前記第2の基準窓関数fb1(t),fb2(t)は、前記相関係数が1の場合に、それらの和fb1(t)+fb2(t)の2乗振幅の時間平均が1となるように設定されていることを特徴とする。
【0012】
また、請求項4に記載された発明は、請求項3記載の音場シミュレーション装置において、前記第1の基準窓関数fa1(t),fa2(t)および前記第2の基準窓関数fb1(t),fb2(t)は次式で表されることを特徴とする。ただし、Tは、前記隣接する2時点の間隔である。
fa1(t)=cos(π・t/(2・T))
fa2(t)=sin(π・t/(2・T))
fb1(t)=1−t/T
fb2(t)=t/T
【0013】
また、請求項5に記載された発明は、音源から受聴位置への音の伝達関数が時間的に変化する場合に、前記受聴位置での音場を再生するための音場シミュレーション方法であって、コンピュータ又はハードウェア演算回路の少なくともいずれかを含んで構成されるシミュレーション装置が、
音源信号u(t)を取得するステップと、
前記取得した音源信号u(t)と、離散的な複数の時点における前記音源から前記受聴位置への音のインパルス応答hi(t)とに基づいて、各時点における前記音源信号u(t)に対する前記受聴位置での応答信号yi(t)を計算するステップと、
隣接する2つの時点における前記応答信号yi(t),yi+1(t)に基づき、前記応答信号yi(t)に時間の経過と共に次第に減少する第1の窓関数f1(t)を掛けたf1(t)・yi(t)と、前記応答信号yi+1(t)に時間の経過と共に次第に増加する第2の窓関数f2(t)を掛けたf2(t)・yi+1(t)とを足し合わせることにより当該2つの時点間における音場信号xi(t)を計算するクロスフェード演算ステップと、を実行し、
前記クロスフェード演算ステップは、
隣接する2つの時点におけるインパルス応答h i ( t ) ,h i+1 ( t ) の間の相関係数r i に基づいて前記第1および第2の窓関数f 1 ( t ) ,f 2 ( t ) を決定する決定ステップを含み、
前記決定ステップは、前記第1および第2の窓関数f 1 ( t ) ,f 2 ( t ) の夫々について、前記シミュレーション装置に予め記憶された、前記相関係数r i が小さい場合に対応した第1の基準窓関数f a1 ( t ) ,f a2 ( t ) と、前記相関係数r i が大きい場合に対応した第2の基準窓関数f b1 ( t ) ,f b2 ( t ) とを参照して、前記相関係数に応じて、前記第2の基準窓関数f b1 ( t ) ,f b2 ( t ) の重みk 1 および前記第1の基準窓関数f a1 ( t ) ,f a2 ( t ) の重みk 2 を決定し、
前記重みk 1 を前記第2の基準窓関数f b1 ( t ) に掛けたk 1 ・f b1 ( t ) と、前記重みk 2 を前記第1の基準窓関数f a1 ( t ) に掛けたk 2 ・f a1 ( t ) とを足し合わせることにより前記第1の窓関数f 1 ( t ) を決定し、
前記重みk 1 を前記第2の基準窓関数f b2 ( t ) に掛けたk 1 ・f b2 ( t ) と、前記重みk 2 を前記第1の基準窓関数f a2 ( t ) に掛けたk 2 ・f a2 ( t ) とを足し合わせることにより前記第2の窓関数f 2 ( t ) を決定することを特徴とする。
【0014】
また、請求項6に記載された発明は、請求項5記載の方法をコンピュータに実行させるためのプログラムに係るものであり、請求項7に記載された発明は、そのプログラムを記録した記録媒体に係るものである。
【0015】
【発明の実施の形態】
以下、本発明の一実施形態である音場シミュレーション装置について説明する。本実施形態の音場シミュレーション装置は、受聴者が移動し、または、音源が移動するなどにより、音源から受聴位置までの音の伝達関数が時間的に変化する場合に、そのような伝達関数の時間的変化を反映した音場のシミュレーションを行うものである。
【0016】
例えば図1に示すように、ある部屋R内に固定された音源Sに対して、受聴者Oが室外からドアDを開けて部屋Rの中に入り、音源Sに近づく場合を想定する。このような状況では、時間の経過とともに受聴者Oの位置が変化し、また、ドアDの開閉が行われるのに応じて、音源Sから受聴位置までの音の伝達関数が変化する。本実施形態では、予め、幾つかの離散的な時点Pi(i=1〜N)での固定音源Sから受聴者Oの位置への伝達関数を実験あるいは計算などによって求めておき、時間の経過に応じてそれら伝達関数を切り替えることにより、受聴位置での音場をシミュレートする。
【0017】
図1の例で説明すると、各時点P0〜PN(図1ではN=12)での状態(受聴者Oの位置やドアDの開閉状態)における音源Sから受聴者Oの位置までの伝達関数としてインパルス応答hi(t)(i=0〜N)を予め求めておく。そして、各時点Piのインパルス応答hi(t)と、音源Sの信号(以下、音源信号という)u(t)とを畳み込むことで、受聴者Oの位置での音場を計算する。なお、図1では、受聴者Oが移動するものとしているが、音源Sが移動する場合も全く同様である。
【0018】
ところで、各時点Piでの音場を正確に計算するうえでは、なるべく細かい間隔で時点Piを取ることが望ましいといえる。しかし、上述の通り、受聴位置での音場を計算するには畳み込み演算を行うことが必要であり、この演算には相当の計算量を要する。したがって、時点Piの間隔を細かく取り過ぎると、計算量が膨大となってしまい現実的ではない。そこで、伝達関数の変化が緩やかであると考えられる期間(例えば、受聴者Oが室内または室外を歩いている期間)では時点Piを比較的大きな間隔とし、伝達関数の変化が急であると考えられる期間(例えば、ドアDを開閉している期間)では、細かい間隔で時点Piを取るようにする。
【0019】
以上のように離散的な時点Piを取った場合、インパルス応答hi(t)は各時点Piで不連続的に変化することになる。したがって、インパルス応答hi(t)と音源信号u(t)との畳み込み演算結果をそのまま受聴位置での音場信号としたのでは、生成される音場は各時点Piで不連続的に変化する不自然なものとなってしまう。これに対して、本実施形態の音場シミュレーション装置は、各時点Piでのインパルス応答hi(t)から求められる畳み込み信号を滑らかにつなげることで、自然な音場を生成できる点に特徴を有している。以下、本実施形態の音場シミュレーション装置の構成および動作について詳細に説明する。
【0020】
図2は、本実施形態の音場シミュレーション装置10のブロック構成図である。同図に示すように、音場シミュレーション装置10は、信号取得部12、インパルス応答記憶部14、相関係数演算部16、相関係数記憶部18、応答演算部20、クロスフェード演算部22、信号合成部24、および出力部26等を備えている。なお、音場シミュレーション装置10は例えばコンピュータシステムにより構成され、各演算部16,20,22および信号合成部24はコンピュータが所定の演算プログラムを実行することに実現される。ただし、処理負荷の大きい演算部16,20,22の一部または全部をDSP(Digital Signal Processor)等のハードウェア演算回路により構成してもよい。
【0021】
信号取得部12は、例えば、A/D変換器により構成され、外部から入力されたアナログの音源信号をデジタル信号に変換する。あるいは、予め音源信号をデジタル化して記憶装置に記憶しておき、信号取得部12が記憶された音源信号を読み出すこととしてもよい。
【0022】
インパルス応答記憶部14には、各時点Piでのインパルス応答hi(t)が記憶される。利用者は、予め実験やシミュレーション計算などによってインパルス応答を求めてインパルス応答記憶部14に格納しておく。
【0023】
相関係数演算部16は、インパルス応答記憶部14に記憶されたインパルス応答hi(t)に基づいて、隣接する時点のインパルス応答hi(t),hi+1(t)の間の相関係数riを次式に従って計算し、相関係数記憶部18に格納する。
【数1】
ただし、相関係数演算部16および相関係数記憶部18を音場シミュレーション装置10に設けるのではなく、音場シミュレーション装置10とは別個の演算装置により相関係数riを計算して記憶しておき、その相関係数を音場シミュレーション装置10が読み出す構成としてもよい。
【0024】
応答演算部20は、インパルス応答記憶部14に記憶されたインパルス応答hi(t)と、音源信号取得部12により取得された音源信号u(t)との畳み込み信号yi(t)を次式に従って計算する。
【数2】
【0025】
クロスフェード演算部22は、以下に詳細に述べるように、畳み込み信号yi(t)と、相関係数記憶部18に記憶された相関係数riとに基づいて、隣接する時点間の区間[Pi,Pi+1]での音場信号xi(t)を計算する。そして、信号合成部24は各音場信号xi(t)をつなぎ合わせて時点P0〜PNに亘る最終的な音場信号x(t)を生成する。出力部26は、生成された音場信号x(t)をアナログ信号に変換し、適宜増幅器を介して外部のスピーカー等の音響装置へ出力する。
【0026】
以下、クロスフェード演算部22による演算処理について詳細に説明する。
【0027】
本実施形態では、図3および図4に示すように、区間[Pi,Pi+1]において、時点Piから時点Pi+1に向けて次第に小さくなる窓関数f1(t)を時点Piでの畳み込み信号yi(t)に掛け、また、時点Piから時点Pi+1に向けて次第に大きくなる窓関数f2(t)を時点Pi+1での畳み込み関数yi+1(t)に掛けて、両者を足し合わせる。すなわち、区間[Pi,Pi+1]における音場信号xi(t)を
xi(t)=f1(t)・yi(t)+f2(t)・yi+1(t)
として計算する。
【0028】
これらの窓関数f1(t)、f2(t)は、以下のように、相関係数rjの値に基づいて決定される。
【0029】
先ず、相関係数rjが「0」の場合は、図3に示すように、窓関数f1(t),f2(t)を区間[Pi,Pi+1]で値が「0」と「1」との間を曲線状に変化する関数とする。具体的には、次式で表される基準窓関数fa1(t),fa2(t)を用いる。ただし、Tiは、区間[Pi,Pi+1]の区間長、tは時点Piを基準とした時間であり0≦t≦Tiとする。
f1(t)=fa1(t)=cos(π・t/(2・Ti))
f2(t)=fa2(t)=sin(π・t/(2・Ti))
【0030】
また、相関係数rjが「1」の場合には、図4に示すように、窓関数f1(t),f2(t)を区間[Pi,Pi+1]で値が「0」と「1」との間を直線状に変化する関数とする。具体的には次式で表される基準窓関数fb1(t),fb2(t)を用いる。
f1(t)=fb1(t)=1−t/Ti
f2(t)=fb2(t)=t/Ti
【0031】
これらの基準窓関数fa1(t),fa2(t)およびfb1(t),fb2(t)は、区間[Pi,Pi+1]において計算される音場信号xi(t)の二乗振幅の時間平均 (以下、二乗振幅平均という)が、時点Pi,Pi+1での畳み込み信号yi(t),yi+1(t)の二乗振幅平均に等しいという条件を満たすように求められたものである。以下、このことを検証する。なお、以下の各式においては、記載を簡潔にするため関数のパラメータを省略することがある。
【0032】
先ず、相関係数riが「0」の場合については、区間[Pi,Pi+1]における音場信号
xi(t)=cos(π・t/(2・T))・yi(t)+sin(π・t/(2・T))・yi+1(t)
の二乗振幅和は
【数3】
hi(t)とhi+1(t)の相関係数riは「0」であるから、それらの畳み込みであるyi(t),yi+1(t)について、
【数4】
が成立する。
【0033】
したがって、
【数5】
となる。
【0034】
ここで、隣接する時点間で音場のパワー変化はほとんど無いと考えられることから、畳み込み信号yi(t),yi+1(t)は次式を満足するものとする。
【数6】
したがって、
【数7】
となり、音場信号xi(t)の二乗振幅平均が畳み込み信号yi(t),yi+1(t)の二乗振幅平均に一致することがわかる。
【0035】
すなわち、上記(1)式を前提として、相関係数が「0」の場合の基準窓関数fa1(t),fa2(t)は、それらの2乗和{fa1(t)}2+{fa2(t)}2の振幅の平均が「1」となるように設定される。
【0036】
また、相関係数rjが「1」の場合について、区間[Pi,Pi+1]における音場信号
xi(t)=(1−t/Ti)・yi(t)+(t/Ti)・yi+1(t)
の二乗振幅平均は
【数8】
ここで、hi(t),hi+1(t)の相関係数が1であるから、それらと音源信号u(t)との畳み込みであるy1(t),y2(t)は互いに等しい。したがって、y1(t)=y2(t)=y(t)とおくと、
【数9】
となり、音場信号x(t)の二乗振幅平均が畳み込み信号yj(t),yj+1(t)の二乗振幅平均に一致することがわかる。
【0037】
すなわち、相関係数が「1」の場合、y1(t)=y2(t)であることを前提として、基準窓関数fb1(t),fb2(t)は、それらの和fb1(t)+fb2(t)の二乗振幅平均が「1」となるように設定される。
【0038】
このように、区間[Pi,Pi+1]において、音場信号xi(t)の二乗振幅平均が畳み込み信号yi(t),yi+1(t)の二乗振幅平均に一致することにより、各区間[Pi,Pi+1]でyi(t)とyi+1(t)とをつなぎ合わせに伴って音場信号x(t)のレベルに不連続的な変化が生ずることがなくなり、自然な音場を生成することができるのである。
【0039】
以上のことを実証するため、音源信号r(t)としてホワイトノイズを用い、相関の低い2つのインパルス応答hs1(t)、hs2(t)と、相関の高い2つのインパルス応答ht1(t)、ht2(t)について、各基準窓関数を用いて音場信号を計算した。なお、相関の低いインパルス応答hs1(t)、hs2(t)としては、ある建物内の環境が全く異なる2つの地点(実験室内とエントランスホール)での実測値を用いた。図5(a),(b)にインパルス応答hs1(t)、hs2(t)の波形を示す。また、相関の高いインパルス応答ht1(t)、ht2(t)として、同じ室内の位置だけ異なる2つの地点での実測値を用いた。図6(a),(b)にインパルス応答ht1(t)、ht2(t)の波形を示す。
【0040】
先ず、相関の低いインパルス応答hs1(t)、hs2(t)についてホワイトノイズとの畳み込み信号を計算し、それらに夫々、曲線状の窓関数fa1(t)=cos(π・t/(2・T)),fa2(t)=sin(π・t/(2・T))を掛けて、両者を足し合わせたところ、図7に示す波形の信号が得られた。ただし、Tは適宜な定数とした。図7に示すように、得られた信号波形は振幅がほぼ一定に保たれており、インパルス応答がhs1(t)からhs2(t)へ変化する際に、音場信号が滑らかに推移していることがわかる。
【0041】
一方、これらのインパルス応答hs1(t)、hs2(t)についてホワイトノイズとの畳み込み演算を行い、それらの演算結果に夫々直線状の窓関数fb1(t)=1−t/T,fb2(t)=t/Tをかけて、両者を足し合わせたところ、図8に示す波形の信号が得られた。同図に示すように、得られた信号波形にはレベルの低下(図中矢印Xで示す)が生じており、相関の低いインパルス応答hs1(t)、hs2(t)について直線状の窓関数fb1,fb2を用いると、インパルス応答がhs1(t)からhs2(t)へ変化する際に、音場信号は滑らかに推移しないことがわかる。
【0042】
次に、相関の高いインパルス応答ht1(t)、ht2(t)についてホワイトノイズとの畳み込み信号を計算し、それらに夫々、直線状の窓関数fb1(t)=1−t/T,fb2(t)=t/Tを掛けて、両者を足し合わせたところ、図9に示す波形の信号が得られた。同図に示すように、得られた信号波形は振幅がほぼ一定に保たれており、インパルス応答がht1(t)からht2(t)へ変化する際に、音場信号が滑らかに推移していることがわかる。
【0043】
一方、これらインパルス応答ht1(t)、ht2(t)についてホワイトノイズとの畳み込み信号を計算し、それらに夫々、曲線状の窓関数fa1(t)=cos(π・t/(2・T)),fa2(t)=sin(π・t/(2・T))をかけて、両者を足し合わせたところ、図10に示す波形の信号が得られた。同図に示すように、得られた信号波形にはレベルの上昇 (図中矢印Yで示す)が生じており、相関の高いインパルス応答ht1(t)、ht2(t)について曲線状の窓関数fa1,fa2を用いると、インパルス応答がht1(t)からht2(t)へ変化する際に、音場信号は滑らかに推移しないことがわかる。
【0044】
以上のように、インパルス応答の相関係数が低い場合には、曲線状の窓関数fa1(t),fa2(t)を用い、相関係数が高い場合には、直線状の窓関数fb1(t),fb2(t)を用いることで、インパルス応答hi(t)が変化する区間[Pi,Pi+1]において滑らかで自然な音場信号を生成できることが実証された。
【0045】
ただし、実際にはインパルス応答の相関係数は「0」と「1」の中間の値を取る。そこで、本実施形態では、曲線状の基準窓関数fa1(t),fa2(t)と直線状の基準窓関数fb1(t),fb2(t)とを相関係数riの値に応じた重みで加え合わせたものを窓関数f1(t),f2(t)として用いることとしている。すなわち、重み係数をk1、k2として、
f1(t)=k1・(1−t/Ti)+k2・cos(π・t/(2・Ti)) ・・・(A)
f2(t)=k1・t/Ti +k2・sin(π・t/(2・Ti)) ・・・(B)
なる窓関数を用い、k1,k2の値を相関係数に応じて設定する。ただし、k1+k2=1が満足されるものとする。
【0046】
図11は、相関係数から重み係数k1,k2を決定するためのグラフ(以下、重み決定グラフという)である。この重み決定グラフは、次のようにして実験的に求められたものである。すなわち、様々な相関係数を有するホワイトノイズの組を用意し、それらホワイトノイズの各組について、k1,k2の値を様々に変化させながら、上式(A),(B)で定められる窓関数f1(t)、f2(t)を掛けて足し合わせた信号を計算し、その信号波形のレベル変動が最も少なくなるようなk1,k2の値を求める。こうして求められたk1,k2とホワイトノイズの相関係数との関係をプロットすることで、図11に示す重み決定グラフが得られる。このような重み決定グラフを記憶しておき、このグラフを参照して相関係数riから重み係数k1,k2を決定する。
【0047】
図12は、本実施形態の音場シミュレーション装置10における処理手順を示すフローチャートである。本シミュレーションにあたっては、シミュレーションの対象となる状況について、時点Piを設定し、各時点Piでの音源から受聴位置までのインパルス応答hi(t)を求めて、インパルス応答記憶部14に格納しておくものとする。
【0048】
同図に示すように、先ず、信号取得部12により音源信号u(t)が入力され、あるいは、予め記憶しておいた音源信号u(t)が読み出される(S100)。また、相関係数計算部16が、インパルス応答記憶部14に記憶されたインパルス応答hi(t)に基づいて、隣接する時点間のインパルス応答の相関係数riを計算し、相関係数記憶部18に格納する(S102)。次に、応答演算部20が、音源信号u(t)とインパルス応答hi(t)との畳み込み信号yi(t)を計算する(S104)。また、クロスフェード計算部22が、各区間[Pi,Pi+1]について、インパルス応答hi(t),hi+1(t)の相関係数riに基づき、上記図11に示す重み決定グラフを参照して、重み係数k1,k2を決定する(S106)。そして、その重み係数k1,k2を用いて上記式(A),(B)に従って窓関数f1(t),f2(t)を決定し、夫々を畳み込み信号yi(t),yi+1(t)に乗じて足し合わせることにより、区間[Pi,Pi+1]での音場信号xi(t)を計算する(S108)。信号合成部24はこの信号xi(t)をi=1〜Nについてつなげることにより、音場信号x(t)生成する(S110)。こうして生成された音場信号x(t)は出力部26により外部へ出力される(S112)。
【0049】
本実施形態の音場シミュレーション装置10を用いて、図1に示す状況下での音場をシミュレーションし、実際に図1に示す受聴者Oの位置で集音した音と比べたところ、実際の音場とほぼ同じ音場を再生できることが確認できた。
【0050】
以上説明したように、本実施形態の音場シミュレーション装置10によれば、離散的な時点Pi(t)でのインパルス応答hi(t)を用いて得られる畳み込み信号yi(t)を、相関係数riに応じた窓関数f1(t),f2(t)を用いて接続することで、インパルス応答hi(t)の変化に伴う不連続的なレベル変動のない滑らかで自然な音場信号を生成することができる。
【0051】
ところで、以上の説明では、音源信号u(t)に基づいて音場信号x(t)を生成したうえで、その音場信号x(t)を出力するものとしたが、演算部16,20,22等をDSPで構成した場合のように、十分に早い演算速度が得られる場合は、リアルタイムで入力される音源信号u(t)に対して音場信号x(t)を生成しながらリアルタイムで出力することも可能である。
【0052】
【発明の効果】
本発明によれば、音源から受聴位置までの音の伝達状況が時間と共に変化する場合に、離散的な時点でのインパルス応答を用いながら、自然かつ滑らかな音場信号を生成することができる。
【図面の簡単な説明】
【図1】音場のシミュレーション計算の対象となる状況の一例を示す図であり、受聴者が音源に向けて移動する場合を示す。
【図2】本発明の一実施形態である音場シミュレーション装置のブロック構成図である。
【図3】相関係数が「0」の場合の窓関数の波形を示す図である。
【図4】相関係数が「1」の場合の窓関数の波形を示す図である。
【図5】図5(a),(b)は、検証実験で用いた相関の低いインパルス応答を示す図である。
【図6】図6(a),(b)は、検証実験で用いた相関の高いインパルス応答を示す図である。
【図7】相関の低いインパルス応答についてのホワイトノイズとの畳み込み信号に、曲線状の窓関数を掛けて足し合わせた結果の波形を示す図である。
【図8】相関の低いインパルス応答についてのホワイトノイズとの畳み込み信号に、直線状の窓関数を掛けて足し合わせた結果の波形を示す図である。
【図9】相関の高いインパルス応答についてのホワイトノイズとの畳み込み信号に、直線状の窓関数を掛けて足し合わせた結果の波形を示す図である。
【図10】相関の高いインパルス応答についてのホワイトノイズとの畳み込み信号に、曲線状の窓関数を掛けて足し合わせた結果の波形を示す図である。
【図11】相関係数から重み係数を決定するためのグラフである。
【図12】本実施形態の音場シミュレーション装置における処理手順を示すフローチャートである。
【符号の説明】
10 音場シミュレーション装置
12 信号取得部
14 インパルス応答記憶部
16 相関係数計算部
18 相関係数記憶部
20 応答演算部
22 クロスフェード演算部
24 信号合成部
26 出力部
Claims (7)
- 音源から受聴位置への音の伝達関数が時間的に変化する場合に、前記受聴位置での音場を再生するための音場シミュレーション装置であって、
音源信号u(t)を取得する取得手段と、
離散的な複数の時点Pi(i=1,・・・,N)における前記音源から前記受聴位置への音のインパルス応答hi(t)が格納された記憶手段と、
前記音源信号u(t)と前記複数の時点におけるインパルス応答hi(t)とに基づいて、各時点における前記音源信号u(t)に対する前記受聴位置での応答信号yi(t)を計算する応答演算手段と、
隣接する2つの時点における前記応答信号yi(t),yi+1(t)に基づき、前記応答信号yi(t)に時間の経過と共に次第に減少する第1の窓関数f1(t)を掛けたf1(t)・yi(t)と、前記応答信号yi+1(t)に時間の経過と共に次第に増加する第2の窓関数f2(t)を掛けたf2(t)・yi+1(t)とを足し合わせることにより当該2つの時点間における音場信号xi(t)を計算するクロスフェード演算手段と、を備え、
前記クロスフェード演算手段は、
隣接する2つの時点におけるインパルス応答h i ( t ) ,h i+1 ( t ) の間の相関係数r i に基づいて前記第1および第2の窓関数f 1 ( t ) ,f 2 ( t ) を決定する決定手段を含むと共に、前記第1および第2の窓関数f 1 ( t ) ,f 2 ( t ) の夫々について、前記相関係数r i が小さい場合に対応した第1の基準窓関数f a1 ( t ) ,f a2 ( t ) と、前記相関係数r i が大きい場合に対応した第2の基準窓関数f b1 ( t ) ,f b2 ( t ) とを記憶しており、
前記決定手段は、
前記相関係数に応じて、前記第2の基準窓関数f b1 ( t ) ,f b2 ( t ) の重みk 1 および前記第1の基準窓関数f a1 ( t ) ,f a2 ( t ) の重みk 2 を決定し、
前記重みk 1 を前記第2の基準窓関数f b1 ( t ) に掛けたk 1 ・f b1 ( t ) と、前記重みk 2 を前記第1の基準窓関数f a1 ( t ) に掛けたk 2 ・f a1 ( t ) とを足し合わせることにより前記第1の窓関数f 1 ( t ) を決定し、
前記重みk 1 を前記第2の基準窓関数f b2 ( t ) に掛けたk 1 ・f b2 ( t ) と、前記重みk 2 を前記第1の基準窓関数f a2 ( t ) に掛けたk 2 ・f a2 ( t ) とを足し合わせることにより前記第2の窓関数f 2 ( t ) を決定することを特徴とする音場シミュレーション装置。 - 前記応答演算手段は、前記音源信号u(t)と各時点のインパルス応答hi(t)との畳み込みにより前記応答信号yi(t)を計算することを特徴とする請求項1記載の音場シミュレーション装置。
- 前記第1の基準窓関数fa1(t),fa2(t)は、前記相関係数が0の場合に、それらの2乗和{fa1(t)}2+{fa2(t)}2の振幅の時間平均が1となるように設定されており、
前記第2の基準窓関数fb1(t),fb2(t)は、前記相関係数が1の場合に、それらの和fb1(t)+fb2(t)の2乗振幅の時間平均が1となるように設定されていることを特徴とする請求項1記載の音場シミュレーション装置。 - 前記第1の基準窓関数fa1(t),fa2(t)および前記第2の基準窓関数fb1(t),fb2(t)は次式で表されることを特徴とする請求項3記載の音場シミュレーション装置。ただし、Tは、前記隣接する2時点の間隔である。
fa1(t)=cos(π・t/(2・T))
fa2(t)=sin(π・t/(2・T))
fb1(t)=1−t/T
fb2(t)=t/T - 音源から受聴位置への音の伝達関数が時間的に変化する場合に、前記受聴位置での音場を再生するための音場シミュレーション方法であって、コンピュータ又はハードウェア演算回路の少なくともいずれかを含んで構成されるシミュレーション装置が、
音源信号u(t)を取得するステップと、
前記取得した音源信号u(t)と、離散的な複数の時点における前記音源から前記受聴位置への音のインパルス応答hi(t)とに基づいて、各時点における前記音源信号u(t)に対する前記受聴位置での応答信号yi(t)を計算するステップと、
隣接する2つの時点における前記応答信号yi(t),yi+1(t)に基づき、前記応答信号yi(t)に時間の経過と共に次第に減少する第1の窓関数f1(t)を掛けたf1(t)・yi(t)と、前記応答信号yi+1(t)に時間の経過と共に次第に増加する第2の窓関数f2(t)を掛けたf2(t)・yi+1(t)とを足し合わせることにより当該2つの時点間における音場信号xi(t)を計算するクロスフェード演算ステップと、を実行し、
前記クロスフェード演算ステップは、
隣接する2つの時点におけるインパルス応答h i ( t ) ,h i+1 ( t ) の間の相関係数r i に基づいて前記第1および第2の窓関数f 1 ( t ) ,f 2 ( t ) を決定する決定ステップを含み、
前記決定ステップは、前記第1および第2の窓関数f 1 ( t ) ,f 2 ( t ) の夫々について、前記シミュレーション装置に予め記憶された、前記相関係数r i が小さい場合に対応した第1の基準窓関数f a1 ( t ) ,f a2 ( t ) と、前記相関係数r i が大きい場合に対応した第2の基準窓関数f b1 ( t ) ,f b2 ( t ) とを参照して、前記相関係数に応じて、前記第2の基準窓関数f b1 ( t ) ,f b2 ( t ) の重みk 1 および前記第1の基準窓関数f a1 ( t ) ,f a2 ( t ) の重みk 2 を決定し、
前記重みk 1 を前記第2の基準窓関数f b1 ( t ) に掛けたk 1 ・f b1 ( t ) と、前記重みk 2 を前記第1の基準窓関数f a1 ( t ) に掛けたk 2 ・f a1 ( t ) とを足し合わせることにより前記第1の窓関数f 1 ( t ) を決定し、
前記重みk 1 を前記第2の基準窓関数f b2 ( t ) に掛けたk 1 ・f b2 ( t ) と、前記重みk 2 を前記第1の基準窓関数f a2 ( t ) に掛けたk 2 ・f a2 ( t ) とを足し合わせることにより前記第2の窓関数f 2 ( t ) を決定することを特徴とする方法。 - 音源から受聴位置への音の伝達関数が時間的に変化する場合に、前記受聴位置での音場を再生するための音場シミュレーション方法をコンピュータに実行させるためのプログラムであって、
前記コンピュータに、音源信号u(t)を取得させる手順と、
前記コンピュータに、前記取得した音源信号u(t)と、離散的な複数の時点における前記音源から前記受聴位置への音のインパルス応答hi(t)とに基づいて、各時点における前記音源信号u(t)に対する前記受聴位置での応答信号yi(t)を計算させる手順と、
前記コンピュータに、隣接する2つの時点における前記応答信号yi(t),yi+1(t)に基づき、前記応答信号yi(t)に時間の経過と共に次第に減少する第1の窓関数f1(t)を掛けたf1(t)・yi(t)と、前記応答信号yi+1(t)に時間の経過と共に次第に増加する第2の窓関数f2(t)を掛けたf2(t)・yi+1(t)とを足し合わせることにより当該2つの時点間における音場信号xi(t)を計算させるクロスフェード演算手順と、を備え、
前記クロスフェード演算手順は、
隣接する2つの時点におけるインパルス応答h i ( t ) ,h i+1 ( t ) の間の相関係数r i に基づいて前記第1および第2の窓関数f 1 ( t ) ,f 2 ( t ) を前記コンピュータに決定させる決定手順を含み、
前記決定手順は、前記第1および第2の窓関数f 1 ( t ) ,f 2 ( t ) の夫々について、前記コンピュータに予め記憶された、前記相関係数r i が小さい場合に対応した第1の基準窓関数f a1 ( t ) ,f a2 ( t ) と、前記相関係数r i が大きい場合に対応した第2の基準窓関数f b1 ( t ) ,f b2 ( t ) とを参照して、前記相関係数に応じて、前記第2の基準窓関数f b1 ( t ) ,f b2 ( t ) の重みk 1 および前記第1の基準窓関数f a1 ( t ) ,f a2 ( t ) の重みk 2 を決定し、
前記重みk 1 を前記第2の基準窓関数f b1 ( t ) に掛けたk 1 ・f b1 ( t ) と、前記重 みk 2 を前記第1の基準窓関数f a1 ( t ) に掛けたk 2 ・f a1 ( t ) とを足し合わせることにより前記第1の窓関数f 1 ( t ) を決定し、
前記重みk 1 を前記第2の基準窓関数f b2 ( t ) に掛けたk 1 ・f b2 ( t ) と、前記重みk 2 を前記第1の基準窓関数f a2 ( t ) に掛けたk 2 ・f a2 ( t ) とを足し合わせることにより前記第2の窓関数f 2 ( t ) を決定することを特徴とするプログラム。 - 請求項6記載のプログラムを記録した記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003113723A JP4229435B2 (ja) | 2003-04-18 | 2003-04-18 | 音場シミュレーション装置、音場シミュレーション方法、コンピュータプログラム、プログラム記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003113723A JP4229435B2 (ja) | 2003-04-18 | 2003-04-18 | 音場シミュレーション装置、音場シミュレーション方法、コンピュータプログラム、プログラム記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004317911A JP2004317911A (ja) | 2004-11-11 |
JP4229435B2 true JP4229435B2 (ja) | 2009-02-25 |
Family
ID=33473538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003113723A Expired - Fee Related JP4229435B2 (ja) | 2003-04-18 | 2003-04-18 | 音場シミュレーション装置、音場シミュレーション方法、コンピュータプログラム、プログラム記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4229435B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4779553B2 (ja) * | 2005-10-06 | 2011-09-28 | ヤマハ株式会社 | 音声信号の圧伸方法および音声信号圧伸装置 |
JP2020031303A (ja) * | 2018-08-21 | 2020-02-27 | 株式会社カプコン | 仮想空間における音声生成プログラム、および音声生成装置 |
JP7016307B2 (ja) * | 2018-09-04 | 2022-02-04 | 本田技研工業株式会社 | 音響処理装置、音響処理方法およびプログラム |
JP7318211B2 (ja) * | 2019-01-21 | 2023-08-01 | 株式会社Ihi | 音波伝搬シミュレーションシステム、および、音波伝搬シミュレーション方法 |
JP7463796B2 (ja) * | 2020-03-25 | 2024-04-09 | ヤマハ株式会社 | デバイスシステム、音質制御方法および音質制御プログラム |
-
2003
- 2003-04-18 JP JP2003113723A patent/JP4229435B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004317911A (ja) | 2004-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0593228B1 (en) | Sound environment simulator and a method of analyzing a sound space | |
Valimaki et al. | Fifty years of artificial reverberation | |
US8842847B2 (en) | System for simulating sound engineering effects | |
US9432790B2 (en) | Real-time sound propagation for dynamic sources | |
Harker et al. | The HISSTools impulse response toolbox: Convolution for the masses | |
JP2008197284A (ja) | フィルタ係数算出装置、フィルタ係数算出方法、制御プログラム、コンピュータ読み取り可能な記録媒体、および、音声信号処理装置 | |
JP4062959B2 (ja) | 残響付与装置、残響付与方法、インパルス応答生成装置、インパルス応答生成方法、残響付与プログラム、インパルス応答生成プログラムおよび記録媒体 | |
US20090232318A1 (en) | Output correcting device and method, and loudspeaker output correcting device and method | |
JP2012155339A (ja) | 音声状態モデルを使用したマルチセンサ音声高品質化 | |
JPWO2006011356A1 (ja) | インパルス応答測定方法及び装置 | |
Pérez Carrillo et al. | Method for measuring violin sound radiation based on bowed glissandi and its application to sound synthesis | |
CN103137136A (zh) | 声音处理装置 | |
JP2012509632A5 (ja) | オーディオ信号を変換するためのコンバータ及び方法 | |
JP2008517317A (ja) | オーディオデータ処理システム、方法、プログラム要素、及びコンピュータ読み取り可能媒体 | |
US20030169887A1 (en) | Reverberation generating apparatus with bi-stage convolution of impulse response waveform | |
JP4229435B2 (ja) | 音場シミュレーション装置、音場シミュレーション方法、コンピュータプログラム、プログラム記録媒体 | |
JP3979133B2 (ja) | 音場再生装置、プログラム及び記録媒体 | |
Abel et al. | A feedback canceling reverberator | |
JP2012168367A (ja) | 再生装置とその方法と、プログラム | |
JP2012128207A (ja) | 音響装置及びその制御方法、プログラム | |
CN102903367A (zh) | 离线迭代的声重放系统频响均衡方法和装置 | |
CN110246516A (zh) | 一种语音通信中小空间回声信号的处理方法 | |
JP2010091821A (ja) | 音場支援装置、音場支援方法およびプログラム | |
JP5050789B2 (ja) | シミュレーション装置およびプログラム | |
Simionato et al. | A virtual tube delay effect |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060222 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071218 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080214 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080513 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080711 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20081104 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081201 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4229435 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111212 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121212 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131212 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |