foo_convolve - Impulse response convolver 2003-06-20 20:50:08 Download for foobar2000 0.8.x (250K)Please see the official additional components page for the foobar2000 0.9.x compatible version.This DSP component takes impulse response and does a fast convolution of the sound data with that impulse response. Basically, it allows quick computation of any combination of linear effects, such as equalization, echo, flange, reverb, phase shift and so on. It can transform the sound to exactly the image you would get as where the impulse response wasrecorded, allowing you to get an accurate reproduction of a big theather or stadium.This effect is available as 'Acoustic Mirror' in Sound Forge.A restricted version is available as 'Digital Convolution'in Cool Edit.A small manual is included in the readme.Some discussion about convolutions:http://www.hydrogenaudio.org/show.php/act/...t/ST/f/1/t/9116Edit: Added download instructions for foobar2000 0.9.x compatible version. Last Edit: 2007-09-13 10:56:20 by foosion
foo_convolve - Impulse response convolver Reply #1 – 2003-06-20 21:08:36 Thanks Garf,Looks like a new toy to play with.
foo_convolve - Impulse response convolver Reply #2 – 2003-06-20 21:32:30 ERROR (CORE) : Failed to load DLL: foo_convolve.dll, reason: Unable to load dll.win98 se foobar 0.667
foo_convolve - Impulse response convolver Reply #3 – 2003-06-20 21:48:23 Get libmmd.dll from rarewares. Does it solve things?http://rarewares.hydrogenaudio.org/files/libmmd7.zip Last Edit: 2003-06-20 21:51:45 by Garf
foo_convolve - Impulse response convolver Reply #4 – 2003-06-20 21:58:55 Garf,Thanks for creating this - it could be extremely powerful. libmmd.dll fixed this same error for me.Question - what tools would you recommend for creating custom impulse responses, say for a room correction amplitude equalizer? Could this be done with Sound Forge?
foo_convolve - Impulse response convolver Reply #5 – 2003-06-20 21:59:56 I reuploaded it, the new version does not need libmmd.dll.
foo_convolve - Impulse response convolver Reply #6 – 2003-06-20 22:06:59 QuoteQuestion - what tools would you recommend for creating custom impulse responses, say for a room correction amplitude equalizer? Could this be done with Sound Forge?I have no experience with 'room correction amplitude equalization', but basically, if you find a single tool that can do it, and allows you to feed the impulse through it, you're set.You can even use analogue equipment.
foo_convolve - Impulse response convolver Reply #7 – 2003-06-20 22:22:07 QuoteQuote Question - what tools would you recommend for creating custom impulse responses, say for a room correction amplitude equalizer? Could this be done with Sound Forge?I have no experience with 'room correction amplitude equalization', but basically, if you find a single tool that can do it, and allows you to feed the impulse through it, you're set.You can even use analogue equipment.Thanks, I think I can make this work for equalization. By the way, any chance this plugin could be made to have the option for separate impulse responses for each channel? I'm interested in equalization and that would help a lot.Also, is it correct to assume that the impulse response must be created with the same sampling rate as the file to be convolved? If not I would expect the time/frequency values would shift.
foo_convolve - Impulse response convolver Reply #8 – 2003-06-20 22:30:21 QuoteThanks, I think I can make this work for equalization. By the way, any chance this plugin could be made to have the option for separate impulse responses for each channel? I'm interested in equalization and that would help a lot.Way ahead of you Just make stereo impulse responses.QuoteAlso, is it correct to assume that the impulse response must be created with the same sampling rate as the file to be convolved? If not I would expect the time/frequency values would shift.Correct. Last Edit: 2003-06-20 22:34:47 by Garf
foo_convolve - Impulse response convolver Reply #9 – 2003-06-20 22:37:58 Thanks to Case the example impulses are now in WavPack format (which foobar can read by default, you needed a plugin for the FLAC ones I had before).
foo_convolve - Impulse response convolver Reply #10 – 2003-06-21 00:36:22 QuoteIt can do an 2 048 tap equalization at 42 times realtime. The default 18 tap foobar2k equalizer runs at 30 times realtime. In effect, it can equalize faster than the equalizer can.How difficult is it to generate the tap data from the equalization parameters?
foo_convolve - Impulse response convolver Reply #11 – 2003-06-21 00:45:17 QuoteQuoteIt can do an 2 048 tap equalization at 42 times realtime. The default 18 tap foobar2k equalizer runs at 30 times realtime. In effect, it can equalize faster than the equalizer can.How difficult is it to generate the tap data from the equalization parameters? As explained in the readme, just feed an impulse through your effect of choice. In this case, diskwrite 'Unitimpulse2k.wav' with EQ settings of choice enabled.If you want to, you can speed it up further by editing the resulting WAV with a sound editor and cutting the near silence before and after the impulse. Last Edit: 2003-06-21 00:47:52 by Garf
foo_convolve - Impulse response convolver Reply #12 – 2003-06-21 05:38:47 QuoteAs explained in the readme, just feed an impulse through your effect of choice. In this case, diskwrite 'Unitimpulse2k.wav' with EQ settings of choice enabled.Ah, so it can't be done algorithmically?
foo_convolve - Impulse response convolver Reply #13 – 2003-06-21 09:18:49 QuoteQuote As explained in the readme, just feed an impulse through your effect of choice. In this case, diskwrite 'Unitimpulse2k.wav' with EQ settings of choice enabled.Ah, so it can't be done algorithmically? How is this not 'algorithmically'???You need to transform the frequency response of the EQ into an impulse response. Guess what diskwriting the impulse with EQ enabled does...Edit: I guess that you're asking whether it's possible to make an EQ component that uses the foo_convolve engine as a backend for the equalizer. Yes. In fact I checked and there are similarities between the current backends, but my code is faster, and you can finetune the filter length. Not to mention it also works in stereo. Last Edit: 2003-06-21 09:41:31 by Garf
foo_convolve - Impulse response convolver Reply #14 – 2003-06-21 18:33:04 QuoteHow is this not 'algorithmically'???You need to transform the frequency response of the EQ into an impulse response. Guess what diskwriting the impulse with EQ enabled does...Edit: I guess that you're asking whether it's possible to make an EQ component that uses the foo_convolve engine as a backend for the equalizer. Yes. In fact I checked and there are similarities between the current backends, but my code is faster, and you can finetune the filter length. Not to mention it also works in stereo.I mean directly calculating the tap data, rather than running a Dirac pulse through a system and finding its impulse response.Ack. I think I need to start being more specific when I'm posting about technical stuff...
foo_convolve - Impulse response convolver Reply #15 – 2003-06-21 18:38:57 It's possible. I don't think it has much of a point though. The advantage of the convolver is that it's infinitely flexible and that you can combine the equalization with any other effect. Last Edit: 2003-06-21 19:07:25 by Garf
foo_convolve - Impulse response convolver Reply #16 – 2003-06-21 22:42:11 I may have found a bug:[speakers off!] download one of the files that are here: http://www.geocities.com/beamsonic/studio.htm, Garf Edit: We killed the site. I uploaded files to http://sjeng.org/ftp/fb2k/analogue.zip(I took the DBX 160 file) open in wave editor, keep only first 16384 samples, duplicate channel to get stereo, then save & set as impulse file in FB2k. Play something, then close FB2k. Open it and play the thing again, but now go into DSP properties to the convolver settings. You'll be granted with either a crash or a very loud distorted sound (kinda like microphone feedback).edit: added speakers off warning... Last Edit: 2003-06-21 23:46:18 by Garf
foo_convolve - Impulse response convolver Reply #17 – 2003-06-21 23:01:57 Problem "solved" by keeping the impulse sample as short as possible (trimming the impulse to get most of the 0's around it out).
foo_convolve - Impulse response convolver Reply #18 – 2003-06-21 23:09:29 It's a bug - the impulse doesn't get loaded when the config panel isn't opened. Will fix.Edit: You don't need to convert to stereo - the component will convert automatically. Last Edit: 2003-06-21 23:34:20 by Garf
foo_convolve - Impulse response convolver Reply #19 – 2003-06-21 23:21:22 Uploaded new version with bugfixes and speed improvements.
foo_convolve - Impulse response convolver Reply #20 – 2003-06-22 02:16:41 Thanks for this truly essential tool, Garf.Tiny req: I think that "dry/wet" slider would be nice for your tool.
foo_convolve - Impulse response convolver Reply #21 – 2003-06-22 02:50:41 you don't think this type of thing would/should be an all or nothing affair? Seems to me that your impulse response would be giving you exactly what you wanted and there wouldn't be any need for mixing it with the original.
foo_convolve - Impulse response convolver Reply #22 – 2003-06-22 03:53:58 Quoteyou don't think this type of thing would/should be an all or nothing affair? Seems to me that your impulse response would be giving you exactly what you wanted and there wouldn't be any need for mixing it with the original.Well, yes, you're probably right. I'm just used to wet/dry sliders in DSP effects Especially in reverb, hrtf-related effects and similiar stuff. It's just an easy and fast way to adjust "amount" of effect you'd like at the moment. It's not "a must" for convolver, but that was first thing that I've been kinda "missing" while I was playing with IRs converted from SF Acoustic Mirror Guess it could also be general request for DSP manager, but there are some plugins (like gap killers, crosfaders...) that couldn't utilize this functionality for any reasonable purpose... So, no.
foo_convolve - Impulse response convolver Reply #23 – 2003-06-22 09:48:08 I'm not strictly confident that a mix control would be useless in this case, it was just a thought, given how it operates.
foo_convolve - Impulse response convolver Reply #24 – 2003-06-22 10:28:31 QuoteUploaded new version with bugfixes and speed improvements.Thanks!!! Now if I can borrow a tube preamp... it would be great... muhahaha B)edit: @Garf: can you include these in the analogue 'pack' (the pipeline preamps)? http://www.noisevault.com/index.php?page=3....BUG! [speakers off...] what happens if I load a 32bit float (IEEE) file as the impulse file? -> answer: blown tweeter fuses dammit... I need to get new fuses Last Edit: 2003-06-22 13:32:06 by lucpes