Back To Schedule

Safe and Sound: Using C++ Audio Libraries from Rust

15:00 - 15:50 | Wednesday 12th November 2025 | Bristol 2
Intermediate
Advanced

Rust is a systems programming language that offers strong safety guarantees, fearless concurrency, and real-time performance. It's a great fit for writing audio applications, but many of the mature libraries in this space are written in C++. How can we bridge that gap and make use of these C++ audio libraries in Rust?

In this talk, we will explore techniques for integrating C++ libraries into Rust applications without sacrificing performance or ergonomics. We'll use Rust's Foreign Function Interface (FFI) to build low-level bindings to C++ libraries, and show how tools like cxx can streamline the process. We'll then layer on a safe, idiomatic Rust interface that leverages the type system, borrow checker, and traits to create expressive and ergonomic APIs. Along the way, we will look at examples from real-world audio libraries like Cmajor and JUCE, highlighting how to handle common challenges and guide correct usage through the type system.

Attendees will leave with practical techniques for wrapping C++ libraries safely in idiomatic Rust, with a focus on audio applications.

James Hallowell

Senior Software Developer

Focusrite

James is a Senior Software Developer at Focusrite. He originally joined in 2017 to work on control software in the Pro Audio segment and currently leads a team developing internal tools and libraries. A longtime C++ developer and keen Rustacean, he is interested in exploring ways to bridge the two languages to leverage the strengths of each.

VolumetricCondensed