• SONAR
  • 64 bit engine? (p.4)
2013/11/24 22:14:58
robert_e_bone
Well - I grew up owning one of those 'scratch and play' record players, where the phono needle was part of the lid of the thing and you closed the lid to get it to both play and scratch my 45's.
 
Since the record I was playing was the 69 Cubs "Hey, Hey, Holy Mackerel" song, I think scratching it may have helped it sound better.
 
Point of the above is that ANY of this whole discussion really does not matter as much as the quality of the song, the quality of the mix, and the quality of the master.
 
The Kinks spent something like a whopping $600 on recording You Really Got Me, and then there is Louie Louie, where inaudible words are part of the charm.  I am also quite happy not to hear Michael Bolton any clearer.
 
By the time this thread peters out, hopefully Cakewalk will have fixed this bug anyways.
 
Bob Bone
 
2013/11/25 10:03:11
DeeringAmps
I think Alex has summed it up succinctly!
 
$600 bucks!
Wasn't Chandler constantly reminding Hendrix that Mickie Most produced House of the Rising Sun for 10 bob or something?
 
But we do want it fixed; the 64 bit thingy AND the "talent" plugin I mean...
 
T
 
 
2013/11/26 22:43:41
Goddard
drewfx1
Goddard
Might as well revive this thread, rather than start a new one.
 
Alongside Cakewalk's posted video of Ron Kuper's 2006 AES presentation (linked in post #19 above) explaining why double precision floating point math is beneficial (if not critical) when mixing 24-bit PCM audio, Cakewalk also published a whitepaper by Ron Kuper which gave some additional info on the subject:
 
http://mixonline.com/online_extras/Cakewlk%20Wht%20Paper.pdf
 
In this whitepaper, respective code examples are given of single and double float mixing of 3x 24-bit samples and the outputted results are compared. This corresponds to what Ron Kuper was describing in the AES presentation video.
 
Basically, when mixing 24-bit audio, a 32-bit single precision engine lacks sufficient precision, such that errors can arise in the mixed audio even when mixing only a few streams. While such errors might not be easily audible, they do occur nonetheless and can accumulate and propagate downstream (for example, when further DSP operations are performed on the mixed audio) so as to become more audible. On the other hand, use of a 64-bit double precision engine simply avoids such errors occurring (which would explain why the Cakewalk developers chose to implement a double precision engine back when (in Sonar 5)).

 
What the white paper actually says:
 
What this simple program shows is if X is a 24-bit PCM sample, and the math is done using 32-bit floating point, an inaccuracy is introduced due to summation. In this case the least significant bit is lost. If the gain adjustments are more dramatic, or more gain stages are used, then more bits can be lost.

 
This is true, but you're supposed to infer here - as all the people who don't understand the math and want so badly to believe in this stuff usually do - that since there are errors, they, gasp, must be audible. But note that they don't actually say that. You might want to consider how many bits you can lose before it might be even close to being audible.

 
Nowhere was it ever asserted or left to inference that such LSB-wise errors in 24-bit PCM audio data are audible in themselves.
 
What the whitepaper also actually says (preceding the portion you quoted above):
 

An IEEE 64-bit float has 52 bits of mantissa plus a sign bit, giving 53 bits of precision when doing calculations. This amount of precision means audio fidelity is maintained even with dramatic gain staging within processing elements, and also means more accurate processing for recursive DSP such as IIR filtering.

Double precision mixing is especially important when processing 24-bit PCM audio data.

 
In Cakewalk's AES presentation video, after presenting the test program results, Ron Kuper says (at 3:55):
 

Now maybe one bit doesn't matter, uh, but folks who've installed Sonar 5 and turned on the engine say it sounds great, you know, and I'm not a golden ears, it's like, subjective, but I believe the math that backs it up, and people are hearing a difference, so I think just on the basis of the math alone this is a pretty significant result, uh, that, if you're going to be processing 24-bits into a DAW, you need to mix using doubles, otherwise you're gonna lose, you're gonna lose a lot of bits on the bottom.

 
Now, it's fine to dismiss the DPE as being unnecessary on the basis that nobody can hear such low bit errors. But don't flatter yourself, you're hardly the first pushing that position. Search the archived posts from the cakewalk.audio newsgroup from back when and you'll find plenty of company.
 
But asserting that low bit errors in 24-bit PCM audio are way below what is audible simply neglects to take into consideration what anyone who's worked with DSP well knows, and why fixed integer DSP chips have long had extended-precision registers and accumulators and why floating point DSP chips have continually moved toward greater precision. Namely, that precision does matter because with DSP what goes around can often come around (a whole lot of times).
 
It's interesting to note that your so-called "null test" had FX disabled, and thus biased the testing against revealing errors which manifest more significantly if not audibly due to recursive DSP (for example, by running a delicate condenser-mic'ed vocal passage or acoustic instrument track through an IIR reverb FX plug-in).
 
drewfx1
Goddard
Craig Anderton alluded to this situation in an article over on HC earlier this year:
 
http://www.harmonycentral...chniques/ba-p/34780908



As far as I can see, this is all Craig says about it there:

But your sequencer’s audio engine needs far greater resolution.
.
.
.
Today’s sequencers use 32-bit floating point and higher resolutions, but many earlier sequencers did not. 

 
Um, where does he say 32bit isn't good enough?

 
Um, how about in the paragraph which you snipped out?:
 
Recording resolutions higher than 24 bits are fictional, due to the limitations of A/D technology. But your sequencer’s audio engine needs far greater resolution.
 
This is because a 24-bit piece of audio might sound fine by itself. But when you apply a change to the signal (level, normalization, EQ, anything), multiplying or dividing that 24-bit data will likely produce a result that can’t be expressed with only 24 bits. Unless there’s enough resolution to handle these calculations, roundoffs occur—and they’re cumulative, which can possibly lead to an unpleasant sort of “fuzziness.” As a result, your audio engine’s resolution should always be considerably higher than that of your recording resolution.

 
Now, I don't want to infer anything from "unpleasant sort of fuzziness" as to whether that implies audibility, or even guess at what Craig meant by "far greater" or "considerably higher." Although surely, 32-bit single precision float is only equivalent in resolution (significand/mantissa digit-wise) to fixed integer 24-bit, not "far greater" or "considerably higher"?
 
But again, I certainly don't want to infer anything, so in the interest of precision, perhaps Craig would care to elaborate on precisely what he meant in his HC article?
 
drewfx1It's very simple. We can go through the math, but for people who aren't interested in going through the math (or doing controlled null tests), the answer is this:
 
Yes there are errors, but they accumulate quite slowly - to the extent that often relatively few of them even make it into 24bit output, much less at an audible level.


So you say, repeatedly, here and in other posts. While conveniently omitting any consideration of whether such errors may propagate through subsequent DSP operations and gain alteration so as to manifest toward audibility at the bigger end. Not that possible error manifestation due to error propagation via downstream DSP would show up when null testing the mix engine's output as you did with FX disabled anyway.
 
Now, I must admit that I hadn't paid much attention to your earlier so-called "null test" post before, once I'd noticed that you'd disabled all FX when exporting. But just now looking at your "null test" post again, your testing methodology does raise one question:
 
What exactly was being nulled?
 
I'm travelling right now and can't load up that same X2 demo project which you employed for your "null test", but IIRC, that demo project had an already-mixed down track soloed (with some FX (in the Pro Channel?) on it, sort of like the mixdown was being "mastered"?).
 
Now, if my recollection about that demo project is correct, then I wonder if, besides disabling all FX, did you also bother to disable track and bus mute/solo when exporting? There's absolutely no mention of that in your post above that I can see, so what should one infer from that?
 
Otherwise, seems only that soloed mixdown track would have been exported, without any gain alteration or mixing (or FX processing) actually being performed in the mix engine during the export, but merely the copying of only the (already rendered) mixdown track to the export destination files followed by nulling of the thusly exported files. If so, that could certainly account for the lack of any significant difference between the exported files when nulled against each other.
2013/11/26 23:10:23
Splat

 
If only I had recorded this in 64 bit precision ..... like he did:


2013/11/27 01:29:37
Anderton
Goddard
 
Um, how about in [Craig's] paragraph which you snipped out?:
 
Recording resolutions higher than 24 bits are fictional, due to the limitations of A/D technology. But your sequencer’s audio engine needs far greater resolution.
 
This is because a 24-bit piece of audio might sound fine by itself. But when you apply a change to the signal (level, normalization, EQ, anything), multiplying or dividing that 24-bit data will likely produce a result that can’t be expressed with only 24 bits. Unless there’s enough resolution to handle these calculations, roundoffs occur—and they’re cumulative, which can possibly lead to an unpleasant sort of “fuzziness.” As a result, your audio engine’s resolution should always be considerably higher than that of your recording resolution.

 
Now, I don't want to infer anything from "unpleasant sort of fuzziness" as to whether that implies audibility, or even guess at what Craig meant by "far greater" or "considerably higher." Although surely, 32-bit single precision float is only equivalent in resolution (significand/mantissa digit-wise) to fixed integer 24-bit, not "far greater" or "considerably higher"?
 
But again, I certainly don't want to infer anything, so in the interest of precision, perhaps Craig would care to elaborate on precisely what he meant in his HC article?



Sure. First of all, here's a great article on DSP precision and such.
 
By "unpleasant sort of fuzziness," if anyone ever used Sound Tools on a Mac Plus with a 16-bit audio engine, you'd know exactly what I mean It was fairly easy to run out of resolution, and the results were audible (the technical term would be "nasty").
 
The advantage of floating point is it's kind of like the computer equivalent of scientific notation. While the accuracy of 32-bit float is equal to 24-bit fixed, floating point can represent much larger numbers, giving a larger dynamic range. With fixed, the word length is the ultimate dynamic range. With floating-point, the exponent determines the ultimate dynamic range. Also with floating point, because the numbers are scaled to use the full word length, accuracy is maintained for smaller numbers than fixed.
 
Arguably the biggest practical advantage of floating point over fixed isn't sound quality but having plenty of headroom in the mix/processing engine so you don't have to be so concerned about gain-staging and headroom.
2013/11/27 01:46:19
Jeff Evans
so you don't have to be so concerned about gain-staging and headroom.... 
 
But you should be concerned with correct gain staging and headroom. With careful gain staging and care and especially using an approach such as the K system you can complete a project from tracking to mixing and not come anywhere near 0 dB FS in the process. And not bring a single clip light on and not overload a single plug-in. This is still a better approach than perhaps being careless here and there and relying on the mix buss processing to save your bacon. Obviously the ultimate approach is to do both. But if you are careful with gain staging you actually don't need floating point processing at all or use the 64 bit processing engine. I do both though, careful gain staging and use the 64 bit double resolution engine during the mix.
 
There are a million things you can do to point you towards a beautiful pristine mix and it is about EQ, balance, dynamics and effects processing. These things are all way more important than 64 precision engines or floating point use. A mix like this even done on a standard 32 bit OS is still going to kill any mix that is average but using 64 bit precison engines or floating point processing. Careful gain staging and knowing what your headroom is all the way along goes along way to towards this.
 
 
2013/11/27 02:06:24
Anderton
Jeff Evans
so you don't have to be so concerned about gain-staging and headroom.... 
 
But you should be concerned with correct gain staging and headroom. With careful gain staging and care and especially using an approach such as the K system you can complete a project from tracking to mixing and not come anywhere near 0 dB FS in the process. And not bring a single clip light on and not overload a single plug-in. This is still a better approach than perhaps being careless here and there and relying on the mix buss processing to save your bacon. Obviously the ultimate approach is to do both. But if you are careful with gain staging you actually don't need floating point processing at all or use the 64 bit processing engine. I do both though, careful gain staging and use the 64 bit double resolution engine during the mix.




I said you don't have to be so concerned, not that you shouldn't be concerned, and I qualified it with "arguably the biggest practical advantage..." If a mix is set up perfectly and a channel goes into the red from time to time, you don't have to panic about it distorting. To most users I think that would be considered a practical advantage of having more headroom.
 
I'm "old school" and still consider a mix a performance, so I tend to slam the faders and get carried away. To avoid clipping issues for this type of mixing, my "insurance" is before setting mixer faders, I go through each channel and adjust the input Gain so nothing goes into the red or clips on a channel (especially plug-ins). Once I know there's no distortion within the channels, then I can go nuts with the individual channel faders.
 
And for "fader creep," there's nothing better than Quick Grouping
2013/11/27 02:11:35
Sycraft
Anderton
 
Sure. First of all, here's a great article on DSP precision and such.
 
By "unpleasant sort of fuzziness," if anyone ever used Sound Tools on a Mac Plus with a 16-bit audio engine, you'd know exactly what I mean It was fairly easy to run out of resolution, and the results were audible (the technical term would be "nasty").
 
The advantage of floating point is it's kind of like the computer equivalent of scientific notation. While the accuracy of 32-bit float is equal to 24-bit fixed, floating point can represent much larger numbers, giving a larger dynamic range. With fixed, the word length is the ultimate dynamic range. With floating-point, the exponent determines the ultimate dynamic range. Also with floating point, because the numbers are scaled to use the full word length, accuracy is maintained for smaller numbers than fixed.
 
Arguably the biggest practical advantage of floating point over fixed isn't sound quality but having plenty of headroom in the mix/processing engine so you don't have to be so concerned about gain-staging and headroom.



You nailed it, as always. What it comes down to is floating point gives fixed precision over a wide range and that is why it is useful. Take a 24-bit integer signal, reduce the volume by 48dB, you just lost 8-bits of precision, it is a 16-bit signal now precision wise. With FP, no problem, precision is maintained until you get very small or very large. That also, of course, means you can go above 0dBFS and lose nothing. Within a pretty wide range, you maintain 24-bit of precision regardless of the absolute level, so when you mix down to a fixed 24-bits of precision, nothing has been rounded or lost.
 
 
In terms of 64-bit vs 32-bit FP for audio, it is largely a non-issue. I haven't had someone show me a realistic scenario yet where you would do processing that would even approach theoretical audibility (as in something a DAC could actually reproduce) never mind actual audibility. Also it isn't such an issue on the mix bus of a DAW because most plugins are only 32-bit anyhow. Have a look at your plugins in the browser sometime, Sonar will tell you which are "double precision" which means that they take 64-bit input and output. Very few other than the ones from Cakewalk are. So the audio is getting rounded down when it hits the plugins anyhow, and there are what is throwing all the math at stuff.
 
Not to say there's anything wrong with it. Having extra precision is good, then you don't have to worry about quantazation errors. However I wouldn't worry about having to turn it off at all. Particularly if you are messing with the console and tape emulators since the function of those is to raise the noise floor (among other things), hence masking may of the least significant bits. Even if you had something crazy going on and you were getting errors up to the 18th bit, -108dB, it wouldn't matter if you were running emulators that had raised the noise floor to -60dB, you aren't going to hear that error 40+dB below the noise.
 
Basically don't worry about it. If it causes you no issues, leave it on, extra precision won't hurt and  modern computers have no problems doing double precision math. If it is causing trouble, turn it off, it really isn't important.
2013/11/27 02:16:53
Anderton
Sycraft
 
Basically don't worry about it. If it causes you no issues, leave it on, extra precision won't hurt and modern computers have no problems doing double precision math. If it is causing trouble, turn it off, it really isn't important.




An excellent summary.
2013/11/27 02:19:16
vintagevibe
I don't know if this has been mentioned but I leave it off and only turn it on for mixdown so the final result gets whatever benefits. 
© 2026 APG vNext Commercial Version 5.1

Use My Existing Forum Account

Use My Social Media Account