Jump to content

Convolution use?


Sengin
 Share

Recommended Posts

So I'm wondering how many of you use some form of convolution in your mixes/original creations, either for random effects (e.g. drum + flute) or for reverb. Or how many of you would use it if it didn't take forever? The reason I ask is because I'm trying to see the actual use of convolution by people actually in the music community. And if it's used enough, I am thinking of looking towards writing some applications that can speed up some audio effects (convolution, a way to simulate a sound traveling past the listener, etc..). But if no one would really use it, then I'm not sure I would spend the time writing them.

And if you wouldn't use convolution, are there some audio effects or something that you would use if they just worked faster?

Link to comment
Share on other sites

I use convolution reverb. The large resource footprint was a big problem on my old system, but my new system is fast enough to handle it in real time on large projects.

LiquidSonics has a version of their convolution reverb that does some of the processing on the GPU. I haven't actually tried the GPU version since its features are stripped down from the full program, but it's a cool idea.

Link to comment
Share on other sites

How large is your impulse response/dry signal when using it in real time? And using the GPU is what I was considering doing. I looked at how convolution is done and it looked like it would be able to be sped up by the GPU. I'm also wondering what other types of audio processing/effects would e able to be sped up, but I am only familiar (and then only slightly) with using convolution for reverberation.

And I don't know if this makes a difference, but this would be done for experience for me and would be free (with a possible listing of source code, perhaps even going to open source). I guess it would only make a difference if companies/individuals charge for their GPU convolution (I didn't actually know of anyone that has written a GPU version).

Link to comment
Share on other sites

Do you have to supply your own impulse responses? How long is an average impulse response that you use? And how much time does it take for the convolution function to finish (I know it's highly variable based on the length of the IR an dry signal, but a common length would be good to know - basically, is it something like 2 minutes or 30+ minutes)?

Sorry for all the questions, I am just trying to get a feeling for the current situation.

Link to comment
Share on other sites

Most reverb impulse responses are just as long as you would expect a real reverb room time to be. Somewhere between 0.5 to 10+ seconds. They have some more surreal ones that last longer. I have made my own impulse responses before but the ones that come with logic are much better.

I tend to use <0.5 seconds for using the colour of a room impulse that I like or >1.0 seconds for more realistic orchestral reverb.

Link to comment
Share on other sites

And how much time does it take for the convolution function to finish (I know it's highly variable based on the length of the IR an dry signal, but a common length would be good to know - basically, is it something like 2 minutes or 30+ minutes)?

I'm not exactly sure what you mean by the amount of time the convolution function takes. Convolution reverb is applied in real-time -- there's no waiting for audio to be processed, if that's what you mean. If the convolution is too much for the system to handle, the plugin and/or playback will just stop working.

EDIT: If you're looking for benchmarks on processing speed, you could probably get them by comparing the amount of time it takes to do a non-realtime bounce to disk of an audio file with and without the reverb plugin applied to it. Usually when musicians complain about something taking up system resources, though, they're referring to how many plugins can be supported simultaneously in real-time rather than bounce speed, so I'm not sure these benchmarks would be all that useful. The test of a processing offloader would be more in how many resources it frees up in real-time processing which would be manifested as the ability to load more plugins. I'm sure there's a relationship between the two benchmarks, but I'm not sure how the correlation between the two would work.

EDIT 2: Also, as a rough bounce to disk benchmark, in most cases the bounce will never take longer than the real-time length of the audio, since in most cases real-time playback with all effects turned on has to be possible in order to mix the audio.

Link to comment
Share on other sites

See I can't understand how people are using convolution in real time mixing cause everytime I try to I get mad latency problems. Brutal.

My farm machine is a Phenom II 3.2Ghz 6-core machine with 16GB of 1333 RAM running Win 7x64.

It only runs Cantabile, a VST host, and Kontakt, Altiverb, and any other VST I use.

My DAW is on a separate machine.

MIDI is sent via MIDIOverLAN and audio is returned via S/PDIF.

Link to comment
Share on other sites

My farm machine is a Phenom II 3.2Ghz 6-core machine with 16GB of 1333 RAM running Win 7x64.

It only runs Cantabile, a VST host, and Kontakt, Altiverb, and any other VST I use.

My DAW is on a separate machine.

MIDI is sent via MIDIOverLAN and audio is returned via S/PDIF.

that's a hefty machine you got there. or should i say machines. I got ways to go before I get a computer that can handle all that crap at once.

Link to comment
Share on other sites

that's a hefty machine you got there. or should i say machines. I got ways to go before I get a computer that can handle all that crap at once.

I think what a lot of people forget about convolution reverb is that it is a sample based reverb.

A convo reverb takes a sound source, like a wav file say, and then starts applying it across effected sound--each sample (so 44.1khz means applying that IR file across 44,100 samples a second).

So you really want to be running stuff like ASIO, have plenty of RAM, have plenty of CPU, etc.

Link to comment
Share on other sites

See I can't understand how people are using convolution in real time mixing cause everytime I try to I get mad latency problems. Brutal.

The system I'm running is an i7-860 with 8 GB RAM, Win 7 x64. I'm running one reverb unit, although I could probably use more -- I haven't tested it, though. The old system that had trouble with convolution on anything but the simplest mixes was a Core 2 Duo laptop with 2 GB RAM, XP x32.

Link to comment
Share on other sites

I'm not exactly a super producer or a super remixer, but I regularly use Logic Pro's convolution reverb unit as well and can usually get three or four going on the machine in a small project before it starts having problems.

I'm running a 3.6 GHz iMac (Core 2 Duo based IIRC) with 4 GB of RAM, so it's by no means a super-beefed up machine.

Link to comment
Share on other sites

Do you guys know if the convolution algorithms you are using are exact or approximate, or are your IRs less than a second long? I ask because using matlab's conv() function (which is pretty optimized, even for parallel processing) on a dry signal of 5 seconds in length with an IR 1 second in length at 44.1K samples/sec took about 55 seconds to complete (I forget the specs of the machine, but it was definitely at least dual-core 2GHz/core), which cannot be done in real time. If the convolution reverb functions are approximate and only use the first couple of echoes I can see it being done in real time.

Link to comment
Share on other sites

Do you guys know if the convolution algorithms you are using are exact or approximate, or are your IRs less than a second long? I ask because using matlab's conv() function (which is pretty optimized, even for parallel processing) on a dry signal of 5 seconds in length with an IR 1 second in length at 44.1K samples/sec took about 55 seconds to complete (I forget the specs of the machine, but it was definitely at least dual-core 2GHz/core), which cannot be done in real time. If the convolution reverb functions are approximate and only use the first couple of echoes I can see it being done in real time.

If Matlab was the optimal convolution, it would be adapted for use in the studio.

That's like comparing Mental Ray and Unreal--Matlab was not designed for performance audio applications.

By the way, if anyone is looking for a fair priced convolution reverb that does True Stereo Convolution (which means 4 audio channels, stereo IR for each channel), check out Reverberate for $50: http://www.liquidsonics.com/software_reverberate.htm If I didn't need Altiverb's stage placement algorithm, this is the convolution engine I would be using.

Link to comment
Share on other sites

By the way, if anyone is looking for a fair priced convolution reverb that does True Stereo Convolution (which means 4 audio channels, stereo IR for each channel), check out Reverberate for $50: http://www.liquidsonics.com/software_reverberate.htm If I didn't need Altiverb's stage placement algorithm, this is the convolution engine I would be using.

I actually just purchased this yesterday after using the trial version for a month and being very impressed. With the exchange rate the way it is, though, it's actually more like $80 for the bells and whistles version or $50 for the reduced features version.

Link to comment
Share on other sites

I actually just purchased this yesterday after using the trial version for a month and being very impressed. With the exchange rate the way it is, though, it's actually more like $80 for the bells and whistles version or $50 for the reduced features version.

Oh wow, when I was investigating Reverberate, Reverberate Core didn't exist. The Dual Convolution is REALLY important to have.

On a totally dry signal, you're going to want Early Reflections as well as your IR tail.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...