Loading…
Tuesday, November 16 • 15:00 - 15:50
C++ Expression Templates for Specifying Compile-time DSP Structures

Log in to save this to your schedule, view media, leave feedback and see who's attending!

We explore the use of expression templates for the zero-overhead composition of small units of DSP.

Our primary aim is to approach the low-friction, fine-granularity expressiveness of DSL systems like FAUST, while staying fully within the confines of C++ and allowing the full use of its type system. With this, the final graph construct is a simple C++ class, which can be instantiated and exercised without any scaffolding or external tooling. The conceptual machinery can be uniform, where tunable algorithm parameters quickly reduce to ordinary graph data and are processed themselves in one flat graph space.

The idea naturally extends to the processing of arbitrary data types through the graph - such as abstract control types, and types supporting block-based and frequency-domain processing. Further, it is trivial to embed the resulting classes into plugins via template adapters. Finally, the expression-template paradigm enables global optimization of the result.

When using such a system, development can be a very low-friction process, granularity can be fine, and the exact same user code can be embedded into both real-time and offline contexts without special affordances.

IF YOU ARE ATTENDING ONLINE, ALL TALK SESSIONS CAN BE ACCESSED FROM THE MAIN LOBBY: https://conference.audio.dev

Speakers
avatar for Matthew Robbetts

Matthew Robbetts

Matthew is a C++-focused audio developer with a passion for bringing highly expressive, functional-programming approaches to real-time systems.He previously worked for Apple, where he was responsible for audio/telephony DSP algorithm development; and currently works for Syng, on their... Read More →


Tuesday November 16, 2021 15:00 - 15:50 GMT
2) AltTab 10 South Pl, London EC2M 7EB, UK