Tag: cplusplus

Lock-free Queues in the Multiverse of Madness – Dave Rowland – ADC 2025

  • Lobby
  • Tag Archives: cplusplus

https://audio.dev/ -- @audiodevcon​
ADC Japan - 1st - 3rd June
ADC Bristol ​- 9th - 11th November
---

Lock-free Queues in the Multiverse of Madness - Dave Rowland - ADC 2025
---

Lock-free queues are the unsung heroes of audio software systems, quietly enabling ultra-low latency and thread-safe communication across a dizzying variety of scenarios. But just like navigating a multiverse, the world of lock-free queues is filled with many different variants-each with their own quirks, trade-offs, and hardware demands.

In this talk, we’ll embark on a journey through this multiverse, starting with the simplest dimension: the single-producer, single-consumer queue. We’ll uncover why lock-free designs often outshine traditional lock-based approaches in real-time audio environments, and explore various implementations along with their pros and cons.

From there, we’ll warp into more complex realities featuring single-producer, multi-consumer and multi-producer, multi-consumer queues. Along the way, we’ll tackle mind-bending concepts like memory ordering, cache coherence, and platform-specific behaviour.

By the end of this adventure, you’ll have the insight needed to confidently select and implement the perfect lock-free queue for your audio projects-no matter how mad the multiverse gets.
---

Slides: https://drowaudio.github.io/presentations/ADC%202025%20-%20Lock-free%20queues%20in%20the%20multiverse%20of%20madness/Lock-free%20queues%20in%20the%20multiverse%20of%20madness.pdf
---

Dave Rowland

Dave Rowland is the CTO at Audio Squadron (owning brands such as Tracktion and Prism Sound), working primarily on the digital audio workstation Waveform, and the engine it runs on. David focuses on the architecture and real-time elements of the software.

In academia, David has taught on several modules at the University of the West of England on programming for audio. David has a passion for modern C++ standards and their use to improve code safety and brevity, has spoken at Meeting C++, C++ on Sea, C++ Online and is a regular speaker at the Audio Developer Conference and related monthly meetup. Past presentations: https://github.com/drowaudio/presentations/

---

ADC is an annual event celebrating all audio development technologies, from music applications and game audio to audio processing and embedded systems. ADC’s mission is to help attendees acquire and develop new audio development skills, and build a network that will support their audio developer career.
Annual ADC Conference - https://audio.dev/
https://www.linkedin.com/company/audiodevcon

https://facebook.com/audiodevcon
https://instagram.com/audiodevcon
https://www.reddit.com/r/audiodevcon/
https://mastodon.social/@audiodevcon
---

Streamed & Edited by Digital Medium Ltd: https://online.digital-medium.co.uk
---

Organized and produced by JUCE: https://juce.com/
---

Special thanks to the ADC25 Team:

Sophie Carus
Derek Heimlich
Andrew Kirk
Bobby Lombardi
Tom Poole
Ralph Richbourg
Jim Roper
Jonathan Roper
Prashant Mishra

#adc #audiodev #dsp #audio #conferenceaudio #audioprocessing #audioproduction #audioprogramming #sound #music #musictech #soundtech #audiotech #audiotechnology

Filed under: UncategorizedTagged with: , , ,

Efficient Task Scheduling in a Multithreaded Audio Engine – Rachel Susser – ADC 2025

  • Lobby
  • Tag Archives: cplusplus

https://audio.dev/ -- @audiodevcon​
ADCx Copenhagen - 28th April
ADC Bristol ​- 9th - 11th November
---

Efficient Task Scheduling in a Multithreaded Audio Engine - Algorithms and Analysis for Parallel Graph Execution - Rachel Susser - ADC 2025
---

The engine of an audio application is responsible for executing tasks in a sequence that ensures prerequisites are completed before dependent tasks begin. However, computing resources are limited, even on modern, multi-core machines, and there are often more ready tasks than there are threads available to execute them. How can programs determine which tasks to assign to which threads and in what order? Are there specific challenges when it comes to scheduling tasks in real-time audio applications? How do different approaches to scheduling impact performance? This talk will address these questions and describe in particular the impact of using work-stealing queues to schedule audio processing tasks in a DAW.
---

Slides: https://data.audio.dev/talks/2025/efficient-task-scheduling-in-a-multithreaded-audio-engine.pdf
---

Rachel Susser

Rachel Susser is a software engineer with over 10 years of industry experience developing real-time audio software in C++. She has worked at both the operating system and application level for companies including ROLI, Apple, and Ableton, where she is currently works on Live's audio engine. She co-coordinates the Audio Developer Meetup Berlin and is the founder of the Better Code Study Group at Ableton. Rachel is also a musician, most often seen playing flute.

---

ADC is an annual event celebrating all audio development technologies, from music applications and game audio to audio processing and embedded systems. ADC’s mission is to help attendees acquire and develop new audio development skills, and build a network that will support their audio developer career.
Annual ADC Conference - https://audio.dev/
https://www.linkedin.com/company/audiodevcon

https://facebook.com/audiodevcon
https://instagram.com/audiodevcon
https://www.reddit.com/r/audiodevcon/
https://mastodon.social/@audiodevcon
---

Streamed & Edited by Digital Medium Ltd: https://online.digital-medium.co.uk
---

Organized and produced by JUCE: https://juce.com/
---

Special thanks to the ADC25 Team:

Sophie Carus
Derek Heimlich
Andrew Kirk
Bobby Lombardi
Tom Poole
Ralph Richbourg
Jim Roper
Jonathan Roper
Prashant Mishra

#adc #audiodev #dsp #audio #conferenceaudio #audioprocessing #audioproduction #audioprogramming #sound #music #musictech #soundtech #audiotech #audiotechnology

Filed under: UncategorizedTagged with: , , ,

Creative Coding – Geometry and OpenGL with Audio – Jake Morgan – ADC 2025

  • Lobby
  • Tag Archives: cplusplus

https://audio.dev/ -- @audiodevcon​
ADC Japan - 1st - 3rd June
ADC Bristol ​- 9th - 11th November
---

Creative Coding - Geometry and OpenGL with Audio - Jake Morgan - ADC 2025
---

This talk explores the intersection of creative coding, geometry, and computational sonics, demonstrating how geometric concepts and algorithms not often seen in DSP can be used as a modulation source or for audio playback. We'll cover general relationships and practical methods for translating shapes, patterns, and spatial relationships into dynamic audio processes.

Building on these experimental approaches we'll discuss strategies to create standalone creative applications as well as commercial plugins. Examples will transform geometric concepts and visuals into performant DSP with C++ and OpenGL. Attendees will leave with insights for generative audio, modulation systems, and experimental GUI design, bridging the gap between abstract experimentation and market-ready tools.

Whether you're a DSP engineer, sound designer, or toolmaker, this talk offers fresh perspectives on turning mathematical beauty into functional audio products.
---

Jake Morgan

Jake Morgan deems himself an experimental tool and sound maker. He is based in Los Angeles, California and is finishing his Bachelor's degree at California Institute of the Arts in Music Technology. His current obsession is creating relationships between geometry and computational sonics. While this obsession is his current endeavor, many of his past works focus on algorithmic composition and algorithmic signal processing alongside free plugin releases and releasing music under his artist name 'public services'
Jake would happily talk your ear off about DSP or whatever incredible album he discovered that week. He loves diving deep into the details and thrives on learning as much as possible. Above all, he’s really looking forward to meeting everyone and soaking up all the knowledge he can.

---

ADC is an annual event celebrating all audio development technologies, from music applications and game audio to audio processing and embedded systems. ADC’s mission is to help attendees acquire and develop new audio development skills, and build a network that will support their audio developer career.
Annual ADC Conference - https://audio.dev/
https://www.linkedin.com/company/audiodevcon

https://facebook.com/audiodevcon
https://instagram.com/audiodevcon
https://www.reddit.com/r/audiodevcon/
https://mastodon.social/@audiodevcon
---

Streamed & Edited by Digital Medium Ltd: https://online.digital-medium.co.uk
---

Organized and produced by JUCE: https://juce.com/
---

Special thanks to the ADC25 Team:

Sophie Carus
Derek Heimlich
Andrew Kirk
Bobby Lombardi
Tom Poole
Ralph Richbourg
Jim Roper
Jonathan Roper
Prashant Mishra

#adc #audiodev #dsp #audio #conferenceaudio #audioprocessing #audioproduction #audioprogramming #sound #music #musictech #soundtech #audiotech #audiotechnology

Filed under: UncategorizedTagged with: , ,

Community & Sharing in Native Audio Apps – Without Browser Overhead – Johannes Bochmann

  • Lobby
  • Tag Archives: cplusplus

https://audio.dev/ -- @audiodevcon​

Community & Sharing in Native Audio Apps - Without Browser Overhead - Johannes Bochmann - ADCx Gather 2025

Many audio applications would benefit from built-in community features — like user-curated preset libraries, collaborative content creation, and user-to-user interaction — but typical solutions often mean bloated browser frameworks or complex backend infrastructure.

This talk introduces a modular, lightweight framework that lets you embed these features directly into your native C++ audio applications, without relying on embedded browsers or third-party servers. We’ll explore how structured content, flexible access rules, and a built-in credit system enable shared presets, gated access, revenue sharing, and more — all seamlessly integrated within your app.

Through practical strategies and real-world examples — such as turning a synthesizer into a self-sustaining ecosystem — you’ll learn how to lower onboarding friction, boost user participation, and unlock new monetization models by empowering your users to create, contribute, and engage.
---

Johannes Bochmann

Johannes is a C++ developer with a unique background in both computer science and music synthesis. He's passionate about tools that empower communities and creative expression.

In past lives, he ran a club in Berlin, juggled a few interesting gigs, and always kept one foot in the world of music and technology. When he's not coding, you’ll probably find him up in the air paragliding or soaking in the quiet of nature.

---

ADC is an annual event celebrating all audio development technologies, from music applications and game audio to audio processing and embedded systems. ADC’s mission is to help attendees acquire and develop new audio development skills, and build a network that will support their audio developer career.
Annual ADC Conference - https://audio.dev/
https://www.linkedin.com/company/audiodevcon

https://facebook.com/audiodevcon
https://instagram.com/audiodevcon
https://www.reddit.com/r/audiodevcon/
https://mastodon.social/@audiodevcon
---

Streamed & Edited by Digital Medium Ltd: https://online.digital-medium.co.uk
_

Organized and produced by JUCE: https://juce.com/
_

Special thanks to the ADCxGather Team:

Sophie Carus
Derek Heimlich
Andrew Kirk
Bobby Lombardi
Tom Poole
Ralph Richbourg
Jim Roper
Jonathan Roper
Prashant Mishra

#adc #audiodev #dsp #audio #conferenceaudio #audioprocessing #audioproduction #audioprogramming #sound #music #musictech #soundtech #audiotech #audiotechnology

Filed under: UncategorizedTagged with: , , ,

How To Learn Audio Plugin Development With JUCE in 2026 (for free) – Jan Wilczek & Tom Poole – ADC

  • Lobby
  • Tag Archives: cplusplus

https://audio.dev/ -- @audiodevcon​
ADCx Copenhagen - 28th April
ADC Bristol ​- 9th - 11th November
---

How To Learn Audio Plugin Development With JUCE in 2026 (for free) - Jan Wilczek & Tom Poole - ADC 2025
---

I am a sound engineer and I’d like to create my own plugins. How can I do it?

I’m a musician and I need a custom virtual instrument. How can I build one?

I’m a web developer and I’d like to transition to audio development. What do I need to learn?

Getting into audio development is not easy. There are so many things to learn:

- C++,
- digital signal processing (DSP),
- real-time programming,
- UI/UX design,
- plugin format requirements,
- copy protection…

The list goes on and on.

But isn’t all the knowledge already available on the Internet for free?

Well, maybe, but have you found it easy to browse dedicated Wikis, forums, or textbooks? Have you understood the vocabulary? Do you feel comfortable with what you learned, or do you feel like the “bigger whole” escapes you? Are you sure you know everything that’s required to develop audio plugins?

Cannot ChatGPT/Copilot/Claude/etc. generate the code for me?

No, it cannot. Large language models consistently fail to generate correct audio plugin code. There’s simply not enough material available for them out there to “learn” this topic properly. And, of course, without the knowledge of audio plugin development, you cannot verify if the generated code is correct.

Can I not learn it from the books?

Maybe. Have you? Are you sure the books cover everything?

In short, there’s a need for a focused, streamlined, and complete educational experience teaching audio plugin development from the ground up: a single, all-in-one resource that shows you everything you need to know to get started.

Such a resource has been recently published. And it’s 100% free.

Together with the JUCE team, we have been working hard on a dedicated audio plugin development course. The course teaches you everything you need to know to develop and release audio plugins successfully:

- getting the right tools
- setting up a CMake plugin project
- exposing correct plugin metadata
- writing audio effect (DSP) code
- real-time audio programming
- creating plugin parameters
- working with a plugin GUI design
- styling your GUI
- troubleshooting your plugin
- unit testing
- releasing your plugin
- and more, all in the JUCE C++ framework

But that’s not all. The course comes with a full-fledged professional audio plugin: a tremolo effect. Alongside the completed plugin project, there’s a “skeleton” plugin code for you to work on. You can develop the plugin alongside the course and apply all the presented concepts in practice.

At the end of this course, you will have built your own plugin.

What makes this course unique is the JUCE curation. The JUCE team has thoroughly reviewed the code, scripts, and videos to ensure that the course content is 100% accurate and adheres to best practices. In this way, you escape the risk of learning something wrong.

- What can beginner and advanced JUCE developers get from the course?
- Why should you join the course now?
- What can you expect if you join the course now?
- How to get the most out of the course?

All these questions will be answered during the talk!
---

Slides: https://data.audio.dev/talks/2025/the-official-juce-audio-plugin-development-course-is-here.pdf
---

Jan Wilczek

I am an audio programming consultant and educator, the creator of TheWolfSound.com blog and YouTube channel dedicated to audio programming.

I am the author of ""DSP Pro,"" an online course on digital audio signal processing, and a co-author of the official JUCE audio plugin development course.

I offer coaching and software development services related to audio plugins and audio software.

Tom Poole

Tom Poole is the director of both the Audio Developer Conference and the open source, cross platform, C++ framework JUCE.

---

ADC is an annual event celebrating all audio development technologies, from music applications and game audio to audio processing and embedded systems. ADC’s mission is to help attendees acquire and develop new audio development skills, and build a network that will support their audio developer career.
Annual ADC Conference - https://audio.dev/
https://www.linkedin.com/company/audiodevcon

https://facebook.com/audiodevcon
https://instagram.com/audiodevcon
https://www.reddit.com/r/audiodevcon/
https://mastodon.social/@audiodevcon
---

Streamed & Edited by Digital Medium Ltd: https://online.digital-medium.co.uk
---

Organized and produced by JUCE: https://juce.com/
---

Special thanks to the ADC25 Team:

Sophie Carus
Derek Heimlich
Andrew Kirk
Bobby Lombardi
Tom Poole
Ralph Richbourg
Jim Roper
Jonathan Roper
Prashant Mishra

#adc #audiodev #dsp #audio #conferenceaudio #audioprocessing #audioproduction #audioprogramming #sound #music #musictech #soundtech #audiotech #audiotechnology

Filed under: UncategorizedTagged with: , , ,

Real-Time, Low Latency and High Temporal Resolution Spectrograms – Alexandre R.J. Francois – ADC

  • Lobby
  • Tag Archives: cplusplus

https://audio.dev/ -- @audiodevcon​
ADC Japan - 1st - 3rd June
ADC Bristol ​- 9th - 11th November
---

Real-Time, Low Latency and High Temporal Resolution Spectrograms - Alexandre R.J. Francois - ADC 2025
---

This talk describes the proof of concept implementations of Resonate, a low latency, low memory footprint, and low computational cost algorithm to evaluate perceptually relevant spectral information from audio signals. A walk through the open source Swift, C++ and Python implementations outlines the basic principle of the algorithm, highlights critical implementation design elements and areas for potential improvements. The talk also features a few illustrative real-time audio analysis applications.
---

Slides: https://alexandrefrancois.org/assets/publications/FrancoisARJ-ADC25.pdf
---

Alexandre R.J. Francois

Alex is a computer scientist and software engineer. His academic research focused on the modeling and design of interactive (software) systems, as an enabling step towards the understanding of perception and cognition. His interdisciplinary research projects explored interactions within and across music, vision, visualization and video games. After working in startups and larger companies for several years, he recently went back to exciting research projects and published a new take on spectral analysis when low-latency is a critical requirement. www.alexandrefrancois.org

---

ADC is an annual event celebrating all audio development technologies, from music applications and game audio to audio processing and embedded systems. ADC’s mission is to help attendees acquire and develop new audio development skills, and build a network that will support their audio developer career.
Annual ADC Conference - https://audio.dev/
https://www.linkedin.com/company/audiodevcon

https://facebook.com/audiodevcon
https://instagram.com/audiodevcon
https://www.reddit.com/r/audiodevcon/
https://mastodon.social/@audiodevcon
---

Streamed & Edited by Digital Medium Ltd: https://online.digital-medium.co.uk
---

Organized and produced by JUCE: https://juce.com/
---

Special thanks to the ADC25 Team:

Sophie Carus
Derek Heimlich
Andrew Kirk
Bobby Lombardi
Tom Poole
Ralph Richbourg
Jim Roper
Jonathan Roper
Prashant Mishra

#adc #audiodev #dsp #audio #conferenceaudio #audioprocessing #audioproduction #audioprogramming #sound #music #musictech #soundtech #audiotech #audiotechnology

Filed under: UncategorizedTagged with: , , ,

Minimalistic Music Composition with C++ – Xyzzy – ADCx Gather 2025

  • Lobby
  • Tag Archives: cplusplus

https://audio.dev/ -- @audiodevcon
ADCx India - 29th March
ADC Bristol ​- 9th - 11th November

Minimalistic Music Composition with C++ - Xyzzy - ADCx Gather 2025

Music = Sound Design + Sequencing

While programming environments like WebAudio, SuperCollider and Chuck exist, they are complex to use and try to do sound design as well with code. Using code just for sequencing music and leaving sound design to the DAW opens up rich possibilities including terminal UIs and generating sequences with time.

In this talk I would like to explore how just using normal code, you can improve over the traditional piano roll and introduce the audience to using the DAW in a headless way.
---

Xyzzy

Xyzzy is an independent software developer based out of India. He specialises in making tools and scrips for poets, designers, writers, video editors, writers and data/vfx pipeline engineers.

In his spare time he messes with techno production with electribes, renoise and reaper. He is currently experimenting with VR and is also working on web apps to help beginners learn electronic music.

---

ADC is an annual event celebrating all audio development technologies, from music applications and game audio to audio processing and embedded systems. ADC’s mission is to help attendees acquire and develop new audio development skills, and build a network that will support their audio developer career.
Annual ADC Conference - https://audio.dev/
https://www.linkedin.com/company/audiodevcon

https://facebook.com/audiodevcon
https://instagram.com/audiodevcon
https://www.reddit.com/r/audiodevcon/
https://mastodon.social/@audiodevcon
---

Streamed & Edited by Digital Medium Ltd: https://online.digital-medium.co.uk
_

Organized and produced by JUCE: https://juce.com/
_

Special thanks to the ADCxGather Team:

Sophie Carus
Derek Heimlich
Andrew Kirk
Bobby Lombardi
Tom Poole
Ralph Richbourg
Jim Roper
Jonathan Roper
Prashant Mishra

#adc #audiodev #dsp #audio #conferenceaudio #audioprocessing #audioproduction #audioprogramming #sound #music #musictech #soundtech #audiotech #audiotechnology

Filed under: UncategorizedTagged with: , , ,

A Fast, Open-Source C++ Loop Classifier and Tempo Estimator: New Tempo Detection Feature in Audacity – Matthieu Hodgkinson – ADC 2024

  • Lobby
  • Tag Archives: cplusplus

https://audio.dev/ -- @audiodevcon​
---

An Efficient, Open-Source C++ Loop Classifier and Tempo Estimator - The Algorithm Behind Audacity’s Brand New Tempo Detection Feature - Matthieu Hodgkinson - ADC 2024
---

An efficient, offline C++ algorithm for loop classification and tempo estimation is presented, alongside its evaluation framework. The framework provides the area under the ROC curve (AUC) of the classifier, facilitating regression-free development and tuning of the algorithm. The AUC is now 0.93 when evaluated against the set of files (publicly available on freesound.org under the Creative Commons license) listed in the framework's source code. By providing computation time measurement, the framework has also been useful for optimizing the algorithm, which is now typically over 2500 times faster than real-time (measurement made on a Windows laptop with a 12th Gen Intel Core i7-12800HX processor and 32 GB of RAM). Furthermore, the framework can be used to set the target false positive rate according to the requirements of your application. Algorithm and evaluation framework are open source, and care has been taken to keep the algorithm easily reusable.

The algorithm can be seen as a "classical" algorithm and reuses ideas described elsewhere in the literature. However, the idea behind the classifier is original. A set of loosely plausible numbers of tatums (or ticks) fitting in the duration of the provided audio file is taken. The likelihood of each tatum count hypothesis is evaluated by measuring the distance of each onset to its closest tatum and using the onset's strength in the weighted average of all distances. The average is then compared to a threshold, and, if below, a disambiguation step is carried out, where the number of tatums is reused to determine the most likely tempo (BPM) and time signature.

As implied above, the input audio must be a loop for its tempo to be detected. This limitation was not deemed critical for the application the algorithm was intended for. On the other hand, it opened possibilities to improve the discriminant factor of the classifier, allowing a higher success rate while keeping the false positive rate low. This choice may explain the originality of the approach despite its simplicity.
---

Slides: https://data.audio.dev/talks/2024/an-efficient-open-source-cpp-loop-classifier-and-tempo-estimator/slides.pdf
---

Matthieu Hodgkinson

Passionate about music, I pursued a Bachelor's degree in Musicology at the Université Jean Monnet. I completed the final year of this degree at the National University of Ireland, as an Erasmus student, where I delved into computer music. I continued my studies there, earning an MA in Music Technology, and later completed a PhD in Computer Science, focusing on DSP.

My PhD thesis developed mathematical models for the vibration of plucked and struck strings. These models could be used to separate transients from more stable frequency components (predominantly harmonics) in recorded samples.

Following my PhD, I spent over 10 years working in the video conferencing industry, contributing to the development of GoToMeeting at Citrix, LogMeIn, and later GoTo. Working on the endpoint and the server, the backend and the frontend, in C++ and Javascript, my work primarily focused on the audio processing chain and the network transport of audio packets. I developed a patented algorithm for jitter buffer control that utilizes a perceptual model that considers packet late loss and conversational interactivity to determine the optimal buffer size on the receiver’s endpoint.

Since April 2023, I have been working for the Muse Group as part of the Audacity team. As the DSP specialist, I have the privilege of tackling some of the most engaging tasks – at least from my point of view… These often offer opportunities for creativity, and it was while working on the problem of tempo detection that I discovered the approach I will present at ADC 2024.
---

ADC is an annual event celebrating all audio development technologies, from music applications and game audio to audio processing and embedded systems. ADC’s mission is to help attendees acquire and develop new audio development skills, and build a network that will support their audio developer career.
Annual ADC Conference - https://audio.dev/
https://www.linkedin.com/company/audiodevcon

https://facebook.com/audiodevcon
https://instagram.com/audiodevcon
https://www.reddit.com/r/audiodevcon/
https://mastodon.social/@audiodevcon
---

Streamed & Edited by Digital Medium Ltd: https://online.digital-medium.co.uk
---

Organized and produced by JUCE: https://juce.com/
---

Special thanks to the ADC24 Team:

Sophie Carus
Derek Heimlich
Andrew Kirk
Bobby Lombardi
Tom Poole
Ralph Richbourg
Jim Roper
Jonathan Roper
Prashant Mishra

#adc #cpp #audacity #musicloops #audiodev #daw #dsp #audio #audioprocessing #audioprogramming #audiosoftware #soundtech #audiotech #cppprogramming

Filed under: UncategorizedTagged with: , , , ,

LLVM’s Real-Time Safety Revolution – Tools for Modern Audio Development – David Trevelyan & Chris Apple – ADC 2024

  • Lobby
  • Tag Archives: cplusplus

https://audio.dev/ -- @audiodevcon​
---

LLVM’s Real-Time Safety Revolution - Tools for Modern Audio Development - David Trevelyan & Chris Apple - ADC 2024
---

"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, system calls, and other user-defined "unsafe" functions at runtime. We introduce the sanitizer, how it works, and how to use it. Next, we explore Clang's new Performance Constraints system, which can prevent blocking function calls from non-blocking functions at compile time. We will compare and contrast these methods and offer recommendations on how to integrate them into your codebase effectively.

By leveraging these new tools, you can ensure your real-time audio systems remain robust, reliable, and ready for any challenge.
---

Slides: https://data.audio.dev/talks/2024/llvms-real-time-safety-revolution/slides.pdf
---

David Trevelyan

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!
---

Chris Apple

Chris Apple is a seasoned software engineer and team lead with nearly a decade of experience in the audio industry -- spanning everything from test automation in python, to loudspeaker installation in Tokyo nightclubs. Using his expertise in real-time audio rendering, he has made contributions to companies such as Dolby, Roblox, and Spatial Inc, as well as many open source projects. Recently, he has focused primarily on real-time safety and rendering performance in audio playback systems written in C++. This focus has led to his work on RealtimeSanitizer. This new sanitizer in the LLVM ecosystem provides runtime checks to ensure time-unbound operations cannot be called from real-time contexts.
---

ADC is an annual event celebrating all audio development technologies, from music applications and game audio to audio processing and embedded systems. ADC’s mission is to help attendees acquire and develop new audio development skills, and build a network that will support their audio developer career.
Annual ADC Conference - https://audio.dev/
https://www.linkedin.com/company/audiodevcon

https://facebook.com/audiodevcon
https://instagram.com/audiodevcon
https://www.reddit.com/r/audiodevcon/
https://mastodon.social/@audiodevcon
---

Streamed & Edited by Digital Medium Ltd: https://online.digital-medium.co.uk
---

Organized and produced by JUCE: https://juce.com/
---

Special thanks to the ADC24 Team:

Sophie Carus
Derek Heimlich
Andrew Kirk
Bobby Lombardi
Tom Poole
Ralph Richbourg
Jim Roper
Jonathan Roper
Prashant Mishra

#adc #audiodev #dsp #audio #conferenceaudio #audioprocessing #audioproduction #audioprogramming #sound #music #musictech #soundtech #audiotech #audiotechnology

Filed under: UncategorizedTagged with: , , ,

Unit Testing in Cpp Like a Lazy Pro – Marcel Roth & Dino Pollano – ADC 2024

  • Lobby
  • Tag Archives: cplusplus

https://audio.dev/ -- @audiodevcon​
---

Unit Testing in Cpp Like a Lazy Pro - Marcel Roth & Dino Pollano - ADC 2024
---

A lot of people have heard of unit testing. Many developers have added unit testing to their procedures. But not so many have tried test-driven development and understand how to build a rock solid test bed, that eventually allows you to throw your code away and replace it with whatever is more readable, more scalable, less resource intensive or better performing. The ‘lazy tester, lazy developer’ pattern is a fun way to explore this important topic.
---

Slides: https://data.audio.dev/talks/2024/Unit-Testing-like-a-Lazy-Pro/slides.pdf
---

Marcel Roth

Hello! I’m a Principal Software Engineer at Spitfire Audio with over 18 years of experience in DSP-focused companies across Germany, the Netherlands, and the UK. I studied Signal Processing at the Technical University of Berlin, where I completed my master’s thesis on recognizing musical instruments using a Hidden Markov Model.

Throughout my career, I’ve worked on a range of projects, including developing a parameterized convolution reverb at a small company called zplane.development. My journey in DSP has sparked a strong interest in test-driven development and other agile methodologies. But I’m still my happiest, when applying those skills to the audio buffer.

In my spare time, I play bass with the Cherry Pit Collective.
---

Dino Pollano

Fuelled by an obsession with guitars, synths, and music gear—and a budget that couldn’t quite keep up—I decided to learn how to make my own. This journey led me through a degree in Music and Audio Technology at Bournemouth University, then Sound and Music Computing at QMUL. Along the way, I had a stint building programmable guitar pedals (OWL) and eurorack modules for Rebel Technology and kicked off a career at Spitfire Audio, contributing to projects like LABS, BBC Symphony Orchestra, and AIR Convolution Reverb. My time at QMUL sparked an intense curiosity about DSP, leading to a brief internship at L-ISA/L-Acoustics. Rebel Technology introduced me to the wild world of DIY audio electronics, and to this day, I love working with soldering, small-signal electronics, and embedded systems.
---

ADC is an annual event celebrating all audio development technologies, from music applications and game audio to audio processing and embedded systems. ADC’s mission is to help attendees acquire and develop new audio development skills, and build a network that will support their audio developer career.
Annual ADC Conference - https://audio.dev/
https://www.linkedin.com/company/audiodevcon

https://facebook.com/audiodevcon
https://instagram.com/audiodevcon
https://www.reddit.com/r/audiodevcon/
https://mastodon.social/@audiodevcon
---

Streamed & Edited by Digital Medium Ltd: https://online.digital-medium.co.uk
---

Organized and produced by JUCE: https://juce.com/
---

Special thanks to the ADC24 Team:

Sophie Carus
Derek Heimlich
Andrew Kirk
Bobby Lombardi
Tom Poole
Ralph Richbourg
Jim Roper
Jonathan Roper
Prashant Mishra

#adc #testdrivendevelopment #audiodev #cpp #unittesting #audio #cppprogramming #audioprocessing #audioproduction #audioprogramming #musictech #soundtech #audiotech #audiotechnology

Filed under: UncategorizedTagged with: , , ,