Tag: cplusplus

Demystifying std::memory_order – Timur Doumler – ADC 2025

  • Lobby
  • Tag Archives: cplusplus

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

Demystifying std::memory_order - Timur Doumler - ADC 2025
---

Atomic variables are an important tool for low-latency and real-time audio processing as they are essential to implementing any kind of lock-free algorithm or data structure. In C++, atomic variables are readily available in the Standard Library through std::atomic. However, in order to use std::atomic not only correctly, but also efficiently and performantly, it is crucial to pick the correct memory order for the atomic operation at hand depending on the requirements of the algorithm. This can be accomplished via the std::memory_order parameter that every atomic operation in C++ accepts. Yet memory order in C++ is notoriously hard to reason about and often misunderstood.

In this talk, we give a brief overview over the C++ memory model, why it is needed, and how it maps to what happens in actual hardware. We explain the differences between relaxed, consume, acquire, release, and sequentially consistent memory order, and give practical guidelines for which to use when for working with atomic reads, writes, read-modify-write operations, and memory fences.
---

Slides: https://data.audio.dev/talks/2025/demystifying-std-memory-order.pdf
---

Timur Doumler

Timur Doumler is the co-host of CppCast and an active member of the ISO C++ standard committee, where he is currently co-chair of SG21, the Contracts study group. Timur started his journey into C++ in computational astrophysics, where he was working on cosmological simulations. He then moved into the audio and music technology industry, where he has spent over a decade of his career, worked on projects such as NI Kontakt and the JUCE framework, and co-founded the music tech startup Cradle. In the past, Timur also worked for JetBrains, first as a developer on CLion's C++ parser and later as a Developer Advocate for C++ developer tools. Currently, Timur lives in Finland, where he organises the monthly C++ Helsinki meetup and works as an independent C++ consultant. Timur is passionate about clean code, good tools, low latency, and the evolution of the C++ language.
---

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: , , ,

From DAW Users to Audio Developers – Teaching JUCE to Creative Minds – Milap Rane – ADCx India 2026

  • Lobby
  • Tag Archives: cplusplus

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

From DAW Users to Audio Developers - Teaching JUCE to Creative Minds - Milap Rane - ADCx India 2026
---

Many music production students approach mathematics and programming with hesitation, often seeing them as abstract, intimidating, or disconnected from creativity. Yet effective music production already depends on structured, stepwise problem-solving—an inherently algorithmic way of thinking.

This talk explores how a Polya-inspired problem-solving framework can be adapted to retrain music production students to think algorithmically. By guiding students to understand a problem, break it into smaller steps, test solutions incrementally, and reflect on outcomes, programming becomes a process of structured experimentation rather than mathematical threat. This approach can help more students access the beauty of building their own plug-ins and workflows that can help them create their own creative identities.

Drawing from my own classroom experience teaching C++ and audio software engineering to B.Sc. Sound Engineering students at the Undergraduate level in an Indian University, where most of the students come from a non-Science background, and where mathematics can in some cases even trigger past trauma. How in such cases, can Audio and Music Technology and Software Development be taught and made more accessible is at the crux of this talk. I discuss strategies for reducing fear around mathematics, reframing coding as problem-solving, and cultivating computational confidence in creative learners. The goal is not just to teach syntax, but to reshape thinking—helping students move from passive tool users to engaged builders who approach software engineering with curiosity rather than anxiety.

Slides: https://drive.google.com/file/d/1VU_Vnc7RqgpWcsCGwnuNNaG8_bGbGjNm/view?usp=drive_link
---

Milap Rane

Musician. Music Technologist. Educator
---

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 ADC 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: , , ,

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: , , , ,