Skip to content
Rift Studio
Back to blog
Engineering

Building the Audio Engine: 64-bit float from day one

When we started building Rift Studio's audio engine, we made a decision that would affect every line of DSP code we'd ever write: the entire signal chain would use 64-bit floating point. No exceptions.

Why 64-bit?

Most DAWs process audio at 32-bit float internally. At a single-track level, 32-bit float is more than sufficient — it provides around 150 dB of dynamic range. But when you start summing dozens of tracks, applying cascaded processing, and running feedback loops, rounding errors accumulate.

64-bit float gives us roughly 300 dB of dynamic range. In practice, this means: - Summing is cleaner, even with 100+ tracks - Cascaded plugins (EQ → compressor → EQ → limiter) accumulate less error - Feedback loops in the Modular Grid don't degrade over time - Automation curves resolve more precisely

The Performance Cost

64-bit processing uses roughly 60% more memory bandwidth than 32-bit. On modern hardware with fast memory and large caches, this is barely noticeable for most projects. We offset the cost with SIMD optimizations and a lock-free audio thread that eliminates allocation during processing.

Our benchmarks show Rift Studio's 64-bit engine performs within 10% of a comparable 32-bit implementation — a margin that shrinks to near-zero on Apple Silicon and AMD Zen 4 architectures.

Automatic Latency Compensation

The engine also handles plugin delay compensation automatically. Every node in the signal chain reports its latency, and the engine compensates by delaying parallel paths. You never need to think about it — everything stays in phase.

What This Means for Your Music

Honestly, most users won't hear the difference between 32-bit and 64-bit in a normal mix. But for complex productions with heavy processing, spatial rendering, and the Modular Grid's arbitrary routing, 64-bit gives us headroom we never have to worry about. And that peace of mind is worth the engineering investment.

Want to try the features mentioned in this post?