Jump to content

Adding 32-bit files makes them 24-bit


ski

Recommended Posts

Interesting situation...

 

I received multiple files from vocal session recorded on Nuendo on a PC. The delivery requirement was 24-bit, but I was sent 32-bit files instead. Looking at the file info in QuickTime, they are "32 bit float" files. However, I'm able to add them to the Bin where they show up as 24-bit files.

 

I thought that Logic wasn't able to read 32-bit files, yet here they are, playing back in my project. Nice! :) But I'm wondering if Logic is indeed converting these 32-bit float files into 24 bit files, or if it's just truncating the top 8 bits.

 

I could certainly contact the engineer who sent the files and get him to send me proper 24-bit WAVs, but if someone can confirm that on the technical end of things that I'm not losing anything (like the top 8 bits) after importing them in Logic, it would save us both some trouble.

 

Thanks!

 

32.png.c30cb70ca3eaf472fd7bc9299c6bd58b.png

Link to comment
Share on other sites

Thanks for your reply triplets. :)

 

Is it safe to assume that Logic has simply taken the 32-bit files and converted them to 24-bit as it would in the case of bouncing out a frozen track to 24-bit (retaining full fidelity)? Or do you think there'd be any kind of bit-depth reduction going on wherein I might end up losing some fidelity? There's no way for me to compare the sound of what I've been given to anything else unless I were to ask the engineer to send me a batch of converted files. (While that's not out of the question, I'd love to save us both some time and trouble).

 

Cheers,

 

Ski

Link to comment
Share on other sites

I got 32 FP files countless times and usually Logic lets me import them but wont play them- the wave shows as noise. But when I convert them in the bin to 24 they play without any problems and the wave readouts are correct.

 

I have Reaper which reads and writes 32 FP directly so I can listen to/and compare them directly and so far I havent noticed any difference in quality or sound between 32FP and converted to 24bit.

 

Regards J

Link to comment
Share on other sites

Thanks so much for your reply Janne.

 

I got 32 FP files countless times and usually Logic lets me import them but wont play them- the wave shows as noise. But when I convert them in the bin to 24 they play without any problems and the wave readouts are correct.

 

Interesting. When you say you converted them, did you simply add them to the bin and the conversion happened automatically (as it was in my situation)? Or did you have to manually select the files and use the Copy/Convert function?

 

I have Reaper which reads and writes 32 FP directly so I can listen to/and compare them directly and so far I havent noticed any difference in quality or sound between 32FP and converted to 24bit.

 

OK, that's great to know, thanks again Janne!

Link to comment
Share on other sites

Being bare of any consolidated knowledge, I don't hesitate to assert that floating point numbers simply can't be converted to fixed point numbers of any bit depth by just truncating them (i.e. trashing some bits). In order to get meaningful results, there has to be done some bit-shifting first (otherwise nonsense data/noise would be the result as Janne described). But even if you had 32bit fixed point numbers, I think dropping the 8 least significant bits will mean no limitation of audio quality (as long as there is no huge headroom in the original file).
Link to comment
Share on other sites

OK, I have dreamt up a (silly?) method of using 32 bfp files in Logic at 32 bfp. I only just thought this out, it should work, and at the same time I don't expect it to work. At all. I haven't tried this myself yet. I've got no 32 bfp file.

Take the original 32 bfp file, import it into Logic, let it convert to 24 bits. Make sure the project start coincides with the start of the audio file and the end marker with the end of the file. Now Freeze the track. Save & Quit Logic.

Go to the project folder>freeze file folder and copy the exact name of the freeze file.

Find the original 32bfp file, duplicate it, replace its' name with the name of the freeze file.

Remove the freeze file from the freeze file folder, then move in the renamed original.

Take a deep breath and open the project again.

Link to comment
Share on other sites

OK, I have dreamt up a (silly?) method of using 32 bfp files in Logic at 32 bfp. I only just thought this out, it should work, and at the same time I don't expect it to work. At all. I haven't tried this myself yet. I've got no 32 bfp file.

Take the original 32 bfp file, import it into Logic, let it convert to 24 bits. Make sure the project start coincides with the start of the audio file and the end marker with the end of the file. Now Freeze the track. Save & Quit Logic.

Go to the project folder>freeze file folder and copy the exact name of the freeze file.

Find the original 32bfp file, duplicate it, replace its' name with the name of the freeze file.

Remove the freeze file from the freeze file folder, then move in the renamed original.

Take a deep breath and open the project again.

 

Hehe... Deceive the computers as long as you still can! If this works, it is brilliant.

Link to comment
Share on other sites

Thanks so much for your reply Janne.

 

 

Interesting. When you say you converted them, did you simply add them to the bin and the conversion happened automatically (as it was in my situation)? Or did you have to manually select the files and use the Copy/Convert function?

 

 

The files convert automatically if the project was already saved with the include assets option. If it is not save you get the noise variant of the wave display.

 

There should be no quality loss in comparisson. The only advantage i see is that with 32bit FP its hard to clip when bouncing internally (Pro tools Audio suite rendering or Reapers and Samplitudes region/clip base effects).

 

Here is a nice article from MPV about the 32 FP in PT10: http://www.macprovideo.com/hub/pro-tools/pro-tools-10-the-benefits-of-32-bit-floating-point-audio

 

 

Regards J

Link to comment
Share on other sites

The files convert automatically if the project was already saved with the include assets option. If it is not save you get the noise variant of the wave display.

 

I appreciate the info, though my circumstances (and results) were different.

 

These files came from a different studio, and after downloading them I moved into my project folder. Then I added them to the bin, upon which they converted to 24-bit automatically. Finally, I dragged them into the arrangement and everything sounded fine. I didn't save the project with "include assets" enabled. (As a side note, I never enable those options except in rare cases).

 

@ Erik, very interesting idea.

Link to comment
Share on other sites

In case anyone is interested, here's a quick decimal analogy regarding fixed-point and floating-point numbers. For the sake of example, let's say that 4 bits (0000-1111, or 0-15) are roughly equal to one decimal digit (0-9).

 

If we accept that somewhat sloppy analogy, we can reckon that the range of a 24-bit fixed-point number is roughly equal to the range of a 6-digit decimal number: 000,000 to 999,999. Of course the range needs to be shifted so that you have both positive and negative: -500,000 to +499,999.

 

In 32-bit floating point format, 24 bits are used for the mantissa and 8 bits are used for the exponent. This is the binary equivalent of scientific notation - so it's like 6 (decimal) digits for the actual numbers, and 2 (decimal) digits to say how many places the decimal point should be shifted.

 

32-bit floating point, then, is like the 6-digit (24-bit equivalent) number from before (the mantissa), plus a 2-digit (8-bit equivalent) exponent from -50 to +49. That comes to -500,000 to 499,999, plus the option to shift the decimal point up to 50 places to the left or up to 49 places to the right.

 

That's why 32-bit floating point audio almost never clips - it can represent numbers as tiny as approximately ±0.00000000000000000000000000000000000000000000000000000001 to as huge as approximately ±49,999,900,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.

 

(The real numbers are even more extreme, since 4 binary bits hold a larger range than 1 decimal digit.)

 

*edited to fix mistakes in simple arithmetic (funny how that happens)

Edited by Matt Mayfield
Link to comment
Share on other sites

Addendum: Although 32bit float covers such an incredibly vast number range, it doesn't mean any number within this range has its exact representation. That would be plainly impossible since there are exactly 2^32 different possible states for 32 bits, no matter what these states mean, while the pictured number range contains... well... 2^279 possible combinations of bits (if I calculated that correctly. At least about it). As the number's absolute values become higher in a floating point format of a certain bit width, the less significant digits of the number's values are lost.

Coming back to the scientific format, think of a scientific calculator: If you add 1 and 10^30 and then subtract 10^30, the result will be 0. There is no room within the mantissa to hold a "1" when its most-right digit means 10^18 or 10^16 or so.

For Logic this means yes, you have a dynamic range of hundreds or thousands of dB, you can amplify a signal to idiotically high levels and then attenuate them back to normal audio levels without losing quality, but you can't mix a 200dB signal and a 0dB signal and then recover the 0dB signal by subtracting the 200dB signal.

Of course there is no point in doing so - mixing signals of such a dynamic mismatch just to preserve the lower one.

Um-

 

What were we talking about?

Link to comment
Share on other sites

What were we talking about?

 

:lol:

 

Erik, just a quick note to say that I haven't forgotten about your idea. I'll try it out when I have time.

 

As things stand with the project I posted about regarding my experience with 32-bit files, everything is working fine and sounding great. Go figure :lol:

Link to comment
Share on other sites

  • 9 months later...
newbie needs help. The acoustic gtr trks that were recorded in Pro Tools 32bit will not play in my Logic 9 project.The wave file appears very wide like noise. I have tried converting them to 24bit in Soundtrack Pro,dragging them into Loop folde to no avail.The trks will play in itunes. Have also tried converting them to mp3 but get void region. Any notions?
Link to comment
Share on other sites

  • 2 weeks later...
  • 5 years later...
OK, I have dreamt up a (silly?) method of using 32 bfp files in Logic at 32 bfp. I only just thought this out, it should work, and at the same time I don't expect it to work. At all. I haven't tried this myself yet. I've got no 32 bfp file.

Take the original 32 bfp file, import it into Logic, let it convert to 24 bits. Make sure the project start coincides with the start of the audio file and the end marker with the end of the file. Now Freeze the track. Save & Quit Logic.

Go to the project folder>freeze file folder and copy the exact name of the freeze file.

Find the original 32bfp file, duplicate it, replace its' name with the name of the freeze file.

Remove the freeze file from the freeze file folder, then move in the renamed original.

Take a deep breath and open the project again.

 

I think that would totally work, but I think you would only have access to the original 32 bfp until you had to unfreeze the track to do anything with it. Then it would revert to the 24 bit conversion you made. And any re-freezing would be done from that 24 bit now "original" source + new processing. So, not very useful unless all you want is playback of the 32 bit version of the file.

Link to comment
Share on other sites

Interesting situation...

 

I received multiple files from vocal session recorded on Nuendo on a PC. The delivery requirement was 24-bit, but I was sent 32-bit files instead. Looking at the file info in QuickTime, they are "32 bit float" files. However, I'm able to add them to the Bin where they show up as 24-bit files.

 

I thought that Logic wasn't able to read 32-bit files, yet here they are, playing back in my project. Nice! :) But I'm wondering if Logic is indeed converting these 32-bit float files into 24 bit files, or if it's just truncating the top 8 bits.

 

I could certainly contact the engineer who sent the files and get him to send me proper 24-bit WAVs, but if someone can confirm that on the technical end of things that I'm not losing anything (like the top 8 bits) after importing them in Logic, it would save us both some trouble.

 

Thanks!

 

Hi ski :)

 

Direct responses to your original post:

 

1. Logic Pro X can import 32-bit files (as you've clearly discovered) but it must reduce the wordlength of these files to 24-bit (i.e. convert the files to 24-bit). Logic won't playback the original 32-bit files with all of the original bits.

 

2. Logic doesn't simply truncate 32-bit files to 24-bit (thankfully). It applies TPDF dither to prevent quantization distortion. This means you can process and bounce audio files again and again (until the end of time) without generating quantization distortion (assuming you don't use any poorly coded plug-ins that internally truncate 32-bit audio to 24-bit).

 

3. For peace of mind, you can test all of this yourself. Load an instance of Logic's test oscillator → generate a sine wave → move the end point of your project to the end of the fourth bar → insert a midi region that's four bars long → add a note to the midi region and make the length of the note four bars long → right-click on the midi region and export it to a 32-bit audio file → import the 32-bit audio file into Logic → insert a good quality spectrum analyser plug-in (e.g. Voxengo SPAN) on the stereo output/master → configure the spectrum analyser to display a fine resolution (e.g. a block size of 8192 or greater), and adjust the analyser's display to show all signals down to -180 dB → solo the test oscillator and look at the spectrum analyser; notice the noise at approx. -180 dB (if you were to insert a bitscope plug-in on the test oscillator's channel strip—try Stillwell Audio's Bitter—the bitscope would measure 32-bit audio) → next, solo the audio file that you imported into Logic and look out for the noise, which has increased to approx. -175 dB (indicating the application of dither). If you insert a bitscope plug-in on the audio file's channel strip (before any other plug-ins), it will measure 24-bit audio. Based on that test, it's safe to say that Logic converts 32-bit audio files to 24-bit audio files and applies dither (as it damn well should!).

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...