Year: 2025

Instrument Your Code So it Can Sing

Much like the human spirit, there is limitless potential to be gained from code that observes itself—code that holds itself accountable for its performance and behavior. The pre-C++26 world we live in offers only a fraction of the reflection capabilities we may soon see standardized, but still allows for a wealth of runtime and compile-time introspection.

In this talk, we’ll explore the construction of three static instrumentation tools: heap allocation trackers, function profilers, and data race detectors, each viewed from the bias of an audio programmer. The goal with all of these tools is to elegantly enforce desired behavior from within a typical C++ test suite without relying on runtime logging or postmortem analysis. Violations of your performance, threading, or other behavioral rules cause tests to fail, delivering fast feedback and confidence in your code. We will also showcase Qiti, an open-source profiling and instrumentation library that brings these concepts together into a practical extension of your testing framework.

Filed under: Uncategorized

Efficient Task Scheduling in a Multithreaded Audio Engine

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.

Filed under: Uncategorized

Creating from Legacy Code

Back in 2019, iZotope acquired Exponential Audio from Michael Carnes, an audio stalwart and reverb-making legend. He spent his time producing highly customisable and powerful reverb engines used across the audio industry, including post production studios.

This talk discusses the case study of Equinox, a newly launched plugin that combines two reverb engines from Exponential Audio: Stratus and Symphony. As a software engineer on the team, my job was to port legacy DSP, work on the new plugin and help enhance iZotope’s surround sound capabilities.

I will break down interesting topics we discovered during our time porting Michael’s code, as well as discuss what it means to turn DSP code from a one person company into a reusable repository that can plug into existing frameworks.

Along the way, we will discuss philosophical questions such as “What is a bug?”, “What does it mean to freeze a buffer?” as well as discuss how new value could be found by combining existing iZotope DSP (Adaptive Unmasking).

Filed under: Uncategorized

Modern Feedback Delay Networks for Realistic and Creative Reverberation

The Feedback Delay Network (FDN), originally proposed over 50 years ago, remains one of the most widely used structures for real-time artificial reverberation. An FDN consists of a set of delay lines combined with attenuation filters, interconnected through a feedback matrix. This topology simulates the recursive process of sound waves reflecting within an acoustic space. FDNs are computationally efficient, highly parametrizable, and provide a flexible framework for exploring a wide range of delay-based reverberation designs.

Recent research has focused on improving the efficiency and perceptual quality of FDNs to produce more realistic reverberation, particularly for spatial audio applications requiring multichannel systems. This talk will present an overview of the state of the art in FDN design, current research directions, and best practices for the challenging task of parameter design and tuning.

One of the most notable recent advancements includes the use of gradient descent optimization schemes to improve the smoothness and spectral coloration of FDNs, enabling a reduction in computational cost. Moreover, sparse filter-based feedback matrix design and grouped FDN topologies allow for modeling more complex acoustic scenes.

In addition to these technical developments, the talk will also explore how FDNs can be used for artistic applications, such as creating reverberation with intentionally unnatural characteristics, including time-varying behavior, shimmering effects, and reverb enhancement systems.

Filed under: Uncategorized

The Real Waveform Matters

Shannon-Nyquist sampling is so pervasive that we forget that, like any theory, there are terms and conditions attached. It assumes the signal is processed in a linear fashion. The minute these assumptions are violated, they break down and knowledge of the waveform the samples represent is required.
One example is the simple act of measuring a waveform’s level as used in many audio applications.

However, because the audio waveform is sampled the actual level may not be the sample values, but instead may be an intermediate value between the samples that may be higher, or lower, than the adjacent samples.

This talk, which will be accessible to a wide variety of backgrounds, will first discuss the issue involved in deriving the true signal value from the sampled audio, as a tutorial example of why sometimes it is necessary to reconstruct the analogue waveform to achieve accurate signal processing.

The pros and cons of various methods of measuring the peak value will be discussed, including alternative approaches that provide accuracy with low computation and delay. We will also look at other ways of obtaining the real waveform that can be used to efficiently extract real waveform values and apply this to frequency domain techniques as well.

Finally, we will conclude with a discussion of how the knowledge of the real sample values are required for other non-linear operations and suggest some methods of achieving this.

Filed under: Uncategorized

Real-time Audio on Android

An update on progress in reducing latency using AAudio MMAP and Oboe. We will benchmark CPU performance and measure latency using OboeTester. We will also explore the Android Energy Aware CPU scheduler and dynamic frequency scaling on Android and discuss some issues, which include slow scaling and core migration. We will also demonstrate some new techniques you can use to improve performance and reduce glitches, including ADPF and workload reporting. We will also discuss strategies for reducing glitches in full duplex audio streams.

Filed under: Uncategorized

How I Learned to Love the Docs

Product documentation is often seen as a "nice-to-have" that comes at the end of the design and implementation process, and something that few small teams have time for. But for audio products - notoriously complex, serving a multitude of styles and purposes, usually with a conceptual model that isn't obvious to newcomers - communicating what a product does and how it works is crucial. So what do you do if there's no one to produce documentation?

I'm a music tech designer who has learned to love the docs. In this talk I'll share why I think documentation is so important (to you as well as your customers), how I learned to get good at writing it, and why I think it's a vital aspect of design. I'll explain how I think about docs (and some good examples), and through a case study of my first big user manual, I'll describe why I think documentation is secret the superpower design skill. In case you want to go straight home and write some documentation, I'll also prodvide suggestions of how to approach docs, when to start them, some tools I've found useful, and how to leverage the power of documentation to improve your products while they're still being developed.

Filed under: Uncategorized

Emotion in the Signal

This talk explores how real-time EEG can drive emotionally adaptive music in games, VR, and immersive experiences. I’ll share insights gained from building brain–computer musical interfaces (BCMIs) from scratch—including hardware selection, EEG signal processing, emotion recognition methods, and integration into game engines.
My exploration began with plant biofeedback in modular synthesis, evolving into EEG-driven audio systems using Arduino, Bitalino, and now a commercial 8-channel Neuroconcise headset. The primary challenges included interpreting EEG data effectively without formal neuroscience training, meaningfully mapping neural activity onto musical and spatial audio parameters, and reliably managing real-time data exchange between software environments.
In this talk, I’ll clearly outline my EEG workflow, covering data acquisition, neural feature extraction (spectral bands, Hjorth parameters), and machine learning approaches to classify emotional states. We’ll examine practical audio output strategies, demonstrating how distinct neural signals can dynamically shape synthesis parameters, spatial audio behaviours, and adaptive soundtrack structures. I’ll detail my current technical workflow: coding real-time EEG analysis in Max/MSP’s RNBO, compiling this into a C++ plugin for Unreal Engine 5, and leveraging Python-based machine learning models trained on EEG emotion-recognition databases to create responsive sonic environments within VR.
Finally, I’ll discuss design considerations unique to EEG-driven interaction: how this approach influences immersion, user agency, and the listener’s relationship to adaptive systems. Whether you're interested in prototyping EEG-based audio for the first time, enhancing adaptive music integration in games, or exploring innovative audio-responsive interactions, this talk provides practical insights into effectively leveraging brain signals as a novel musical interface.

Filed under: Uncategorized

Channel Agnosticism in MetaSounds

This talk introduces Channel Agnostic Types (CAT), a new approach to decoupling digital audio processing from fixed channel configurations and spatial audio formats, developed as part of Unreal Engine’s MetaSounds system. While traditional audio engines usually tie DSP graphs and audio rendering to rigid spatial audio pipelines, CATs introduce a flexible, extensible buffer type capable of supporting arbitrary channel layouts—including conventional multichannel, sound-field formats, and object-based systems.

Combined with the new MetaSound Node Configuration API, this work enables reconfigurable MetaSounds to support any audio format, dramatically reducing asset duplication and complexity. More broadly, it presents a model for designing format-agnostic audio systems that promote scalability, modularity, and future-proofing.

Whether you're building tools for games, spatial media, installations, or interactive audio platforms, this talk will offer insights into how to rethink the role of channels and audio formats in DSP architecture.

Filed under: Uncategorized

Level Up! Procedural Game Music and Audio

What if games had access to (and control of) every note in the soundtrack?
What are the limits for gameplay-driven music and music-driven gameplay?
How do you craft a soundtrack that dynamically adapts to the game world?

This talk presents new techniques and technologies for crafting richer, more dynamic music and sound FX to develop more immersive and interactive game soundtracks in both Unity and Unreal – and marks the launch of game music development kits for Manhattan and Klang (C++) on the Unity Store and FAB.com, which will be provided free to ADC 25 delegates.


DETAIL

After a brief moan about the state of the art, the session will provide a practical introduction to technologies for procedural music and audio (see below) before showcasing and deconstructing new game music and audio mechanics, demonstrated through two example games, developed as technology demos (playable at the nash.audio arcade, throughout the conference):

Ars Arcus (2023; video on YouTube; demo on Steam)
As featured at ADC 23 and 24, this defend-the-castle bow-and-arrow VR game was developed in Unity as a test ground for different music mechanics, from simple part layering and stingers, to significantly more sophisticated music generation and dynamic arrangement, including live data sonification (scene-driven musical cues and arrangements) and direct integration between the game and soundtrack ("diagetic" music for games, affected by player interaction) - notably placing a virtual, and somewhat mortal, NPC orchestra at the mercy of the player, inside the game world.

Future Sound of Bristol (2025; video - playable at ADC 25)
Grander in scale, in every respect, this open-world game features a 1:1 recreation of Britain* - every road, building, and tree, accurate to the metre – developed in Unreal 5. The player starts on foot with the country in ruin and must explore, connect, rewild, and rebuild the land. The entirely procedural soundtrack for the game is driven by the environment: the tone changes from day to night, town to country, and as the player restores harmony to the land, so to the music - haunting, dissonant soundscapes are transformed to tranquil, tonal symphonies. Gameplay, too, is led by the music, providing cues (dynamic leitmotifs) players must use to find resources, vehicle parts, etc., not always visible to the eye, and subtler musical devices that portend to impending events, such as nightfall or storms. For SFX, the game uses procedural audio (in C++, using Klang) to live generate sounds for dynamic elements such as rain, wind, engines and other interactive game elements. The linked video not provides a brief preview of the game world, but demonstrates the procedural soundtrack - let the video loop and keep listening... (* 'limited' to Bristol and the surrounding 10,000km² for the ADC)

Discussion will provide a behind-the-screens look at how the games and their soundtracks were developed, edited, and integrated using Manhattan, Klang, Unity and Unreal, with emphasis on the musical processes and creative workflows.

Both games are being developed as platforms to explore new directions in game audio and music, and our hope is to provide them as a resource that other game developers, composers, and sound designers can explore, play with, and develop for.


TECHNOLOGIES

Manhattan (https://nash.audio/manhattan) is a hybrid music editor and procedural music engine combining pattern-based sequencing with powerful procedural generation features, designed to integrate traditional music composition and arrangement practices with non-linear, dynamic, reactive, and interactive elements, from simple random values to entirely generative pieces – supporting all musical styles, in applications from production to sonic art to video games. Running as a standalone editor and VST/AU plugin, with native support for Unity/Unreal (including Live Editor integration), Manhattan includes an extensive collection of instruments, tutorials, examples, designed to provide an accessible introduction to music programming.

Klang (https://nash.audio/klang) is a modern C++ dialect for audio processing, designed to support more expressive audio processing. A single-header C++17 include, Klang brings specialist audio syntax and sematics, notably including signal flow expressions, plus a library of objects, templates, and DSP reference implementations, to any C++ project on any platform (JUCE, embedded systems, Web Audio, Unreal), supporting the development of clear, concise, high-performancem, and portable audio code. Klang can be used with any C++ IDE or toolchain, but is also supported in Klang Studio, a VST/AU plugin-based C++ IDE specifically developed for the development of synthesisers and effects inside the DAW, supporting live editing, compiling, hot swapping, debugging, and audio analysis inside the running synth or effect plugin itself.


ABOUT US

nash.audio (https://nash.audio), a Bristol-based non-profit organization, founded in 2022 by Chris Nash, established to support learning and creativity in digital music, specialising in the development of new technologies for audio and music programming, such as the Manhattan, Klang, and rapIDE projects.

Filed under: Uncategorized