D1501R0
Feedback on std::audio

Draft Proposal,

This version:
http://wg21.link/D1501R0
Authors:
(Apple)
(Apple)
(Apple)
(Apple)
Audience:
SG13
Project:
ISO/IEC JTC1/SC22/WG21 14882: Programming Language — C++
Draft Revision:
0
Source:
github.com/jfbastien/papers/blob/master/source/D1501R0.bs

We’ve gathered input from a variety of folks involved in audio at Apple, and here is our joint, considered position regarding the std::audio proposal in [P1386R0].

Audio is important to the Apple ecosystem. The type system, and determinism of C++ lends itself well to the audio software domain. In the proposal we like the formalization of data types and algorithms that are common in the audio domain. However, we are concerned about the audio device interfaces and requiring C++ systems to have a specific implementation.

Creating a good interface between software and audio hardware is something that on the surface seems straightforward, but on a practical system is challenging to implement correctly. This area has typically been fairly platform-specific or handled by specialist libraries, and may not be immediately amenable to standardization. We think it’s best not to standardize audio hardware I/O.

Instead of attempting to standardize the interface and mechanism of audio hardware, providing a common representation of audio data could be an area of exploration that is suited to the language.

References

Informative References

[P1386R0]
Guy Somberg, Guy Davidson, Timur Doumler. A Standard Audio API for C++: Motivation, Scope, and Basic Design. 21 January 2019. URL: https://wg21.link/p1386r0