IPB

Welcome Guest ( Log In | Register )

9 Pages V  « < 3 4 5 6 7 > »   
Closed TopicStart new topic
Is it possible to stretch 16 bits symmetrically?, instead of padding with zeros?
giro1991
post Apr 24 2014, 18:26
Post #101





Group: Members
Posts: 104
Joined: 27-February 13
Member No.: 106916



Yes. It appears I got alot of terms and methods confused getting here I wholeheartedly accept full responsibility for that.

for example
QUOTE (giro1991 @ Apr 19 2014, 19:30) *
I've been condoning noise shaping the entire thread, I will be using it. It must be used.


haha, I was so sure rolleyes.gif

Sorry.

QUOTE (drewfx @ Apr 19 2014, 18:13) *
Seems to me it's simple:

You have a signal. You dither appropriately and then quantize it.

You now have a quantized signal, which consists of your original signal, dither and quantization error.

I missed this one...

so yeah, back on track, does 32bit dither exist, would make sense if to minimise error.
I found one herelink but it does not appear to be a valid VST that works in foobar. (last edited seven years ago what on earth guys)
Though the source code is in that file I'm sure

This post has been edited by giro1991: Apr 24 2014, 18:37
Go to the top of the page
+Quote Post
pdq
post Apr 24 2014, 18:43
Post #102





Group: Members
Posts: 3369
Joined: 1-September 05
From: SE Pennsylvania
Member No.: 24233



At 32 bits, and also at 24 bits, processing will produce roundoff errors. This is acceptable because it is below the level of audibility. You should never need to add dither at anything more than 16 bits, and even at 16 bits it is debatable whether dither is actually necessary.

Whenever possible, do all of your processing at 24 bits or more, and only when you must reduce to 16 bits for distribution, such as on a CD, do you add dither,

Edit: typo

This post has been edited by pdq: Apr 24 2014, 19:30
Go to the top of the page
+Quote Post
saratoga
post Apr 24 2014, 19:01
Post #103





Group: Members
Posts: 4844
Joined: 2-September 02
Member No.: 3264



QUOTE (giro1991 @ Apr 24 2014, 12:54) *
QUOTE (fluzzknock @ Apr 23 2014, 02:08) *
I'm very curious as to the nature of this mysterious "ultrasonic content."

giro, have you gotten your setup to work with 16-bit / 48kHz without any of the additional tinkering?

Not yet still experimenting ...

QUOTE (2Bdecided @ Apr 24 2014, 17:48) *
However, if you convert 16-bits to 24-bits, you still have the noise floor of the original 16-bit recording. The noise floor hasn't dropped at all, because you haven't removed any noise. It's the same signal.

Yes, but noise floor is not what bothers me. What I'm gettin at is the increase in depth helps at the interpolation stage...


Aside from noise, what other concerns would you have?

QUOTE (giro1991 @ Apr 24 2014, 12:54) *
Just like computer games graphics (and I mean smooth), just like image editing...


What about them? This is a thread about audio.

QUOTE (giro1991 @ Apr 24 2014, 12:54) *
And refering to the 28bit dsp. 28bits is ALOT considering were talking 1984 here.


Not really. That is a fixed point filter. The precision there refers to how accurately the filter tap output is computed, which is only distantly related to what you are wondering about. 28 and 36 bits were common register sizes. Using less is probably not possible without having an unacceptable error in the filter. If you want to know how rounding error in fitlers works, I suggest a textbook. This is a well studied, if incredibly boring topic.

Edit: missed a word in that last paragraph.

This post has been edited by saratoga: Apr 24 2014, 19:28
Go to the top of the page
+Quote Post
xnor
post Apr 24 2014, 19:26
Post #104





Group: Developer
Posts: 486
Joined: 29-April 11
From: Austria
Member No.: 90198



QUOTE (pdq @ Apr 24 2014, 18:43) *
You should never need to add dither at anything less than 16 bits

Typo?
Go to the top of the page
+Quote Post
pdq
post Apr 24 2014, 19:31
Post #105





Group: Members
Posts: 3369
Joined: 1-September 05
From: SE Pennsylvania
Member No.: 24233



QUOTE (xnor @ Apr 24 2014, 14:26) *
QUOTE (pdq @ Apr 24 2014, 18:43) *
You should never need to add dither at anything less than 16 bits

Typo?

Corrected, thanks.
Go to the top of the page
+Quote Post
drewfx
post Apr 24 2014, 19:32
Post #106





Group: Members
Posts: 74
Joined: 17-October 09
Member No.: 74078



QUOTE (giro1991 @ Apr 24 2014, 12:25) *
See this picture, it was 28 for a reason, because the dac the very first dac from philips was a 14bitter, initially CD spec was going to be 14bit, but sony changed it to 16bit last minute forcing philips to use noisehaped dither.

Not sure what the purpose of 28bit here is but it appears to be half the definition allowable of the 1540, so to minimise rounding errors, it makes sense.
Signal is quantised/oversampled to 28bits/176.4, (interpolation) smooths out the wave 44.1 wave for the dac to reconstruct.
Noise shaping is only employed here to reduce the audible effect of dither by shifitng it out-of-band because to improve SNR through the 1540.
NS is not at all needed to quantize, as i first though either. Regardless of how it is employed dither is needed.


There's no dither in that picture - only noise shaping.
Go to the top of the page
+Quote Post
drfisheye
post Apr 24 2014, 22:53
Post #107





Group: Members
Posts: 18
Joined: 4-January 14
Member No.: 113780



Isn't it true that most audio software internally works at 32 float point bits? And that in 32 float bit audio, only the values between -1 and 1 are used? Since 32 bit floats use exactly 24 bits to represent all numbers between -1 and 1, 32 bit floats audio has exactly the same precision as 24 bit audio.

So let's stop talking about 32 bit as if that is better than 24 bit. It's the same. Regular x86 processors are faster with float calculations than with integers, so working in 32 bit floats makes sense for speed. Not for precision.

Also, 16 bits provides enough precision for the human hearing, so 24 bits provides more than enough headroom for rounding errors. No need to go above that.
Go to the top of the page
+Quote Post
saratoga
post Apr 24 2014, 22:58
Post #108





Group: Members
Posts: 4844
Joined: 2-September 02
Member No.: 3264



QUOTE (drfisheye @ Apr 24 2014, 17:53) *
Isn't it true that most audio software internally works at 32 float point bits? And that in 32 float bit audio, only the values between -1 and 1 are used?


Yes, at least on PCs.

QUOTE (drfisheye @ Apr 24 2014, 17:53) *
Since 32 bit floats use exactly 24 bits to represent all numbers between -1 and 1, 32 bit floats audio has exactly the same precision as 24 bit audio.


They're not exactly the same, since floating point handles extreme values better than fixed point.

QUOTE (drfisheye @ Apr 24 2014, 17:53) *
Also, 16 bits provides enough precision for the human hearing, so 24 bits provides more than enough headroom for rounding errors. No need to go above that.


Well yes, in general caring about these things is foolish, but this thread exists so we're stuck with it.
Go to the top of the page
+Quote Post
drfisheye
post Apr 24 2014, 23:28
Post #109





Group: Members
Posts: 18
Joined: 4-January 14
Member No.: 113780



QUOTE (saratoga @ Apr 24 2014, 22:58) *
QUOTE (drfisheye @ Apr 24 2014, 17:53) *
Since 32 bit floats use exactly 24 bits to represent all numbers between -1 and 1, 32 bit floats audio has exactly the same precision as 24 bit audio.


They're not exactly the same, since floating point handles extreme values better than fixed point.

You just had to say that, didn't you? Now Neil Young needs to remaster everything in floating point. laugh.gif
Go to the top of the page
+Quote Post
xnor
post Apr 25 2014, 00:09
Post #110





Group: Developer
Posts: 486
Joined: 29-April 11
From: Austria
Member No.: 90198



Similar signal to noise ratio, but the obvious difference is in the dynamic range.
With 32-bit floating point you could achieve a dynamic range over 1500 dB. wink.gif

This post has been edited by xnor: Apr 25 2014, 00:11
Go to the top of the page
+Quote Post
fluzzknock
post Apr 25 2014, 00:44
Post #111





Group: Members
Posts: 17
Joined: 18-April 14
Member No.: 115570



QUOTE (xnor @ Apr 24 2014, 19:09) *
Similar signal to noise ratio, but the obvious difference is in the dynamic range.
With 32-bit floating point you could achieve a dynamic range over 1500 dB. wink.gif


Great, now he's going to add another pointless "upconverting" node in his processing chain with the idea that he'll get 1500 dB dynamic range out of it! dry.gif
Go to the top of the page
+Quote Post
drewfx
post Apr 25 2014, 00:52
Post #112





Group: Members
Posts: 74
Joined: 17-October 09
Member No.: 74078



QUOTE (drfisheye @ Apr 24 2014, 17:53) *
Isn't it true that most audio software internally works at 32 float point bits? And that in 32 float bit audio, only the values between -1 and 1 are used? Since 32 bit floats use exactly 24 bits to represent all numbers between -1 and 1, 32 bit floats audio has exactly the same precision as 24 bit audio.

So let's stop talking about 32 bit as if that is better than 24 bit. It's the same. Regular x86 processors are faster with float calculations than with integers, so working in 32 bit floats makes sense for speed. Not for precision.


By convention 0dBFS in fixed point = 1 in floating point and numbers above +/- 1 will be clipped when converting back to fixed point.

As levels get lower, 32bit floating point has increasingly more precision compared to 24 bit fixed. Thus, for instance, if you were to reduce volume dramatically and then increase it again the lower bits are preserved under floating point rather than truncated.


QUOTE
Also, 16 bits provides enough precision for the human hearing, so 24 bits provides more than enough headroom for rounding errors. No need to go above that.


If you are doing recursive processing, there is indeed a need to go above that, as errors can accumulate. For this reason, 64 bit double precision is commonly used for certain types of DSP processing in which there might be thousands of iterations.
Go to the top of the page
+Quote Post
Martel
post Apr 25 2014, 08:03
Post #113





Group: Members
Posts: 553
Joined: 31-May 04
From: Czech Rep.
Member No.: 14430



QUOTE (giro1991 @ Apr 19 2014, 19:30) *
... noise shaping the entire thread... It must be used.
I agree. smile.gif


--------------------
IE4 Rockbox Clip+ AAC@192; HD 668B/HD 518 Xonar DX FB2k FLAC;
Go to the top of the page
+Quote Post
Nick.C
post Apr 25 2014, 09:29
Post #114


lossyWAV Developer


Group: Developer
Posts: 1785
Joined: 11-April 07
From: Wherever here is
Member No.: 42400



QUOTE (drewfx @ Apr 25 2014, 00:52) *
|By convention 0dBFS in fixed point = 1 in floating point and numbers above +/- 1 will be clipped when converting back to fixed point.


For 32-bit and 64-bit float, certainly. For 16-bit float, not at all. The proof of concept converter I wrote (TransPCM) makes use of the full dynamic range of 16-bit float and allows values in the range -65504 to +65504. foobar2000 will play 16-bit float WAV and WavPack files.


--------------------
lossyWAV -q X -a 4 --feedback 4| FLAC -8 ~= 320kbps
Go to the top of the page
+Quote Post
2Bdecided
post Apr 25 2014, 09:49
Post #115


ReplayGain developer


Group: Developer
Posts: 5057
Joined: 5-November 01
From: Yorkshire, UK
Member No.: 409



QUOTE (giro1991 @ Apr 24 2014, 17:54) *
QUOTE (2Bdecided @ Apr 24 2014, 17:48) *
However, if you convert 16-bits to 24-bits, you still have the noise floor of the original 16-bit recording. The noise floor hasn't dropped at all, because you haven't removed any noise. It's the same signal.

Yes, but noise floor is not what bothers me.
You want more bits, but noise floor is not what bothers you?


Good luck everyone.

Cheers,
David.
Go to the top of the page
+Quote Post
giro1991
post Apr 25 2014, 10:53
Post #116





Group: Members
Posts: 104
Joined: 27-February 13
Member No.: 106916



QUOTE (saratoga @ Apr 24 2014, 19:01) *
Aside from noise, what other concerns would you have?

Rounding error caused by the disproportional increase.
Increase in sample rate should be directly proportional to increase in quantisising steps.

Direct Proportion
"When two quantities are in direct proportion, as one increases, the other increases by the same percentage."

This is crucial for processing audio.

You may not agree but graphics is exactly the same regarding interpolation.

QUOTE (drewfx @ Apr 24 2014, 19:32) *
QUOTE (giro1991 @ Apr 24 2014, 12:25) *
There's no dither in that picture - only noise shaping.

Noise shaping is just dither but shaped. It's dither. How low dither is applied is key.

QUOTE (xnor @ Apr 25 2014, 00:09) *
Similar signal to noise ratio, but the obvious difference is in the dynamic range.
With 32-bit floating point you could achieve a dynamic range over 1500 dB. wink.gif

Which is a scary number if you convert it. But we're not converting, only processing. The added accuracy is benificial.

QUOTE (drewfx @ Apr 25 2014, 00:52) *
If you are doing recursive processing, there is indeed a need to go above that, as errors can accumulate. For this reason, 64 bit double recision is commonly used for certain types of DSP processing in which there might be thousands of iterations.

I agree. I'm sure what i'm talking is very well understood and commonly used by technicians who make dsps, but that knowledge stays there. By asking this question I have shed some light on the fact that we can quantise music ourselves prior to it entering hardware, so that dsps following work at optimum capacity (32 float).
Go to the top of the page
+Quote Post
lvqcl
post Apr 25 2014, 11:31
Post #117





Group: Developer
Posts: 3325
Joined: 2-December 07
Member No.: 49183



QUOTE (giro1991 @ Apr 25 2014, 13:53) *
Increase in sample rate should be directly proportional to increase in quantisising steps.

Not true.

QUOTE (giro1991 @ Apr 25 2014, 13:53) *
Direct Proportion
"When two quantities are in direct proportion, as one increases, the other increases by the same percentage."

Sample rate and bit depth are unrelated.

QUOTE (giro1991 @ Apr 25 2014, 13:53) *
Noise shaping is just dither but shaped. It's dither.

Not true.
Go to the top of the page
+Quote Post
julf
post Apr 25 2014, 11:46
Post #118





Group: Members
Posts: 206
Joined: 14-January 12
Member No.: 96426



QUOTE (giro1991 @ Apr 25 2014, 11:53) *
I agree. I'm sure what i'm talking is very well understood and commonly used by technicians who make dsps, but that knowledge stays there. By asking this question I have shed some light on the fact that we can quantise music ourselves prior to it entering hardware, so that dsps following work at optimum capacity (32 float).


Asking questions about things you don't know about or understand is great, but making all sorts of strange claims at the same time doesn't work very well...
Go to the top of the page
+Quote Post
giro1991
post Apr 25 2014, 11:53
Post #119





Group: Members
Posts: 104
Joined: 27-February 13
Member No.: 106916



lvqcl, is this also true for fixed point?

Floating point involves head room, which is perhaps why proportions stop being relevant...
But for fixed point, if 0dbfs max / MSB remains fixed and the LSB extends (or w/e approach dithering takes) with increase in quantising slices, then you are theroetically extending the "dynamic range", yes?

This post has been edited by giro1991: Apr 25 2014, 12:01
Go to the top of the page
+Quote Post
lvqcl
post Apr 25 2014, 12:09
Post #120





Group: Developer
Posts: 3325
Joined: 2-December 07
Member No.: 49183



But you said that "sample rate is proportional to increase in quantisising steps". Now you say that "dynamic range is proportional to increase in quantisising steps"... huh.gif
Go to the top of the page
+Quote Post
giro1991
post Apr 25 2014, 12:11
Post #121





Group: Members
Posts: 104
Joined: 27-February 13
Member No.: 106916



Sample rate proportional to the dynamic range ...

I now realise that applying a 24bit dither (or even a 32bit dither) to a 16 bit file, does not extend the dynamic range.

I'm trying to increase theoretical dynamic range in the quantisation sense, in the dsp realm - 1500 yes is loud and impossible, no dacs today do it (there's no need lol) - but to increase for processing only...

This post has been edited by giro1991: Apr 25 2014, 12:19
Go to the top of the page
+Quote Post
julf
post Apr 25 2014, 12:16
Post #122





Group: Members
Posts: 206
Joined: 14-January 12
Member No.: 96426



QUOTE (giro1991 @ Apr 25 2014, 13:11) *
Sample rate proportional to the dynamic range ...


Sample rate and dynamic range are independent of each other.

Go to the top of the page
+Quote Post
giro1991
post Apr 25 2014, 12:35
Post #123





Group: Members
Posts: 104
Joined: 27-February 13
Member No.: 106916



QUOTE (julf @ Apr 25 2014, 12:16) *
QUOTE (giro1991 @ Apr 25 2014, 13:11) *
Sample rate proportional to the dynamic range ...


Sample rate and dynamic range are independent of each other.

So it's impossible to increase each, by the same factor, independantly?
Go to the top of the page
+Quote Post
julf
post Apr 25 2014, 12:37
Post #124





Group: Members
Posts: 206
Joined: 14-January 12
Member No.: 96426



QUOTE (giro1991 @ Apr 25 2014, 13:35) *
So it's impossible to increase each, by the same factor, independantly?


if they are independent of each other you can of course increase or decrease each one as much as you want independently.

Go to the top of the page
+Quote Post
giro1991
post Apr 25 2014, 12:41
Post #125





Group: Members
Posts: 104
Joined: 27-February 13
Member No.: 106916



And by independant, is there no way I can apply each to a streaming wave?

I think I'm trying to break the laws of physics right here, bear with...

This post has been edited by giro1991: Apr 25 2014, 12:41
Go to the top of the page
+Quote Post

9 Pages V  « < 3 4 5 6 7 > » 
Closed TopicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 23rd July 2014 - 10:32