Real-time sound propagation for dynamic sources
AssigneeMicrosoft Technology Licensing, LLC
InventorsNikunj Raghuvanshi, John Michael Snyder, Ming Chieh Lin, Naga K. Govindaraju
Life of this patent
Estimating the term…
Abstract
Described herein are techniques pertaining to real-time propagation of an arbitrary audio signal in a fixed virtual environment with dynamic audio sources and receivers. A wave-based numerical simulator is configured to compute response signals in the virtual environment with respect to a sample signal at various source and receiver locations. The response signals are compressed and placed in the frequency domain to generate frequency responses. Such frequency responses are selectively convolved with the arbitrary audio signal to allow real-time propagation with moving sources and receivers in the virtual environment.
Claims19
A method comprising the following computer-executable acts:
- receiving an audio signal, the audio signal representative of a sound that is to originate from a source in a virtual three-dimensional (3D) environment;
- in real-time:
- determining that the source is at a source location in the virtual 3D environment, the source dynamically moveable in the virtual 3D environment;
- determining that a target for the sound in the virtual 3D environment is at a target location, the target dynamically moveable in the virtual 3D environment;
- responsive to determining that the source is at the source location and the target is at the target location, and based upon the source location and the target location, selecting a pre-computed compressed response signal from a plurality of pre-computed compressed response signals in a data file, the pre-computed compressed response signal comprises:
- a threshold number of peak amplitudes extracted from a frequency response signal generated during a simulation, the frequency response signal corresponds to the source being at the source location and the target being at the target location;
- and
- a frequency trend for the peak amplitudes modifying the audio signal using the pre-computed compressed response signal to generate a modified audio signal;
- and
- causing the modified audio signal to be output by way of a speaker to form a modification of the sound, wherein the modification of the sound is configured to audibly simulate the sound originating at the source location in the virtual 3D environment as the sound would be heard by the target at the target location in the virtual 3D environment.
A system that facilitates simulating a sound in a virtual three-dimensional (3D) environment where location of a source of the sound and location of a receiver of the sound in the virtual 3D environment are dynamic, the system comprising:
- at least one processor;
- and
- memory, the memory comprises:
- a data file, wherein the data file comprises a plurality of pre-computed compressed response signals, each pre-computed compressed response signal in the plurality of pre-computed compressed response signals assigned to a respective source location-receiver location pair, a source location being a location of the source of the sound in the virtual 3D environment, a receiver location being a location of the receiver of the sound in the virtual 3D environment, the plurality of pre-computed compressed response signals generated based upon;
- a simulation of a sample sound emitted in the virtual 3D environment from a plurality of different source locations and received at a plurality of different receiver locations, each pre-computed compressed response signal comprises:
- a threshold number of peak amplitudes extracted from a response signal generated during the simulation;
- and
- a frequency trend for the peak amplitudes;
- and
- instructions that, when executed by the processor, cause the processor to perform acts comprising:
- receiving an audio signal, the audio signal representative of the sound that is to be emitted by the source;
- determining, in real-time, the source location and the receiver location;
- retrieving a pre-computed compressed response signal from the data file that is assigned to the pair of the determined source location and the determined target location;
- and
- modifying the audio signal based upon the pre-computed compressed response to generate a modified sound, the modified sound configured to simulate the sound as the sound would be heard by the target at the target location when the sound originates from the source at the source location.
A computing device comprising a computer-readable memory, the computer-readable memory comprising instructions that, when executed by a processor, cause the processor to perform acts comprising:
- receiving an audio signal, the audio signal representative of a sound;
- receiving a location of a source of the sound in a virtual three-dimensional (3D) environment;
- receiving a location of a receiver of the sound in the virtual 3D environment, the location of the source and the location of the sound dynamically moveable in the virtual 3D environment;
- in response to receiving the location of the source and the location of the receiver, accessing a data repository that comprises a pre-computed data file, wherein the data file comprises a compressed response signal that corresponds to the location of the source and the location of the receiver, the compressed response signal comprises:
- a plurality of peak amplitudes extracted from a response signal generated during a simulation, the response signal corresponds to the location of the source and the location of the receiver;
- and
- a frequency trend that corresponds to the peak amplitudes;
- selecting the compressed response signal from the pre-computed data file based upon the location of the source and the location of the receiver;
- and
- modifying the received audio signal based upon the compressed response signal to, in real-time, simulate the sound as would be heard by the receiver at the received location of the receiver when the sound originates from the source at the received location of the source.
Dependencies are inferred from the claim text.