Back To Schedule

Workshop: Klang: Live and Expressive C++ for Audio

What if C++ had built-in audio semantics? What if you could develop C++ plugins, live in the DAW?

14:00 - 17:00 Monday 11th November 2024 BST Empire
Beginner
Intermediate
Advanced

A practical introduction to Klang, a C++ dialect (language extension) for audio, and rapIDE (rapid audio prototyping IDE), a complete C++ development environment in a DAW plugin, supporting live code editing, recompiling, and debugging. Developed to improve the liveness and usability of professional DSP practices, both tools facilitate the expressive design of new interfaces, sounds, and audio processes, while lowering the threshold to C++ for newcomers and learners, without compromising its expressive ceiling or performance.

ABOUT THE WORKSHOP

The workshop will feature discussions, live demonstrations, structured practical exercises, and assisted open exploration of the Klang language and rapIDE development platform, both available free for non-commercial use.

ABOUT THE TECHNOLOGIES

Screen shot of Klang Studio (rapIDE).The Klang language (http://github.com/nashaudio/klang) is a single header include, compatible with any C++17 enabled platform, transforming C++ into an audio programming language with rich support for audio types, processes, and DSP primitives - notably also adding support for concise, explicit expressions of signal flow, allowing C++ code to more closely mirror block diagrams:

  signal mod = lfo(3) * 0.5 + 0.5;
  in >> lpf(mod) >> out;

The rapIDE IDE (aka Klang Studio; http://nash.audio/klang/studio) is a suite of cross-platform (Windows/Mac) audio plugins (in VST and AU format) that contain a complete integrated development environment (IDE) based on the LLVM/clang toolchain, supporting live, in-plugin coding, compiling, hot-swapping, analysis, graphing, and debugging without stopping the host (or even playback). Designed for rapid prototyping of C++ audio processes (e.g. synthesisers, effects), rapIDE is designed to integrate with existing workflows, such as desktop, embedded, and web audio development, but also provide a more immediate and immersive way to explore sound with C++.

FURTHER INFORMATION

Both technologies are pre-release and under active development, maintained by nash.audio, a non-profit organisation supporting projects in music and technology. Delegates require a Windows or Mac laptop, and are recommended to download and install rapIDE (aka Klang Studio) from nash.audio/klang in advance of the session.

Chris Nash

Director / Founder

nash.audio

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 professional audio developer degree programme.