Hey ho Ivo and everybody else.
Some days ago I bounced all my recorded (unprocessed) 24 bit PCM files in one project to 32 float - as suggested by Ronny. I just provided each and everyone with the "below-bits" before they went into processing (level, eq, routing, effects or what ever...).
Not only was there an improvement while mixing (small fader movements came across much better) - the most important thing was that the bounce or export of this project into a stereo file (PCM or float) now had ALL TO IT! I really did not find any of the old crazy dissapointment which relates to "uh, this mixdown sound strange compared to what I hear during mix".
I could throw the mixdown into any software playback host and it sounded identical to how it translated during playback in the mixing host program. Decaying sound within a mix were not cut away, but instead continued until they were...gone.
For anyone using a floting point host - try it. You might get surprised at what it actually does to your headroom, your separation and everything when it comes to the mixdown. To me it just sounds like I have found the solution for what has been boggling my mind for years.
It's so weird, but in my host (Sonar 5 with the 64 bit engine) it really makes quite a dramatic difference to the sonic integrity. People might chime in and say "no way, jos
Logged
« Reply #55 on: April 22, 2006, 09:15:16 AM »
Hi Jon.
Yes. That's why I was turning my back on this issue. I always had my recorded 24 bit PCM's "read" by Sonar into the mix process and have told myself "it will become float when I start to process it" so nevermind.
But, I just tried this out and did a variety of different output versions (the audio is in 96 kHz in the project).
1. To 24 bit PCM with no dither. 2. To 24 bit PCM with 24 bit TPDF. 3. To 32 bit float. 4. To 32 bit float, later to separate software SRC, back to Sonar and dithered to 16 bits.
And to my ears, none of my former worries about a mixdown is present in any of these versions. I know the technical aspects of it, but in this case I let my ears judge and they kind of say "identical to playback". That's what is most important to me.
It all might have to do with Sonars "64 bit" processing.
Cheers.
Logged
« Reply #56 on: April 22, 2006, 10:28:16 AM »
Patrik T wrote on Sat, 22 April 2006 14:15 | Hi Jon.
Yes. That's why I was turning my back on this issue. I always had my recorded 24 bit PCM's "read" by Sonar into the mix process and have told myself "it will become float when I start to process it" so nevermind.
But, I just tried this out and did a variety of different output versions (the audio is in 96 kHz in the project).
1. To 24 bit PCM with no dither. 2. To 24 bit PCM with 24 bit TPDF. 3. To 32 bit float. 4. To 32 bit float, later to separate software SRC, back to Sonar and dithered to 16 bits.
And to my ears, none of my former worries about a mixdown is present in any of these versions. I know the technical aspects of it, but in this case I let my ears judge and they kind of say "identical to playback". That's what is most important to me.
It all might have to do with Sonars "64 bit" processing.
Cheers.
|
I would expect all those outputs to sound the same to be honest, with the possible exception of the 16 bit version. 24 bit int ad 32 bit float are effectively the same as a final delivery format (since the float will be converted before being passed to the DAC), and dithering to 24 bits is a waste of time since all you are doing is adding a miniscule amount of noise (+/- half a bit or so) to a system which is already considerably noisier... no effect worth mentioning. Actually I was wrong in my emphasis in my previous post, it's not the final format that matters (assuming 24bit int or above vs 32bit float or above) but rather any intermediate files could potentially affect the results (say you bounce to a track with low gain, then boost that track later, with floats your quality is the same as if you bounced at the correct level in the first place, with ints you have lost quality). Assuming all other factors remain identical, if you hear a difference between reading from a integer file (convert on load) and reading from a float file (converted from the same int file beforehand) then there are only 2 possibilities 1) The guy who programmed it made a very stupid mistake 2) The difference is all in your mind, the result of self suggestion, a hugely powerful force (a lot bigger than the effect of the lsb on a 24bit pcm word, that's for certain). There is no option 3, so if it isn't one of those two then you have to be wrong about your conversion to float not including any other processing, or some other variable must have changed unrelated to the file format.
Logged
« Reply #57 on: April 22, 2006, 01:27:05 PM »
Whatever Jon. Quote: | 2) The difference is all in your mind, the result of self suggestion, a hugely powerful force (a lot bigger than the effect of the lsb on a 24bit pcm word, that's for certain).
|
I have not suggested this to be of any worth until I tried it. I told myself it would be a plain waste of time and do absolutely nothing. I really resisted to take it seriously, just because it would not, scientifically, do anything. Until I tried it. Quote: | 1) The guy who programmed it made a very stupid mistake
|
Now, I don't think Ronny - who mentioned this issue in the first place here - use the same floating point host as I do. So, I guess the programmers of that one must have made the same mistake as my programmers. So they must be equally stupid then.
Logged
« Reply #58 on: April 22, 2006, 01:59:30 PM »
Patrik T wrote on Sat, 22 April 2006 18:27 | Whatever Jon.
Quote: | 2) The difference is all in your mind, the result of self suggestion, a hugely powerful force (a lot bigger than the effect of the lsb on a 24bit pcm word, that's for certain).
|
I have not suggested this to be of any worth until I tried it. I told myself it would be a plain waste of time and do absolutely nothing. I really resisted to take it seriously, just because it would not, scientifically, do anything.
Until I tried it.
|
What you told yourself conciously has nothing to do with it, the very fact that you performed the test shows that you thought it MIGHT make a difference, making you susceptible to self suggestion. Patrik T wrote on Sat, 22 April 2006 18:27 |
Quote: | 1) The guy who programmed it made a very stupid mistake
|
Now, I don't think Ronny - who mentioned this issue in the first place here - use the same floating point host as I do. So, I guess the programmers of that one must have made the same mistake as my programmers. So they must be equally stupid then.
|
I don't disagree with you, it is unlikely, especially since you'd really have to go out of your way to be that stupid (the conversion is part of C, and indeed most other programming languages), but as I said, there are only two options as to why a conversion from int to float should appear to produce different result depending on when it is done. There are not two ways to do the conversion correctly with two possible results, only one, and as I said, the rest of the system is also deterministic, same thing in = same thing out, at least up until the point where it hits the DAC (where variables such as power supply quality, RFI interferece and circuit temperature come into play). Here's a test for you, capture the digital stream that is being sent to your DACs in both cases, put it to disk, and compare it by subtracting one from the other. I would not expect to see more than one (or two at the outside) bits of difference at any point (and that only if they're using pseudo random numbers for internal dithering). More than that is quite probably a bug. Oh, and if you do see a difference of one bit (due to the dithering I suggested) then I would expect to see the same magintude of difference between two repetitions of the same technique.
Logged
|