Audio Framework
Overview
The Ref-OS-IoT uses the Advanced Linux Sound Architecture (ALSA) framework to deliver Audio features to application.
See http://alsa-project.org/main/index.php/Documentation for more information.
Audio Software Stack
Audio Software Architecture shown below outlines the OS audio Stack which covers the following aspects:
- Application uses GStreamer to setup the Audio pipeline.
- GStreamer provides ALSA sink and source used on the pipeline
- GStreamer good and bad audio codecs are used as filters in the audio pipeline.
- ALSA library provides a transparent access to audio driver to play and record audio

Pulse Audio Features
PulseAudio is a networked sound server for advanced audio features such as:
- Software mixing of multiple audio streams, bypassing any restrictions the hardware has.
- Sample rate conversion of audio streams
- Network transparency, allowing an application to play back or record audio on a different machine than the one it is running on.
- Sound API abstraction, alleviating the need for multiple back-ends in applications to handle the wide diversity of sound systems out there.
- Generic hardware abstraction, giving the possibility of doing things like individual volumes per application.
- PulseAudio comes with many plugin modules.
GStreamer
GStreamer plugins can be found at: https://gstreamer.freedesktop.org/documentation/plugins.html.
Hardware Codec Connection
The Intel® Joule™ developer kit does not include a hardware audio codec. A reference connection is provided in Audio Interface topic in the Expansion Board Design Guide section.