oops, sent to fons only.. here's the mail to the lists, too. sorry for
duplicate, fons:
On Sat, 29 Jan 2005 16:16:04 +0100
Fons Adriaensen <fons.adriaensen(a)skynet.be> wrote:
On Sat, Jan 29, 2005 at 03:43:46PM +0100, Florian
Schmidt wrote:
Now i grok it.
As a stereo impulse file is a response to a mono impulse placed
somewhere in the room, one needs two stereo response files with the
impulses created at different points in the room.
Yep, that's it. Even for a stereo output, you could have more than
two inputs, each one corresponding to one place in the room.
ack!
I will adapt the convolver to be able to load
more than one response
file and provide an input for each. And as many outputs as the response
files have channels (for two stereo response files, that's two channels
'cause they are stereo)..
That would do it. And then of course the input transform is done only
once, and the additions can be done in the F-domain, so there's also
only one output transform for each output.
ack!
The real cost is in the complex multiplications though. So if anyone
knows how to speed that up with a nifty function using
assembler, prefereably following this interface:
// computes n complex multiplications and _add_s the results to the out buffer
void complex_multiply(unsigned int n,
fftwf_complex *in1,
fftwf_complex *in2,
fftwf_complex *out);
i would be oh so greatful.
So the TODO list as grown to:
- fix error checking
- add multiple response file support as explained above
- add libsamplerate supprt for converting response files to jack samplerate
- optimize the complex multiplication
flo
--
Palimm Palimm!
http://affenbande.org/~tapas/