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.

For more complete information about compiler optimizations, see our Optimization Notice.