Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > General > Audio encoding

Reply
 
Thread Tools Search this Thread Display Modes
Old 30th July 2011, 11:37   #1  |  Link
Thunderbolt8
Registered User
 
Join Date: Sep 2006
Posts: 2,197
32-bit float

Im wondering what or if theres a difference in quality (meaning a deviation from bit-perfection) of having the same music as 32-bit float or 24-bit (int).

assuming a soundcard can record in 24-bit but still do processing with 32-bit float, could the recorded file processed in 32-bit float then have more quality than before? I guess not.

but what if then dithering down to 24-bit from 32-bit float? is there a real loss of quality? or are only zero-bytes being reduced?

it seems that after certain processes like resampling, at least some tools automatically convert the processed file to 32-bit float during that process (of course, resampling is already loss of quality, but I'd like to know just about the difference in bitdepth)
__________________
Laptop Lenovo Legion 5 17IMH05: i5-10300H, 16 GB Ram, NVIDIA GTX 1650 Ti (+ Intel UHD 630), Windows 10 x64, madVR (x64), MPC-HC (x64), LAV Filter (x64), XySubfilter (x64) (K-lite codec pack)

Last edited by Thunderbolt8; 30th July 2011 at 11:40.
Thunderbolt8 is offline   Reply With Quote
Old 30th July 2011, 23:53   #2  |  Link
IanB
Avisynth Developer
 
Join Date: Jan 2003
Location: Melbourne, Australia
Posts: 3,167
Processing with 32-bit floats allows you to maintain the resolution of the original 24-bit data, independent of scale.

If you change the level down by 20db as part of your processing then back up by 20db latter, with floats you lose nothing, with 24-bit integers you would trash the bottom bits.

If you change the level up by 20db as part of your processing then back down by 20db latter, with floats you lose nothing, with 24-bit integers you would overflow and trash the top bits.

Modern processors eat 32-bit float computations for breakfast. In most cases floats are just as fast as integers especially when you factor extra scaling protection code into the integer algorithm. The 32-bit float version of the ResampleAudio() filter I wrote for Avisynth runs just as fast as the original 16-bit integer version and the integer version has to use 32-bit and 64-bit intermediate calculations to avoid overflow and/or truncation.
IanB is offline   Reply With Quote
Old 31st July 2011, 00:09   #3  |  Link
Thunderbolt8
Registered User
 
Join Date: Sep 2006
Posts: 2,197
does the soundcard natively have to support 32-bit processing for that to work? or is it fine if only the software does this?

and what would be advised when having 32-bit float tracks, but the soundcard does only allow output up to 24-bit? letting the card/driver do the resampling at playback? or dithering down by software like izotope?
__________________
Laptop Lenovo Legion 5 17IMH05: i5-10300H, 16 GB Ram, NVIDIA GTX 1650 Ti (+ Intel UHD 630), Windows 10 x64, madVR (x64), MPC-HC (x64), LAV Filter (x64), XySubfilter (x64) (K-lite codec pack)

Last edited by Thunderbolt8; 31st July 2011 at 00:42.
Thunderbolt8 is offline   Reply With Quote
Old 4th August 2011, 13:45   #4  |  Link
Thunderbolt8
Registered User
 
Join Date: Sep 2006
Posts: 2,197
considering that converting from 32-bit float to 24-bit int is supposed to be lossless and I want to do this conversion with a program like izotope rx 2 advanced, I can save the output at 24-bit, but then have to choose between to save the file with dithering or no dithering/truncate. since dithering doesnt seem to make much sense here, choosing truncate doesnt harm the audio quality, does it?

I can also choose to tick 'preserve non-audio data' in both cases, what is this option good for and would it make sense in either situation?

another thing regarding resampling: what exactly does filter steepness mean? I read this: "Higher steepness will reject unwanted frequencies but cause more ringing in the time-domain and a higher CPU load".
but what does 'more ringing' mean in the field of audio, is this bad for the sound quality?
__________________
Laptop Lenovo Legion 5 17IMH05: i5-10300H, 16 GB Ram, NVIDIA GTX 1650 Ti (+ Intel UHD 630), Windows 10 x64, madVR (x64), MPC-HC (x64), LAV Filter (x64), XySubfilter (x64) (K-lite codec pack)

Last edited by Thunderbolt8; 4th August 2011 at 13:49.
Thunderbolt8 is offline   Reply With Quote
Old 4th August 2011, 15:18   #5  |  Link
Ghitulescu
Registered User
 
Ghitulescu's Avatar
 
Join Date: Mar 2009
Location: Germany
Posts: 5,769
32b float is only a "computational" scheme. No real audio files are 32b. Why are you so concerned about an infinite small loss? Not very long time ago, all studio processors had 16b engines and not so many people complained about (ok, there is the old fight between analogists and digitalists). Today even the cheapest processors feature 24b engines (the supporters of analog audio will complain about 24b, too).

24b should be enough for most applications, considering that 24b of resolution would encompass EVERYTHING, from the silence of the grass growth to noises way beyond turbojets - there will always be a headroom, not to thrash both ends. That's the job of the sound engineer. In fact, most 24b music has a dynamic of only 18-20b. Much more important is the bandwidth (sampling, ie 48, 96, 128kHz etc.).

From 24b to 32b float there's no dithering. Only for reconversion may be one. Since there are two schools of thought, use dither or truncate - as you think it would sound better. That's the reason of having both - should one of them be always superior, the "loser" would have been removed.
__________________
Born in the USB (not USA)
Ghitulescu is offline   Reply With Quote
Old 4th August 2011, 16:44   #6  |  Link
hello_hello
Registered User
 
Join Date: Mar 2011
Posts: 4,829
Quote:
Originally Posted by Thunderbolt8 View Post
another thing regarding resampling: what exactly does filter steepness mean? I read this: "Higher steepness will reject unwanted frequencies but cause more ringing in the time-domain and a higher CPU load".
but what does 'more ringing' mean in the field of audio, is this bad for the sound quality?
Ringing is a bad thing. Whether you'll ever be able to hear it is another story. http://en.wikipedia.org/wiki/Low-pass_filter
hello_hello is offline   Reply With Quote
Old 4th August 2011, 19:02   #7  |  Link
Thunderbolt8
Registered User
 
Join Date: Sep 2006
Posts: 2,197
Quote:
Originally Posted by Ghitulescu View Post
32b float is only a "computational" scheme. No real audio files are 32b. Why are you so concerned about an infinite small loss? Not very long time ago, all studio processors had 16b engines and not so many people complained about (ok, there is the old fight between analogists and digitalists). Today even the cheapest processors feature 24b engines (the supporters of analog audio will complain about 24b, too).

24b should be enough for most applications, considering that 24b of resolution would encompass EVERYTHING, from the silence of the grass growth to noises way beyond turbojets - there will always be a headroom, not to thrash both ends. That's the job of the sound engineer. In fact, most 24b music has a dynamic of only 18-20b. Much more important is the bandwidth (sampling, ie 48, 96, 128kHz etc.).

From 24b to 32b float there's no dithering. Only for reconversion may be one. Since there are two schools of thought, use dither or truncate - as you think it would sound better. That's the reason of having both - should one of them be always superior, the "loser" would have been removed.
its all about bit perferct output. I simply want that so I can concentrate on the music, knowing that no tinkering has been done. its just a thing for the brain to relax, no matter how small or inaudible the difference might be.
therefore, hearing tests also wont be any good, I need the mathematical correct solution.

so for reconversion of 32-bit to 24-bit, theres definately a certain loss to be expected, no matter what method I choose?

Quote:
Originally Posted by hello_hello View Post
Ringing is a bad thing. Whether you'll ever be able to hear it is another story.
how would it sound, what do I have to listen for to identify ringing?
__________________
Laptop Lenovo Legion 5 17IMH05: i5-10300H, 16 GB Ram, NVIDIA GTX 1650 Ti (+ Intel UHD 630), Windows 10 x64, madVR (x64), MPC-HC (x64), LAV Filter (x64), XySubfilter (x64) (K-lite codec pack)

Last edited by Thunderbolt8; 4th August 2011 at 20:23.
Thunderbolt8 is offline   Reply With Quote
Old 5th August 2011, 02:05   #8  |  Link
IanB
Avisynth Developer
 
Join Date: Jan 2003
Location: Melbourne, Australia
Posts: 3,167
Unless you have some digital synthesiser generated music, the sound recording you have will at beast have come via a microphone (physical transducer), a microphone pre-amplifier (noisy analogue device) and then an Analogue to Digital converter. More probably there will be an assortment of mixing equipment involved as well. Out of all this you get a 24bit PCM data stream. This is a set of integer numbers between -8388608 and 8388607 representing the amplitude of the sound and the analogue noise.

To more easily process this data it is converted, losslessly to 32 bit IEEE floating point numbers Unless the processing algorithms cause the numbers to exceed the maximum or minimum permissible floating point value the original sound data will be intact although modified as required by the processing algorithms.

Now when it comes time to play the sound back the 32 bit IEEE floating point numbers need to be converted back to a 24bit PCM data stream. Okay the floating point number can have a values of 123456.789. Do you convert it to 123456 or 123457 ultimately it does not really matter the difference between the 2 values is less than -138db of full scale. And the best analogue amplifiers might approach 100db noise floor. The crap in domestic PC sound cards is often lucky to achieve 50db.

So do you really care about a -138db difference.
IanB is offline   Reply With Quote
Old 5th August 2011, 02:11   #9  |  Link
Thunderbolt8
Registered User
 
Join Date: Sep 2006
Posts: 2,197
yes, I just want to know whats the best way to get it as correct as it can be.
__________________
Laptop Lenovo Legion 5 17IMH05: i5-10300H, 16 GB Ram, NVIDIA GTX 1650 Ti (+ Intel UHD 630), Windows 10 x64, madVR (x64), MPC-HC (x64), LAV Filter (x64), XySubfilter (x64) (K-lite codec pack)
Thunderbolt8 is offline   Reply With Quote
Old 5th August 2011, 02:44   #10  |  Link
IanB
Avisynth Developer
 
Join Date: Jan 2003
Location: Melbourne, Australia
Posts: 3,167
Use the software path, it might be a little slower but that way it is at least reproducible, the alternative is a black box.
IanB is offline   Reply With Quote
Old 5th August 2011, 08:55   #11  |  Link
Thunderbolt8
Registered User
 
Join Date: Sep 2006
Posts: 2,197
alright, Ill dither down to 24-bits then. thanks
__________________
Laptop Lenovo Legion 5 17IMH05: i5-10300H, 16 GB Ram, NVIDIA GTX 1650 Ti (+ Intel UHD 630), Windows 10 x64, madVR (x64), MPC-HC (x64), LAV Filter (x64), XySubfilter (x64) (K-lite codec pack)
Thunderbolt8 is offline   Reply With Quote
Old 5th August 2011, 10:00   #12  |  Link
IgorC
Registered User
 
Join Date: Apr 2004
Posts: 1,315
Every electronic component adds thermal noise. The best real performance of DACs is 120-126 db (20-21 bits). Doesn't matter if it's 32 or 24 bits for playback.
You can make your own study. There are a lot of articles and information about it.
IgorC is offline   Reply With Quote
Old 5th August 2011, 10:12   #13  |  Link
Ghitulescu
Registered User
 
Ghitulescu's Avatar
 
Join Date: Mar 2009
Location: Germany
Posts: 5,769
If you understand the DAC as the device and not as the chip. The chip might have the specs, but the analog part surrounding it sinks the values to ~120dB for really good gear. Beware, most el cheapo manufacturers cite the specs of the chip not of the card

And please don't get into the thinking pit of "24b is better than 16b", or "132dB is better than 98". In terms of noise you cannot distinguish -98dB (a good CD) from -132dB (a good DVD-A, SACD or BD-A). Few people can go beyond -70dB (mostly because of budget gear), and remember -132dB is not the double of -66dB , electrical doubling occurs each 6dB There are pro ADCs that still work on 96/24 and give a much pleasant sound than any budget 192/24 card. Sound is more than [only] figures.
__________________
Born in the USB (not USA)
Ghitulescu is offline   Reply With Quote
Old 5th August 2011, 20:27   #14  |  Link
Thunderbolt8
Registered User
 
Join Date: Sep 2006
Posts: 2,197
well I cant/dont want to change the device I have. but I can make sure to get the best out of it.
__________________
Laptop Lenovo Legion 5 17IMH05: i5-10300H, 16 GB Ram, NVIDIA GTX 1650 Ti (+ Intel UHD 630), Windows 10 x64, madVR (x64), MPC-HC (x64), LAV Filter (x64), XySubfilter (x64) (K-lite codec pack)
Thunderbolt8 is offline   Reply With Quote
Old 5th August 2011, 20:42   #15  |  Link
IgorC
Registered User
 
Join Date: Apr 2004
Posts: 1,315
Quote:
Originally Posted by Ghitulescu View Post
If you understand the DAC as the device and not as the chip..
Yep

Quote:
Originally Posted by Ghitulescu View Post
Few people can go beyond -70dB
Agree. There was some study which has shown that most people couldn't spot the difference already at 12-13 bits (70-80 dB)
The limiting factors are noises of the environment.
People buy expensive soundcards but they hardly can get more than 80 dB because PC fan's noise. It's ridiculous. Today even silent notebooks with good on-board HD audio chip have actually much better quality. Or one should go for silent and treated room with appropriate hardware.


Also there were some successful blind tests where the difference between 16 and 24 bits was spoted.
But it's not for everyone. The conditions of the test were ideal (deep silence, high concentration etc.)
So ~18-20 bits still makes sense. More than 20 bits doesn't have any advantage for playback.

http://www.hydrogenaudio.org/forums/...ic=80294&st=25

http://www.hydrogenaudio.org/forums/...opic=81467&hl=
IgorC is offline   Reply With Quote
Old 5th August 2011, 20:45   #16  |  Link
IgorC
Registered User
 
Join Date: Apr 2004
Posts: 1,315
Quote:
Originally Posted by Thunderbolt8 View Post
well I cant/dont want to change the device I have. but I can make sure to get the best out of it.
That's is the whole point. You can't get more than 120-126 dB (20-21 bits) of ANY device.

The thermal noise is everywhere.
IgorC is offline   Reply With Quote
Old 10th August 2011, 10:07   #17  |  Link
pandy
Registered User
 
Join Date: Mar 2006
Posts: 1,049
only if you use full 24bit (ie up to 0dBFS from -inf) mostly good audio not going up to 0dBFS so higher resolution can be used for noise-shaping and lower quantization distortions.
Also white or uncorrelated noise is not a problem - problem are with signal correlated distortions - this can be easily heard as unwanted sound coloration (well maybe not by the people that listening very frequently and loudly loosely compressed audio )
pandy is offline   Reply With Quote
Old 10th August 2011, 12:56   #18  |  Link
Ghitulescu
Registered User
 
Ghitulescu's Avatar
 
Join Date: Mar 2009
Location: Germany
Posts: 5,769
Quote:
Originally Posted by pandy View Post
only if you use full 24bit (ie up to 0dBFS from -inf) mostly good audio not going up to 0dBFS .....
The reason for going up to 24b (through 18, and then 20b) was not the accuracy of the WAVE, nor the noise floor, but the sound processing. It was very comfy for the sound engineer to set the level at -18dBFS and still have a reasonably dynamic and a lower noise floor. It was very comfy for the sound engineer to perform any processing without the risk of overloading the WAVE (clipping) or diminishing the dynamics. More digits, less rounding errors.
__________________
Born in the USB (not USA)
Ghitulescu is offline   Reply With Quote
Old 10th August 2011, 16:54   #19  |  Link
IgorC
Registered User
 
Join Date: Apr 2004
Posts: 1,315
Quote:
Originally Posted by pandy View Post
Also white or uncorrelated noise is not a problem
It is a main problem for playback.

Let me point that the original poster asks if there is any benefit of high bit depth for playback.
There is point to go for 32 bits during processing the audio (mixing, special effects etc) but not for final playback.

It isn't matter of point of view but the fact.

There is example of high quality ADC 24 bits which still has a real 20-21 bits.
http://focus.ti.com/docs/prod/folder...t/pcm4222.html

Last edited by IgorC; 10th August 2011 at 17:04.
IgorC is offline   Reply With Quote
Old 12th August 2011, 09:31   #20  |  Link
pandy
Registered User
 
Join Date: Mar 2006
Posts: 1,049
In fact - 32 bit float is in real life like 24 bit int - float is only used for calculation to avoid problems with unexpected change of range - but 32 bit float is not enough with some algorithms - so many Audio DSP use format like 48 - 56 bit int to keep decent headroom and accuracy for calculations.

So in real life 24 bit int can be sometimes better than 32 bit float.

This DAC is one of the best http://focus.ti.com/docs/prod/folder.../pcm1792a.html - it offer You 132dB dynamics however in theory thanks to noise-shaping and multiple DAC configuration You should be able (at least in theory achieve more than 144dB dynamics).
Even for 16bit DAC You can easily achieve more than 130dB dynamics with proper processing.
pandy is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 11:25.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.