Speakers: Timur Doumler, Guy Davidson
Topic: A standard audio API for C++
The talk will start around 19:00h, before and after there will be time for socialising and discussions.
Native Instruments will also sponsor drinks and food. Thanks for that.
Today, every computer, tablet and phone comes with audio input and output. Apps, games, and user interfaces would be unthinkable without sound. Yet, C++ currently provides no audio facilities out of the box. Literature on audio in C++ is sparse. For even the simplest possible audio functionality, programmers need to deal with a confusing landscape of complex platform-specific APIs and proprietary 3rd party libraries, even though the low-level mechanics of audio I/O are very similar on all these platforms. It's time to fix this.
In this talk, we present a proposal to add a minimal, modern, low-level audio API to the C++ standard library. We show how audio signals are represented in C++, and how our API implements basic concepts such as channels, audio buffers, PCM, and sample rate. We explain the principles of communicating with your sound card and playing, recording, reading and writing audio data. Finally, we show some simple example apps, using our implementation of this API to make some actual sound!
Timur Doumler is a C++ developer specializing in audio and music technology, an active member of the ISO C++ committee, and part of the #include team. He is passionate about building communities, clean code, good tools, and the evolution of C++.
Guy Davidson is the Principal Coding Manager of Creative Assembly, makers of the Total War franchise, Alien: Isolation and Halo Wars 2. Guy has been writing games since the early 1980s. He is now also a contributor to SG14, the study group devoted to low latency, real-time requirements, and performance/efficiency especially for Games, Financial/Banking, and Simulations, and to SG13, the HMI study group. He speaks at schools, colleges and universities about programming and likes to help good programmers become better programmers.