Tag: cpp

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

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

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

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

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

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

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

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

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

How To Recreate/Restore a Full Game Boy Advance Soundtrack in High Quality – Vincent Dortel – ADC 2024

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

How To Recreate/Restore a Full Game Boy Advance Soundtrack in High Quality - Vincent Dortel - ADC 2024
---

A new subfield of video game music has recently emerged: some people call it music "restoration" (or recreation). It comes from the desire to preserve and share incredible soundtracks that were cursed by hardware limitations at the time they were composed. For instance, the Game Boy Advance was using sequenced music, associated with sound samples. Those sounds had to be heavily compressed so everything fits on a 8Mb cartridge, and the audio engine had limited processing power, low sample rate, cheap output speakers...

In this talk, I would like to detail how I restored the entirety of the soundtrack from the first two Golden Sun games (2001-2002), by tracking down the original hardware that was used to record the samples, extracting the midi sequences, carefully studying the subtleties for each instrument, applying modern mixing techniques, and even doing a bit of reverse engineering. The whole process was improved by creating python scripts and a custom VST in C++.
---

Slides: https://data.audio.dev/talks/2024/how-to-recreate-restore-a-full-game-boy-advance-soundtrack/slides.pptx
---

Vincent Dortel

Vincent is an audio programmer with 12 years experience in the video game industry, he worked for several studios such as Quantic Dream, Rocksteady, Ubisoft and Microsoft. He's now a freelancer, which allows him to split his time between contractor work for game studios and personal projects. He likes to combine his passion for music and games with his programming skills to tackle fun challenges. Sometimes he secretly develops VST plugins when no one's looking.
---

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 #gameboyadvance #goldensun #goldensun2 #audio #audioprocessing #audioproduction #audioprogramming #music #musictech #soundtech #audiotech #audiotechnology

Filed under: UncategorizedTagged with: , , ,

Wait-Free Thread Synchronisation With the SeqLock – Timur Doumler – ADC 2024

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

Wait-Free Thread Synchronisation With the SeqLock - Timur Doumler - ADC 2024
---

When developing real-time audio processing applications in C++, the following problem arises almost inevitably: how can we share data between the real-time audio thread and the other threads (such as a GUI thread) in a way that is real-time safe? How can we synchronise reads and writes to C++ objects across threads, and manage the lifetime of these objects, while remaining wait-free on the real-time thread?

This talk is the second in a series of talks about thread synchronisation in a real-time context. In the first episode, given at ADC 2022, we focused on the case where the real-time thread needs to read a sufficiently large, persistent object that is simultaneously mutated on another thread. In this second episode, we focus on the reverse case: the real-time thread needs to write the value while remaining wait-free, and while other (non-real-time) threads are reading it.

The traditional solution for this problem in audio processing code today is double buffering. This strategy works well in certain cases, but like every algorithm it has certain tradeoffs. If we look beyond the audio industry, it turns out there is actually another strategy that has more favourable tradeoffs for some use cases: the SeqLock.

We describe the general idea of the SeqLock, discuss the different parts of the algorithm, and show a working reference implementation. It turns out that in order to implement a SeqLock portably and without introducing undefined behaviour, we need to reconcile the algorithm with the C++ memory model, which presents an interesting challenge. In order to make it work and be efficient, we need to be very careful with our use of memory fences, memory ordering, and atomic vs. non-atomic memory accesses. Along the way we will learn useful things about writing lock-free code in Standard C++.

Finally, we compare the tradeoffs between SeqLock and other approaches to this problem, offer some guidelines on which approach to use when, and present a proposal to add the SeqLock algorithm to the C++ Standard.
---

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 ADC24 Team:

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

#adc #cpp #cppprogramming #audiodev #dsp #audio #conferenceaudio #audioprocessing #audioproduction #audioprogramming #musictech #soundtech #audiotech #audiotechnology

Filed under: UncategorizedTagged with: , , ,