JP4584203B2 - Voice simulation apparatus, voice simulation method, and program - Google Patents

Voice simulation apparatus, voice simulation method, and program Download PDF

Info

Publication number
JP4584203B2
JP4584203B2 JP2006207599A JP2006207599A JP4584203B2 JP 4584203 B2 JP4584203 B2 JP 4584203B2 JP 2006207599 A JP2006207599 A JP 2006207599A JP 2006207599 A JP2006207599 A JP 2006207599A JP 4584203 B2 JP4584203 B2 JP 4584203B2
Authority
JP
Japan
Prior art keywords
time
sound
waveform
sound source
observation object
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.)
Active
Application number
JP2006207599A
Other languages
Japanese (ja)
Other versions
JP2008035320A (en
Inventor
英之 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konami Digital Entertainment Co Ltd
Original Assignee
Konami Digital Entertainment Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Konami Digital Entertainment Co Ltd filed Critical Konami Digital Entertainment Co Ltd
Priority to JP2006207599A priority Critical patent/JP4584203B2/en
Publication of JP2008035320A publication Critical patent/JP2008035320A/en
Application granted granted Critical
Publication of JP4584203B2 publication Critical patent/JP4584203B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stereophonic System (AREA)
  • Circuit For Audible Band Transducer (AREA)

Description

本発明は、ドップラー効果を簡易にシミュレートする音声シミュレーション装置、音声シミュレーション方法、ならびに、これらをコンピュータにて実現するプログラムに関する。   The present invention relates to an audio simulation apparatus, an audio simulation method, and a program for realizing these on a computer.

ドップラー効果とは、一般には、波(音波や電波、光波など。)の発生源(音源、電波源、光源など。)や両者の相対速度や観測者が波の媒体に対して移動する速度によって、波の周波数が異なって観測される現象をいう。一般に、発生源が観測者に近付く場合には、波の振動が詰められて周波数が高くなり、遠ざかる場合には、振動が伸ばされて周波数が低くなる。   In general, the Doppler effect depends on the source of a wave (sound wave, radio wave, light wave, etc.) (sound source, radio wave source, light source, etc.), the relative speed of both, and the speed at which the observer moves relative to the wave medium. A phenomenon that is observed with different wave frequencies. In general, when the source approaches the observer, the vibration of the wave is reduced and the frequency is increased, and when the source is moved away, the vibration is extended and the frequency is decreased.

このようなドップラー効果に関する技術については、たとえば、以下の文献に開示されている。
特開平10−042399号公報 フリー百科辞典『ウィキペディア』より「ドップラー効果」の項 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
A technique related to such a Doppler effect is disclosed in, for example, the following documents.
Japanese Patent Laid-Open No. 10-042399 `` Doppler effect '' from the free encyclopedia Wikipedia http://en.wikipedia.org/wiki/%E3%83%89%E3%83%83%E3%83%97%E3%83%A9% E3% 83% BC% E5% 8A% B9% E6% 9E% 9C

ここで、[特許文献1]では、音声空間化システムに、ドップラー効果をシミュレートする技術を応用する旨が開示されている。
一方、[非特許文献1]には、音波についてのドップラー効果の計算技術が開示されている。観測者と音源が同一直線上を動き、音源Sから観測者Oに向かう向きを正し、音源の出す音波の周波数をf、音速をc、観測者の移動速度をvo、音源の移動速度をvsとすると、観測者に聞こえる音波の振動数f'は、以下のように求められる。
f' = f×(c-vo)/(c-vs)
Here, [Patent Document 1] discloses that a technique for simulating the Doppler effect is applied to an audio spatialization system.
On the other hand, [Non-Patent Document 1] discloses a technique for calculating the Doppler effect for sound waves. The observer and the sound source move on the same straight line, the direction from the sound source S to the observer O is corrected, the frequency of the sound wave emitted by the sound source is f, the speed of sound is c, the speed of movement of the observer is v o , and the speed of movement of the sound source Is represented as v s , the frequency f ′ of the sound wave that can be heard by the observer is obtained as follows.
f '= f × (cv o ) / (cv s )

しかしながら、音源と観測者が自由に空間内を移動する場合や、その移動速度が音速を超える場合については、これらの文献には開示されておらず、簡易なシミュレーション技術が強く求められている。
本発明は、上記のような課題を解決するもので、ドップラー効果を簡易にシミュレートする音声シミュレーション装置、音声シミュレーション方法、ならびに、これらをコンピュータにて実現するプログラムを提供することを目的とする。
However, the case where the sound source and the observer freely move in the space or the case where the moving speed exceeds the sound speed is not disclosed in these documents, and a simple simulation technique is strongly demanded.
The present invention solves the above-described problems, and an object thereof is to provide an audio simulation apparatus, an audio simulation method, and a program that realizes these on a computer that can easily simulate the Doppler effect.

以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。   In order to achieve the above object, the following invention is disclosed in accordance with the principle of the present invention.

本発明の第1の観点にかかる音声シミュレーション装置は、音声を発する音源オブジェクトと、音声を観測する観測オブジェクトと、が移動する仮想空間において、当該観測オブジェクトにて時刻t1から時刻t2までに観測される音声波形をシミュレートし、履歴記憶部、時刻計算部、音声出力部を備え、以下のように構成する。 The sound simulation apparatus according to the first aspect of the present invention is a virtual space in which a sound source object that emits sound and an observation object that observes sound move, from the time t 1 to the time t 2 in the observation object. The observed voice waveform is simulated and includes a history storage unit, a time calculation unit, and a voice output unit, and is configured as follows.

ここで、履歴記憶部は、当該仮想空間における当該音源オブジェクトの移動履歴を記憶する。   Here, the history storage unit stores a movement history of the sound source object in the virtual space.

典型的には、仮想空間における音源オブジェクトの位置を一定の時間間隔で取得して、配列やリングバッファなどの形式で順次記憶することにより、ある時刻における位置が取得できるようにする。なお、所望の時刻ちょうどにおける音源オブジェクトの位置を知りたい場合であって、その時刻に対応する位置が記憶されていない場合は、その時刻の前後の時刻における位置を取得して、適切な補間を行えば良い。   Typically, the position of a sound source object in the virtual space is acquired at regular time intervals, and sequentially stored in a form such as an array or a ring buffer, so that the position at a certain time can be acquired. If you want to know the position of the sound source object at the exact time you want, and you do not store the position corresponding to that time, obtain the position at the time before and after that time and perform appropriate interpolation. Just do it.

一方、時刻計算部は、当該仮想空間における音速cと、当該観測オブジェクトの時刻t1における位置b1と、時刻t2における位置b2と、記憶された当該音源オブジェクトの移動履歴と、から、時刻u1と時刻u2を計算する。このとき、当該音源オブジェクトの時刻u1における位置s1と、時刻u2における位置s2と、に対して、条件「位置b1と位置s1との距離がc(t1-u1)に等しく、かつ、位置b2と位置s2との距離がc(t2-u2)に等しい」を満たす時刻u1と時刻u2を計算する。 On the other hand, the time calculation unit, and the speed of sound c in the virtual space, a position b 1 at time t 1 of the observation object, and the position b 2 at time t 2, the from the movement history of the stored the sound source object, Time u 1 and time u 2 are calculated. At this time, with respect to the position s 1 at the time u 1 of the sound source object and the position s 2 at the time u 2 , the condition “the distance between the position b 1 and the position s 1 is c (t 1 -u 1 ) equally, and the distance between the position b 2 and the position s 2 calculates the time u 1 and the time u 2 satisfying "equal to c (t 2 -u 2).

通常のドップラー効果の計算では、音源オブジェクトと観測オブジェクトの移動速度に基づいて周波数の変化の計算を行うが、本発明においては、音源オブジェクトと観測オブジェクトの位置関係が所定の条件を満たすような時刻を求めることにより、周波数の変化はもちろん、音源オブジェクトから観測オブジェクトまでに音波が至るまでの時間遅延を考慮したシミュレーションが可能となる。   In the normal calculation of the Doppler effect, the frequency change is calculated based on the moving speed of the sound source object and the observation object. In the present invention, the time when the positional relationship between the sound source object and the observation object satisfies a predetermined condition. Thus, it is possible to perform a simulation in consideration of the time delay until the sound wave reaches from the sound source object to the observation object as well as the change in frequency.

さらに、音声出力部は、当該仮想空間内において計算された時刻u1から時刻u2までの間に当該音源オブジェクトが発する時間長(u2-u1)の音声波形を、時間長(t2-t1)に伸縮して、当該時間長を伸縮された音声波形を、当該観測オブジェクトにて時刻t1から時刻t2までに観測される音声波形として出力する。 Further, the sound output unit generates a sound waveform having a time length (u 2 -u 1 ) generated by the sound source object between time u 1 and time u 2 calculated in the virtual space, as a time length (t 2 The speech waveform expanded and contracted to -t 1 ) and expanded in time is output as a speech waveform observed from time t 1 to time t 2 by the observation object.

時間長(u2-u1)の音波波形を時間長(t2-t1)の音波波形に時間方向に伸縮することにより、ドップラー効果による周波数の変化を適切にシミュレートすることができる。また、時刻u1から時刻u2までの間に当該音源オブジェクトが発した音波波形に相当するものを、時刻t1から時刻t2までの間に観測オブジェクトが観測した音波波形とすることで、両者の距離に基づく時間遅延を適切にシミュレートすることができる。 By changing the sound waveform of time length (u 2 -u 1 ) to the sound waveform of time length (t 2 -t 1 ) in the time direction, it is possible to appropriately simulate a change in frequency due to the Doppler effect. In addition, the sound wave waveform that the sound source object emits from time u 1 to time u 2 is the sound wave waveform observed by the observation object from time t 1 to time t 2 , The time delay based on the distance between the two can be appropriately simulated.

本発明によれば、発音体と観測体とが自由に移動するような場合のドップラー効果を、簡易な計算で適切にシミュレートすることができるようになる。   According to the present invention, the Doppler effect in the case where the sounding body and the observation body move freely can be appropriately simulated by simple calculation.

また、本発明の音声シミュレーション装置において、音声出力部は、位置b1と位置s1との距離と、位置b2と位置s2との距離と、に基づいて、当該時間長を伸縮された音声波形の振幅を伸縮して、当該振幅を伸縮された音声波形を、当該観測オブジェクトにて時刻t1から時刻t2までに観測される音声波形として出力するように構成することができる。 Further, in the sound simulation device of the present invention, the sound output unit has the time length expanded and contracted based on the distance between the position b 1 and the position s 1 and the distance between the position b 2 and the position s 2 . The audio waveform can be expanded and contracted, and the audio waveform whose amplitude is expanded and contracted can be output as a speech waveform observed from time t 1 to time t 2 by the observation object.

すなわち、距離の変化によって到達する音波波形の強さ(音量)が減衰する状況をシミュレートするものである。音量の調整は、たとえば、時刻t1から時刻t2までに観測される音声波形を、位置b1と位置s1との距離に基づく減衰率1と、位置b2と位置s2との距離に基づく減衰率2との平均増幅率で出力することとしても良いし、時刻t1においては減衰率1で、時刻t2においては減衰率2で、その間は減衰率1から減衰率2へ滑らかに変化するような増幅率で、出力することとしても良い。 That is, it simulates a situation in which the intensity (volume) of a sound wave waveform that arrives due to a change in distance is attenuated. For example, the sound volume can be adjusted by using an audio waveform observed from time t 1 to time t 2 , an attenuation factor 1 based on the distance between position b 1 and position s 1, and the distance between position b 2 and position s 2. also may be outputted at an average gain of the attenuation factor 2 based on, in the attenuation factor 1 at time t 1, with the attenuation factor 2 in time t 2, the smooth during which the attenuation factor 1 to the attenuation factor 2 It is also possible to output at an amplification factor that changes to

本発明によれば、発音体と観測体とが自由に移動するような場合の両者の距離に基づく減衰率を、ドップラー効果にあわせて、簡易な計算で適切にシミュレートすることができるようになる。   According to the present invention, the attenuation rate based on the distance between the sounding body and the observing body can be appropriately simulated by a simple calculation in accordance with the Doppler effect. Become.

また、本発明の音声シミュレーション装置において、u1≧u2である場合、音声出力部は、所定の衝撃音声波形を、時間長(t2-t1)の間、当該観測オブジェクトにて時刻t1から時刻t2までに観測される音声波形として出力するように構成することができる。 In the sound simulation apparatus of the present invention, when u 1 ≧ u 2 , the sound output unit generates a predetermined shock sound waveform at the time t (t 2 -t 1 ) at the observation object at time t. It may be configured to output a voice waveform which is observed from 1 to time t 2.

上記発明においては、両者が音速未満の速度で移動するような状況に対応することができるが、本発明では、超音速で移動するような場合にも対応が可能である。先行技術に開示される技術では、超音速移動下では、周波数がマイナスとなり、音声が逆転再生される、という不合理が生じてしまうが、本発明は、現実にはこのような逆転再生は生じず、衝撃波が生じる、という状況を適切にシミュレートするものである。   In the above invention, it is possible to cope with a situation where both of them move at a speed lower than the speed of sound. In the technology disclosed in the prior art, under supersonic movement, the frequency becomes negative and the sound is played back in reverse. However, in the present invention, such reverse playback actually occurs. First, the situation where a shock wave is generated is appropriately simulated.

本発明によれば、超音速移動下で生じるような衝撃波を所定の衝撃音声波形で近似することとし、その再生時刻・再生時間を適切に調整することで、衝撃波が到達する状況を簡易にシミュレートすることができるようになる。   According to the present invention, a shock wave generated under supersonic movement is approximated by a predetermined shock sound waveform, and a situation where the shock wave reaches can be easily simulated by appropriately adjusting the playback time and playback time. You will be able to

また、本発明の音声シミュレーション装置は繰返制御部をさらに備え、所定の時間刻み幅ΔTに対してt2 = t1+ΔTであり、繰返制御部は、音声出力部により当該観測オブジェクトにて時刻t1から時刻t2までに観測される音声波形が出力されると、時刻t1と時刻t2をそれぞれΔTだけ増加させて、時刻u1に時刻u2を設定し、時刻計算部に時刻u2の計算を再度行わせるように構成することができる。 The speech simulation apparatus of the present invention further includes a repeat control unit, and t 2 = t 1 + ΔT with respect to a predetermined time step width ΔT. The repeat control unit applies the observation object to the observation object. When the sound waveform observed from time t 1 to time t 2 is output, time t 1 and time t 2 are each increased by ΔT, time u 2 is set at time u 1 , and time calculation unit Can be configured to cause the time u 2 to be calculated again.

本発明は、上記発明の好適実施形態に係るものであり、観測オブジェクト側における時間の刻み幅をΔtとして、その刻み幅で区切られた各区間に対して、音源オブジェクトにおける音波波形の区間を求め、これを時間長Δtに伸縮させて再生するものである。このとき、前の繰り返し単位で求められた時刻u2は、次の繰り返し単位における時刻u1に相当するから、その代入を行う。 The present invention relates to a preferred embodiment of the above invention, wherein a time step on the observation object side is Δt, and a sound wave waveform section in the sound source object is obtained for each section divided by the step width. This is reproduced by expanding / contracting it to the time length Δt. At this time, since the time u 2 obtained in the previous repeat unit corresponds to the time u 1 in the next repeat unit, the substitution is performed.

本発明によれば、時間の刻み幅で音声シミュレーションを繰り返す際に、区間が連続していることを利用して計算量を適切に抑制することができるようになる。   According to the present invention, it is possible to appropriately suppress the calculation amount by using the fact that the sections are continuous when the speech simulation is repeated at the time interval.

本発明のその他の観点に係る音声シミュレーション方法は、音声を発する音源オブジェクトと、音声を観測する観測オブジェクトと、が移動する仮想空間において、当該観測オブジェクトにて時刻t1から時刻t2までに観測される音声波形をシミュレートし、当該仮想空間における当該音源オブジェクトの移動履歴を記憶する履歴記憶部、時刻計算部、音声出力部を備える音声シミュレーション装置にて実行され、時刻計算工程、音声出力工程を備え、以下のように構成する。 In the sound simulation method according to another aspect of the present invention, in a virtual space in which a sound source object that emits sound and an observation object that observes sound move, the observation object observes from time t 1 to time t 2. Executed in a speech simulation apparatus including a history storage unit, a time calculation unit, and an audio output unit for simulating a sound waveform to be stored and storing a movement history of the sound source object in the virtual space. And is configured as follows.

すなわち、時刻計算工程では、時刻計算部が、当該仮想空間における音速cと、当該観測オブジェクトの時刻t1における位置b1と、時刻t2における位置b2と、記憶された当該音源オブジェクトの移動履歴と、から、時刻u1と時刻u2を計算する。このとき、当該音源オブジェクトの時刻u1における位置s1と、時刻u2における位置s2と、に対して、条件「位置b1と位置s1との距離がc(t1-u1)に等しく、かつ、位置b2と位置s2との距離がc(t2-u2)に等しい」を満たす時刻u1と時刻u2を計算する。 That is, in the time calculation step, the moving time calculation unit, and the sound velocity c in the virtual space, a position b 1 at time t 1 of the observation object, and the position b 2 at time t 2, the of the stored the sound source object From the history, time u 1 and time u 2 are calculated. At this time, with respect to the position s 1 at the time u 1 of the sound source object and the position s 2 at the time u 2 , the condition “the distance between the position b 1 and the position s 1 is c (t 1 -u 1 ) equally, and the distance between the position b 2 and the position s 2 calculates the time u 1 and the time u 2 satisfying "equal to c (t 2 -u 2).

一方、音声出力工程では、音声出力部が、当該仮想空間内において計算された時刻u1から時刻u2までの間に当該音源オブジェクトが発する時間長(u2-u1)の音声波形を、時間長(t2-t1)に伸縮して、当該時間長を伸縮された音声波形を、当該観測オブジェクトにて時刻t1から時刻t2までに観測される音声波形として出力する。 On the other hand, in the audio output process, the audio output unit generates an audio waveform of the time length (u 2 -u 1 ) generated by the sound source object between time u 1 and time u 2 calculated in the virtual space, The speech waveform expanded and contracted to the time length (t 2 -t 1 ) and expanded and contracted is output as a speech waveform observed from time t 1 to time t 2 by the observation object.

本発明のその他の観点に係るプログラムは、コンピュータを上記の音声シミュレーション装置として機能させ、コンピュータに上記の音声シミュレーション方法を実行させるように構成する。
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
A program according to another aspect of the present invention is configured to cause a computer to function as the above-described sound simulation apparatus and to cause the computer to execute the above-described sound simulation method.
The program of the present invention can be recorded on a computer-readable information storage medium such as a compact disk, flexible disk, hard disk, magneto-optical disk, digital video disk, magnetic tape, and semiconductor memory.
The above program can be distributed and sold via a computer communication network independently of the computer on which the program is executed. The information storage medium can be distributed and sold independently from the computer.

本発明によれば、ドップラー効果を簡易にシミュレートする音声シミュレーション装置、音声シミュレーション方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。   According to the present invention, it is possible to provide an audio simulation apparatus, an audio simulation method, and a program that realizes these on a computer, which can easily simulate the Doppler effect.

以下に本発明の実施形態を説明するが、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。   Embodiments of the present invention will be described below, but the embodiments described below are for explanation and do not limit the scope of the present invention. Therefore, those skilled in the art can employ embodiments in which each or all of these elements are replaced with equivalent ones, and these embodiments are also included in the scope of the present invention.

図1は、プログラムを実行することにより、本発明の音声シミュレーション装置の機能を果たす典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。   FIG. 1 is a schematic diagram showing a schematic configuration of a typical information processing apparatus that performs the function of the speech simulation apparatus of the present invention by executing a program. Hereinafter, a description will be given with reference to FIG.

情報処理装置100は、CPU(Central Processing Unit)101と、ROM(Read Only Memory) 102と、RAM(Random Access Memory)103と、インターフェイス104と、コントローラ105と、外部メモリ106と、画像処理部107と、DVD−ROM(Digital Versatile Disc ROM)ドライブ108と、NIC(Network Interface Card)109と、音声処理部110と、マイク111と、を備える。   The information processing apparatus 100 includes a CPU (Central Processing Unit) 101, a ROM (Read Only Memory) 102, a RAM (Random Access Memory) 103, an interface 104, a controller 105, an external memory 106, and an image processing unit 107. A DVD-ROM (Digital Versatile Disc ROM) drive 108, a NIC (Network Interface Card) 109, an audio processing unit 110, and a microphone 111.

ゲーム用のプログラムおよびデータを記憶したDVD−ROMをDVD−ROMドライブ108に装着して、情報処理装置100の電源を投入することにより、当該プログラムが実行され、本実施形態の音声シミュレーション装置が実現される。   A DVD-ROM storing a game program and data is loaded into the DVD-ROM drive 108 and the information processing apparatus 100 is turned on to execute the program, thereby realizing the sound simulation apparatus of the present embodiment. Is done.

CPU 101は、情報処理装置100全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、CPU 101は、レジスタ(図示せず)という高速アクセスが可能な記憶域に対してALU(Arithmetic Logic Unit)(図示せず)を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、CPU 101自身が構成されているものや、コプロセッサを備えて実現するものがある。   The CPU 101 controls the overall operation of the information processing apparatus 100 and is connected to each component to exchange control signals and data. Further, the CPU 101 uses arithmetic operations such as addition / subtraction / multiplication / division, logical sum, logical product, etc. using an ALU (Arithmetic Logic Unit) (not shown) for a storage area called a register (not shown) that can be accessed at high speed. , Logic operations such as logical negation, bit operations such as bit sum, bit product, bit inversion, bit shift, and bit rotation can be performed. In addition, the CPU 101 itself is configured so that saturation operations such as addition / subtraction / multiplication / division for multimedia processing, vector operations such as trigonometric functions, etc. can be performed at a high speed, and those provided with a coprocessor. There is.

ROM 102には、電源投入直後に実行されるIPL(Initial Program Loader)が記録され、これが実行されることにより、DVD−ROMに記録されたプログラムをRAM 103に読み出してCPU 101による実行が開始される。また、ROM 102には、情報処理装置100全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。   The ROM 102 records an IPL (Initial Program Loader) that is executed immediately after the power is turned on, and when this is executed, the program recorded on the DVD-ROM is read out to the RAM 103 and execution by the CPU 101 is started. The The ROM 102 stores an operating system program and various data necessary for operation control of the entire information processing apparatus 100.

RAM 103は、データやプログラムを一時的に記憶するためのもので、DVD−ROMから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、CPU 101は、RAM 103に変数領域を設け、当該変数に格納された値に対して直接ALUを作用させて演算を行ったり、RAM 103に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。   The RAM 103 is for temporarily storing data and programs, and holds programs and data read from the DVD-ROM and other data necessary for game progress and chat communication. Further, the CPU 101 provides a variable area in the RAM 103 and performs an operation by directly operating the ALU on the value stored in the variable, or temporarily stores the value stored in the RAM 103 in the register. Perform operations such as performing operations on registers and writing back the operation results to memory.

インターフェイス104を介して接続されたコントローラ105は、ユーザがゲーム実行の際に行う操作入力を受け付ける。   The controller 105 connected via the interface 104 receives an operation input performed when the user executes the game.

インターフェイス104を介して着脱自在に接続された外部メモリ106には、ゲーム等のプレイ状況(過去の成績等)を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ(記録)のデータなどが書き換え可能に記憶される。ユーザは、コントローラ105を介して指示入力を行うことにより、これらのデータを適宜外部メモリ106に記録することができる。   The external memory 106 detachably connected via the interface 104 stores data indicating game play status (past results, etc.), data indicating game progress, and log of chat communication in the case of a network match ( Data) is stored in a rewritable manner. The user can record these data in the external memory 106 as appropriate by inputting an instruction via the controller 105.

DVD−ROMドライブ108に装着されるDVD−ROMには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。CPU 101の制御によって、DVD−ROMドライブ108は、これに装着されたDVD−ROMに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはRAM 103等に一時的に記憶される。   A DVD-ROM mounted on the DVD-ROM drive 108 stores a program for realizing the game and image data and audio data associated with the game. Under the control of the CPU 101, the DVD-ROM drive 108 performs a reading process on the DVD-ROM loaded therein, reads out necessary programs and data, and these are temporarily stored in the RAM 103 or the like.

画像処理部107は、DVD−ROMから読み出されたデータをCPU 101や画像処理部107が備える画像演算プロセッサ(図示せず)によって加工処理した後、これを画像処理部107が備えるフレームメモリ(図示せず)に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部107に接続されるモニタ(図示せず)へ出力される。これにより、各種の画像表示が可能となる。   The image processing unit 107 processes the data read from the DVD-ROM by an image arithmetic processor (not shown) included in the CPU 101 or the image processing unit 107, and then processes the processed data on a frame memory ( (Not shown). The image information recorded in the frame memory is converted into a video signal at a predetermined synchronization timing and output to a monitor (not shown) connected to the image processing unit 107. Thereby, various image displays are possible.

画像演算プロセッサは、2次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。   The image calculation processor can execute a two-dimensional image overlay calculation, a transmission calculation such as α blending, and various saturation calculations at high speed.

また、仮想3次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Zバッファ法によりレンダリングして、所定の視点位置から仮想3次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。   Also, polygon information arranged in the virtual three-dimensional space and added with various texture information is rendered by the Z buffer method, and the polygon arranged in the virtual three-dimensional space from the predetermined viewpoint position is determined in the direction of the predetermined line of sight It is also possible to perform high-speed execution of operations for obtaining rendered images.

さらに、CPU 101と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を2次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。   Further, the CPU 101 and the image arithmetic processor operate in a coordinated manner, so that a character string can be drawn as a two-dimensional image in a frame memory or drawn on the surface of each polygon according to font information defining the character shape. is there.

NIC 109は、情報処理装置100をインターネット等のコンピュータ通信網(図示せず)に接続するためのものであり、LAN(Local Area Network)を構成する際に用いられる10BASE−T/100BASE−T規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 101との仲立ちを行うインターフェース(図示せず)により構成される。   The NIC 109 is used to connect the information processing apparatus 100 to a computer communication network (not shown) such as the Internet, and is based on the 10BASE-T / 100BASE-T standard used when configuring a LAN (Local Area Network). To connect to the Internet using an analog modem, ISDN (Integrated Services Digital Network) modem, ADSL (Asymmetric Digital Subscriber Line) modem, cable television line A cable modem or the like and an interface (not shown) that mediates between these and the CPU 101 are configured.

音声処理部110は、DVD−ROMから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ(図示せず)から出力させる。また、CPU 101の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。   The audio processing unit 110 converts audio data read from the DVD-ROM into an analog audio signal and outputs the analog audio signal from a speaker (not shown) connected thereto. Further, under the control of the CPU 101, sound effects and music data to be generated during the progress of the game are generated, and sound corresponding to this is output from the speaker.

音声処理部110では、DVD−ROMに記録された音声データがMIDIデータである場合には、これが有する音源データを参照して、MIDIデータをPCMデータに変換する。また、ADPCM形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してPCMデータに変換する。PCMデータは、そのサンプリング周波数に応じたタイミングでD/A(Digital/Analog)変換を行って、スピーカに出力することにより、音声出力が可能となる。   When the audio data recorded on the DVD-ROM is MIDI data, the audio processing unit 110 refers to the sound source data included in the audio data and converts the MIDI data into PCM data. If the compressed audio data is in ADPCM format or Ogg Vorbis format, it is expanded and converted to PCM data. The PCM data can be output by performing D / A (Digital / Analog) conversion at a timing corresponding to the sampling frequency and outputting it to a speaker.

さらに、情報処理装置100には、インターフェイス104を介してマイク111を接続することができる。この場合、マイク111からのアナログ信号に対しては、適当なサンプリング周波数でA/D変換を行い、PCM形式のディジタル信号として、音声処理部110でのミキシング等の処理ができるようにする。   Furthermore, a microphone 111 can be connected to the information processing apparatus 100 via the interface 104. In this case, the analog signal from the microphone 111 is subjected to A / D conversion at an appropriate sampling frequency so that processing such as mixing in the sound processing unit 110 can be performed as a PCM format digital signal.

このほか、情報処理装置100は、ハードディスク等の大容量外部記憶装置を用いて、ROM 102、RAM 103、外部メモリ106、DVD−ROMドライブ108に装着されるDVD−ROM等と同じ機能を果たすように構成してもよい。   In addition, the information processing apparatus 100 uses a large-capacity external storage device such as a hard disk so as to perform the same function as the ROM 102, the RAM 103, the external memory 106, the DVD-ROM mounted on the DVD-ROM drive 108, and the like. You may comprise.

以上で説明した情報処理装置100は、いわゆる「コンシューマ向けテレビゲーム装置」に相当するものであるが、仮想空間を表示するような画像処理を行うものであれば本発明を実現することができる。したがって、携帯電話、携帯ゲーム機器、カラオケ装置、一般的なビジネス用コンピュータなど、種々の計算機上で本発明を実現することが可能である。   The information processing apparatus 100 described above corresponds to a so-called “consumer video game apparatus”, but the present invention can be realized as long as it performs image processing to display a virtual space. Therefore, the present invention can be realized on various computers such as a mobile phone, a portable game device, a karaoke apparatus, and a general business computer.

たとえば、一般的なコンピュータは、上記情報処理装置100と同様に、CPU、RAM、ROM、DVD−ROMドライブ、および、NICを備え、情報処理装置100よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、コントローラ105ではなく、キーボードやマウスなどを入力装置として利用する。   For example, a general computer, like the information processing apparatus 100, includes an image processing unit that includes a CPU, RAM, ROM, DVD-ROM drive, and NIC and has simpler functions than the information processing apparatus 100. In addition to having a hard disk as an external storage device, a flexible disk, a magneto-optical disk, a magnetic tape, and the like can be used. Further, not the controller 105 but a keyboard or a mouse is used as an input device.

(ドップラー効果のモデル)
以下では、音源と観測者が仮想空間内を自由に移動する場合であって、ときとしてその移動速度が音速を超えるような場合のドップラー効果の基本的なシミュレーションの手法について説明する。
(Doppler effect model)
In the following, a basic simulation method of the Doppler effect in the case where the sound source and the observer freely move in the virtual space and sometimes the moving speed exceeds the sound speed will be described.

時刻tにおける音源Sの座標を、
s(t) = (sx(t),sy(t),sz(t))
とし、時刻tにおける観測者Bの座標を、
b(t) = (bx(t),by(t),bz(t))
とする。s(t)およびb(t)は、位置ベクトルである。また、音速をcとする。
The coordinates of the sound source S at time t are
s (t) = (s x (t), s y (t), s z (t))
And the coordinates of the observer B at time t are
b (t) = (b x (t), b y (t), b z (t))
And s (t) and b (t) are position vectors. In addition, the speed of sound is c.

図2は、音源Sと観測者Bが移動する際の位置関係を示す説明図である。以下、本図を参照して説明する。   FIG. 2 is an explanatory diagram showing a positional relationship when the sound source S and the observer B move. Hereinafter, a description will be given with reference to FIG.

本図において、音源S(201)は、時刻u1から時刻u2までに位置s1=s(u1)から位置s2=s(u2)まで移動する。この間に発音された音波波形221が、観測者B(202)において時刻t1から時刻t2までに音波波形222として到達したものとする(本図では、理解を容易にするため、距離による減衰は図示を省略している)。 In this figure, the sound source S (201) moves from position s 1 = s (u 1 ) to position s 2 = s (u 2 ) from time u 1 to time u 2 . It is assumed that the sound wave waveform 221 generated during this time arrives at the observer B (202) as the sound wave waveform 222 from time t 1 to time t 2 (in this figure, for the sake of easy understanding, attenuation by distance) Is omitted).

観測者B(202)は、時刻t1から時刻t2までに位置b1=b(t1)から位置b2=b(t2)まで移動する。 The observer B (202) moves from the position b 1 = b (t 1 ) to the position b 2 = b (t 2 ) from time t 1 to time t 2 .

そして、音波波形221は、音速cで伝搬して音波波形222となる。したがって、ベクトルの長さを求める演算を|・|とし、音波の到達時間を考慮すれば、音波波形の先頭について、
c(t1-u1) = |s(u1)-b(t1)|
が成立し、末尾について、
c(t2-u2) = |s(u2)-b(t2)|
が成立する。
Then, the sound wave waveform 221 propagates at the sound velocity c to become a sound wave waveform 222. Therefore, if the calculation for obtaining the vector length is | · | and the arrival time of the sound wave is taken into consideration,
c (t 1 -u 1 ) = | s (u 1 ) -b (t 1 ) |
And the end
c (t 2 -u 2 ) = | s (u 2 ) -b (t 2 ) |
Is established.

このモデルに基づいて一般化を行う。すなわち、時刻uに音源Sから発せられた音波が時刻tに観測者Bに到達したとする。
c(t-u) = |s(u) - b(t)|
という関係が成立する。
Generalization is performed based on this model. That is, it is assumed that the sound wave emitted from the sound source S at time u has reached the observer B at time t.
c (tu) = | s (u)-b (t) |
The relationship is established.

ベクトルaとベクトルbの内積を求める演算をa・bのように表記するとき、この関係は、
c2(t-u)2 = (s(u) - b(t))・(s(u) - b(t));
ただしt≧u
と書くこともできる。
When the operation for calculating the inner product of the vector a and the vector b is expressed as a · b, this relationship is
c 2 (tu) 2 = (s (u)-b (t)) ・ (s (u)-b (t));
Where t ≧ u
Can also be written.

一般に、ある時刻tが与えられたときに、条件
c(t-u) = |s(u) - b(t)|
を満たす時刻uを求める関数が、かりに
u = g(t)
のように求められたとする。
In general, given a time t, the condition
c (tu) = | s (u)-b (t) |
The function to find the time u that satisfies
u = g (t)
Suppose that

また、位置ベクトルpから位置ベクトルqへ音波が伝達される場合の減衰係数をk(p,q)とする。典型的には、
k(p,q) = 1/((p-q)・(p-q));
k(p,q) = 1/|p-q|
など、種々の計算手法を採用することができる。
In addition, an attenuation coefficient when sound waves are transmitted from the position vector p to the position vector q is k (p, q). Typically,
k (p, q) = 1 / ((pq) ・ (pq));
k (p, q) = 1 / | pq |
For example, various calculation methods can be employed.

ここで、時刻tにおいて音源Sが発する音波の変位(基準点からのずれ)をa(t)とする。すなわち、時刻tを所定のサンプリング周期の単位で次第に増加させてa(t)を計算し、計算されたa(t)をその時点での音波波形であることとして、時刻tにスピーカへ値a(t)を出力すれば、音源Sの発する音波が再生されることになる。   Here, the displacement (deviation from the reference point) of the sound wave generated by the sound source S at time t is defined as a (t). That is, a (t) is calculated by gradually increasing the time t in a predetermined sampling period unit, and the calculated a (t) is a sound wave waveform at that time, and the value a is sent to the speaker at the time t. If (t) is output, the sound wave emitted by the sound source S is reproduced.

このような状況下では、時刻tにおいて観測者Bが聴取する音波の変位は、
a(g(t))×k(s(g(t)),b(t))
と書くことができる。この式の前半は、ドップラー効果によるものであり、後半は、音波の減衰によるものである。
Under such circumstances, the displacement of the sound wave that the observer B listens at time t is
a (g (t)) × k (s (g (t)), b (t))
Can be written. The first half of this equation is due to the Doppler effect, and the second half is due to sound wave attenuation.

したがって、時刻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))を出力すれば、観測者Bが聞いた音波が再生されることになる。   Therefore, a (g (t)) × k (s (g (t)), b (t)) is calculated by gradually increasing the time t in units of a predetermined sampling period, and the calculated a (g ( t)) × k (s (g (t)), b (t)) is the sound wave waveform at that time, and the value a (g (t)) × k (s (g If (t)) and b (t)) are output, the sound wave heard by the observer B is reproduced.

すなわち、観測者Bにおいて時刻t1から時刻t2までに観測される音波波形は、音源Sにおいて時刻u1 = g(t1)から時刻u2 = g(t2)までに発生された音波波形に起因するものである。また、時刻t1における元の波形に対する増幅率(減衰率)は、k(s(g(t1)),b(t1))となり、時刻t2における元の波形に対する増幅率は、k(s(g(t2)),b(t2))となる。 That is, the sound wave waveform observed by the observer B from time t 1 to time t 2 is the sound wave generated by the sound source S from time u 1 = g (t 1 ) to time u 2 = g (t 2 ). This is due to the waveform. The amplification factor (attenuation factor) for the original waveform at time t 1 is k (s (g (t 1 )), b (t 1 )), and the amplification factor for the original waveform at time t 2 is k (s (g (t 2 )), b (t 2 )).

さて、ここで問題となるのが、いかにして、関数u = g(t)を求めるか、ということである。   The problem here is how to find the function u = g (t).

特に仮想環境下では、時刻tにおける観測者Bの位置b(t)や音源Sの位置s(t)は、ユーザの各種の指示操作に基づいて更新されることや、乱数に基づいて、あるいは、コンピュータがあらかじめ定めたアルゴリズムに基づいて更新されることが多い。したがって、解析的に関数u = g(t)を求めることは困難である。   Particularly in a virtual environment, the position b (t) of the observer B and the position s (t) of the sound source S at time t are updated based on various instruction operations by the user, based on random numbers, or The computer is often updated based on a predetermined algorithm. Therefore, it is difficult to analytically obtain the function u = g (t).

そこで、時間的に離散された近似を用いて、この関数u = g(t)の実用的な解を得ることにする。まず、離散近似の時間の刻み幅をΔTとする。たとえば、コンピュータ等によりシミュレーションを行う場合には、ΔTとして垂直同期信号の間隔を採用するのが典型的である。   Therefore, a practical solution of this function u = g (t) is obtained by using a temporally discrete approximation. First, let ΔT be the step size of the discrete approximation time. For example, when the simulation is performed by a computer or the like, it is typical to employ the interval of the vertical synchronization signal as ΔT.

そして、時刻t = iΔTにおける音源Sの位置ベクトルと、観測者Bの位置ベクトルと、を、それぞれ、配列S、Bのi番目の要素に格納することとする。
S[i] = s(iΔT);
B[i] = b(iΔT)
Then, the position vector of the sound source S and the position vector of the observer B at time t = iΔT are stored in the i-th element of the arrays S and B, respectively.
S [i] = s (iΔT);
B [i] = b (iΔT)

すなわち、この説明では、配列S、Bには、音源Sと観測者Bの位置の履歴が保存される。   That is, in this description, the history of the positions of the sound source S and the observer B is stored in the arrays S and B.

この配列の長さに制限を設ける手法としては、リングバッファ的に使用して、時刻iΔTの時の位置ベクトルをi mod L番目の要素に格納することとしても良い。ここで、Lは配列の長さである。   As a method for limiting the length of the array, the position vector at time iΔT may be stored in the i mod L-th element using a ring buffer. Here, L is the length of the sequence.

以下、理解を容易にするため、位置の履歴は無限に格納されるものとするが、上記のリングバッファ等を採用する場合には、有効な添字のみを処理対象とすれば良い。   Hereinafter, in order to facilitate understanding, it is assumed that the position history is stored indefinitely. However, when the above-described ring buffer or the like is employed, only valid subscripts need be processed.

時刻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を探すのである。これを「逆転条件」と呼ぶこととする。
To obtain the value of the function u = g (t) = g (iΔT) at time t = iΔT, first, an integer k i where k i <i,
The magnitude relationship between c (iΔT-k i ΔT) and | s (k i ΔT)-b (iΔT) |
The magnitude relationship between c (iΔT-(k i +1) ΔT) and | s ((k i +1) ΔT)-b (iΔT) |
However, look for k i that seems to be reversed. That is,
c (iΔT-k i ΔT) ≤ | s (k i ΔT)-b (iΔT) | and c (iΔT-(k i +1) ΔT) ≥ | s ((k i +1) ΔT)-b ( iΔT) |
c (iΔT-k i ΔT) ≧ | s (k i ΔT)-b (iΔT) | and c (iΔT-(k i +1) ΔT) ≦ | s ((k i +1) ΔT)-b ( iΔT) |
Find k i that becomes. This is referred to as a “reverse condition”.

ここで、
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が発見できるはずである。
here,
c (iΔT-k i ΔT) = c (ik i ) ΔT;
s (k i ΔT) −b (iΔT) = S [k i ] −B [i];
c (iΔT-(k i +1) ΔT) = c (ik i -1) ΔT;
s ((k i +1) ΔT)-b (iΔT) = S [k i +1]-B [i]
Therefore, by scanning the array in the direction in which the subscript i (current time) decreases, such a k i should be found.

また、一旦kiが発見されたら、時刻t = (i+1)ΔTのステップにおいては、前回発見されたkiの近傍を探せば、走査の時間を短縮して、ki+1を発見することができるはずである。発見できなかった場合は、音波が到達していないものとする。 Also, once k i is found, in the step of time t = (i + 1) ΔT, if the vicinity of k i found last time is searched, the scanning time is shortened and k i + 1 is found. Should be able to. If it cannot be found, it is assumed that the sound wave has not reached.

また、リングバッファを採用した場合には、走査するステップ数を最大でL個とし、添字で参照する場合にmod Lすれば良い。   When a ring buffer is used, the number of scanning steps is set to L at the maximum, and mod L may be used when referring to by a subscript.

このようなkiが見つかれば、
c(iΔT - u) = |s(u) - b(iΔT)|
を満たすようなu = g(t) = g(iΔT)を、補間によって求めることができる。
If such a k i is found,
c (iΔT-u) = | s (u)-b (iΔT) |
U = g (t) = g (iΔT) that satisfies the above can be obtained by interpolation.

最も単純な線形補間を採用する場合には、
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)
のようにするなど、種々の補間技術を採用することができる。
When adopting the simplest linear interpolation,
g (iΔT) = k i ΔT + ΔT × (c (ik i ) ΔT-| S [k i ]-B [i] |) / (| S [k i +1]-B [i] |-c (ik i -1) ΔT);
And Other interpolation methods include, for example:
g (iΔT) = k i ΔT + ΔT × (c 2 (ik i ) 2 ΔT 2- | S [k i ]-B [i] | 2 ) / (| S [k i +1]-B [i ] | 2 -c 2 (ik i -1) 2 ΔT 2 )
For example, various interpolation techniques can be employed.

なお、大小関係の等号の一方が成立する場合は、そのときの値をそのまま使用し、両方が同時に成立する場合は、2つの値を平均することとしても良い。   In addition, when one of the equal signs of magnitude relation is materialized, the value at that time is used as it is, and when both are materialized simultaneously, two values are averaged.

さて、このようにして求められた
u = g(iΔT)
もまた、配列Gのi番目の要素G[i]に格納することとする。
G[i] = g(iΔT)
Now, it was sought in this way
u = g (iΔT)
Is also stored in the i-th element G [i] of the array G.
G [i] = g (iΔT)

配列Gもまた、リングバッファとすることもできる。また、配列Gは、最新の2つの要素だけが重要である。   Array G can also be a ring buffer. Also, only the latest two elements of the array G are important.

また、時刻u = g(iΔT) = G[i]における音源Sの位置は、線形補間により、ベクトルS[ki]とベクトルS[ki+1]とを、比率
(G[i] - kiΔT):((ki+1)ΔT - G[i])
で内分する点である。この点の位置ベクトルを、S'[i]と表記することとし、これも、上記と同様に配列に記憶されるものとする。
Further, the position of the sound source S at time u = g (iΔT) = G [i] is obtained by calculating the ratio between the vector S [k i ] and the vector S [k i +1] by linear interpolation.
(G [i]-k i ΔT): ((k i +1) ΔT-G [i])
It is a point to divide internally. The position vector of this point is denoted as S ′ [i], and this is also stored in the array in the same manner as described above.

さて、現実のドップラー効果であれば、時刻(i-1)ΔT〜iΔTの間の観測者Bが観測する変位は、
a(G[i-1])×ki(S'[i-1],B[i-1])〜a(G[i])×ki(S'[i],B[i])
となるべきである。
Now, in the case of an actual Doppler effect, the displacement observed by the observer B between times (i−1) ΔT to iΔT is
a (G [i-1]) × k i (S ′ [i-1], B [i-1]) to a (G [i]) × k i (S ′ [i], B [i] )
Should be.

すなわち、元の音源a(u)の時刻u = G[i-1]〜G[i]の変位に適切な減衰係数を乗じて、時刻t = (i-1)ΔT〜iΔTにぴったりおさまるように時間方向に波形を伸縮して再生すれば、現実のドップラー効果に最も適合したものとなる。   In other words, the displacement of the original sound source a (u) at time u = G [i-1] to G [i] is multiplied by an appropriate attenuation coefficient so that it fits exactly at time t = (i-1) ΔT to iΔT. If the waveform is expanded and contracted in the time direction at the same time, it is most suitable for the actual Doppler effect.

しかしながら、シミュレーションにおいては、過去にさかのぼって再生を行うことはできない。したがって、元の音源a(u)の時刻u = G[i-1]〜G[i]の変位に適切な減衰係数を乗じて、時刻t = iΔT〜(i+1)ΔTにぴったりおさまるように時間方向に波形を伸縮して再生することによって、ドップラー効果をシミュレートする。   However, in simulation, reproduction cannot be performed retroactively. Therefore, the displacement of the original sound source a (u) at time u = G [i-1] to G [i] is multiplied by an appropriate attenuation coefficient so that it fits exactly at time t = iΔT to (i + 1) ΔT. The Doppler effect is simulated by expanding and contracting the waveform in the time direction.

また、減衰係数についても、計算を簡易にするため、
ki(S'[i-1],B[i-1]);
ki(S'[i],B[i])
のいずれか一方のみを用いたり、これらの平均を用いたり、前者から後者へ次第に変化するようにする等、種々の態様を採用することができる。
Also, to simplify the calculation of the attenuation coefficient,
k i (S '[i-1], B [i-1]);
k i (S '[i], B [i])
It is possible to adopt various modes such as using only one of these, using an average of these, or gradually changing from the former to the latter.

さて、ここまでは、音源Sも観測者Bも、音速未満で移動する場合のドップラー効果を考えていたが、超音速で動作する場合については、特別な処理が必要となる。   So far, both the sound source S and the observer B have considered the Doppler effect when moving at less than the speed of sound, but special processing is required when operating at supersonic speed.

すなわち、音速未満での移動の場合には、
u = g(t)
は単調増加関数であり、
G[i-1] < G[i]
が成立する。
In other words, when moving below the speed of sound,
u = g (t)
Is a monotonically increasing function,
G [i-1] <G [i]
Is established.

ところが、超音速での移動がある場合には、
G[i-1] ≧ G[i]
となってしまうことがありうる。
However, if there is a supersonic movement,
G [i-1] ≧ G [i]
It can happen.

この場合には、観測者Bは衝撃波を跨いだ状況下にあると考えられるので、音の再生を反転させるのではなく、時刻t = iΔT〜(i+1)ΔTの間は、あらかじめ別途用意した、衝撃音の音源を再生すれば良い。   In this case, since it is considered that the observer B is in a situation where the shock wave is straddled, it is not prepared to reverse the sound reproduction, but is prepared separately in advance between time t = iΔT to (i + 1) ΔT. What is necessary is just to play the impact sound source.

この際に、衝撃音の音量として、上記と同様の減衰係数を考慮することとしても良いし、一定音量で衝撃音が再生されることとしても良い。   At this time, the same attenuation coefficient as described above may be considered as the volume of the impact sound, or the impact sound may be reproduced at a constant volume.

音速未満の場合には、kiを探すために配列Sを走査する場合、前回発見されたkiの近傍を探す場合、
ki < ki+1
が成立するから、kiから、値が増加する方向に走査を行えば良いが、超音速がありうる場合は、kiの近傍を双方向に走査する必要がある。
If it is less than the speed of sound, scan the array S to look for k i , look for the neighborhood of k i previously found,
k i <k i + 1
Therefore, it is only necessary to scan from k i in the direction in which the value increases, but in the case where there is a supersonic speed, it is necessary to scan the vicinity of k i in both directions.

なお、上記のような処理を行う場合、配列S'、配列Gについては、最新の2つ分の情報だけ保持できれば十分である。また、配列Bについては、最新の1つ分ないし2つ分の情報だけ保持できれば十分である。したがって、配列のサイズを適宜変更しても良い。また、「配列」ではなく、2つの変数を用いることとしても良い。たとえば、現在時刻がt = iΔTであるとき、配列の要素B[i],S'[i]に格納すべき最新の値は、それぞれ変数b2,s2に格納することとし、その直前の要素B[i-1]に格納すべき値は、それぞれ変数b1,s1に格納する、のごとくである。 In the case of performing the processing as described above, it is sufficient for the arrays S ′ and G to hold only the latest two pieces of information. For the array B, it is sufficient that only the latest one or two pieces of information can be held. Therefore, the size of the array may be changed as appropriate. Also, instead of “array”, two variables may be used. For example, when the current time is t = iΔT, the latest values to be stored in the elements B [i] and S '[i] of the array are stored in the variables b 2 and s 2 , respectively. The values to be stored in the element B [i-1] are stored in the variables b 1 and s 1 , respectively.

以下では、上記の考え方に基づいて、本発明の実施形態の詳細について、さらに説明する。   Below, based on said view, the detail of embodiment of this invention is further demonstrated.

(実施形態の詳細)
図3は、本実施形態に係る音声シミュレーション装置の概要構成を示す説明図である。以下、本図を参照して説明する。
(Details of the embodiment)
FIG. 3 is an explanatory diagram showing a schematic configuration of the speech simulation apparatus according to the present embodiment. Hereinafter, a description will be given with reference to FIG.

音声シミュレーション装置301は、履歴記憶部302、時刻計算部303、音声出力部304、繰返制御部305を備える。   The voice simulation apparatus 301 includes a history storage unit 302, a time calculation unit 303, a voice output unit 304, and a repetition control unit 305.

音声シミュレーション装置301は、時間の刻み幅ΔTで離散的にシミュレーションを行う。ΔTの長さとしては、たとえば、ゲーム装置等で各種の繰り返し計算の単位となる垂直同期割り込み周期等を採用することができる。   The voice simulation apparatus 301 performs a simulation discretely with a time interval ΔT. As the length of ΔT, for example, a vertical synchronization interrupt cycle that is a unit of various repeated calculations in a game device or the like can be employed.

履歴記憶部302は、RAM 103により実現され、以下の変数領域が確保される。
(a)現在時刻を表すカウンタi。このカウンタは、時間ΔTが経過するごとに1ずつ増加する。
(b)音源S(201)である音源オブジェクトの位置ベクトルの履歴を格納する配列S。この配列は、長さLのリングバッファとして構成され、時刻t = iΔTのときの音源オブジェクトの位置ベクトルs(iΔT)は、配列Sのi mod L番目の要素S[i mod L]に格納される。また、理解を容易にするため、以下では、S[i mod L]を単にS[i]と書く。
(c)観測者B(202)である観測オブジェクトの直前時刻t = (i-1)ΔTにおける位置ベクトルを格納する変数b1 = b((i-1)ΔT)と、現在時刻t = iΔTにおける位置ベクトルを格納する変数b2 = b(iΔT)。
(d)変数b1に対応する音源S(201)の位置ベクトルを格納する変数s1 = g((i-1)ΔT)と、変数b2に対応する音源S(201)の位置ベクトルを格納する変数s2 = g(iΔT)。
(e)時刻u1,u2。最新の時刻区間t = (i-1)ΔT〜iΔTに観測された音波波形は、音源オブジェクトが時刻u1〜時刻u2に発生した音波波形に起因するものである。なお、これらの時刻変数u1,u2には、「未知」を示す情報を代入することも可能とする。これは、対応する時刻が見つからなかった場合などに使用する。
(f)時刻t1,u1に対応する増幅減衰率m1と、時刻t2,u2に対応する増幅減衰率m2
(g)一時的なカウンタ変数k。繰り返し処理で用いられる。
(h)このほか、音源オブジェクトや観測オブジェクトの物理シミュレーションに必要な種々の情報。たとえばこれらを飛行機として実現する場合には、位置や速度、姿勢、ラダー等の操作量、高度、気圧、風力などの諸条件が記憶される。
The history storage unit 302 is realized by the RAM 103, and the following variable areas are secured.
(A) Counter i representing the current time. This counter is incremented by 1 every time ΔT elapses.
(B) An array S for storing a history of position vectors of a sound source object that is a sound source S (201). This array is configured as a ring buffer of length L, and the position vector s (iΔT) of the sound source object at time t = iΔT is stored in the i mod L-th element S [i mod L] of the array S The In order to facilitate understanding, hereinafter, S [i mod L] is simply written as S [i].
(C) A variable b 1 = b ((i−1) ΔT) for storing a position vector at the time t = (i−1) ΔT of the observation object that is the observer B (202), and a current time t = iΔT A variable b 2 = b (iΔT) that stores the position vector at.
(D) A variable s 1 = g ((i−1) ΔT) for storing a position vector of the sound source S (201) corresponding to the variable b 1 and a position vector of the sound source S (201) corresponding to the variable b 2 Variable to store s 2 = g (iΔT).
(E) Times u 1 and u 2 . The sound wave waveform observed in the latest time interval t = (i−1) ΔT to iΔT is attributed to the sound wave waveform generated by the sound source object from time u 1 to time u 2 . It should be noted that information indicating “unknown” can be substituted for these time variables u 1 and u 2 . This is used when the corresponding time is not found.
(F) An amplification attenuation factor m 1 corresponding to times t 1 and u 1 and an amplification attenuation factor m 2 corresponding to times t 2 and u 2 .
(G) Temporary counter variable k. Used in repeated processing.
(H) Various other information necessary for physical simulation of sound source objects and observation objects. For example, when these are realized as an airplane, various conditions such as position, speed, posture, operation amount such as a ladder, altitude, atmospheric pressure, and wind force are stored.

図4は、本音声シミュレーション装置にて実行される音声シミュレーション処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。   FIG. 4 is a flowchart showing a flow of control of the voice simulation process executed by the voice simulation apparatus. Hereinafter, a description will be given with reference to FIG.

本処理が開始されると、CPU 101は、履歴記憶部302を適切な値に初期化する(ステップS401)。   When this process is started, the CPU 101 initializes the history storage unit 302 to an appropriate value (step S401).

次に、CPU 101は、観測オブジェクトの現在位置を変数b1に格納する(ステップS402)。 Next, the CPU 101 stores the current position of the observation object in the variable b 1 (step S402).

さらに、ダミー用初期値として、音源オブジェクトの現在位置を配列要素S[0],S[1],…,S[L-1]のすべてに格納し、音源オブジェクトの現在位置を変数s1に格納し、「未発見」を意味する値を変数u1に格納し、値1を変数m1に格納する。(ステップS404)。 Furthermore, the current position of the sound source object is stored in all the array elements S [0], S [1],..., S [L-1] as the initial value for the dummy, and the current position of the sound source object is stored in the variable s 1 . Store the value meaning “not found” in the variable u 1 and store the value 1 in the variable m 1 . (Step S404).

そして、時間ΔTだけ待機する(ステップS405)。この待機時間の間には、他の種々の処理を実行することができる。たとえば、各オブジェクトの物理シミュレーションの計算を行って、次の時刻t = (i+1)ΔTにおける音源オブジェクトや観測オブジェクトの位置を計算したり、コルーチン的に別の処理を実行する等の処理を実行する。   Then, it waits for the time ΔT (step S405). Various other processes can be executed during this waiting time. For example, calculate the physical simulation of each object, calculate the position of the sound source object or observation object at the next time t = (i + 1) ΔT, or execute another process in a coroutine manner. Execute.

待機が終了したら、現在時刻カウンタiをi←i+1のように更新する(ステップS406)。ここで「←」は「代入」の意味である。すなわち、現在時刻t2 = iΔTとなり、その直前の時刻t1 = (i-1)ΔTとなる。 When the standby is completed, the current time counter i is updated as i ← i + 1 (step S406). Here, “←” means “assignment”. That is, the current time t 2 = iΔT, and the immediately preceding time t 1 = (i−1) ΔT.

さらに、CPU 101は、音源オブジェクトの現在位置を配列要素S[i]に格納し(ステップS407)、観測オブジェクトの現在位置を変数b2に格納する(ステップS408)。 Further, CPU 101 stores the current position of the sound source object in the array element S [i] (step S407), and stores the current position of the observation object to a variable b 2 (step S408).

そして、CPU 101は、変数k = 0,1,2,3,…,L-1のそれぞれについて、以下の処理を繰り返す(ステップS409)。   Then, the CPU 101 repeats the following processing for each of the variables k = 0, 1, 2, 3,..., L−1 (step S409).

すなわち、
d(i,h) = c×h - |S[i-h]-b2|
とおいたときに、逆転条件
d(i,k)×d(i,k-1)≦0
が成立するか否かを調べる(ステップS410)。
That is,
d (i, h) = c × h-| S [ih] -b 2 |
The reverse condition
d (i, k) × d (i, k-1) ≦ 0
Whether or not is satisfied is checked (step S410).

この逆転条件は、
c×kと|S[i-k] - b2|の大小関係と、
c×(k-1)と|S[i-(k-1)] - b2|の大小関係と、
が逆転しているときに成立する。
This reversal condition is
The magnitude relationship between c × k and | S [ik]-b 2 |
c × (k-1) and | S [i- (k-1)]-b 2 |
It is established when is reversed.

成立していない場合(ステップS410;No)、ステップS409からの処理を繰り返す(ステップS411)。なお、このkについての繰り返しは、必ずしも0,1,…,L-1の順である必要はない。   If not established (step S410; No), the processing from step S409 is repeated (step S411). Note that the repetition for k does not necessarily have to be in the order of 0, 1,.

すなわち、前回発見されたkの値を変数k'に設定し、まずその近傍を探し、見付からなければ残りの値を探す、のようにしても良い。たとえば、適当な定数W (W<L)を用いて、
k'-W,k'-W+1,k'-W+2,…,k'-W+L-1
の順に探す、という手法である。上記のように、配列Sの添字についてはmod Lを行うので、上記のようにkを変化させることで、適切に配列Sをアクセスすることができる。
That is, the value of k found last time may be set in the variable k ′, and the vicinity thereof may be searched first, and if it is not found, the remaining value may be searched. For example, using an appropriate constant W (W <L),
k'-W, k'-W + 1, k'-W + 2, ..., k'-W + L-1
It is a method of searching in the order of. As described above, mod L is performed on the subscript of the array S. Therefore, the array S can be appropriately accessed by changing k as described above.

成立している場合(ステップS410;Yes)、ベクトル(k,d(i,k))とベクトル(k-1,d(i,k-1))との間にあるベクトルであって、その値が(u2,0)となるような時刻u2を補間により求める(ステップS412)。 If established (step S410; Yes), the vector is between the vector (k, d (i, k)) and the vector (k-1, d (i, k-1)), and Time u 2 at which the value becomes (u 2 , 0) is obtained by interpolation (step S412).

同様に、ベクトル(S[i-k],d(i,k))とベクトル(S[i-(k-1)],d(i,k-1))との間にあるベクトルであって、その値が(s2,0)となるような位置ベクトルs2を補間により求める(ステップS413)。 Similarly, a vector between a vector (S [ik], d (i, k)) and a vector (S [i- (k-1)], d (i, k-1)), A position vector s 2 whose value is (s 2 , 0) is obtained by interpolation (step S413).

たとえば、上記モデルの線形補間を行う場合、以下のような計算および代入を行うことになる。
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)〕
このように、CPU 101は、RAM 103等と共働して、時刻計算部303として動作する。
For example, when performing linear interpolation of the above model, the following calculation and substitution are performed.
u 2 ← [d (i, k) (k-1) -d (i, k-1) k] / [d (i, k) -d (i, k-1)];
s 2 ← [d (i, k) S [k-1]-d (i, k-1) S [k]] / [d (i, k) -d (i, k-1)]
Thus, the CPU 101 operates as the time calculation unit 303 in cooperation with the RAM 103 and the like.

さて、上記のようにしてu2が求められた場合は、u1とu2が有効であるか否かおよびその大小を比較する(ステップS414)。 When u 2 is obtained as described above, whether or not u 1 and u 2 are valid is compared with the magnitude (step S414).

u1<u2である場合(ステップS414;<)、増幅減衰率m2を、
m2←k(s2,b2)
のように計算する(ステップS415)。
If u 1 <u 2 (step S414; <), the amplification attenuation factor m 2 is
m 2 ← k (s 2 , b 2 )
(Step S415).

ついで、音源オブジェクトが時刻u1から時刻u2までに発生した音波波形を取得する(ステップS416)。 Next, a sound wave waveform generated by the sound source object from time u 1 to time u 2 is acquired (step S416).

この音波波形が、たとえばPCM音源で用意されている場合は、当該PCM音源の対応する時間区間の波形を取得すれば良いし、MIDI音源で用意されている場合は、当該時間区間に再生される演奏情報を取得すれば良い。   For example, when the sound wave waveform is prepared by a PCM sound source, the waveform of the corresponding time section of the PCM sound source may be acquired. When the sound wave waveform is prepared by a MIDI sound source, it is reproduced in the time interval. What is necessary is just to acquire performance information.

そして、取得された音波波形の時間長u2-u1を、ΔTに伸縮する(ステップS417)。これは、ドップラー効果の従来の技術における周波数変換に相当する処理である。音波波形を、横軸を時間経過、縦軸を変位とする2次元図形と考えたときは、当該伸縮処理は、当該2次元図形を横軸方向に伸縮させる処理に相当する。PCM音源の場合には、このような図形の伸縮処理に相当するものを直接行えば良いし、音声処理部107がこれに対応するピッチ変更の機能を有する場合には、これを用いれば良い。MIDI音源の場合には、演奏情報を再生する際のピッチを、当該時間長の比に合わせて変更すれば良い。 Then, the time length u 2 -u 1 of the acquired sound wave waveform is expanded or contracted to ΔT (step S417). This is a process corresponding to frequency conversion in the prior art of the Doppler effect. When a sound wave waveform is considered to be a two-dimensional figure with the horizontal axis as time elapsed and the vertical axis as displacement, the expansion / contraction process corresponds to a process of expanding / contracting the two-dimensional figure in the horizontal axis direction. In the case of a PCM sound source, what is equivalent to such graphic expansion / contraction processing may be directly performed, and when the audio processing unit 107 has a function of changing the pitch corresponding thereto, this may be used. In the case of a MIDI sound source, the pitch at which the performance information is reproduced may be changed in accordance with the time length ratio.

さらに、伸縮された時間長ΔT音波波形を、その区間先頭に対する増幅減衰率をm1とし、その区間末尾に対する増幅減衰率をm2とするように、滑らかに増幅減衰率を変化させながら、音波波形の変位方向に伸縮する(ステップS418)。この処理についても、上記のピッチ変更と同様に、CPU 101が波形を変化させたり、音声処理部107に処理を行わせることによって実現できる。 Further, in the expanded time length ΔT sound wave waveform, while changing the amplification attenuation factor smoothly so that the amplification attenuation factor for the beginning of the interval is m 1 and the amplification attenuation factor for the end of the interval is m 2 , Expansion and contraction in the waveform displacement direction (step S418). This processing can also be realized by causing the CPU 101 to change the waveform or cause the audio processing unit 107 to perform processing in the same manner as the pitch change described above.

ついで、観測オブジェクトが時刻t1から時刻t2までに観測した音波波形として、時間方向および変位方向に伸縮された音波波形を出力する(ステップS419)。具体的には、音声処理部107が用意する再生用音声バッファに伸縮済みの時間長ΔTの音波波形を追加するように、音声処理部107に指示を出せば良い。 Then, the observation object as the observed wave waveform from time t 1 to time t 2, the output of the sound wave waveforms stretch in the time direction and the displacement direction (step S419). Specifically, an instruction may be issued to the audio processing unit 107 so as to add the expanded and contracted sound wave waveform of the time length ΔT to the reproduction audio buffer prepared by the audio processing unit 107.

このように、CPU 101は、RAM 103および音声処理部107と共働して、音声出力部304として機能する。   As described above, the CPU 101 functions as the audio output unit 304 in cooperation with the RAM 103 and the audio processing unit 107.

そして、
b1←b2
s1←s2
u1←u2
m1←m2
のように、各変数を更新して、次の繰り返し単位に備え(ステップS420)、ステップS405に戻る。
And
b 1 ← b 2 ;
s 1 ← s 2 ;
u 1 ← u 2 ;
m 1 ← m 2
Thus, each variable is updated to prepare for the next repetition unit (step S420), and the process returns to step S405.

したがって、CPU 101は、RAM 103と共働して繰返制御部305として機能する。   Therefore, the CPU 101 functions as the repetition control unit 305 in cooperation with the RAM 103.

一方、ステップS409〜S411の繰り返しが、u2が見つからないままに終了した場合、変数u2に「未発見」を代入し(ステップS421)、観測オブジェクトが時刻t1から時刻t2までに観測した音波波形として、時間長ΔTの「無音」(変位が常に0の音声波形)を出力し(ステップS422)、ステップS420に進む。また、ステップS414において、u1,u2のいずれか少なくとも一方が「未発見」である場合(ステップS414;未発見)、ステップS422に進む。 On the other hand, if the repetition of steps S409 to S411 ends without u 2 being found, “undiscovered” is substituted for variable u 2 (step S421), and the observation object is observed from time t 1 to time t 2. As the sound wave waveform, “silence” of time length ΔT (speech waveform whose displacement is always 0) is output (step S422), and the process proceeds to step S420. In step S414, if at least one of u 1 and u 2 is “not found” (step S414; not found), the process proceeds to step S422.

このほか、ステップS414において、u1≧u2である場合(ステップS414;≧)、あらかじめ用意された観測オブジェクトが時刻t1から時刻t2までに観測した音波波形として、時間長ΔTの衝撃音声波形を出力し(ステップS423)、ステップS420に進む。 In addition, in step S414, when u 1 ≧ u 2 (step S414; ≧), the impact sound having the time length ΔT is used as the sound wave waveform observed by the observation object prepared in advance from time t 1 to time t 2. The waveform is output (step S423), and the process proceeds to step S420.

衝撃音声波形は、衝撃波が通過するときの「音」を表すものである。たとえば白色雑音などの音声波形を利用したり、爆発音などをサンプリングして使用するなどの手法が考えられる。   The impact sound waveform represents “sound” when the shock wave passes. For example, a method of using a speech waveform such as white noise or sampling and using explosion sounds can be considered.

上記実施形態では、ステップS418において、増幅率をm2からm1までなめらかに変化させるように音声波形を変位方向に伸縮させているが、この二つの増幅率の平均を採用したり、増幅率m2のみを採用するなどの手法もありうる。また、用途によっては、距離による減衰を考慮しないで、時間方向に伸縮された音声波形をそのまま利用することとしても良い。 In the above embodiment, in step S418, the speech waveform is expanded and contracted in the displacement direction so as to change the amplification factor smoothly from m 2 to m 1, but the average of these two amplification factors may be adopted, or the amplification factor There may be a technique such as adopting only m 2 . Further, depending on the application, it is possible to use a voice waveform expanded and contracted in the time direction as it is without considering attenuation due to distance.

また、リアルタイムシミュレーションの場合には、現在時刻がt2に相当するから、「時刻t1から時刻t2までに観測オブジェクトが観測した波形」は、時刻t2以降に出力されることとなり、ΔT以上の時間遅延が生じてしまうが、ΔTとして垂直同期割り込み周期程度の短時間を採用した場合には、ユーザにはこの遅延は違和感なく受け入れられる程度である。 In the case of real-time simulation, since the current time is equivalent to t 2, "time t 1 from to time t 2 to the observation object is observed waveform" becomes a be output at time t 2 later, [Delta] T Although the above time delay occurs, when a short time such as the vertical synchronization interrupt period is adopted as ΔT, this delay is acceptable to the user without a sense of incongruity.

また、オフライン(リアルタイムでない)シミュレーションの場合には、ステップS419、ステップS422、ステップS423で出力される音声波形を単純に連結すれば、シミュレーションを行う時間帯において観測オブジェクトが観測する音声波形がそのまま得られることになる。   In the case of off-line (not real-time) simulation, if the speech waveforms output in steps S419, S422, and S423 are simply connected, the speech waveform observed by the observation object can be obtained as it is in the simulation time zone. Will be.

このように、本実施形態によれば、仮想空間内を音源と観測者が自由に移動する場合や音速を超えるような場合であっても、ドップラー効果のシミュレーションを簡易にリアルに行うことができるようになる。   As described above, according to the present embodiment, the Doppler effect can be easily and realistically simulated even when the sound source and the observer freely move in the virtual space or when the sound speed is exceeded. It becomes like this.

以上説明したように、本発明によれば、ドップラー効果を簡易にシミュレートする音声シミュレーション装置、音声シミュレーション方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。   As described above, according to the present invention, it is possible to provide an audio simulation apparatus, an audio simulation method, and a program that realizes these on a computer, which can easily simulate the Doppler effect.

プログラムを実行することにより、本発明の音声シミュレーション装置の機能を果たす典型的な情報処理装置の概要構成を示す模式図である。It is a schematic diagram which shows the outline | summary structure of the typical information processing apparatus which performs the function of the audio | voice simulation apparatus of this invention by running a program. 音源Sと観測者Bが移動する際の位置関係を示す説明図である。It is explanatory drawing which shows the positional relationship at the time of the sound source S and the observer B moving. 本実施形態に係る音声シミュレーション装置の概要構成を示す説明図である。It is explanatory drawing which shows schematic structure of the audio | voice simulation apparatus which concerns on this embodiment. 本音声シミュレーション装置にて実行される音声シミュレーション処理の制御の流れを示すフローチャートである。It is a flowchart which shows the flow of control of the audio | voice simulation process performed with this audio | voice simulation apparatus.

符号の説明Explanation of symbols

100 情報処理装置
101 CPU
102 ROM
103 RAM
104 インターフェイス
105 コントローラ
106 外部メモリ
107 画像処理部
108 DVD−ROMドライブ
109 NIC
110 音声処理部
111 マイク
201 音源Sの移動経路
202 観測者Bの移動経路
221 音源Sが発する音波波形
222 観測者Bが観測する音波波形
301 音声シミュレーション装置
302 履歴記憶部
303 時刻計算部
304 音声出力部
305 繰返制御部
100 Information processing apparatus 101 CPU
102 ROM
103 RAM
104 Interface 105 Controller 106 External Memory 107 Image Processing Unit 108 DVD-ROM Drive 109 NIC
DESCRIPTION OF SYMBOLS 110 Audio | voice processing part 111 Microphone 201 The movement path | route of the sound source S 202 The movement path | route of the observer B 221 The sound wave waveform which the sound source S emits 222 The sound wave waveform which the observer B observes 301 Voice simulation apparatus 302 History storage part 303 Time calculation part 304 Voice output Part 305 Repeat control part

Claims (5)

音声を発する音源オブジェクトと、音声を観測する観測オブジェクトと、が移動する仮想空間において、当該観測オブジェクトにて時刻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までに観測される音声波形として出力する音声出力部
を備え、
前記音声出力部は、u1≧u2である場合、所定の衝撃音声波形を、時間長(t2-t1)の間、当該観測オブジェクトにて時刻t1から時刻t2までに観測される音声波形として出力する
ことを特徴とする音声シミュレーション装置。
A sound simulation device that simulates a sound waveform observed from time t 1 to time t 2 in a virtual space in which a sound source object that emits sound and an observation object that observes sound move. The observation object moves in the virtual space based on a user instruction,
A history storage unit for storing a movement history of the sound source object in the virtual space;
And sonic c in the virtual space, a position b 1 at time t 1 of the observation object, and the position b 2 at time t 2, the a movement history of said stored the sound source object from the time u 1 and the time u a time calculating unit for calculating a 2, the distance between the position s 1 at time u 1 of the sound source object, the position s 2 at time u 2, with respect to a condition "position b 1 and the position s 1 Time calculation unit that calculates time u 1 and time u 2 satisfying `` equal to c (t 1 -u 1 ) and the distance between position b 2 and position s 2 is equal to c (t 2 -u 2 ) '' ,
The sound waveform of the time length (u 2 -u 1 ) emitted by the sound source object between the calculated time u 1 and time u 2 in the virtual space is expanded or contracted to the time length (t 2 -t 1 ). And an audio output unit for outputting the audio waveform expanded and contracted as the time length as an audio waveform observed from time t 1 to time t 2 on the observation object,
When u 1 ≧ u 2 , the sound output unit observes a predetermined shock sound waveform for a time length (t 2 -t 1 ) from the time t 1 to the time t 2 on the observation object. A voice simulation apparatus characterized by outputting as a voice waveform.
請求項1に記載の音声シミュレーション装置であって、
当該音源オブジェクトが発する音声波形は、パルス符号変調データにより表現され、
所定の時間刻み幅ΔTに対してt2 = t1+ΔTであり、
前記音声出力部により当該観測オブジェクトにて時刻t1から時刻t2までに観測される音声波形が出力されると、時刻t1と時刻t2をそれぞれΔTだけ増加させて、時刻u1に時刻u2を設定し、前記時刻計算部に時刻u2の計算を再度行わせる繰返制御部
をさらに備えることを特徴とする音声シミュレーション装置。
The speech simulation apparatus according to claim 1,
The speech waveform emitted by the sound source object is represented by pulse code modulation data,
T 2 = t 1 + ΔT for a given time step ΔT,
When a voice waveform observed from time t 1 to time t 2 is output from the sound output unit by the voice output unit, time t 1 and time t 2 are increased by ΔT, respectively, and time t 1 The speech simulation apparatus further comprising: a repetition control unit that sets u 2 and causes the time calculation unit to perform the calculation of time u 2 again.
請求項1または2に記載の音声シミュレーション装置であって、
前記音声出力部は、位置b1と位置s1との距離と、位置b2と位置s2との距離と、に基づいて、当該時間長を伸縮された音声波形の振幅を伸縮して、当該振幅を伸縮された音声波形を、当該観測オブジェクトにて時刻t1から時刻t2までに観測される音声波形として出力する
ことを特徴とする音声シミュレーション装置。
The speech simulation apparatus according to claim 1 or 2,
Based on the distance between the position b 1 and the position s 1 and the distance between the position b 2 and the position s 2 , the sound output unit expands and contracts the amplitude of the sound waveform whose time length is expanded and contracted, A speech simulation apparatus, wherein the speech waveform whose amplitude is expanded and contracted is output as a speech waveform observed from time t 1 to time t 2 by the observation object.
音声を発する音源オブジェクトと、音声を観測する観測オブジェクトと、が移動する仮想空間において、当該観測オブジェクトにて時刻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までに観測される音声波形として出力する音声出力工程
を備え、
前記音声出力工程では、u1≧u2である場合、所定の衝撃音声波形を、時間長(t2-t1)の間、当該観測オブジェクトにて時刻t1から時刻t2までに観測される音声波形として出力する
ことを特徴とする音声シミュレーション方法。
In a virtual space in which a sound source object that emits sound and an observation object that observes sound move, the sound waveform observed from time t 1 to time t 2 on the observation object is simulated, A sound simulation method executed by a sound simulation apparatus including a history storage unit that stores a movement history of the sound source object, a time calculation unit, and a sound output unit, wherein the observation object is based on a user instruction Move through space,
The time calculation unit is based on the sound speed c in the virtual space, the position b 1 of the observation object at time t 1, the position b 2 at time t 2, and the stored movement history of the sound source object. a time calculating step of calculating the time u 1 and the time u 2, and the position s 1 at time u 1 of the sound source object, the position s 2 at time u 2, with respect to a condition "position b 1 position The time u 1 and the time u 2 satisfying “the distance from s 1 is equal to c (t 1 -u 1 ) and the distance between the position b 2 and the position s 2 is equal to c (t 2 -u 2 )” Time calculation process to calculate,
The audio output unit, the sound source object emitted time length between the time u 1 that is the calculated in the virtual space to time u 2 speech waveform (u 2 -u 1), the time length (t 2 -t 1 ), and a speech output step of outputting the speech waveform expanded and contracted as the time length as a speech waveform observed from time t 1 to time t 2 on the observation object,
In the audio output step, when u 1 ≧ u 2 , a predetermined impact audio waveform is observed from the time t 1 to the time t 2 on the observation object for a time length (t 2 -t 1 ). A voice simulation method characterized by outputting as a voice waveform.
コンピュータに、音声を発する音源オブジェクトと、音声を観測する観測オブジェクトと、が移動する仮想空間において、当該観測オブジェクトにて時刻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までに観測される音声波形として出力する音声出力部
として機能させ、
前記音声出力部は、u1≧u2である場合、所定の衝撃音声波形を、時間長(t2-t1)の間、当該観測オブジェクトにて時刻t1から時刻t2までに観測される音声波形として出力する
ように機能させることを特徴とするプログラム。
A program that causes a computer to simulate a sound waveform observed from time t 1 to time t 2 in a virtual space in which a sound source object that emits sound and an observation object that observes sound move. The observation object moves in the virtual space based on a user instruction, and the program
A history storage unit for storing a movement history of the sound source object in the virtual space;
And sonic c in the virtual space, a position b 1 at time t 1 of the observation object, and the position b 2 at time t 2, the a movement history of said stored the sound source object from the time u 1 and the time u a time calculating unit for calculating a 2, the distance between the position s 1 at time u 1 of the sound source object, the position s 2 at time u 2, with respect to a condition "position b 1 and the position s 1 Time calculation unit that calculates time u 1 and time u 2 satisfying `` equal to c (t 1 -u 1 ) and the distance between position b 2 and position s 2 is equal to c (t 2 -u 2 ) '' ,
The sound waveform of the time length (u 2 -u 1 ) emitted by the sound source object between the calculated time u 1 and time u 2 in the virtual space is expanded or contracted to the time length (t 2 -t 1 ). Then, the voice waveform whose time length is expanded and contracted is made to function as a voice output unit that outputs the voice waveform observed from the time t 1 to the time t 2 on the observation object,
When u 1 ≧ u 2 , the sound output unit observes a predetermined shock sound waveform for a time length (t 2 -t 1 ) from the time t 1 to the time t 2 on the observation object. A program that functions to output as a voice waveform.
JP2006207599A 2006-07-31 2006-07-31 Voice simulation apparatus, voice simulation method, and program Active JP4584203B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006207599A JP4584203B2 (en) 2006-07-31 2006-07-31 Voice simulation apparatus, voice simulation method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006207599A JP4584203B2 (en) 2006-07-31 2006-07-31 Voice simulation apparatus, voice simulation method, and program

Publications (2)

Publication Number Publication Date
JP2008035320A JP2008035320A (en) 2008-02-14
JP4584203B2 true JP4584203B2 (en) 2010-11-17

Family

ID=39124260

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006207599A Active JP4584203B2 (en) 2006-07-31 2006-07-31 Voice simulation apparatus, voice simulation method, and program

Country Status (1)

Country Link
JP (1) JP4584203B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011124723A (en) * 2009-12-09 2011-06-23 Sharp Corp Audio data processor, audio equipment, method of processing audio data, program, and recording medium for recording program
JP5361689B2 (en) * 2009-12-09 2013-12-04 シャープ株式会社 Audio data processing apparatus, audio apparatus, audio data processing method, program, and recording medium
CN105929967B (en) * 2016-05-20 2018-08-31 中国电子科技集团公司第十研究所 The analogue system of multichannel real-time audio signal processing
CN108076415B (en) * 2016-11-16 2020-06-30 南京大学 Real-time realization method of Doppler sound effect
CN110999327B (en) 2017-07-31 2022-01-14 索尼公司 Information processing apparatus, information processing method, and program
WO2023199741A1 (en) * 2022-04-14 2023-10-19 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Acoustic signal processing device, acoustic signal processing method, and computer program

Also Published As

Publication number Publication date
JP2008035320A (en) 2008-02-14

Similar Documents

Publication Publication Date Title
JP3863165B2 (en) Audio output device, audio output method, and program
JP4584203B2 (en) Voice simulation apparatus, voice simulation method, and program
JP3949701B1 (en) Voice processing apparatus, voice processing method, and program
JP4221035B2 (en) Game sound output device, sound image localization control method, and program
WO2007105689A1 (en) Game sound output device, game sound control method, information recording medium, and program
EP1795240B1 (en) Game machine, game machine control method, information recording medium, and program
JP2007164291A (en) Sound effect generator, sound effect generation method, and computer program
JP4425890B2 (en) Simulation apparatus, simulation method, and program
JP4037889B2 (en) Image generating apparatus, image generating method, and program
KR100898671B1 (en) Image processor, image processing method, and computer-readable information recording medium having a program recorded thereon
JP2017131409A (en) Game program and game system
JP5087292B2 (en) Game program and game system
WO2010084830A1 (en) Voice processing device, chat system, voice processing method, information storage medium, and program
JP4468963B2 (en) Audio image processing apparatus, audio image processing method, and program
JP4437993B2 (en) Audio processing apparatus, audio processing method, and program
JP4637199B2 (en) Image processing apparatus, image processing method, and program
JP2003290549A (en) Network game system, game device and its program
WO2021152792A1 (en) Conversion learning device, conversion learning method, conversion learning program, and conversion device
JP4113179B2 (en) Simulation apparatus, simulation method, and program
JP4068093B2 (en) Simulation apparatus, simulation method, and program
WO2011016362A1 (en) Image generating device, image generating method, information recording medium, and program
JP4714230B2 (en) Audio processing apparatus, audio processing method, and program
JP2012249031A (en) Game device, game processing method, and program
JP5357805B2 (en) Audio processing apparatus, audio processing method, and program
JP2004294844A (en) Device for outputting effect sound, method for generating effect sound, and program

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080910

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081007

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081203

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090205

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090318

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20090612

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: 20100901

R150 Certificate of patent or registration of utility model

Ref document number: 4584203

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: 20130910

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130910

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140910

Year of fee payment: 4

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

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