R/E/P Community

Please login or register.

Login with username, password and session length
Advanced search  

Pages: [1]   Go Down

Author Topic: Benefit of 64 bit precision in a 32 bit application  (Read 3327 times)

blueboy

  • Hero Member
  • *****
  • Offline Offline
  • Posts: 538
Benefit of 64 bit precision in a 32 bit application
« on: October 14, 2005, 09:50:20 PM »

What is the benefit of 64 bit internal precision in an audio plug-in used within a 32 bit floating point mix engine?

Is it just that any processing is done with higher precision and therefore should achieve a higher sound quality? Also, does this take a substantial toll on the CPU?

The reason I am asking is that I was recently testing some Voxengo VST plug-ins and I have to say I was quite impressed with their sound quality. They seem to lack the "harshness" that other popular 32 bit plug-ins have. Is this (partially) attributable to 64 vs. 32bit, or is it simply just differences in algorithms?

(I realize that 64 bit precision is not a "magic bullet" as I have heard other 64 bit plugs that I don't like, I'm just referring to the lack of "digititus" relative to most 32 bit plugs).

Thanks.

JL



Logged
"Only he who attempts the absurd can achieve the impossible." ~ Manuel Onamuno

Jon Hodgson

  • Hero Member
  • *****
  • Offline Offline
  • Posts: 1854
Re: Benefit of 64 bit precision in a 32 bit application
« Reply #1 on: October 15, 2005, 04:14:39 AM »

Some algorithms are more sensitive to errors than others, or sometimes even the same algorithm with different parameters.

Without knowing what the algorithms are, and analyzing them, you can't really say whether it's the algorithm or the 64 bit precision or both that are responsible for the quality of sound in comparison to other plugins.

As for CPU performance, it will take a toll, the worst case scenario being twice the CPU use, but generally it shouldn't be that bad. The only exception I can think of would be if someone was porting an algorithm they previously implemented on a hardware DSP and was able to simplify it due to the higher precision of calculation. Why only in porting from a hardware DSP and not older PC/Mac code? - because 64 bit floating point has been available in hardware as standard on both for the past 10 years, so if they'd needed it they would have used it.
Logged

bobkatz

  • Hero Member
  • *****
  • Offline Offline
  • Posts: 2926
Re: Benefit of 64 bit precision in a 32 bit application
« Reply #2 on: October 15, 2005, 06:12:37 AM »

blueboy wrote on Fri, 14 October 2005 21:50

What is the benefit of 64 bit internal precision in an audio plug-in used within a 32 bit floating point mix engine?

Is it just that any processing is done with higher precision and therefore should achieve a higher sound quality? Also, does this take a substantial toll on the CPU?

The reason I am asking is that I was recently testing some Voxengo VST plug-ins and I have to say I was quite impressed with their sound quality. They seem to lack the "harshness" that other popular 32 bit plug-ins have. Is this (partially) attributable to 64 vs. 32bit, or is it simply just differences in algorithms?

(I realize that 64 bit precision is not a "magic bullet" as I have heard other 64 bit plugs that I don't like, I'm just referring to the lack of "digititus" relative to most 32 bit plugs).

Thanks.

JL





The bottom line answer is "it's possible".

The problem is proving it definitely.
There are so many different kinds of EQ algorithms, IIR, FIR, frequency-domain based, feed forward, feed back, and so on. And they all sound different, regardless of the wordlength.

Many PI's are designed to be "CPU-optimized", that is, their sonic quality is compromised so they are not CPU-hogs. This may or may not have anything to do with 32 versus 64 bit, but increased wordlength can be a greater burden on some CPU or DSP architectures. In others you can get the increased wordlength "for free".  

As far as isolationg wordlength as the answer, the more stages of DSP in a given process, the more mathematical errors accumulate, and they accumulate more slowly the greater the wordlength. How much sonic improvement, if any? Hard to tell because "all things are never equal." To be totally fair you would have to compare THE SAME DESIGNER'S PLUGIN with only the wordlength variable changed. If you hear a sonic improvement, then you can definitely attribute it to the wordlength. Otherwise, then we can never be sure.

That said, I've heard one or two comparisons where the ONLY variable changed was the wordlength, and that was in floating point between 32, 40, 64 and 80, and it seems there is a sonic difference! In the more complicated algorithms with many contiguous processing steps.

Does the Waves Ren EQ sound different between TDM and RTAS? That would be a good comparison because reportedly it is the same EQ algorithm, only it is double
precision 48 bit dithered to 24 in TDM and it is 32 bit float in RTAS and Direct X.

BK
Logged
There are two kinds of fools,
One says-this is old and therefore good.
The other says-this is new and therefore better."

No trees were killed in the sending of this message. However a large number of
electrons were terribly inconvenienced.

Jon Hodgson

  • Hero Member
  • *****
  • Offline Offline
  • Posts: 1854
Re: Benefit of 64 bit precision in a 32 bit application
« Reply #3 on: October 15, 2005, 06:45:17 AM »

bobkatz wrote on Sat, 15 October 2005 11:12


The bottom line answer is "it's possible".

The problem is proving it definitely.
There are so many different kinds of EQ algorithms, IIR, FIR, frequency-domain based, feed forward, feed back, and so on. And they all sound different, regardless of the wordlength.



Just as in analogue, where different circuits to do ostensibly the same thing will sound different.

bobkatz wrote on Sat, 15 October 2005 11:12


Many PI's are designed to be "CPU-optimized", that is, their sonic quality is compromised so they are not CPU-hogs. This may or may not have anything to do with 32 versus 64 bit, but increased wordlength can be a greater burden on some CPU or DSP architectures. In others you can get the increased wordlength "for free".  



I don't know of any DSPs which offer more than 32 bits in the multipler, though the Tiger Sharc gives 80 bits in the accumulator. If anyone knows any then I'd be interested to know.

I'm certainly interested to know what's inside that Algorithmix box.

On desktop CPUs you are very unlikely to get the increased word length for free, because although the actual mathematical operation may take exactly the same number of cycles, you are moving more data to and from memory and your memory bandwidth doesn't change.

But depending on the algorithm, the hit may be small enough that you don't even notice.

bobkatz wrote on Sat, 15 October 2005 11:12


As far as isolationg wordlength as the answer, the more stages of DSP in a given process, the more mathematical errors accumulate, and they accumulate more slowly the greater the wordlength. How much sonic improvement, if any? Hard to tell because "all things are never equal." To be totally fair you would have to compare THE SAME DESIGNER'S PLUGIN with only the wordlength variable changed. If you hear a sonic improvement, then you can definitely attribute it to the wordlength. Otherwise, then we can never be sure.



Quite right.

Actually it's not just the number of processes, it can be the order in which they are done.

But really that's the programmer's problem, when it comes to processing people should just pick with their ears, and not by word lengths.

bobkatz wrote on Sat, 15 October 2005 11:12


That said, I've heard one or two comparisons where the ONLY variable changed was the wordlength, and that was in floating point between 32, 40, 64 and 80, and it seems there is a sonic difference! In the more complicated algorithms with many contiguous processing steps.



I agree, it will improve things in some cases.

People just shouldn't fall into the trap of thinking that because it says it uses more bits, then it WILL sound better.

bobkatz wrote on Sat, 15 October 2005 11:12


Does the Waves Ren EQ sound different between TDM and RTAS? That would be a good comparison because reportedly it is the same EQ algorithm, only it is double
precision 48 bit dithered to 24 in TDM and it is 32 bit float in RTAS and Direct X.
BK


Well it's also a fixed point vs floating point comparison, so actually the algorithm implementation may well be slightly different.

Logged

bobkatz

  • Hero Member
  • *****
  • Offline Offline
  • Posts: 2926
Re: Benefit of 64 bit precision in a 32 bit application
« Reply #4 on: October 15, 2005, 11:18:06 AM »

Thanks for the informed response, Jon!

[quote title=Jon Hodgson wrote on Sat, 15 October 2005 06:45]
bobkatz wrote on Sat, 15 October 2005 11:12



bobkatz wrote on Sat, 15 October 2005 11:12


Does the Waves Ren EQ sound different between TDM and RTAS? That would be a good comparison because reportedly it is the same EQ algorithm, only it is double
precision 48 bit dithered to 24 in TDM and it is 32 bit float in RTAS and Direct X.
BK


Well it's also a fixed point vs floating point comparison, so actually the algorithm implementation may well be slightly different.




It's that "all things are never equal" thing again. I think they program in C++, and we would have to know the insides of the algorithm to know how "equal" things are! That will never tell. Has anyone nulled the output of the two?  How can you anyway... It would be an interesting test. Measure the amplitude and shape of the dither they use to get to 24 bits in the TDM version, apply that dither to the RTAS version, and then do some null tests. I'll bet the distortion is below the noise  Smile

BK
Logged
There are two kinds of fools,
One says-this is old and therefore good.
The other says-this is new and therefore better."

No trees were killed in the sending of this message. However a large number of
electrons were terribly inconvenienced.

blueboy

  • Hero Member
  • *****
  • Offline Offline
  • Posts: 538
Re: Benefit of 64 bit precision in a 32 bit application
« Reply #5 on: October 15, 2005, 01:42:40 PM »

Thanks guys. Excellent info...this is exactly why I come to this forum!

The Voxengo plug-ins I was referring to have normal and high quality modes which I thought may have to do with changing their internal precision from 32 to 64 bit, but apparently they are always 64 bit precision. The high quality mode uses oversampling to improve quality.

From the manual:
.....................................
The "High/Normal Quality" button is used to switch between the normal and the high-quality processing modes. High-quality processing mode internally uses a higher sample rate. High quality mode uses more than two times more CPU resources. The "Auto" quality mode disables oversampling in the normal real-time plug-in operation and turns oversampling on during the offline audio bouncing. Please note that the "Auto" mode may not work properly in all hosts (if the host does not report back when it enters the offline processing mode).
......................................

The improvement is definitely noticeable, though not radical when switching to high quality, but it really impacts performance.

I guess the question I was asking was... "given the identical algorithm (in theory), should a 64 bit precision implementation provide a substanital increase in audio quality over the 32 bit version from a purely mathematical perspective?"

From what I've gathered from your answers, increasing wordlength results in a slower accumulation of errors during processing (IOW - fewers errors overall), so potentially there will be less distorion in the audio output using 64 bit precision.

The reason I am asking this is that I am concerned about getting locked into a DSP based plug-in system (Universal Audio UAD-1). From what I can tell it is using 32 bit processing on proprietary DSP chips. If their system allowed for a 64 bit mode down the line, I'm assuming this would then reduce the available DSP by half.

With the speed that native DSP options are improving at, I'm thinking that building a small "render farm" using off the shelf CPU's and FX Teleport's distributed audio processing makes more sense. Apparently distributed audio processing is already being implemented in Apple's Logic DAW.

Thanks again for the info.

Regards,

JL



Logged
"Only he who attempts the absurd can achieve the impossible." ~ Manuel Onamuno

Gunnar Hellquist

  • Full Member
  • ***
  • Offline Offline
  • Posts: 206
Re: Benefit of 64 bit precision in a 32 bit application
« Reply #6 on: October 15, 2005, 06:23:07 PM »

blueboy wrote on Sat, 15 October 2005 19:42


I guess the question I was asking was... "given the identical algorithm (in theory), should a 64 bit precision implementation provide a substanital increase in audio quality over the 32 bit version from a purely mathematical perspective?"



In general you mean. You cannot tell. There are two things to this:

First - you have to do a serious work on how errors propagate in the processing algorithm. This is a difficult matter to master, and I would not bet that every plugin writer in the world is an expert either. (I used to dabble in this, no expert). In some cases, if the programmer is good at what he is doing, it will have zero effect. On the other hand, you might guess that in the hands of a less good programmer, he could get away with sloppy coding. In yet other cases, it may make a significant difference on the error propagation.

Secondly - how sure are we that it will have a better sound quality. It might have less errors, but does it sound better because of that? In every plugin ever to be conceived?

Any hardware accelerator is going to be outdated in a few years if you guess on what has happened so far. In the meantime it may solve a number of realworld problems, and why not be happy with that.

Gunnar
Logged
Gunnar Hellquist
unafiliated

blueboy

  • Hero Member
  • *****
  • Offline Offline
  • Posts: 538
Re: Benefit of 64 bit precision in a 32 bit application
« Reply #7 on: October 15, 2005, 10:10:05 PM »

Gunnar Hellquist wrote on Sat, 15 October 2005 15:23

Any hardware accelerator is going to be outdated in a few years if you guess on what has happened so far. In the meantime it may solve a number of realworld problems, and why not be happy with that.

Gunnar


Thanks for the reply Gunnar.

The UAD-1 is a great card and I think it fills a real need for most people, but distributed audio processing makes more sense for me as I can use the additional PC's for video rendering purposes as well.

I just wish universal audio would release their UAD-1 plug-ins in native VST format...but it's not likely to happen anytime soon. I may end up getting their card as well anyway.

JL
Logged
"Only he who attempts the absurd can achieve the impossible." ~ Manuel Onamuno

Bob Olhsson

  • Hero Member
  • *****
  • Offline Offline
  • Posts: 3968
Re: Benefit of 64 bit precision in a 32 bit application
« Reply #8 on: October 31, 2005, 11:42:43 AM »

bobkatz wrote on Sat, 15 October 2005 05:12

...Does the Waves Ren EQ sound different between TDM and RTAS? That would be a good comparison because reportedly it is the same EQ algorithm, only it is double
precision 48 bit dithered to 24 in TDM and it is 32 bit float in RTAS and Direct X.
The native Waves Ren EQ is also double-precision 64 bit float. I think C-4 was the only one where TDM is double but native is single.
Pages: [1]   Go Up
 

Site Hosted By Ashdown Technologies, Inc.

Page created in 0.213 seconds with 20 queries.