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. The 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 is very similar on all these platforms.
In this talk, we will first show how audio signals can be digitally represented in C++, covering 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. We will then present a proposal to add a minimal, modern, low-level audio API to the C++ standard library, implementing these principles. Finally, we will show some simple example apps, using our implementation of this API to make some actual sound!