(57)【要約】 【課題】ドップラー効果を簡易にシミュレートする音声シミュレーション装置等を提供する。【解決手段】音声シミュレーション装置３０１において、履歴記憶部３０２は、音源オブジェクトの移動履歴を記憶し、観測オブジェクトが時刻tに観測する音声波形は、音源オブジェクトが時刻g(t)に発声した音声波形に由来するとしたときに、時刻計算部３０３は、時刻t1および時刻t2における観測オブジェクトの位置および履歴記憶部３０２に記憶される音源オブジェクトの移動履歴から、時刻u1 = g(t1)および時刻u2 = g(t2)を計算し、音声出力部３０４は、音源オブジェクトが時刻u1から時刻u2までに発声した音声波形を時間長t2-t1に時間方向に伸縮して、伸縮された音声波形を、観測オブジェクトが時刻t1から時刻t2までに観測した音声波形として出力する。【選択図】図３
2008035320.tif 000002
【特許請求の範囲】
【請求項１】
音声を発する音源オブジェクトと、音声を観測する観測オブジェクトと、が移動する仮想空間において、当該観測オブジェクトにて時刻t1から時刻t2までに観測される音声波形をシミュレートする音声シミュレーション装置であって、
当該仮想空間における当該音源オブジェクトの移動履歴を記憶する履歴記憶部、
当該仮想空間における音速cと、当該観測オブジェクトの時刻t1における位置b1と、時刻t2における位置b2と、前記記憶された当該音源オブジェクトの移動履歴と、から、時刻u1と時刻u2を計算する時刻計算部であって、当該音源オブジェクトの時刻u1における位置s1と、時刻u2における位置s2と、に対して、条件「位置b1と位置s1との距離がc(t1-u1)に等しく、かつ、位置b2と位置s2との距離がc(t2-u2)に等しい」を満たす時刻u1と時刻u2を計算する時刻計算部、
当該仮想空間内において前記計算された時刻u1から時刻u2までの間に当該音源オブジェクトが発する時間長(u2-u1)の音声波形を、時間長(t2-t1)に伸縮して、当該時間長を伸縮された音声波形を、当該観測オブジェクトにて時刻t1から時刻t2までに観測される音声波形として出力する音声出力部
を備えることを特徴とする音声シミュレーション装置。
【請求項２】
請求項１に記載の音声シミュレーション装置であって、
前記音声出力部は、位置b1と位置s1との距離と、位置b2と位置s2との距離と、に基づいて、当該時間長を伸縮された音声波形の振幅を伸縮して、当該振幅を伸縮された音声波形を、当該観測オブジェクトにて時刻t1から時刻t2までに観測される音声波形として出力する
ことを特徴とする音声シミュレーション装置。
【請求項３】
請求項１または２に記載の音声シミュレーション装置であって、
u1≧u2である場合、前記音声出力部は、所定の衝撃音声波形を、時間長(t2-t1)の間、当該観測オブジェクトにて時刻t1から時刻t2までに観測される音声波形として出力する
ことを特徴とする音声シミュレーション装置。
【請求項４】
請求項１から３のいずれか１項に記載の音声シミュレーション装置であって、
所定の時間刻み幅ΔTに対してt2 = t1+ΔTであり、
前記音声出力部により当該観測オブジェクトにて時刻t1から時刻t2までに観測される音声波形が出力されると、時刻t1と時刻t2をそれぞれΔTだけ増加させて、時刻u1に時刻u2を設定し、前記時刻計算部に時刻u2の計算を再度行わせる繰返制御部
をさらに備えることを特徴とする音声シミュレーション装置。
【請求項５】
音声を発する音源オブジェクトと、音声を観測する観測オブジェクトと、が移動する仮想空間において、当該観測オブジェクトにて時刻t1から時刻t2までに観測される音声波形をシミュレートし、当該仮想空間における当該音源オブジェクトの移動履歴を記憶する履歴記憶部、時刻計算部、音声出力部を備える音声シミュレーション装置にて実行される音声シミュレーション方法であって、
前記時刻計算部が、当該仮想空間における音速cと、当該観測オブジェクトの時刻t1における位置b1と、時刻t2における位置b2と、前記記憶された当該音源オブジェクトの移動履歴と、から、時刻u1と時刻u2を計算する時刻計算工程であって、当該音源オブジェクトの時刻u1における位置s1と、時刻u2における位置s2と、に対して、条件「位置b1と位置s1との距離がc(t1-u1)に等しく、かつ、位置b2と位置s2との距離がc(t2-u2)に等しい」を満たす時刻u1と時刻u2を計算する時刻計算工程、
前記音声出力部が、当該仮想空間内において前記計算された時刻u1から時刻u2までの間に当該音源オブジェクトが発する時間長(u2-u1)の音声波形を、時間長(t2-t1)に伸縮して、当該時間長を伸縮された音声波形を、当該観測オブジェクトにて時刻t1から時刻t2までに観測される音声波形として出力する音声出力工程
を備えることを特徴とする音声シミュレーション方法。
【請求項６】
コンピュータに、音声を発する音源オブジェクトと、音声を観測する観測オブジェクトと、が移動する仮想空間において、当該観測オブジェクトにて時刻t1から時刻t2までに観測される音声波形をシミュレートさせるプログラムであって、当該プログラムは、当該コンピュータを、
当該仮想空間における当該音源オブジェクトの移動履歴を記憶する履歴記憶部、
当該仮想空間における音速cと、当該観測オブジェクトの時刻t1における位置b1と、時刻t2における位置b2と、前記記憶された当該音源オブジェクトの移動履歴と、から、時刻u1と時刻u2を計算する時刻計算部であって、当該音源オブジェクトの時刻u1における位置s1と、時刻u2における位置s2と、に対して、条件「位置b1と位置s1との距離がc(t1-u1)に等しく、かつ、位置b2と位置s2との距離がc(t2-u2)に等しい」を満たす時刻u1と時刻u2を計算する時刻計算部、
当該仮想空間内において前記計算された時刻u1から時刻u2までの間に当該音源オブジェクトが発する時間長(u2-u1)の音声波形を、時間長(t2-t1)に伸縮して、当該時間長を伸縮された音声波形を、当該観測オブジェクトにて時刻t1から時刻t2までに観測される音声波形として出力する音声出力部
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ドップラー効果を簡易にシミュレートする音声シミュレーション装置、音声シミュレーション方法、ならびに、これらをコンピュータにて実現するプログラムに関する。
【背景技術】
【０００２】
ドップラー効果とは、一般には、波（音波や電波、光波など。）の発生源（音源、電波源、光源など。）や両者の相対速度や観測者が波の媒体に対して移動する速度によって、波の周波数が異なって観測される現象をいう。一般に、発生源が観測者に近付く場合には、波の振動が詰められて周波数が高くなり、遠ざかる場合には、振動が伸ばされて周波数が低くなる。
【０００３】
このようなドップラー効果に関する技術については、たとえば、以下の文献に開示されている。
【特許文献１】特開平１０−０４２３９９号公報
【非特許文献１】フリー百科辞典『ウィキペディア』より「ドップラー効果」の項  http://ja.wikipedia.org/wiki/%E3%83%89%E3%83%83%E3%83%97%E3%83%A9%E3%83%BC%E5%8A%B9%E6%9E%9C
【０００４】
ここで、[特許文献１]では、音声空間化システムに、ドップラー効果をシミュレートする技術を応用する旨が開示されている。
一方、[非特許文献１]には、音波についてのドップラー効果の計算技術が開示されている。観測者と音源が同一直線上を動き、音源Ｓから観測者Ｏに向かう向きを正し、音源の出す音波の周波数をf、音速をc、観測者の移動速度をvo、音源の移動速度をvsとすると、観測者に聞こえる音波の振動数f'は、以下のように求められる。
f' = f×(c-vo)/(c-vs)
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、音源と観測者が自由に空間内を移動する場合や、その移動速度が音速を超える場合については、これらの文献には開示されておらず、簡易なシミュレーション技術が強く求められている。
本発明は、上記のような課題を解決するもので、ドップラー効果を簡易にシミュレートする音声シミュレーション装置、音声シミュレーション方法、ならびに、これらをコンピュータにて実現するプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【０００７】
本発明の第１の観点にかかる音声シミュレーション装置は、音声を発する音源オブジェクトと、音声を観測する観測オブジェクトと、が移動する仮想空間において、当該観測オブジェクトにて時刻t1から時刻t2までに観測される音声波形をシミュレートし、履歴記憶部、時刻計算部、音声出力部を備え、以下のように構成する。
【０００８】
ここで、履歴記憶部は、当該仮想空間における当該音源オブジェクトの移動履歴を記憶する。
【０００９】
典型的には、仮想空間における音源オブジェクトの位置を一定の時間間隔で取得して、配列やリングバッファなどの形式で順次記憶することにより、ある時刻における位置が取得できるようにする。なお、所望の時刻ちょうどにおける音源オブジェクトの位置を知りたい場合であって、その時刻に対応する位置が記憶されていない場合は、その時刻の前後の時刻における位置を取得して、適切な補間を行えば良い。
【００１０】
一方、時刻計算部は、当該仮想空間における音速cと、当該観測オブジェクトの時刻t1における位置b1と、時刻t2における位置b2と、記憶された当該音源オブジェクトの移動履歴と、から、時刻u1と時刻u2を計算する。このとき、当該音源オブジェクトの時刻u1における位置s1と、時刻u2における位置s2と、に対して、条件「位置b1と位置s1との距離がc(t1-u1)に等しく、かつ、位置b2と位置s2との距離がc(t2-u2)に等しい」を満たす時刻u1と時刻u2を計算する。
【００１１】
通常のドップラー効果の計算では、音源オブジェクトと観測オブジェクトの移動速度に基づいて周波数の変化の計算を行うが、本発明においては、音源オブジェクトと観測オブジェクトの位置関係が所定の条件を満たすような時刻を求めることにより、周波数の変化はもちろん、音源オブジェクトから観測オブジェクトまでに音波が至るまでの時間遅延を考慮したシミュレーションが可能となる。
【００１２】
さらに、音声出力部は、当該仮想空間内において計算された時刻u1から時刻u2までの間に当該音源オブジェクトが発する時間長(u2-u1)の音声波形を、時間長(t2-t1)に伸縮して、当該時間長を伸縮された音声波形を、当該観測オブジェクトにて時刻t1から時刻t2までに観測される音声波形として出力する。
【００１３】
時間長(u2-u1)の音波波形を時間長(t2-t1)の音波波形に時間方向に伸縮することにより、ドップラー効果による周波数の変化を適切にシミュレートすることができる。また、時刻u1から時刻u2までの間に当該音源オブジェクトが発した音波波形に相当するものを、時刻t1から時刻t2までの間に観測オブジェクトが観測した音波波形とすることで、両者の距離に基づく時間遅延を適切にシミュレートすることができる。
【００１４】
本発明によれば、発音体と観測体とが自由に移動するような場合のドップラー効果を、簡易な計算で適切にシミュレートすることができるようになる。
【００１５】
また、本発明の音声シミュレーション装置において、音声出力部は、位置b1と位置s1との距離と、位置b2と位置s2との距離と、に基づいて、当該時間長を伸縮された音声波形の振幅を伸縮して、当該振幅を伸縮された音声波形を、当該観測オブジェクトにて時刻t1から時刻t2までに観測される音声波形として出力するように構成することができる。
【００１６】
すなわち、距離の変化によって到達する音波波形の強さ（音量）が減衰する状況をシミュレートするものである。音量の調整は、たとえば、時刻t1から時刻t2までに観測される音声波形を、位置b1と位置s1との距離に基づく減衰率１と、位置b2と位置s2との距離に基づく減衰率２との平均増幅率で出力することとしても良いし、時刻t1においては減衰率１で、時刻t2においては減衰率２で、その間は減衰率１から減衰率２へ滑らかに変化するような増幅率で、出力することとしても良い。
【００１７】
本発明によれば、発音体と観測体とが自由に移動するような場合の両者の距離に基づく減衰率を、ドップラー効果にあわせて、簡易な計算で適切にシミュレートすることができるようになる。
【００１８】
また、本発明の音声シミュレーション装置において、u1≧u2である場合、音声出力部は、所定の衝撃音声波形を、時間長(t2-t1)の間、当該観測オブジェクトにて時刻t1から時刻t2までに観測される音声波形として出力するように構成することができる。
【００１９】
上記発明においては、両者が音速未満の速度で移動するような状況に対応することができるが、本発明では、超音速で移動するような場合にも対応が可能である。先行技術に開示される技術では、超音速移動下では、周波数がマイナスとなり、音声が逆転再生される、という不合理が生じてしまうが、本発明は、現実にはこのような逆転再生は生じず、衝撃波が生じる、という状況を適切にシミュレートするものである。
【００２０】
本発明によれば、超音速移動下で生じるような衝撃波を所定の衝撃音声波形で近似することとし、その再生時刻・再生時間を適切に調整することで、衝撃波が到達する状況を簡易にシミュレートすることができるようになる。
【００２１】
また、本発明の音声シミュレーション装置は繰返制御部をさらに備え、所定の時間刻み幅ΔTに対してt2 = t1+ΔTであり、繰返制御部は、音声出力部により当該観測オブジェクトにて時刻t1から時刻t2までに観測される音声波形が出力されると、時刻t1と時刻t2をそれぞれΔTだけ増加させて、時刻u1に時刻u2を設定し、時刻計算部に時刻u2の計算を再度行わせるように構成することができる。
【００２２】
本発明は、上記発明の好適実施形態に係るものであり、観測オブジェクト側における時間の刻み幅をΔtとして、その刻み幅で区切られた各区間に対して、音源オブジェクトにおける音波波形の区間を求め、これを時間長Δtに伸縮させて再生するものである。このとき、前の繰り返し単位で求められた時刻u2は、次の繰り返し単位における時刻u1に相当するから、その代入を行う。
【００２３】
本発明によれば、時間の刻み幅で音声シミュレーションを繰り返す際に、区間が連続していることを利用して計算量を適切に抑制することができるようになる。
【００２４】
本発明のその他の観点に係る音声シミュレーション方法は、音声を発する音源オブジェクトと、音声を観測する観測オブジェクトと、が移動する仮想空間において、当該観測オブジェクトにて時刻t1から時刻t2までに観測される音声波形をシミュレートし、当該仮想空間における当該音源オブジェクトの移動履歴を記憶する履歴記憶部、時刻計算部、音声出力部を備える音声シミュレーション装置にて実行され、時刻計算工程、音声出力工程を備え、以下のように構成する。
【００２５】
すなわち、時刻計算工程では、時刻計算部が、当該仮想空間における音速cと、当該観測オブジェクトの時刻t1における位置b1と、時刻t2における位置b2と、記憶された当該音源オブジェクトの移動履歴と、から、時刻u1と時刻u2を計算する。このとき、当該音源オブジェクトの時刻u1における位置s1と、時刻u2における位置s2と、に対して、条件「位置b1と位置s1との距離がc(t1-u1)に等しく、かつ、位置b2と位置s2との距離がc(t2-u2)に等しい」を満たす時刻u1と時刻u2を計算する。
【００２６】
一方、音声出力工程では、音声出力部が、当該仮想空間内において計算された時刻u1から時刻u2までの間に当該音源オブジェクトが発する時間長(u2-u1)の音声波形を、時間長(t2-t1)に伸縮して、当該時間長を伸縮された音声波形を、当該観測オブジェクトにて時刻t1から時刻t2までに観測される音声波形として出力する。
【００２７】
本発明のその他の観点に係るプログラムは、コンピュータを上記の音声シミュレーション装置として機能させ、コンピュータに上記の音声シミュレーション方法を実行させるように構成する。
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【００２８】
本発明によれば、ドップラー効果を簡易にシミュレートする音声シミュレーション装置、音声シミュレーション方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【発明を実施するための最良の形態】
【００２９】
以下に本発明の実施形態を説明するが、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【実施例１】
【００３０】
図１は、プログラムを実行することにより、本発明の音声シミュレーション装置の機能を果たす典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【００３１】
情報処理装置１００は、ＣＰＵ（Central Processing Unit）１０１と、ＲＯＭ（Read Only Memory）  １０２と、ＲＡＭ（Random Access Memory）１０３と、インターフェイス１０４と、コントローラ１０５と、外部メモリ１０６と、画像処理部１０７と、ＤＶＤ−ＲＯＭ（Digital Versatile Disc ROM）ドライブ１０８と、ＮＩＣ（Network Interface Card）１０９と、音声処理部１１０と、マイク１１１と、を備える。
【００３２】
ゲーム用のプログラムおよびデータを記憶したＤＶＤ−ＲＯＭをＤＶＤ−ＲＯＭドライブ１０８に装着して、情報処理装置１００の電源を投入することにより、当該プログラムが実行され、本実施形態の音声シミュレーション装置が実現される。
【００３３】
ＣＰＵ  １０１は、情報処理装置１００全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、ＣＰＵ  １０１は、レジスタ（図示せず）という高速アクセスが可能な記憶域に対してＡＬＵ（Arithmetic Logic Unit）（図示せず）を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、ＣＰＵ  １０１自身が構成されているものや、コプロセッサを備えて実現するものがある。
【００３４】
ＲＯＭ  １０２には、電源投入直後に実行されるＩＰＬ（Initial Program Loader）が記録され、これが実行されることにより、ＤＶＤ−ＲＯＭに記録されたプログラムをＲＡＭ  １０３に読み出してＣＰＵ  １０１による実行が開始される。また、ＲＯＭ  １０２には、情報処理装置１００全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【００３５】
ＲＡＭ  １０３は、データやプログラムを一時的に記憶するためのもので、ＤＶＤ−ＲＯＭから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、ＣＰＵ  １０１は、ＲＡＭ  １０３に変数領域を設け、当該変数に格納された値に対して直接ＡＬＵを作用させて演算を行ったり、ＲＡＭ  １０３に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
【００３６】
インターフェイス１０４を介して接続されたコントローラ１０５は、ユーザがゲーム実行の際に行う操作入力を受け付ける。
【００３７】
インターフェイス１０４を介して着脱自在に接続された外部メモリ１０６には、ゲーム等のプレイ状況（過去の成績等）を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ（記録）のデータなどが書き換え可能に記憶される。ユーザは、コントローラ１０５を介して指示入力を行うことにより、これらのデータを適宜外部メモリ１０６に記録することができる。
【００３８】
ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。ＣＰＵ  １０１の制御によって、ＤＶＤ−ＲＯＭドライブ１０８は、これに装着されたＤＶＤ−ＲＯＭに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはＲＡＭ  １０３等に一時的に記憶される。
【００３９】
画像処理部１０７は、ＤＶＤ−ＲＯＭから読み出されたデータをＣＰＵ  １０１や画像処理部１０７が備える画像演算プロセッサ（図示せず）によって加工処理した後、これを画像処理部１０７が備えるフレームメモリ（図示せず）に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部１０７に接続されるモニタ（図示せず）へ出力される。これにより、各種の画像表示が可能となる。
【００４０】
画像演算プロセッサは、２次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【００４１】
また、仮想３次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Ｚバッファ法によりレンダリングして、所定の視点位置から仮想３次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【００４２】
さらに、ＣＰＵ  １０１と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を２次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。
【００４３】
ＮＩＣ  １０９は、情報処理装置１００をインターネット等のコンピュータ通信網（図示せず）に接続するためのものであり、ＬＡＮ（Local Area Network）を構成する際に用いられる１０ＢＡＳＥ−Ｔ／１００ＢＡＳＥ−Ｔ規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ＩＳＤＮ（Integrated Services Digital Network）モデム、ＡＤＳＬ（Asymmetric Digital Subscriber Line）モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとＣＰＵ  １０１との仲立ちを行うインターフェース（図示せず）により構成される。
【００４４】
音声処理部１１０は、ＤＶＤ−ＲＯＭから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ（図示せず）から出力させる。また、ＣＰＵ  １０１の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
【００４５】
音声処理部１１０では、ＤＶＤ−ＲＯＭに記録された音声データがＭＩＤＩデータである場合には、これが有する音源データを参照して、ＭＩＤＩデータをＰＣＭデータに変換する。また、ADPCM形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してＰＣＭデータに変換する。ＰＣＭデータは、そのサンプリング周波数に応じたタイミングでＤ／Ａ（Digital/Analog）変換を行って、スピーカに出力することにより、音声出力が可能となる。
【００４６】
さらに、情報処理装置１００には、インターフェイス１０４を介してマイク１１１を接続することができる。この場合、マイク１１１からのアナログ信号に対しては、適当なサンプリング周波数でＡ／Ｄ変換を行い、ＰＣＭ形式のディジタル信号として、音声処理部１１０でのミキシング等の処理ができるようにする。
【００４７】
このほか、情報処理装置１００は、ハードディスク等の大容量外部記憶装置を用いて、ＲＯＭ  １０２、ＲＡＭ  １０３、外部メモリ１０６、ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭ等と同じ機能を果たすように構成してもよい。
【００４８】
以上で説明した情報処理装置１００は、いわゆる「コンシューマ向けテレビゲーム装置」に相当するものであるが、仮想空間を表示するような画像処理を行うものであれば本発明を実現することができる。したがって、携帯電話、携帯ゲーム機器、カラオケ装置、一般的なビジネス用コンピュータなど、種々の計算機上で本発明を実現することが可能である。
【００４９】
たとえば、一般的なコンピュータは、上記情報処理装置１００と同様に、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＤＶＤ−ＲＯＭドライブ、および、ＮＩＣを備え、情報処理装置１００よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、コントローラ１０５ではなく、キーボードやマウスなどを入力装置として利用する。
【００５０】
（ドップラー効果のモデル）
以下では、音源と観測者が仮想空間内を自由に移動する場合であって、ときとしてその移動速度が音速を超えるような場合のドップラー効果の基本的なシミュレーションの手法について説明する。
【００５１】
時刻tにおける音源Ｓの座標を、
s(t) = (sx(t)，sy(t)，sz(t))
とし、時刻tにおける観測者Ｂの座標を、
b(t) = (bx(t)，by(t)，bz(t))
とする。s(t)およびb(t)は、位置ベクトルである。また、音速をcとする。
【００５２】
図２は、音源Ｓと観測者Ｂが移動する際の位置関係を示す説明図である。以下、本図を参照して説明する。
【００５３】
本図において、音源Ｓ（２０１）は、時刻u1から時刻u2までに位置s1=s(u1)から位置s2=s(u2)まで移動する。この間に発音された音波波形２２１が、観測者Ｂ（２０２）において時刻t1から時刻t2までに音波波形２２２として到達したものとする（本図では、理解を容易にするため、距離による減衰は図示を省略している）。
【００５４】
観測者Ｂ（２０２）は、時刻t1から時刻t2までに位置b1=b(t1)から位置b2=b(t2)まで移動する。
【００５５】
そして、音波波形２２１は、音速cで伝搬して音波波形２２２となる。したがって、ベクトルの長さを求める演算を|・|とし、音波の到達時間を考慮すれば、音波波形の先頭について、
c(t1-u1) = |s(u1)-b(t1)|
が成立し、末尾について、
c(t2-u2) = |s(u2)-b(t2)|
が成立する。
【００５６】
このモデルに基づいて一般化を行う。すなわち、時刻uに音源Ｓから発せられた音波が時刻tに観測者Ｂに到達したとする。
c(t-u) = |s(u) - b(t)|
という関係が成立する。
【００５７】
ベクトルaとベクトルbの内積を求める演算をa・bのように表記するとき、この関係は、
c2(t-u)2 = (s(u) - b(t))・(s(u) - b(t))；
ただしt≧u
と書くこともできる。
【００５８】
一般に、ある時刻tが与えられたときに、条件
c(t-u) = |s(u) - b(t)|
を満たす時刻uを求める関数が、かりに
u = g(t)
のように求められたとする。
【００５９】
また、位置ベクトルpから位置ベクトルqへ音波が伝達される場合の減衰係数をk(p，q)とする。典型的には、
k(p，q) = 1/((p-q)・(p-q))；
k(p，q) = 1/|p-q|
など、種々の計算手法を採用することができる。
【００６０】
ここで、時刻tにおいて音源Ｓが発する音波の変位（基準点からのずれ）をa(t)とする。すなわち、時刻tを所定のサンプリング周期の単位で次第に増加させてa(t)を計算し、計算されたa(t)をその時点での音波波形であることとして、時刻tにスピーカへ値a(t)を出力すれば、音源Ｓの発する音波が再生されることになる。
【００６１】
このような状況下では、時刻tにおいて観測者Ｂが聴取する音波の変位は、
a(g(t))×k(s(g(t))，b(t))
と書くことができる。この式の前半は、ドップラー効果によるものであり、後半は、音波の減衰によるものである。
【００６２】
したがって、時刻tを所定のサンプリング周期の単位で次第に増加させてa(g(t))×k(s(g(t))，b(t))を計算し、計算されたa(g(t))×k(s(g(t))，b(t))をその時点での音波波形であることとして、時刻tにスピーカへ値a(g(t))×k(s(g(t))，b(t))を出力すれば、観測者Ｂが聞いた音波が再生されることになる。
【００６３】
すなわち、観測者Ｂにおいて時刻t1から時刻t2までに観測される音波波形は、音源Ｓにおいて時刻u1 = g(t1)から時刻u2 = g(t2)までに発生された音波波形に起因するものである。また、時刻t1における元の波形に対する増幅率（減衰率）は、k(s(g(t1))，b(t1))となり、時刻t2における元の波形に対する増幅率は、k(s(g(t2))，b(t2))となる。
【００６４】
さて、ここで問題となるのが、いかにして、関数u = g(t)を求めるか、ということである。
【００６５】
特に仮想環境下では、時刻tにおける観測者Ｂの位置b(t)や音源Ｓの位置s(t)は、ユーザの各種の指示操作に基づいて更新されることや、乱数に基づいて、あるいは、コンピュータがあらかじめ定めたアルゴリズムに基づいて更新されることが多い。したがって、解析的に関数u = g(t)を求めることは困難である。
【００６６】
そこで、時間的に離散された近似を用いて、この関数u = g(t)の実用的な解を得ることにする。まず、離散近似の時間の刻み幅をΔTとする。たとえば、コンピュータ等によりシミュレーションを行う場合には、ΔTとして垂直同期信号の間隔を採用するのが典型的である。
【００６７】
そして、時刻t = iΔTにおける音源Ｓの位置ベクトルと、観測者Ｂの位置ベクトルと、を、それぞれ、配列S、Bのi番目の要素に格納することとする。
S[i] = s(iΔT)；
B[i] = b(iΔT)
【００６８】
すなわち、この説明では、配列S、Bには、音源Ｓと観測者Ｂの位置の履歴が保存される。
【００６９】
この配列の長さに制限を設ける手法としては、リングバッファ的に使用して、時刻iΔTの時の位置ベクトルをi mod L番目の要素に格納することとしても良い。ここで、Lは配列の長さである。
【００７０】
以下、理解を容易にするため、位置の履歴は無限に格納されるものとするが、上記のリングバッファ等を採用する場合には、有効な添字のみを処理対象とすれば良い。
【００７１】
時刻t = iΔTにおける関数u = g(t) = g(iΔT)の値を求めるには、まず、ki < iなる整数kiであって、
c(iΔT - kiΔT)と|s(kiΔT) - b(iΔT)|の大小関係と、
c(iΔT - (ki+1)ΔT)と|s((ki+1)ΔT) - b(iΔT)|の大小関係と、
が、逆転しているようなkiを探す。すなわち、
c(iΔT - kiΔT)≦|s(kiΔT) - b(iΔT)|かつc(iΔT - (ki+1)ΔT)≧|s((ki+1)ΔT) - b(iΔT)|、もしくは、
c(iΔT - kiΔT)≧|s(kiΔT) - b(iΔT)|かつc(iΔT - (ki+1)ΔT)≦|s((ki+1)ΔT) - b(iΔT)|
となるkiを探すのである。これを「逆転条件」と呼ぶこととする。
【００７２】
ここで、
c(iΔT - kiΔT) = c(i-ki)ΔT；
s(kiΔT) - b(iΔT) = S[ki] - B[i]；
c(iΔT - (ki+1)ΔT) = c(i-ki-1)ΔT；
s((ki+1)ΔT) - b(iΔT) = S[ki+1] - B[i]
であるから、配列を添字i（現在時刻）が減少する方向に向かって走査することによって、このようなkiが発見できるはずである。
【００７３】
また、一旦kiが発見されたら、時刻t = (i+1)ΔTのステップにおいては、前回発見されたkiの近傍を探せば、走査の時間を短縮して、ki+1を発見することができるはずである。発見できなかった場合は、音波が到達していないものとする。
【００７４】
また、リングバッファを採用した場合には、走査するステップ数を最大でL個とし、添字で参照する場合にmod Lすれば良い。
【００７５】
このようなkiが見つかれば、
c(iΔT - u) = |s(u) - b(iΔT)|
を満たすようなu = g(t) = g(iΔT)を、補間によって求めることができる。
【００７６】
最も単純な線形補間を採用する場合には、
g(iΔT) = kiΔT + ΔT×(c(i-ki)ΔT - |S[ki] - B[i]|)/(|S[ki+1] - B[i]| - c(i-ki-1)ΔT)；
とする。このほかの補間の手法として、たとえば、
g(iΔT) = kiΔT + ΔT×(c2(i-ki)2ΔT2 - |S[ki] - B[i]|2)/(|S[ki+1] - B[i]|2 - c2(i-ki-1)2ΔT2)
のようにするなど、種々の補間技術を採用することができる。
【００７７】
なお、大小関係の等号の一方が成立する場合は、そのときの値をそのまま使用し、両方が同時に成立する場合は、２つの値を平均することとしても良い。
【００７８】
さて、このようにして求められた
u = g(iΔT)
もまた、配列Gのi番目の要素G[i]に格納することとする。
G[i] = g(iΔT)
【００７９】
配列Gもまた、リングバッファとすることもできる。また、配列Gは、最新の２つの要素だけが重要である。
【００８０】
また、時刻u = g(iΔT) = G[i]における音源Ｓの位置は、線形補間により、ベクトルS[ki]とベクトルS[ki+1]とを、比率
(G[i] - kiΔT):((ki+1)ΔT - G[i])
で内分する点である。この点の位置ベクトルを、S'[i]と表記することとし、これも、上記と同様に配列に記憶されるものとする。
【００８１】
さて、現実のドップラー効果であれば、時刻(i-1)ΔT〜iΔTの間の観測者Ｂが観測する変位は、
a(G[i-1])×ki(S'[i-1]，B[i-1])〜a(G[i])×ki(S'[i]，B[i])
となるべきである。
【００８２】
すなわち、元の音源a(u)の時刻u = G[i-1]〜G[i]の変位に適切な減衰係数を乗じて、時刻t = (i-1)ΔT〜iΔTにぴったりおさまるように時間方向に波形を伸縮して再生すれば、現実のドップラー効果に最も適合したものとなる。
【００８３】
しかしながら、シミュレーションにおいては、過去にさかのぼって再生を行うことはできない。したがって、元の音源a(u)の時刻u = G[i-1]〜G[i]の変位に適切な減衰係数を乗じて、時刻t = iΔT〜(i+1)ΔTにぴったりおさまるように時間方向に波形を伸縮して再生することによって、ドップラー効果をシミュレートする。
【００８４】
また、減衰係数についても、計算を簡易にするため、
ki(S'[i-1]，B[i-1])；
ki(S'[i]，B[i])
のいずれか一方のみを用いたり、これらの平均を用いたり、前者から後者へ次第に変化するようにする等、種々の態様を採用することができる。
【００８５】
さて、ここまでは、音源Ｓも観測者Ｂも、音速未満で移動する場合のドップラー効果を考えていたが、超音速で動作する場合については、特別な処理が必要となる。
【００８６】
すなわち、音速未満での移動の場合には、
u = g(t)
は単調増加関数であり、
G[i-1] < G[i]
が成立する。
【００８７】
ところが、超音速での移動がある場合には、
G[i-1] ≧ G[i]
となってしまうことがありうる。
【００８８】
この場合には、観測者Ｂは衝撃波を跨いだ状況下にあると考えられるので、音の再生を反転させるのではなく、時刻t = iΔT〜(i+1)ΔTの間は、あらかじめ別途用意した、衝撃音の音源を再生すれば良い。
【００８９】
この際に、衝撃音の音量として、上記と同様の減衰係数を考慮することとしても良いし、一定音量で衝撃音が再生されることとしても良い。
【００９０】
音速未満の場合には、kiを探すために配列Sを走査する場合、前回発見されたkiの近傍を探す場合、
ki < ki+1
が成立するから、kiから、値が増加する方向に走査を行えば良いが、超音速がありうる場合は、kiの近傍を双方向に走査する必要がある。
【００９１】
なお、上記のような処理を行う場合、配列S'、配列Gについては、最新の２つ分の情報だけ保持できれば十分である。また、配列Bについては、最新の１つ分ないし２つ分の情報だけ保持できれば十分である。したがって、配列のサイズを適宜変更しても良い。また、「配列」ではなく、２つの変数を用いることとしても良い。たとえば、現在時刻がt = iΔTであるとき、配列の要素B[i]，S'[i]に格納すべき最新の値は、それぞれ変数b2，s2に格納することとし、その直前の要素B[i-1]に格納すべき値は、それぞれ変数b1，s1に格納する、のごとくである。
【００９２】
以下では、上記の考え方に基づいて、本発明の実施形態の詳細について、さらに説明する。
【００９３】
（実施形態の詳細）
図３は、本実施形態に係る音声シミュレーション装置の概要構成を示す説明図である。以下、本図を参照して説明する。
【００９４】
音声シミュレーション装置３０１は、履歴記憶部３０２、時刻計算部３０３、音声出力部３０４、繰返制御部３０５を備える。
【００９５】
音声シミュレーション装置３０１は、時間の刻み幅ΔTで離散的にシミュレーションを行う。ΔTの長さとしては、たとえば、ゲーム装置等で各種の繰り返し計算の単位となる垂直同期割り込み周期等を採用することができる。
【００９６】
履歴記憶部３０２は、ＲＡＭ  １０３により実現され、以下の変数領域が確保される。
（ａ）現在時刻を表すカウンタi。このカウンタは、時間ΔTが経過するごとに１ずつ増加する。
（ｂ）音源Ｓ（２０１）である音源オブジェクトの位置ベクトルの履歴を格納する配列S。この配列は、長さLのリングバッファとして構成され、時刻t = iΔTのときの音源オブジェクトの位置ベクトルs(iΔT)は、配列Sのi mod L番目の要素S[i mod L]に格納される。また、理解を容易にするため、以下では、S[i mod L]を単にS[i]と書く。
（ｃ）観測者Ｂ（２０２）である観測オブジェクトの直前時刻t = (i-1)ΔTにおける位置ベクトルを格納する変数b1 = b((i-1)ΔT)と、現在時刻t = iΔTにおける位置ベクトルを格納する変数b2 = b(iΔT)。
（ｄ）変数b1に対応する音源Ｓ（２０１）の位置ベクトルを格納する変数s1 = g((i-1)ΔT)と、変数b2に対応する音源Ｓ（２０１）の位置ベクトルを格納する変数s2 = g(iΔT)。
（ｅ）時刻u1，u2。最新の時刻区間t = (i-1)ΔT〜iΔTに観測された音波波形は、音源オブジェクトが時刻u1〜時刻u2に発生した音波波形に起因するものである。なお、これらの時刻変数u1，u2には、「未知」を示す情報を代入することも可能とする。これは、対応する時刻が見つからなかった場合などに使用する。
（ｆ）時刻t1，u1に対応する増幅減衰率m1と、時刻t2，u2に対応する増幅減衰率m2。
（ｇ）一時的なカウンタ変数k。繰り返し処理で用いられる。
（ｈ）このほか、音源オブジェクトや観測オブジェクトの物理シミュレーションに必要な種々の情報。たとえばこれらを飛行機として実現する場合には、位置や速度、姿勢、ラダー等の操作量、高度、気圧、風力などの諸条件が記憶される。
【００９７】
図４は、本音声シミュレーション装置にて実行される音声シミュレーション処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
【００９８】
本処理が開始されると、ＣＰＵ  １０１は、履歴記憶部３０２を適切な値に初期化する（ステップＳ４０１）。
【００９９】
次に、ＣＰＵ  １０１は、観測オブジェクトの現在位置を変数b1に格納する（ステップＳ４０２）。
【０１００】
さらに、ダミー用初期値として、音源オブジェクトの現在位置を配列要素S[0]，S[1]，…，S[L-1]のすべてに格納し、音源オブジェクトの現在位置を変数s1に格納し、「未発見」を意味する値を変数u1に格納し、値１を変数m1に格納する。（ステップＳ４０４）。
【０１０１】
そして、時間ΔTだけ待機する（ステップＳ４０５）。この待機時間の間には、他の種々の処理を実行することができる。たとえば、各オブジェクトの物理シミュレーションの計算を行って、次の時刻t = (i+1)ΔTにおける音源オブジェクトや観測オブジェクトの位置を計算したり、コルーチン的に別の処理を実行する等の処理を実行する。
【０１０２】
待機が終了したら、現在時刻カウンタiをi←i+1のように更新する（ステップＳ４０６）。ここで「←」は「代入」の意味である。すなわち、現在時刻t2 = iΔTとなり、その直前の時刻t1 = (i-1)ΔTとなる。
【０１０３】
さらに、ＣＰＵ  １０１は、音源オブジェクトの現在位置を配列要素S[i]に格納し（ステップＳ４０７）、観測オブジェクトの現在位置を変数b2に格納する（ステップＳ４０８）。
【０１０４】
そして、ＣＰＵ  １０１は、変数k = 0，1，2，3，…，L-1のそれぞれについて、以下の処理を繰り返す（ステップＳ４０９）。
【０１０５】
すなわち、
d(i,h) = c×h - |S[i-h]-b2|
とおいたときに、逆転条件
d(i,k)×d(i,k-1)≦0
が成立するか否かを調べる（ステップＳ４１０）。
【０１０６】
この逆転条件は、
c×kと|S[i-k] - b2|の大小関係と、
c×(k-1)と|S[i-(k-1)] - b2|の大小関係と、
が逆転しているときに成立する。
【０１０７】
成立していない場合（ステップＳ４１０；Ｎｏ）、ステップＳ４０９からの処理を繰り返す（ステップＳ４１１）。なお、このkについての繰り返しは、必ずしも0，1，…，L-1の順である必要はない。
【０１０８】
すなわち、前回発見されたkの値を変数k'に設定し、まずその近傍を探し、見付からなければ残りの値を探す、のようにしても良い。たとえば、適当な定数W (W<L)を用いて、
k'-W，k'-W+1，k'-W+2，…，k'-W+L-1
の順に探す、という手法である。上記のように、配列Sの添字についてはmod Lを行うので、上記のようにkを変化させることで、適切に配列Sをアクセスすることができる。
【０１０９】
成立している場合（ステップＳ４１０；Ｙｅｓ）、ベクトル(k，d(i,k))とベクトル(k-1,d(i,k-1))との間にあるベクトルであって、その値が(u2,0)となるような時刻u2を補間により求める（ステップＳ４１２）。
【０１１０】
同様に、ベクトル(S[i-k]，d(i,k))とベクトル(S[i-(k-1)],d(i,k-1))との間にあるベクトルであって、その値が(s2,0)となるような位置ベクトルs2を補間により求める（ステップＳ４１３）。
【０１１１】
たとえば、上記モデルの線形補間を行う場合、以下のような計算および代入を行うことになる。
u2←〔d(i,k)(k-1) - d(i,k-1)k〕/〔d(i,k)-d(i,k-1)〕；
s2←〔d(i,k)S[k-1] - d(i,k-1)S[k]〕/〔d(i,k)-d(i,k-1)〕
このように、ＣＰＵ  １０１は、ＲＡＭ  １０３等と共働して、時刻計算部３０３として動作する。
【０１１２】
さて、上記のようにしてu2が求められた場合は、u1とu2が有効であるか否かおよびその大小を比較する（ステップＳ４１４）。
【０１１３】
u1<u2である場合（ステップＳ４１４；<）、増幅減衰率m2を、
m2←k(s2,b2)
のように計算する（ステップＳ４１５）。
【０１１４】
ついで、音源オブジェクトが時刻u1から時刻u2までに発生した音波波形を取得する（ステップＳ４１６）。
【０１１５】
この音波波形が、たとえばＰＣＭ音源で用意されている場合は、当該ＰＣＭ音源の対応する時間区間の波形を取得すれば良いし、ＭＩＤＩ音源で用意されている場合は、当該時間区間に再生される演奏情報を取得すれば良い。
【０１１６】
そして、取得された音波波形の時間長u2-u1を、ΔTに伸縮する（ステップＳ４１７）。これは、ドップラー効果の従来の技術における周波数変換に相当する処理である。音波波形を、横軸を時間経過、縦軸を変位とする２次元図形と考えたときは、当該伸縮処理は、当該２次元図形を横軸方向に伸縮させる処理に相当する。ＰＣＭ音源の場合には、このような図形の伸縮処理に相当するものを直接行えば良いし、音声処理部１０７がこれに対応するピッチ変更の機能を有する場合には、これを用いれば良い。ＭＩＤＩ音源の場合には、演奏情報を再生する際のピッチを、当該時間長の比に合わせて変更すれば良い。
【０１１７】
さらに、伸縮された時間長ΔＴ音波波形を、その区間先頭に対する増幅減衰率をm1とし、その区間末尾に対する増幅減衰率をm2とするように、滑らかに増幅減衰率を変化させながら、音波波形の変位方向に伸縮する（ステップＳ４１８）。この処理についても、上記のピッチ変更と同様に、ＣＰＵ  １０１が波形を変化させたり、音声処理部１０７に処理を行わせることによって実現できる。
【０１１８】
ついで、観測オブジェクトが時刻t1から時刻t2までに観測した音波波形として、時間方向および変位方向に伸縮された音波波形を出力する（ステップＳ４１９）。具体的には、音声処理部１０７が用意する再生用音声バッファに伸縮済みの時間長ΔTの音波波形を追加するように、音声処理部１０７に指示を出せば良い。
【０１１９】
このように、ＣＰＵ  １０１は、ＲＡＭ  １０３および音声処理部１０７と共働して、音声出力部３０４として機能する。
【０１２０】
そして、
b1←b2；
s1←s2；
u1←u2；
m1←m2
のように、各変数を更新して、次の繰り返し単位に備え（ステップＳ４２０）、ステップＳ４０５に戻る。
【０１２１】
したがって、ＣＰＵ  １０１は、ＲＡＭ  １０３と共働して繰返制御部３０５として機能する。
【０１２２】
一方、ステップＳ４０９〜Ｓ４１１の繰り返しが、u2が見つからないままに終了した場合、変数u2に「未発見」を代入し（ステップＳ４２１）、観測オブジェクトが時刻t1から時刻t2までに観測した音波波形として、時間長ΔTの「無音」（変位が常に０の音声波形）を出力し（ステップＳ４２２）、ステップＳ４２０に進む。また、ステップＳ４１４において、u1，u2のいずれか少なくとも一方が「未発見」である場合（ステップＳ４１４；未発見）、ステップＳ４２２に進む。
【０１２３】
このほか、ステップＳ４１４において、u1≧u2である場合（ステップＳ４１４；≧）、あらかじめ用意された観測オブジェクトが時刻t1から時刻t2までに観測した音波波形として、時間長ΔTの衝撃音声波形を出力し（ステップＳ４２３）、ステップＳ４２０に進む。
【０１２４】
衝撃音声波形は、衝撃波が通過するときの「音」を表すものである。たとえば白色雑音などの音声波形を利用したり、爆発音などをサンプリングして使用するなどの手法が考えられる。
【０１２５】
上記実施形態では、ステップＳ４１８において、増幅率をm2からm1までなめらかに変化させるように音声波形を変位方向に伸縮させているが、この二つの増幅率の平均を採用したり、増幅率m2のみを採用するなどの手法もありうる。また、用途によっては、距離による減衰を考慮しないで、時間方向に伸縮された音声波形をそのまま利用することとしても良い。
【０１２６】
また、リアルタイムシミュレーションの場合には、現在時刻がt2に相当するから、「時刻t1から時刻t2までに観測オブジェクトが観測した波形」は、時刻t2以降に出力されることとなり、ΔT以上の時間遅延が生じてしまうが、ΔTとして垂直同期割り込み周期程度の短時間を採用した場合には、ユーザにはこの遅延は違和感なく受け入れられる程度である。
【０１２７】
また、オフライン（リアルタイムでない）シミュレーションの場合には、ステップＳ４１９、ステップＳ４２２、ステップＳ４２３で出力される音声波形を単純に連結すれば、シミュレーションを行う時間帯において観測オブジェクトが観測する音声波形がそのまま得られることになる。
【０１２８】
このように、本実施形態によれば、仮想空間内を音源と観測者が自由に移動する場合や音速を超えるような場合であっても、ドップラー効果のシミュレーションを簡易にリアルに行うことができるようになる。
【産業上の利用可能性】
【０１２９】
以上説明したように、本発明によれば、ドップラー効果を簡易にシミュレートする音声シミュレーション装置、音声シミュレーション方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【図面の簡単な説明】
【０１３０】
【図１】プログラムを実行することにより、本発明の音声シミュレーション装置の機能を果たす典型的な情報処理装置の概要構成を示す模式図である。
【図２】音源Ｓと観測者Ｂが移動する際の位置関係を示す説明図である。
【図３】本実施形態に係る音声シミュレーション装置の概要構成を示す説明図である。
【図４】本音声シミュレーション装置にて実行される音声シミュレーション処理の制御の流れを示すフローチャートである。
【符号の説明】
【０１３１】
１００  情報処理装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  インターフェイス
１０５  コントローラ
１０６  外部メモリ
１０７  画像処理部
１０８  ＤＶＤ−ＲＯＭドライブ
１０９  ＮＩＣ
１１０  音声処理部
１１１  マイク
２０１  音源Ｓの移動経路
２０２  観測者Ｂの移動経路
２２１  音源Ｓが発する音波波形
２２２  観測者Ｂが観測する音波波形
３０１  音声シミュレーション装置
３０２  履歴記憶部
３０３  時刻計算部
３０４  音声出力部
３０５  繰返制御部
【図１】
2008035320.tif 000003
【図２】
2008035320.tif 000004
【図３】
2008035320.tif 000005
【図４】
2008035320.tif 000006