David Trevelyan
Director
David Trevelyan Audio Limited
About Me
I've been developing software for 15 years in academia, start-ups, big tech, and as an independent consultant. I completed a PhD in computational physics at Imperial College London before becoming an early engineer at Jukedeck, taking the company to acquisition by TikTok in 2019. At TikTok I spent 4 years as technical lead and architect of the company's foundational real-time audio and music processing SDK. Here I also designed and led the development of a number of fun new musical experiences, including mawf - an interactive AI timbre-transfer plugin instrument, which can be downloaded for free at https://mawf.io.
More recently, I invented RealtimeSanitizer which (thanks to my talented co-authors) is now integrated into the LLVM project. Most of my work now is as an independent audio software engineering consultant. My experience covers the full audio stack; high-level audio systems and multi-threaded architecture, real-time neural network inference, virtual instrument and engine development, digital and virtual-analogue signal processing, SIMD optimisation, and developer tooling. If I can help on your project, please get in touch!
Sessions
-
LLVM’s Real-Time Safety Revolution
RealtimeSanitizer and Performance Constraints Attributes11:20 - 12:10 UTC | Wednesday 13th November 2024 | Bristol 2BeginnerIntermediateAdvanced"Error: RealtimeSanitizer: call to malloc detected during execution of nonblocking function MyAudioCallback::process!" "Warning (-Wfunction-effects): nonblocking function `MyAudioCallback::process` must not call blocking function `SketchyCall`" Real-time programmers working on mission-critical audio, autonomous vehicle, and aerospace code are well-acquainted with the golden rule: “Thou shalt not call time-unbounded operations in your real-time thread.” Despite its importance, tools to enforce this rule have been non-existent—until now! At ADC 2023, we presented RealtimeSanitizer; and now it's coming to mainline Clang. In the latest version of LLVM, RealtimeSanitizer (now RTSan) forms one of two new features that help uphold real-time guarantees by detecting calls to malloc, […]