HardwareHeaven.com

HardwareHeaven.com

Looking for the skin chooser?
 
 
  • Home

  • Hardware reviews

  • Articles

  • News

  • Tools

  • Gaming at HardwareHeaven

  • Forums

 

Go Back   HardwareHeaven.com > Forums > Hardware and Related Topics > kX Project Audio Driver Support Forum > Effects and the DSP


Reply
 
Thread Tools
Old Jun 17, 2011, 01:02 AM   #1
DD!
HardwareHeaven Newbie
 
Join Date: Jun 2011
Posts: 3
Rep Power: 0
DD! is on a distinguished road

Convolution Reverb

Hey, i'm trying to model a reverb using the convolution principle by grabbing an impulse response and processing it with the input signal from a mic in order to get an output signal with reverb on it. However (i'm modelling it in Simulink) the output of my operation is noise and nothing else than noise.

I was wondering if somebody could point me in the right direction or help me with this.


Thanks.
PS: I noticed that a really old member called daytripper has experience on this, anybody know if he is still active in the forum?
DD! is offline   Reply With Quote


Old Jun 17, 2011, 09:37 PM   #2
HardwareHeaven Extreme Member
 
Join Date: Jan 2005
Posts: 5,563
Rep Power: 62
Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!

Re: Convolution Reverb

Hi, this part of the forum is related to the kX audio driver. While some of us do have some interest in DSP, as far as kX goes, we do not really do much convolution like this, as there is not nearly enough resources in the DSP of these sound cards to do it (it would have to be very small IR's (probably no more than 127 samples long)).

While someone here might be able to help you, you would probably be better off asking such questions in the Matlab/Simulink forum or maybe at a place like DSPRelated.com etc.

Aside from the above... I personally have not done any convolution like this (my old beast of a computer does not really have the power for it), but the process seems pretty straight forward, and thus not too many places for things to go wrong. I am not familiar with Simulink, but the first thing I would probably check is to see if you are doing it the right way in Simulink for the type of convolution you are doing, etc (e.g. I do not know if it has it's own convolution functions that work with input from a MIC, etc). What are you using for the IR? Is this something you made yourself, etc (Is the trigger signal removed?)? What does the noise sound like? e.g. Is it just random noise, or does it sound like reverb-ish noise? Reverb by itself may not sound great (depending on the room/space, etc being modeled, etc), maybe you need to add some wet/dry mixing? I do not know, just some thoughts.... Some more details would be helpful.

Last edited by Russ; Jun 17, 2011 at 10:05 PM.
Russ is offline   Reply With Quote
Old Jun 17, 2011, 10:27 PM Threadstarter Thread Starter   #3
DD!
HardwareHeaven Newbie
 
Join Date: Jun 2011
Posts: 3
Rep Power: 0
DD! is on a distinguished road

Re: Convolution Reverb

Russ, Thank you very much for your reply. I know that the proccess is pretty straight forward and, precisely, that's why i'm so confused about it. As for an IR i'm using a balloon pop made by myself at my university's recording studio whose reverberation is pretty decent (And even if it were awful, this is the only IR i can use, and no other because the convolution reverb is thought for an assisted reverberation system for this recording suite). The noise I get out of it is like, if somehow, the convolution process isn't been done properly as i get the IR imposed over the mic source signal repeatidly. (i.e. random music is captured by the mic and the outcome is chunks of the music mixed with the impact of the IR).

I can't quite remember if the convolution proccess has any reciprocity; meaning that:
x(n)*h(n)=h(n)*x(n), but, for the sake of the integral that defines this process, i'm guessing it's not.

Currently my IR is 13021 samples long, and i've tried just to convolve it with audio files already captured, but the outcome's the same.

The noise I get is the same. It doesn't matter if i just convolve both signals in time, or if I FFT them first, the convolve them in frequency and the IFFT them.

Hope this can make you understand a bit better my situation.
Thanks.
DD! is offline   Reply With Quote
Old Jun 17, 2011, 11:08 PM   #4
HardwareHeaven Extreme Member
 
Join Date: Jan 2005
Posts: 5,563
Rep Power: 62
Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!

Re: Convolution Reverb

Thanks for the additional info. Obviously creating your own IR adds another area where things might go wrong... I am not sure how much help I can offer (again, I have never tried this myself), so it may be best to just wait and see if someone else replies (or again, maybe try one of the other forums, etc).

Ideally, you probably need help from someone familiar with Simulink...

Aside from the above, I would probably try the following (just for testing purposes):

There are some pre-made reverb IR's available on the Internet...
I would try one of these (in your Simulink model) as it could help to rule out potential problems with your IR, and/or the convolution process you are using in Simulink.

Also there are convolution reverb's available on the Internet (e.g. VST's), that you might try with your IR in order compare with the results you are getting in Simulink (for the same reasons as above).
Russ is offline   Reply With Quote
Old Jun 18, 2011, 10:47 AM   #5
HardwareHeaven Addict
 
Join Date: Jan 2008
Location: germany, sb0090
Posts: 259
Rep Power: 0
stylus02 will become famous soon enoughstylus02 will become famous soon enough

Re: Convolution Reverb

for convolution we need to multiply the frequency spectrum of every sample from impulse response and dry signal. this are millions of operations for even a short signal. as russ said the dsp has only a few registers to save (sample) values. generally i would not say that "such a thing" is impossible with the dsp. it would look a bit different.
we could try to use kx- synth (sampler) as provider of impulse response and dry signal for a one- shot midi triggered calculation, maybe without fft. this would be like the first precalculated convolution reverbs (acustic mirror, soundforge). don't know if this would work, but fft is not necessary needed.
(another idea is the use of the set_dsp_register and get_dsp_register functions to use outsourced ir, but here we get shurely problems with speed and synchronising)
__________________
http://kxm.dyndns.org

Last edited by stylus02; Jun 18, 2011 at 11:07 AM.
stylus02 is offline   Reply With Quote
Reply

Thread Tools