Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Audacity - How to export WAV files that are over 0 db in 32 bit floating? (Read 3076 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Audacity - How to export WAV files that are over 0 db in 32 bit floating?

I am loading a file into Audacity that was recorded at way over 0 db in floating 32 bit.

I'm new to Audacity. How do i use Audacity to export the file so that all of the clipping is gone and it's all below 0 db?

Thanks.

Re: Audacity - How to export WAV files that are over 0 db in 32 bit floating?

Reply #1
Use Effect->Normalize... and normalize peak amplitude to 0dB (or lower). Then export.

Re: Audacity - How to export WAV files that are over 0 db in 32 bit floating?

Reply #2
Thank you!!

And will this result in a good file, as if it had all been recorded under 0 db, and no mangling of the waveforms?

Again, thanks.

Re: Audacity - How to export WAV files that are over 0 db in 32 bit floating?

Reply #3
Use Effect->Normalize... and normalize peak amplitude to 0dB (or lower). Then export.

Ok, it's not under Effect, but under "Volume and Compression" under Effect. But then I see two choices. One is just Normalization, and the other is Loudness Normalization.

What the difference, and which should I pick?

Re: Audacity - How to export WAV files that are over 0 db in 32 bit floating?

Reply #4
The Amplify effect and regular Normalization target the peak level.  

Loudness Normalization is setting the "perceived loudness" based on the short-term average and frequency content.   It's not checking the peaks so you can end-up with peaks over 0dB.

Quote
And will this result in a good file, as if it had all been recorded under 0 db, and no mangling of the waveforms?
It will simply lower the volume.   


NOTE - Although 32-bit floating-point has a dynamic range of something like -1000dB to +1000dB, your recorder/interface has (unknown?) voltage limits on the high-end.   (+20dB is 10 times the voltage and +40dB is 100 times the voltage).    So it's still possible to get clipping if you push it too far and you should probably try to keep it around 0dB or less but you have some headroom if you happen to go over.

And it's noise limited on the low-end just like any other interface.

Re: Audacity - How to export WAV files that are over 0 db in 32 bit floating?

Reply #5
Out of academic interest: does Audacity have floating point internal representation?  The above discussion implies that it does, or at least would need to in order to successfully import a floating point file without risk of clipping in input.
It's your privilege to disagree, but that doesn't make you right and me wrong.

Re: Audacity - How to export WAV files that are over 0 db in 32 bit floating?

Reply #6
It is not specific to Audacity but standard type 3 (indicated in file header) floating point .wav files use +/-1.0 as 0dBFS, so if a type 3 float file contains values beyond +/-1.0 the resulting waveform would go beyond 0dBFS. The same is true for other software like Audition and Reaper as well.

The whole thing about these so-called floating point recorders is just a gimmick to intentionally store values beyond +/-1.0 in a float file after audio data left the ADC circuitry. Instead of stitching two low-end codec grade converters with 80-90dB performance using a floating point DSP with dubious processing algorithms, better use a single high end converter with >115dB performance.
https://taperssection.com/index.php?topic=190161.msg2339748#msg2339748

Re: Audacity - How to export WAV files that are over 0 db in 32 bit floating?

Reply #7
Quote
The whole thing about these so-called floating point recorders is just a gimmick to intentionally store values beyond +/-1.0 in a float file after audio data left the ADC.
Zoom is selling TRUE floating-point recorders & interfaces.   Like I said, you can't get the full floating-point dynamic range in the analog/physical world, but you can go over 0dB without clipping.   I didn't find any specs but I assume +6dB is no problem.

From my very-limited understand of how modern "1-bit" Delta-Sigma DACs & ADCs work it doesn't seem that difficult and I suspect that most DACs & ADCs will be floating point in the future.

Floating-point internally in Audacity (and virtually all other audio editors & DAWs) means you can temporarily go over 0dB while mixing or applying effects, and it turns-out that DSP is just easier in floating-point.

Re: Audacity - How to export WAV files that are over 0 db in 32 bit floating?

Reply #8
Zoom
In case you did not carefully read my previous reply, I already mentioned a Zoom floating point recorder in the link below, there are other vendors like Sound Devices selling floating point recorders as well.
https://taperssection.com/index.php?topic=190161.msg2339748#msg2339748
Read the link above carefully again, the most important things are the processing algorithm and quality of analog components, not the floating point format itself or the nature of Delta Sigma converters.

In addition, read the link below carefully as well, including the subsequent replies. The sudden jump of THD+N at around -30dBFS is an evidence of stitching two fixed point ADCs, then export to a 32-bit float file.
https://www.audiosciencereview.com/forum/index.php?threads/floating-point-adc-system.48021/post-1721693

Re: Audacity - How to export WAV files that are over 0 db in 32 bit floating?

Reply #9
The Amplify effect and regular Normalization target the peak level.  

Loudness Normalization is setting the "perceived loudness" based on the short-term average and frequency content.   It's not checking the peaks so you can end-up with peaks over 0dB.

Quote
And will this result in a good file, as if it had all been recorded under 0 db, and no mangling of the waveforms?
It will simply lower the volume.   


NOTE - Although 32-bit floating-point has a dynamic range of something like -1000dB to +1000dB, your recorder/interface has (unknown?) voltage limits on the high-end.   (+20dB is 10 times the voltage and +40dB is 100 times the voltage).    So it's still possible to get clipping if you push it too far and you should probably try to keep it around 0dB or less but you have some headroom if you happen to go over.

And it's noise limited on the low-end just like any other interface.

Thank you. Yes, I noticed clipping when i completely overloaded it many db above, despite floating.

One more question. Except for noise down below, if you go many db down, is there any reaason there would be a difference in digital if something is recorded at -12db or, say, -24?

And how many db down for the recording should one start to worry about noise?

Re: Audacity - How to export WAV files that are over 0 db in 32 bit floating?

Reply #10
Although 32-bit floating-point has a dynamic range of something like -1000dB to +1000dB
is there any reaason there would be a difference in digital if something is recorded at -12db or, say, -24?
For the 32-bit float format itself without considering any recording hardware:
https://hydrogenaud.io/index.php/topic,112361.msg1012996.html#msg1012996
So +/-1000dB for 32-bit float is not very accurate, the actual range is more like +770dB to -758dB, assumes the DAW does not intentionally limit the range or being buggy.

Since DVDdoug mentioned Zoom's floating point recorders and you did not mention anything about the recording hardware, did you simply obtained a 32-bit float file from somewhere instead of recorded the file yourself? Read this and the subsequent replies as well.
https://www.audiosciencereview.com/forum/index.php?threads/32-bit-float-explained.46654/post-1666248

If you only obtained a 32-bit float file without knowing any preceding steps or how the hardware actually works, the level of the file tells nothing about the actual analog recording level, which is hardwired to voltage (dBu or dBV) instead of relative values used in software like dBFS. It is a very important basic concept.

Re: Audacity - How to export WAV files that are over 0 db in 32 bit floating?

Reply #11
Although 32-bit floating-point has a dynamic range of something like -1000dB to +1000dB
is there any reaason there would be a difference in digital if something is recorded at -12db or, say, -24?
For the 32-bit float format itself without considering any recording hardware:
https://hydrogenaud.io/index.php/topic,112361.msg1012996.html#msg1012996
So +/-1000dB for 32-bit float is not very accurate, the actual range is more like +770dB to -758dB, assumes the DAW does not intentionally limit the range or being buggy.

Since DVDdoug mentioned Zoom's floating point recorders and you did not mention anything about the recording hardware, did you simply obtained a 32-bit float file from somewhere instead of recorded the file yourself? Read this and the subsequent replies as well.
https://www.audiosciencereview.com/forum/index.php?threads/32-bit-float-explained.46654/post-1666248

If you only obtained a 32-bit float file without knowing any preceding steps or how the hardware actually works, the level of the file tells nothing about the actual analog recording level, which is hardwired to voltage (dBu or dBV) instead of relative values used in software like dBFS. It is a very important basic concept.

Thanks for the info. This was recorded by me on a TASCAM x6 at 24 bit.

Re: Audacity - How to export WAV files that are over 0 db in 32 bit floating?

Reply #12
Quote
One more question. Except for noise down below, if you go many db down, is there any reaason there would be a difference in digital if something is recorded at -12db or, say, -24?
Pros often record at -12 to -18dB (at 24-bits).*   I always say...   Headroom is a funny thing...   If you use it, it's not headroom and if you don't use it, you didn't need it.

But an unusually low level often indicates some kind of analog problem.

Each additional (integer) bit represents 6dB so with 24-bits at -48dB you'd still be using 16-bits and you still have "CD quality".   With 16-bits at -48dB you are down to 8-bits and you'll hear quantization noise if you amplify.

If you make an 8-bit file you'll hear the quantization noise.**    Quantization nose is something like regular analog noise that rides on top of the signal.     Like regular noise, it's worse with quiet sounds except it goes-away completely with digital silence.  

If you're mixing, mixing is done by summation so you get more bits or more resolution.  


Quote
So +/-1000dB for 32-bit float is not very accurate, the actual range is more like +770dB to -758dB.
I didn't remember exactly but for practical-audio purpose it's infinite.  ;)  (Shoutometer).

Quote
assumes the DAW does not intentionally limit the range or being buggy.
REAPER uses 64-bit floating point!





* I suspect this "tradition" of recording at low levels came from the days when Pro Tools was using integers and they wanted extra headroom for effects & mixing, but that's just a guess.

** If you make an 8-bit file in Audacity, turn off dither.   Dither is added noise that's supposed to sound better than quantization noise.


Re: Audacity - How to export WAV files that are over 0 db in 32 bit floating?

Reply #13
In fact, even in the 16-bit era, professional DAT decks recommend an overall recording level of -20dBFS. Notice this DAT machine has a marker on -20dBFS on the level meter.
https://en.audiofanzine.com/dat-deck/sony/PCM-7030/
X

Re: Audacity - How to export WAV files that are over 0 db in 32 bit floating?

Reply #14
One thing to pay attention about the bit-depth of DAW is the processing bit-depth is not necessarily same as the bit-depth after processing. For example in Audacity's Preferences -> Quality users can choose the "Default Sample Format". In Preferences -> Directories users can set the location of SessionData. Audacity always use 32-bit float precision for processing, but the meaning of setting the "Default Sample Format" is that the processed waveform, as well as undo/redo data will be saved in the specified format. Setting it to 32-bit the SessionData folder will be twice as big as 16-bit after importing the same files and doing the same operations.

One reason to use a lower bit-depth on this setting is not all operations require high bit-depth. For example spliting, joining and time-aligning audio clips because these operations don't change the amplitude of the audio samples. The bit depth only needed to be same as the source (e.g. 16-bit). Doubling the size of SessionData may either result in slow operation when using mechanical harddrives, or shorten the life of SSDs.

The same applies to Reaper and other DAWs as well.
Most software DAWs and plugins internally use floating point processing. For non-destructive operations (e.g. drawing a volume/pan envelope, or using insert/aux effects), processed 32/64-bit float data will pass through the master bus and subsequently the file renderer. If the DAW user export to fixed point the result will look like the Sound Liaison example I mentioned in the ReadMe file when the rendering pipeline uses 32-bit float. For destructive operations, even if a DAW supports 64-bit float processing, it may store intermediate results in disks (e.g. undo data and bounced tracks) using 32-bit float, so the ideal export format will still be 32-bit float.
Reaper's highest supported processing bit-depth is 64-bit float, but can also be configured to use 32-bit float processing, and Reaper can export to 32-bit integer WavPack.
In fact, Cakewalk SONAR 5 released in 2005 already supported 64-bit float processing, doesn't mean I agree with the "sonic integrity" claim in any TOS8 compliant way though.
https://legacy.cakewalk.com/Press/Release/1060/10-07-05-SONAR5_shipping_US
Quote
SONAR 5’s 64-bit double precision floating point engine ensures a level of sonic integrity that is simply not possible with 32-bit floating point applications.

Re: Audacity - How to export WAV files that are over 0 db in 32 bit floating?

Reply #15
 If you're dealing with a file that's partying way too hard above 0 db, here's a quick fix. First, highlight the problematic part, go to Effect > Amplify, and choose a negative amplification to bring it down.