Skip to content
0:00 / 0:00

#real-timeaudio#lock-freeprogramming#dsp

CppCon 2015: Timur Doumler “C++ in the Audio Industry”

CppCon

189K subscribers • 101 videos on Hallway • Conference channel

YouTube
  • Recommended by 3 people: 3 on Hacker News.
  • A classic. People kept recommending it from 2016 to 2026.
  • Presented by Timur Doumler, C++ developer
  • Linked in the descriptioncppcon/cppcon2015

Intermediate. Assumes working knowledge.

130K views11 years ago3 recommendations

Systems programmingGraphics and audioC++Audio and DSPConcurrency and parallelism

Timur Doumler discusses the real-time constraints, lock-free programming, and DSP techniques used by C++ developers in the audio industry.

Cppcon.org — Presentation Slides, PDFs, Source Code and other presenter materials are available at: github.com/cppcon/cppcon2015 — Sound is an essential medium for human-computer interaction and vital for applications such as games and music production software. In the audio industry, C++ is the dominating programming language. This talk provides an insight into the patterns and tools that C++ developers in the audio industry rely on. There are interesting lessons to be learned from this domain that can be useful to every C++ developer. Handling audio in real time presents interesting technical challenges. Techniques also used in other C++ domains have to be combined: real-time multithreading, lock-free programming, efficient DSP, SIMD, and low-latency hardware communication. C++ is the language of choice to tie all these requirements together. Clever leveraging of advanced C++ techniques, template metaprogramming, and the new C++11/14 standard makes these tasks more exciting than ever. — Timur Doumler is Senior Software Developer at London-based technology company ROLI. He is working with Julian Storer to further develop JUCE, the leading cross-platform framework for creating audio applications that is used by hundreds of companies in the audio industry. After five years of writing high-performance code in Fortran, C, and C++ for numerical simulations of the cosmic structure formation, Timur became committed to audio and music production software. Before joining ROLI, he worked on various projects at market-leading company Native Instruments, such as KONTAKT, the industry standard sampling platform used by the majority of music producers and composers for film score, games, and contemporary popular music. Timur holds a PhD in astrophysics and is passionate about well-written code, modern C++ techniques, science-fiction, learning languages, and progressive rock music. — Videos Filmed & Edited by Bash Films: BashFilms.com Work at Hudson River Trading (HRT): tinyurl.com/safxfctf

Why it's here

3 people recommend this

What people say. Recommended as a great introduction to real-time programming strategies and audio development in C++.

trendiaon Hacker News • Recommends

On “The Scientist and Engineer's Guide to Digital Signal Processing (1997)”

This is a bit higher-level than what you're proposing, but a good introduction is the "C++ in the Audio Industry" talk 0 given at CppCon 2015. link to this video

CraigJPerryon Hacker News • Recommends

On “Ask HN: How to get started with audio programming?”

I watched CppCon 2015: Timur Doumler “C++ in the Audio Industry” link to this video not long ago and enjoyed it. He was a developer at Roli working on synths and he goes through real time strategies to keep the response time under around 30ms IIRC

creatorcoderon Hacker News • Recommends

On “Ask HN: How to learn how to develop real time applications?”

Thx for advice! It seems that the audio industry also faces challenges related to high-speed data processing and display. I'm was found a very interesting talk CppCon 2015: Timur Doumler “C++ in the Audio Industry” 1 1 link to this video

u/Alexis_in r/compsci • Mentions

On “CS jobs in the music industry?”

There's quite a bit. It's decent pay but maybe not great, but the projects are usually really fun. Some level of knowledge of digital signal processing is usually needed, something you can usually pick up as elective courses at uni if you do comp.sci. I did EE and I also find my analog electronics design knowledge to be massively useful, because a lot of work nowadays is about "digitizing" analog circuits and emulating classic hardware. Check out companies like Native Instruments, Ableton, ROLI ( [a cool presentation about their JUCE framework, which is used by every other VST plugin today] ) and lots more. Berlin is a big hub, being home to both Native Instruments and Ableton. personally…

Emile Vrijdagson Stack Overflow • Mentions

On “Learning to work with audio in C++”

If you do decide to use C++, then The Synthesis Toolkit is worth noting. I use it for a schoolproject and it is very usable, developed at stanford university, crossplatform (win, mac and linux), free and opensource. An extract from the wikipedia page on it: Versions of the STK instrument classes have been integrated into ChucK, Csound, Real-Time Cmix, Max/MSP (as part of PeRColate) and SuperCollider They have a lot of testcode included + on the site are some tutorials to get started with their library. (But you do have to know some C++ of course) STK has some classed to read/write audio files (and matlab files), realtime audio/midi io, some basic algorithms (usage based on similar func…