ARA2 No sound in 64bit processing

I have the same problem and I am on MacOS 10.13.6 (High Sierra). Hopefully they will sort this one soon, because we need to restart Cubase every time we switch between 64 bit precision and 32 bit precision and to me getting 64 bit floating point processing precision was one of the most significant upgrades of Cubase ever and I am not going back. (I bought my Cubase license when 3.0 was released in the mid 90’s.)

Disclaimer: I respect that other insist on that there is no audible difference between 32 bit and 64 bit floating processing precision, just like I respect that some people say that they can’t hear the difference between 24 bit and 128 kbit/s MP3. I do however have a different opinion.

But at the same time, the difference is almost certainly going to be inaudible. I’ve never heard of a good real-world use case for 64-bit precision processing, other than “more must equal better.” If you had a signal at -200dbfs then had boosted it +200db, sure you’ll hear the difference as a result of the improved precision involved in the processing, but that’s not a real-world scenario.

You’ll see this type of thing in Plugin Doctor. Plugins with double-precision processing will be clean as a whistle down below -200dbfs. If the internal precision is 32-bit, you might see some quantization errors around -185db or so. Your converter probably has a functional signal to noise ratio of maybe 115-130db if you’re lucky. So even if you ran a bunch of 32-bit plugins in your DAW, the noise would remain way below what you’re converter is going to output. Therefore, 64-bit processing probably isn’t going to have a real-world, audible impact. At least, that’s my non-technical understanding of it all.

Someone should put together a double blind A-B with 64-bit on/off in a typical project with a mix of plugins (some 64-bit processing, others not). I highly doubt anyone would be able to hear the difference with any regularity. But I bet if you told people the results, they’d swear that the 64-bit version was more “3D sounding” and had more “depth” or “rounder transients” or something.

If anyone is interested in why Steinberg introduced 64 bit processing in Cubase 9.5 and WaveLab, here is an explanation from the guy behind WaveLab:

"The interest of 64 bit float is not about “headroom” / “dynamic range”…

pro:
no need to convert between 32 bit and 64 bit float: 64 bit is needed by some plugins for their internal computations. 64 bit then means: small performance gain and no precision lost between succeeding 64 bit plugins.
Better audio precision when mixing audio signals. I explain this at the end of this message.
If audio devices ever go beyond 24 bit precision, 64 bit float will be needed (because 32 bit float means, in fact, 24 bit precision)
con:
requires more memory, which can mean a performance lost (more memory to move). But as soon as a sophisticated plugin is used, this one is likely to become the bottleneck, compared to the memory overhead. Therefore, this is a “relative con”.
64 bit CPU instructions are as fast as 32 bit instructions, because the CPUs are 64 bit today. But certain rare instructions are faster with 32 bit float, because the CPU can conjugate 2 of them while in the same time, only one 64 bit instruction is performed (SIMD).
Now, an explanation about 32 bit float vs 64 bit float, for mixing.
While 32 bit float means in fact 24 bit precision, 64 bit float means in fact 48 bit precision. This means, far more precision.
I can illustrate this difference with elementary school maths (this is an analogy of what happens in reality).
Let’s say samples can have only values 0, 1, 2, 3, 4, 5,…
Let’s start with a sample that has value “3”
An audio gain of “divide by 2”, is applied. We get the value “1.5”, but this value is not allowed hence must be rounded, eg. the new value becomes 1.
Later another gain “multiply by 2” is applied. The new sample becomes “2”.
Consequence: we started from value “3” and ended up with value “2”, while the two gains should have cancelled each other.

When this kind of loss is performed multiple of times (complex mixing), then errors stack up.
The consequence is not dramatic, because some errors are (randomly) compensated by others (round-down / round-up), but this compensation actually means “digital fog” aka noise.

64 bit float processing pushes the digital fog far from the 24 bit domain. Hence a cleaner result at the end of the audio chain.

The difference 32/64 is therefore about “audio definition”, if your ears can sensible enough. But that’s another topic!
Philippe"


This was originally posted here: 32-bit or 64-bit? - WaveLab - Steinberg Forums

It’s not, but it sort of is and that post you quoted actually explains why. The result of the errors of 32-bit precision compared to 64-bit is noise. The guy from Wavelab outright says so in the text you quoted. No one disputes that. And he ends with the same question I did, which is: can anyone hear the difference? The noise levels we’re talking about as a result of the errors (rounding up/down) is going to be below the noise floor of any converters, which if so, begs the question: what’s the point? If there’s some noise as a result of quantization errors at -170dbfs clouding up the mix, who cares? I’ll never hear it. You’ll never hear it. That’s 55db BELOW what my converter can output in a best case scenario (not to mention the dithering noise you’d use to produce a 16-bit CD) and probably over 130db below the ambient noise level in my room. Your speakers alone produce more noise than that. So in practice, the 64-bit math becomes kind of pointless. If 64-bit precision pushed that -170dbfs quantization noise down to negative infinity it wouldn’t make a difference in any normal use-case because you’ll never be in a situation where you’d be able to hear the difference. Now, it will be more technically accurate. It will be more mathematically accurate. But in practice, I don’t think anyone will hear the difference.

Now, if the noise produced by all those tiny little rounding errors were actually above -120dbfs, then that’d be a different story entirely.

Agree, that’s why I tend to focus on what can be more tangible, the performance.
I can see a bit of performance increase using 64bit float, but not enough that it makes a real difference in my projects.
Worth trying out, and decide for yourself.
I use 64bit float because, why not ? would I have to use 32bit float until the ARA2 integration in Cubase is fixed then, why not ?
Not really a big issue IMHO, it’s not as any client would ever being able to hear it anyway. The degradation of the signal by using Melodyne is a magnitude bigger, double precision or not.

Funkybot: Please note that your quote is not my words, it’s Philippe Goutier’s, the man behind Steinberg’s Wave Lab words. I have edited my post now and put his entire quote in brackets to prevent any misunderstandings.

First of all, if you or your client’s or or your audience can’t hear a difference, then it doesn’t matter. That is always true. But if you can hear a difference, but don’t understand it technically, the difference still exist.

This is not about raising the word length of a master from 32 to 64 bit. That would be pointless because you could probably not hear any of the information carried by the 40-42 least significant bits anyway.

Of course, like you are saying, dealing with levels below -120 dB is pointless. But if Steinberg and many other digital audio companies are working with longer word lengths in various internal processes in digital mixing consoles DAW and plugins, then there is probably a good reason for it.

“64 bit processing precision” is about something completely different and more complex than storing a stereo audio file on for example CD or in any other mass distribution format, it’s about minimizing rounding error when doing multiple complex calculations in plugins and other DSP processes. It’s all about what is actually above the noise floor, about the things we actually can hear.

Look at the complexity of a DAW mix. First of all we dump 12-18 dB to hit the plugins at the right internal level. That’s 2-3 bits gone. When summing two identical tracks the result is +6dB (another bit) add more track and you add more bits, that’s why all digital mixer since the 90’s work with many bits internally. Then you are moving the levels up and down for every 6dB you reduce the output fader you need another bit. Then we send the signals to various plugins and if they add less rounding errors thanks to better processing precision, they will sound better. Like summing channels in the mix process. There is a reason why some people prefer analogue summing. Digital audio is far from perfect, it’s just that the problems are more complex to understand than in the analogue world.

But at the end of the day, if you can’t hear the difference, then the difference doesn’t matter to you or your work. This is regardless of what we are discussing. If you can’t hear the difference between 16 bit and 24, use 16 etc, etc.

For me 64 bit was a significant upgrade and I don’t want to go back because of a bug in Cubase or Melodyne. I will switch to 32 bit whenever I want to use Melodyne and I will freeze the track and switch back to 64 bits when I have done what I need to do in Melodone, that’s my way of dealing with this and to me it’s worth it.

Do we have to have 64 bit to do a good job? Of course not. I can start up my Win 95 PC with my Yamaha DSP Factory hardware and Cubase SX2 and record. Just like I can pick up a cheap Harley Benton guitar from Thomann and use it on stage or in a recording, but now when I own Custom Shop and vintage instruments I prefer to use them. It’s the same with Cubase. I am really happy with Cubase Pro 10 on Mac and my UAD hardware and plugin collection and I prefer to use that instead of any of my older DAWs.

The reason for my first posting here was really to show Steinberg and other Cubase users that we are many Cubase user who are experiencing the same problem and we would appreciate if this bug was solved before the next major release later this year.

I sincerely hope that this post didn’t offend anyone. :slight_smile:

still cant believe that Steinberg didnt notice no audio in 64bit before release 10.0.30 … This can not happen to amateurs either !!!

@Steinberg … where are you now? Urgent fix is necessary

Why do you think they didn’t know ?
It would have been nice with a big “NOTICE” about the fact, sure.
But with all the whining and crying about the release date, they delivered a workable version.
Use the 32bit float engine while using ARA2 until 10.0.40 is out, no need for a Urgent hotfix, that just drama.

I am grateful that Steinberg even started to implement ARA since it is not usual for them to adopt standards coined by other companies. I can imagine that the amount of work which had to be done was enormous. If you expected a complete and bug-free initial release then your expectation was simply unrealistic.

Miloslav

They had to know. And I agree with Peakae, it is not a big deal. I seem to remember another DAW were 64 bit precision wouldn’t work with some plugins at first. Just turned it off and went about creating as it got worked out.

If they knew about this, it is more like “kids are playing programming”, i think this is not the case for a big company like Steinberg … What is happening to them :confused: ?



So , we need to wait at least 2 months for the next 10.0.40

this is ridiculous

wrong. :unamused:

It´s so simple: switch 32 Bit engine in prefs, then everything works !


you do not hear any difference 64 vs. 32 Bit :bulb:

.

I’d bet money that’s exactly what happened. “There’s a workaround, it’s otherwise ok, users are clamoring for it and we’re way behind our publicly stated schedule, let’s release as is and fix that, along with any new issues on day 2.”

Do not work here in 64 nor in 32 bit. No sound at all. Switched, restarted cubase, the computer, fresh c10 project : no sound comes from melodyne (studio). All up to date.

Apologies for being pedantic, but…

In recursive processing, small round off errors accumulate, and can become quite noticeable. That’s why recursive processing is almost always done with 64 bit floats. Delays and reverbs, for example, would be unusable if done in 32 bit. That’s not to say the engine needs to handle the data between plugins in 64 bit (which is what the 64 bit engine option does) in order for plugins to do their processing in 64 bit, but it does eliminate the need for the plugin to convert back and forth between 32 and 64.

In other words, the 64 bit engine option has nothing to do with precision. In cases where precision is important, 64 bit is always used regardless of whether the engine option is set to 32 or 64. The 64 bit engine option is about efficiency. In any case, 64 bit math is far from pointless :slight_smile:.

And this is what 32 bit truncation sounds like :

That people are even giving them a free pass on this is beyond belief. Well, I can believe it; white knights will excuse anything. It’s simply unconscionable that they’re doing it.

64-bit was a -selling point- for one of the last versions (9.5, I believe). ARA2 was a -selling point- of 10. We shouldn’t have to sacrifice one to get the other. Nor should we have to wait a quarter for a fix. Bollocks to that.

This is the same “QA” department which left the visualisations for the virtual keyboard -broken- in 9.5, all the way to the last maintenance patch, where it is forever broken to this day. It only got fixed again in 10. And white knights defended that as an irrelevance which would get fixed, too.

I’m a sysamin and a programmer. If my code doesn’t work, people lose money. We have regression testing -and- QA for a -reason-. This is flat-out inexcusable, and nobody’s going to convince me otherwise. Anyone saying (effectively), “Bugs happen, this was to be expected,” is either an amateur, or a “professional” I would never hire (or willingly work with). Yes, they happen; then you fix them -before release-.

Jesus wept.

Grateful for ARA2 in general. (Now I can give up Studio One, and tell PreSonus to get bent if they don’t shape up.) HOWEVER, Cubase’s QA is starting to look more and more like PreSonus’ QA, which is an absolutely tragic state of affairs.

For Mac users, at least, we need 64 bit before OS Catalina is launched. From the Apple site: ‘Apple began the transition to 64-bit hardware and software technology for Mac over a decade ago, and is working with developers to transition their apps to 64-bit. At our Worldwide Developers Conference in 2018, Apple informed developers that macOS Mojave is the LAST version of macOS to run 32-bit apps.’

That refers to 64 bit pointers and is different than the subject of 64 bit floating point representation. They both have a ‘6’ and a ‘4’, but aside from that, they are completely unrelated matters :slight_smile:.