R/E/P Community

Please login or register.

Login with username, password and session length
Advanced search  

Pages: [1] 2 3 4   Go Down

Author Topic: Advantage of 32 bit floating processing ?  (Read 20575 times)

Ivo

  • Full Member
  • ***
  • Offline Offline
  • Posts: 169
Advantage of 32 bit floating processing ?
« on: January 25, 2006, 10:54:39 AM »

I was just put before a question why to set a DAW into 32 bit floating, while the AD is only 24 bit (and thus adding unnecessary zeroes on HDD). So far I understood that 32bit floating improves the quality of the internal processing within a DAW.
Could somebody kindly explain the real point ? Thank you.
Logged
Ivo

VELVET MASTERING
www.velvetmastering.com

SAVITA MUSIC
www.savita.cz

Ronny

  • Hero Member
  • *****
  • Offline Offline
  • Posts: 2739
Re: Advantage of 32 bit floating processing ?
« Reply #1 on: January 25, 2006, 02:10:09 PM »

Ivo wrote on Wed, 25 January 2006 10:54

I was just put before a question why to set a DAW into 32 bit floating, while the AD is only 24 bit (and thus adding unnecessary zeroes on HDD). So far I understood that 32bit floating improves the quality of the internal processing within a DAW.
Could somebody kindly explain the real point ? Thank you.


The added zero's are only unnecessary if there is to be no further processing and in fact most DAW's will read actual bit depth as 24 even when recorded to 32 float, "until" a process is performed where it will than exit the processor and be read as float. Even a + or - .1dB gain change will activate the upper bits. The deal is as you say, there is more accuracy with some processes when you up the bit count, also processing at 32 float allows more forgiveness, when the processor sums to a higher dB on it's output than it's input and the output is above -0dBFS, in a fixed point 24 system, the signal is lost or maybe a better word, degraded, in a 32 float system there isn't any real clipping until you exit the DAC, so as long as you attenuate the master section to -0dBFS or below, you won't hear clip distortion. One other benefit with float is analytical, you can analyze the waveform above -0dBFS and get an accurate reading of how much level there is above -0dBFS while the signal is internal to the system and than can lower gain by that amount at the master section and assure the hottest signal without going over -0dBFS at the DAC.
Logged
------Ronny Morris - Digitak Mastering------
---------http://digitakmastering.com---------
----------Powered By Experience-------------
-------------Driven To Perfection---------------

Bob Olhsson

  • Hero Member
  • *****
  • Offline Offline
  • Posts: 3968
Re: Advantage of 32 bit floating processing ?
« Reply #2 on: January 25, 2006, 02:13:55 PM »

Thirty-two floating point represents 24 bits (technically maybe only 23, but that's over my head) plus a number that sets overall volume. Its advantage is the fact that overall volume can be changed without reducing resolution. Swiss Army Knife computers have powerful floating point processors that make floating point math the most efficient way to work. There are also a lot of high level floating point code libraries available which makes programming much less demanding in know-how. On the other hand this does not always produce better results.

Like all engineering design factors it has advantages and disadvantages. People who employ it in their designs tend to only bother telling people about its advantages. The same is true of people who sell products employing fixed-point math.

As I just posted in the BIDAT thread, implementation is really everything!

Very little in the real world ever approaches its potential quality which is the only thing talk about parts, sample rates and bits is ever about.

TotalSonic

  • Hero Member
  • *****
  • Offline Offline
  • Posts: 3728
Re: Advantage of 32 bit floating processing ?
« Reply #3 on: January 25, 2006, 05:11:41 PM »

There are a number of developers that actually favor double precision integer (aka fixed point) math over floating point for audio DSP.  One of the coders I respect a great deal, SAWStudio's author Bob Lentini, is one of these.

An interesting read regarding this issue is at
http://www.rane.com/note153.html

Best regards,
Steve Berson

UnderTow

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 393
Re: Advantage of 32 bit floating processing ?
« Reply #4 on: January 25, 2006, 07:52:30 PM »


Hi all,

I'm new arround here. I have read alot of the threads here and I find it all very interesting. Thanks for providing this and thanks to all the contributors.

Anyway, in that RaneNote article one of the mentioned advantages of fixed-point DSP is that it is 48 bit double precision capable. Is this still a relevant argument now that we have DAWs on the market that have 64 bit double precision floating-point calculation throughout the signal path? (With a 56 bit mantissa and an 8 bit exponent I seem to recall reading).

What do people have to say about 64 bit FP? Is it truelly worth it or is it just marketing hype?

Alistair
Logged

zmix

  • Hero Member
  • *****
  • Offline Offline
  • Posts: 2828
Re: Advantage of 32 bit floating processing ?
« Reply #5 on: January 26, 2006, 01:58:47 PM »

From what I understand, the real advantage in a floating point system is that the audio is scalable, in other words, the level can be changed at any point in the signal path without compromising headroom.

fj

  • Jr. Member
  • **
  • Offline Offline
  • Posts: 76
Re: Advantage of 32 bit floating processing ?
« Reply #6 on: January 29, 2006, 06:36:40 PM »

in a 32 float system there isn't any real clipping until you exit the DAC, so as long as you attenuate the master section to -0dBFS or below, you won't hear clip distortion.

Does this mean that if my waves plug-in says that I am over zero, that in reality I'm not adding distortion if I attenuate the signal at the end of the chain?
Logged

Ronny

  • Hero Member
  • *****
  • Offline Offline
  • Posts: 2739
Re: Advantage of 32 bit floating processing ?
« Reply #7 on: January 29, 2006, 11:57:43 PM »

fj wrote on Sun, 29 January 2006 18:36

in a 32 float system there isn't any real clipping until you exit the DAC, so as long as you attenuate the master section to -0dBFS or below, you won't hear clip distortion.

Does this mean that if my waves plug-in says that I am over zero, that in reality I'm not adding distortion if I attenuate the signal at the end of the chain?



Nope, you can redline a Waves processor real fast if you input too hot of a signal, but most are int. not float, they'll return to float after they process. There are a few people that like to process multi-tracks -6dB down in a 24 bit fixed int system, but as far as mastering 2 track in float, just keeping the signal at unity gain through any processors output works fine for me.
Logged
------Ronny Morris - Digitak Mastering------
---------http://digitakmastering.com---------
----------Powered By Experience-------------
-------------Driven To Perfection---------------

danlavry

  • Hero Member
  • *****
  • Offline Offline
  • Posts: 997
Re: Advantage of 32 bit floating processing ?
« Reply #8 on: January 30, 2006, 10:02:10 PM »

Ronny wrote on Mon, 30 January 2006 04:57

fj wrote on Sun, 29 January 2006 18:36

in a 32 float system there isn't any real clipping until you exit the DAC, so as long as you attenuate the master section to -0dBFS or below, you won't hear clip distortion.

Does this mean that if my waves plug-in says that I am over zero, that in reality I'm not adding distortion if I attenuate the signal at the end of the chain?



Nope, you can redline a Waves processor real fast if you input too hot of a signal, but most are int. not float, they'll return to float after they process. There are a few people that like to process multi-tracks -6dB down in a 24 bit fixed int system, but as far as mastering 2 track in float, just keeping the signal at unity gain through any processors output works fine for me.



At the last AES convention I chaired a panel "Performance Issues in Digital Audio". On the panel there was Dr. Rich Cabot, a very brilliant engineer (and that is an understatement), and he was talking about processing issues.

Here is one of his points: Say you have a loud low frequency signal, say 100Hz tone, a low bass note. Such a tone has a cycle time of 10 milli seconds, so the peaks (and deeps) of such a low frequency tone last a "long time". During the peaks, the 32 bit floating format is near full scale, forcing the format to behave as a fixed 24 bit process (24 bit with 0 for the mantisa).

Now lets add another signal, say a flute. The resolution of the flute may be great when the sum of the signals is near zero, but less so near the peaks, where the 32 bit floating behaves as a 24 bit fixed format...

Of course, one would need to realize that the ear/brain does have the capability to "separate" and "focus" on a flute sound while there is a bass playing (or visa versa). The ear does not just react to the sum of the parts, it can focus on "sound of interest" thus each "portion" of the sound needs to be attended to as actually as possible. Any good mastering engineer knows what I am saying regarding "blocking" some stuff and "focusing" on some specific sound...

The point is - the ear can separate the sum of the parts into parts...

Perhaps this is a crude explanation on my part, just enough to open up the subject. Dr. Cabot did much better job of it, an iron clad technical computation.

Note that the loss in precision has a lot to do with the ratio of the sample rate to the lowest audio frequency of interest, so at 192KHz one losses much DSP precision compared to 96KHz...

Regards
Dan Lavry
www.lavryengineering.com
Logged

Rob Darling

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 294
Re: Advantage of 32 bit floating processing ?
« Reply #9 on: January 31, 2006, 07:45:45 PM »

On a more practical note, the reasone for including 32 bit float as an actual recording bit depth is that if you intend to do offline processing to audio files, by setting the record depth to 32 float in your app, you will maintain as many bits as possible that are generated by the process.

So, you will still do your primary recording at 24 bit, but if you intend to do any offline processing that will write audio files, switch the depth of the session to 32bit to maintain all the datat being generated by the process.
Logged
____________________
rob darling
rob@robdarling.net
www.robdarling.net

AndreasN

  • Full Member
  • ***
  • Offline Offline
  • Posts: 247
Re: Advantage of 32 bit floating processing ?
« Reply #10 on: February 01, 2006, 11:34:22 AM »

robdarling@mail.com wrote on Wed, 01 February 2006 01:45

On a more practical note, the reasone for including 32 bit float as an actual recording bit depth is that if you intend to do offline processing to audio files, by setting the record depth to 32 float in your app, you will maintain as many bits as possible that are generated by the process.



Nope. 32 bit float does not provide for a longer digital word lenght than 24 bit fixed. Those extra bits are used for scaling the amplitude of the digital word.

By the way;
Bob O wrote:
"Thirty-two floating point represents 24 bits (technically maybe only 23, but that's over my head) plus a number that sets overall volume."

In floating point, the first bit is used for setting the sign, positive or negative. Then comes the 8 bit exponent, and lastly the 23 bit mantissa. The first bit of floating point are the same as the most significant bit of a fixed word giving the same resolution, 24 bits.


Andreas
Logged

Bob Olhsson

  • Hero Member
  • *****
  • Offline Offline
  • Posts: 3968
Re: Advantage of 32 bit floating processing ?
« Reply #11 on: February 02, 2006, 01:04:26 AM »

Thanks Andreas for the clarification!

C-J

  • Jr. Member
  • **
  • Offline Offline
  • Posts: 80
Re: Advantage of 32 bit floating processing ?
« Reply #12 on: February 02, 2006, 08:49:44 AM »

AndreasN wrote on Wed, 01 February 2006 18:34

Nope. 32 bit float does not provide for a longer digital word lenght than 24 bit fixed. Those extra bits are used for scaling the amplitude of the digital word.
By the way;
Bob O wrote:
"Thirty-two floating point represents 24 bits (technically maybe only 23, but that's over my head) plus a number that sets overall volume."

In floating point, the first bit is used for setting the sign, positive or negative. Then comes the 8 bit exponent, and lastly the 23 bit mantissa. The first bit of floating point are the same as the most significant bit of a fixed word giving the same resolution, 24 bits.
Andreas

A few comments,

32bit float will provide a longer actual wordlength than 24bits int, because the exponent "takes care" of the leading zeroes of the word, which with binary integers will decrease the resolution by half, for each -6dB level drop. For example, within the range from -48 to -54dB, 24bit int provides "only" 16bit resolution, while 32bit float provides 24bits, within this same range.

THIS, will of course not provide for a longer word, if we look at the results of a 24 int to 32 float conversion only, but as soon as we do any kind of processing, this "increased wordlength" will provide for more precise results. However, the float has its own flaws, as this earlier mentioned Rane link explains.

For example, if we say that the level of "1 LSB" in 24bit int has a value of "1", it is the smallest possible variation of the signal. It will remain as "1" all the way down to -144dB.
With 32bit float, OTOH, the value of this smallest possible variation will decrease by 50% for each -6dB drop. To "0.5", then to "0.25", and so on... The accuracy of the mantissa remains at 24bits (or 1+23), while the value of the exponent tells what scale to use, and thus the size of the quantzation steps, (max scale value divided by 2^24).

Then there is the issue about the "implied bit" in 32 float, i.e. the "extra" bit to the left of the binary decimal point, which we maybe won't need to discuss here and now?

I'm sure Jon H. could explain this way more "elegantly" than me, Wink
C.J., Finland
Logged

danlavry

  • Hero Member
  • *****
  • Offline Offline
  • Posts: 997
Re: Advantage of 32 bit floating processing ?
« Reply #13 on: February 02, 2006, 02:34:14 PM »

C-J wrote on Thu, 02 February 2006 13:49

AndreasN wrote on Wed, 01 February 2006 18:34

Nope. 32 bit float does not provide for a longer digital word lenght than 24 bit fixed. Those extra bits are used for scaling the amplitude of the digital word.
By the way;
Bob O wrote:
"Thirty-two floating point represents 24 bits (technically maybe only 23, but that's over my head) plus a number that sets overall volume."

In floating point, the first bit is used for setting the sign, positive or negative. Then comes the 8 bit exponent, and lastly the 23 bit mantissa. The first bit of floating point are the same as the most significant bit of a fixed word giving the same resolution, 24 bits.
Andreas

A few comments,

32bit float will provide a longer actual wordlength than 24bits int, because the exponent "takes care" of the leading zeroes of the word, which with binary integers will decrease the resolution by half, for each -6dB level drop. For example, within the range from -48 to -54dB, 24bit int provides "only" 16bit resolution, while 32bit float provides 24bits, within this same range.

THIS, will of course not provide for a longer word, if we look at the results of a 24 int to 32 float conversion only, but as soon as we do any kind of processing, this "increased wordlength" will provide for more precise results. However, the float has its own flaws, as this earlier mentioned Rane link explains.

For example, if we say that the level of "1 LSB" in 24bit int has a value of "1", it is the smallest possible variation of the signal. It will remain as "1" all the way down to -144dB.
With 32bit float, OTOH, the value of this smallest possible variation will decrease by 50% for each -6dB drop. To "0.5", then to "0.25", and so on... The accuracy of the mantissa remains at 24bits (or 1+23), while the value of the exponent tells what scale to use, and thus the size of the quantzation steps, (max scale value divided by 2^24).

Then there is the issue about the "implied bit" in 32 float, i.e. the "extra" bit to the left of the binary decimal point, which we maybe won't need to discuss here and now?

I'm sure Jon H. could explain this way more "elegantly" than me, Wink
C.J., Finland


Hi CJ

First, I need to correct my previous email where I interchanged the words mantisa and exponent. Sorry for any confusion I may have created, but did Andreas set it stright.

It is worth keeping in mind that the audio material itself is always less accurate then 24 bits, with the bottom few bits being useless (noise or all 0's...).

The idea of having more bits available is for processing.

Say we have a "fixed 24 bit engine". We give it data spanning over the whole range, but we wish to attenuate the signal by 36 dB (about 6 bits). In a fixed 24 bit bus, we lose 6 bits and end up with 18 bits (we may want top dither, which will cost more dynamic range loss, but lets ignore it for now).
Now let us "change our minds" and amplify the signal back by 36 dB. The outcome is only 18 bits of dynamic range.

Now, let us try and do the same with a floating 32 bit machine. Shifting the signal down by 6 bits is left to the exponent, but the mantissa stays at 24 digits (there is no need for dither). Amplifying back (altering the exponent)would bring back a 24 bit signal...    

Of course that was a simple example but the point is - the extra bits are for processing. One needs headroom for "digital amplification" on one side and for "digital attenuation" on the other side. We need room when adding channels, because when adding channels the signal grows in amplitude. We need room when doing EQ, boosting some frequency range... and so on.

However, one should remember that starting with data that is less then 24 bits, one can not get a 24 bit result. The whole issue is to allow the processing to have enough bits on top and bottom so we will not clip or truncate during processing.

That is why I separate the issue of how many bits into:
1. conversion bits
2. processing bits

Many people get the 2 confused...

Regards
Dan Lavry
www.lavryengineering.com
Logged

C-J

  • Jr. Member
  • **
  • Offline Offline
  • Posts: 80
Re: Advantage of 32 bit floating processing ?
« Reply #14 on: February 03, 2006, 07:13:31 AM »

danlavry wrote on Thu, 02 February 2006 21:34

First, I need to correct my previous email where I interchanged the words mantisa and exponent. Sorry for any confusion I may have created, but did Andreas set it stright.

Well,,, I wondered about it too. Confused

Quote:

The idea of having more bits available is for processing.

Yep, that's the reason why I mentioned the "as soon as we do any kind of processing, this "increased wordlength" will provide for more precise results".

32bit int shouldn't be half bad either? Bob once mentioned one standard(?) of how to expand the dynamic range both up and downwards by "biasing" the bits when converting 24bit int to 32bit int. I couldn't find this info now,,, hint, hint. Wink

I have also several times tried to ask Yamaha (USA, UK, Japan, Sweden) if the 32bit internal processing of their desks is float or int, but haven't got any sensible answer. "Best" answer so far was, "Does it really matter?" Neutral
Anybody here knows which it is, for sure?

Quote:

That is why I separate the issue of how many bits into:
1. conversion bits
2. processing bits

This is important to keep in mind. Enough processing bits is equally important as the sharpness of a surgeon's scalpel!

Thanks for your comments,
C.J.
Logged
Pages: [1] 2 3 4   Go Up
 

Site Hosted By Ashdown Technologies, Inc.

Page created in 0.07 seconds with 18 queries.