Thursday, August 21, 2008

Alu's Idea for OUR Cabinet Simulator

My friend Alu from www.guitarampmodeling.com shared his briliant idea for OUR Cabinet Simulator.

This is what he wrote originally taken from here, let's discuss.

Mr. Aradaz, an idea...
by Alu on Thu Aug 21, 2008 9:07 am

So, I know you're actually working on a new cab-simulation plugin, impulse based, so I would like to give you an idea about a cool feature you could insert into it...
Yesterday I was thinking about a method to easily emulate the phase cancellation of two mics placed in front of the same cab...
Phase cancellation is not always a bad thing, a lot of sound engineers use it (sometimes without knowing this) to get killer tones out of thier amps/cabs.
Phase cancellation is caused by a little delay between the two signals being captured by the mics when they're at different distances from the speaker, so I could easily use a plugin like Voxengo Pristine Space which features a "delay" parameter. So it seems that I already have the chance to create phase cancellation using that plugin... what's the problem? The fact that the minimum amount of delay I can set is 1 millisecond.
Someone could think that 1 millisecond of delay is a really short time, so it's fine to recreate phase cancellation of two mics with, for example, 1cm of difference in their distance from the cab...
Well, no...
The speed of sound is measured at about 332m/s in the air, so the sound wave moves of 332m/s * 0.001s = 0.332 m (33.2 cm) every millisecond...
This means that I can emulate a minimum of 33.2cm of distance between the mics from the cab... If I want to have the phase cancellation generated by a difference of, let's say, 3cm, I'm f*****... bad thing, isn't it?
Here is the simple idea...
Why not using a delay function based on the number of samples captured by the AD converter, instead of milliseconds? I believe that a plugin that can actually delay a signal of a certain number of samples already exists (I haven't found it yet, but the idea is really simple/stupid, so someone could have created a plugin with that feature... if you know one let me know cause I need it) but would be really cool to have such a feature in your upcoming impulse based cab sim!
90% of musical software users are running their hosts at 44100Hz, this means a sample every 1/44100 s = 0.0000226 s = 0.0226 milliseconds.
As I stated above, the sound wave moves of 332m/s * 0.0000226s = 0.0075m every sample (7,5 mm). This means that using a sample based delay I can emulate a minimum of 7.5 mm of distance between the two mics... that's way better than using milliseconds, since it's about 44 times more accurate!
I think that is really easy to implement too, since you should just keep in memory a certain number of samples depending on the amount of distance setted by the user (let's say a maximum of 40 samples, so 30 cm of difference, it's more than enough)...
I've tried to recreate phase cancellation manually moving a wave of 1 or 2 or 3 samples using Audacity, and the results were pretty cool, way better than Voxengo Pristine Space! A lot of fizzyness was being killed during the process and the resulting sound had more lows too!

Create a plugin that can load 2 different impulses from my hardisk (cause I'm pretty sure you're gonna make it in the future), can set the % of balance between the impulses (already implemented on your first cabsim) and with a function to emulate the mic distance from the cab creating phase cancellation and it's gonna be the best cab simulation ever made so far...
What do you think?
Would it be possible to delay the signal of a shorter time than a sample time? I'm a bit rusted about physics/digital stuff, so I'm not sure about this, but I would say yes as long as your pc can handle it...

Sorry for the blatant explanation, I'm sure you already knew all these things I've written, but I would like to make all the users understand and maybe have their opinions too and discuss about this...

Think about it!
Thanks!


It will be discussed here.

0 comments:

Post a Comment