That depends on what you mean by "the same filter". If you just change floats to ints then there's a good chance you will get a difference, it takes more work than that, and in fact in some cases you might find that the extra processing required is not available, or worth it.pj geerlings wrote:Firstly: Welcome to the witch hunt! Clearly, a great number of the "sane" voices here are convinced that there cannot be any difference between a floating point and fixed point implementation of the same filter.
But even if you end up with an audible difference (because the programmer either didn't know how to deal with the difference, didn't test in the area where the difference shows up and so did not even know about it, or judged that the difference was either not a problem or too costly to "fix"), what you will NEVER get is a universal correlation like "integer = tighter bass".
Yes, that particular integer implementation of that particular filter/reverb/whatever might have "tighter" bass, but it's not going to be a universal rule, because what we're talking about here is errors in the calculations, and the errors have different effects depending on where they are within the algorithm and what the algorithm is.
generally speaking the most common approach would be the addition of a very small amount of noise (i.e. way way way below the LSB of the final 24 bit output to the DAC you listen through)pj geerlings wrote: Wait a moment though ...
It occured to me last night that one of the more important reasons that I continued with fixed point plugs was the trouble I had with denormals -- specifically in the filters I was implementing.
So I had to ask myself 'how might the standard approaches to "re-normalization" affect the audio signal?'
pj geerlings wrote: What popped into my mind was Jitter
Fascinating filter architecture if that's the case! So you're resampling your signal at a rate which you think might be subject to error? And why the hell would you correlate that rate in some way with your denormal prevention?
Somehow I don't think that word means what you think it means.
Well firstly whether there is a performance hit for denormals depends on what you are doing and how you are doing it... if you work in SSE for example it's a non issue, the hardware takes care of it (once you set a couple of status bits) and you just ignore it.As an aside I would note that even if you could map a DSP algorithm one-to-one between a fixed point and floating point implementation you would still take a perforance hit for the additional denormal code which is pretty much taken for granted by floating point coders.
Secondly the chances are that you will have to do extra processing in the integer version to maintain accuracy, it's all swings and roundabouts really. Some algorithms will be more efficient implemented in integer form, others in floating point.
Oh incidentally, I'm not a "floating point coder", in fact I doubt anyone is, I am a programmer, and I work in float, integer and fixed point depending on the requirements of the task at hand and the processor features available.
