System and method for audio diffusor
A system for processing audio data, comprising a diffusion data filter coupled to a source of digital audio data, the diffusion data filter configured to generate filtered audio data from the digital audio data. A delay coupled to the source of digital audio data, the delay configured to delay the digital audio data by a predetermined amount. A first multiplier configured to multiply the filtered audio data by a distance gain parameter to generate a first intermediate output. A second multiplier configured to multiply the delayed digital audio data by a complementary distance gain parameter to generate a second intermediate output. An adder configured to add the first intermediate output and the second intermediate output to generate an audio output.
1 . A system for processing audio data, comprising:
a diffusion data filter coupled to a source of digital audio data, the diffusion data filter configured to generate filtered audio data from the digital audio data, wherein the diffusion data filter simulates an arrival time being modified to be both before and after a center point of a time-varying data filter while maintaining a near-flat frequency response;
a delay coupled to the source of the digital audio data, the delay configured to delay the digital audio data by a predetermined amount;
a first multiplier configured to multiply the filtered audio data by a distance gain parameter to generate a first intermediate output;
a second multiplier configured to multiply the delayed digital audio data by a complementary distance gain parameter to generate a second intermediate output; and
a first adder configured to add the first intermediate output and the second intermediate output to generate an audio output.
2 . The system of claim 1 wherein the diffusion data filter comprises a sinusoidal variation component configured to generate the time-varying data filter from two or more filters.
3 . The system of claim 2 , wherein a first stereo audio channel is processed by the time-varying data filter and a second stereo audio channel is processed by a time reverse of the time-varying data filter.
4 . The system of claim 1 further comprising:
a first filter;
a first sinusoidal variation component configured to generate a first time-varying signal; and
a third multiplier configured to receive the first filter and the first time-varying signal and to multiply the first filter and the first time-varying signal to generate a first filter output.
5 . The system of claim 4 further comprising:
a second filter;
a second sinusoidal variation component configured to generate a second time-varying signal; and
a fourth multiplier configured to receive the second filter and the second time-varying signal and to multiply the second filter and the second time-varying signal to generate a second filter output.
6 . The system of claim 5 further comprising a second adder configured to receive the first filter output and the second filter output and to add the first filter output to the second filter output to generate the diffusion data filter.
7 . The system of claim 6 further comprising a time reversal system coupled to the diffusion data filter and configured to reverse a time value of the diffusion data filter to generate a reverse diffusion data filter.
8 . The system of claim 1 , wherein a first stereo audio channel is processed by the diffusion data filter and a second stereo audio channel is processed by a time reverse of the diffusion data filter.
9 . A method for processing audio data, comprising:
generating filtered audio data from digital audio data by simulating an arrival time that is modified to be both before and after a center point of a time-varying data filter while maintaining a near-flat frequency response;
delaying the digital audio data by a predetermined amount;
multiplying the filtered audio data by a distance gain parameter to generate a first intermediate output;
multiplying the delayed digital audio data by a complementary distance gain parameter to generate a second intermediate output; and
adding the first intermediate output and the second intermediate output to generate an audio output.
10 . The method of claim 9 wherein generating the filtered audio data comprises a generating the time-varying data filter from two or more filters.
11 . The method of claim 10 , wherein a first stereo audio channel is processed by the time-varying data filter and a second stereo audio channel is processed by a time reverse of the time-varying data filter.
12 . The method of claim 9 wherein generating the filtered audio data comprises:
generating a first time-varying signal; and
multiplying a first filter and the first time-varying signal to generate a first filter output.
13 . The method of claim 12 wherein generating the filtered audio data comprises:
generating a second time-varying signal; and
multiplying a second filter and the second time-varying signal to generate a second filter output.
14 . The method of claim 13 further comprising adding the first filter output to the second filter output to generate a diffusion data filter.
15 . The method of claim 14 further comprising reversing a time value of the diffusion data filter to generate a reverse diffusion data filter.
16 . The method of claim 9 , further comprising processing a first stereo audio channel by a diffusion data filter and processing a second stereo audio channel by a time reverse of the diffusion data filter.