Learn how to write well-structured, highly-optimized real-time C++ audio code from a senior C++ audio developer at Elk Audio.
Listen on
Sign up for WolfSound’s newsletter!
Introduction
One of my top 10 Audio Developer Conference 2023 talks was Gustav Andersson’s talk on optimizing C++ audio code.
This made it all the more exciting to have Gustav on the show!
Gustav Andersson is a Swedish senior C++ audio developer at Elk Audio. He has worked on their Sensus guitar featuring a rich set of controls, Elk Audio OS for embedded platforms, Sushi digital audio workstation, and Elk Live software for live music collaboration over the internet.
Having studied Electrical Engineering and Digital Signal Processing, Gustav had been looking for a very long time to get into the audio industry. As for many developers, getting his first audio-related job was like a dream come true.
In his free time, Gustav plays and composes his own music.
In the interview, we discuss Gustav’s story, his journey to learn audio programming in C++, and his software projects, including his own plugin. We don’t shy away from software engineering details and architectural challenges of complex software like DAWs.
We mention a ton of resources and tips for learning real-time & scalable audio C++, so stay tuned for these!
Note: If you like the podcast so far, please, go to Apple Podcasts and leave me a review there. You can do so on Spotify as well. It will benefit both sides: more reviews mean a broader reach on Apple Podcasts and feedback can help me to improve the show and provide better quality content to you. You can also subscribe and give a like on YouTube. Thank you for doing this 🙏
Episode contents
From this podcast episode, you will learn:
- How Gustav’s interest in music and electronics led him to study digital signal processing,
- How he landed his first (and last) job in the audio industry,
- What he needed to learn from C++ for audio programming and which resources he used,
- What are the challenges of building digital audio workstations,
- How to approach building audio software in general,
- How to learn C++ optimization (fast!),
- How to relax and disengage from focused work 😎
This podcast was recorded on January 30, 2024.
References
Below you’ll find all people, places, and references mentioned in the podcast episode.
- Gustav Andersson
- Chalmers University of Technology
- Programming languages
- C
- C++
- Dear ImGui GUI library for C++
- OpenGL graphics library
- Vulkan graphics library
- Compiler Explorer
- Google Benchmark benchmarking library
- Valgrind: a suite of tools for detecting memory management and threading bugs, and profiling
- Twine: C++ threading library
- Java
- Python
- SuperCollider
- Lua
- Companies
- Elk Audio (Mind Music Labs)
- People:
- Stefano Zambon (founder)
- Ilias Bergström
- Products
- Sensus guitar (demo video)
- Elk Audio OS (open source)
- Sushi digital audio workstation (open source)
- ElkLive (2.0) standalone + plugin
- People:
- Ericsson
- Arturia
- Fishman guitar pickups
- Elk Audio (Mind Music Labs)
- Resources on C++ and audio programming
- KVR developer forum
- Ross Bencina’s blog
- C++ Core Guidelines
- Audio Developer Conference
- CppCon
- Andrei Alexandrescu: Modern C++ Design book
- Technology concepts
- Serial Peripheral Interface (SPI) communication
- UDP hole punching
- ISP: internet service provider
- COM: Component Object Model, a standard for software components and a C++ programming paradigm on Windows
- Software
- Hardware
- Amiga personal computer
- Printed ciruit boards (PCBs)
- Roland Funny Cat guitar pedal
- Music
- MUSE (band)
- Matt Bellamy
- Music for Programming
- MUSE (band)
Thank you for listening! 🙏
Who should I invite next? Let me know in the comments below!
Comments powered by Talkyard.