Join Us For ADC24 - Bristol - 11-13 November 2024
More Info: https://audio.dev/
@audiodevcon​

Three RADical Concepts in the Art of C++ Coding - Chris Nash - ADC 2023

What if MIDI was a programming language?
What if C++ had built-in audio semantics?
What if you could develop C++ plugins, live in the DAW?

This talk explores these ideas and the development of new technologies designed to blur the lines between music and code, for both artists and developers, and challenge traditional ways of thinking and working.

Drawing on concepts of flow, liveness, and rapid prototyping, the talk will present live demos, and discuss the development of:

Manhattan - a digital audio workstation and embeddable API built on a procedural music engine that integrates sequencing and programming. Used by artists, game composers, and in teaching computational thinking, example applications include crowd-driven music using machine vision, a Unity mini-game featuring a live (and somewhat mortal) orchestra, plus a growing library of famous works recomposed as code that shows the power of modelling music as both pattern and process.

Klang - an open C++ dialect (language extension) for audio, using modern language features (C++14/17) to extend the semantics of C++ to encapsulate audio, providing DSP primitives and types, and adapting the STL's concept of stream objects and operators to represent signals. Easier to read, more concise, and easily mapped to visual forms (block diagrams, Max), Klang feels like a new language (in the spirit of SOUL) but, as pure C++, retains the performance, portability, compatibility, and interoperability of the industry standard.

rapIDE - a C++ IDE inside a DAW plugin, designed for rapid audio prototyping and development of synthesisers and effects. Built on a full clang/LLVM-based toolchain, the plugin's source code can be live edited, rebuilt, reloaded and auditioned without restarting the DAW (or stopping playback). Compatible with C++ and Klang, rapIDE is designed to improve the accessibility, liveness, and immersion of audio programming, for applications in rapid prototyping and teaching, featuring realtime debugging, auto-complete, code sandboxing, and built-in audio analysis.

These technologies will support the new Music Systems Engineering (MuSE) degree programme, in development by Point Blank Music School in collaboration with industry, for launch in 2024.
_

Chris Nash

Chris Nash is a software developer, composer, educator and researcher in things that go beep in the night. Following a PhD on music software design at Cambridge, he has worked on technology and music projects across academia and industry, including for the BBC, Steinberg/Yamaha, and multiple start-ups, and independently develops and maintains several software projects, specialising in computer music and making music programming more accessible, including Manhattan (a hybrid DAW/programming language), Klang (a C++ dialect for audio), rapIDE (a plug-in based C++ IDE) and reViSiT (an award-winning plug-in based sound tracker). He is currently Senior Lecturer in Software Development for Audio, Sound, and Music at UWE Bristol, and recently founded nash.audio, a non-profit organisation supporting creativity and learning in music technology. Working with London-based Point Blank Music School, Dr Nash is the architect of the forthcoming MuSE (Music Systems Engineering) course, developed in collaboration with industry to be the world's first audio developer degree programme.
_

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

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

Special thanks to the ADC23 Team:

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

#adc #cppprogramming #audio #dsp #digitalaudio