page.title=Audio Terminology
@jd:body

<div id="qv-wrapper">
  <div id="qv">
    <h2>In this document</h2>
    <ol id="auto-toc">
    </ol>
  </div>
</div>

<p>
This document provides a glossary of audio-related terminology, including
a list of widely used, generic terms and a list of terms that are specific
to Android.
</p>

<h2 id="genericTerm">Generic Terms</h2>

<p>
These are audio terms that are widely used, with their conventional meanings.
</p>

<dl>

<dt>bits per sample or bit depth</dt>
<dd>
Number of bits of information per sample.
</dd>

<dt>channel</dt>
<dd>
A single stream of audio information, usually corresponding to one
location of recording or playback.
</dd>

<dt>frame</dt>
<dd>
A set of samples, one per channel, at a point in time.
</dd>

<dt>frames per buffer</dt>
<dd>
The number of frames handed from one module to the next at once;
for example the audio HAL interface uses this concept.
</dd>

<dt>mono</dt>
<dd>
One channel.
</dd>

<dt>sample</dt>
<dd>
A number representing the audio value for a single channel at a point in time.
</dd>

<dt>sample rate or frame rate</dt>
<dd>
Number of frames per second;
note that "frame rate" is thus more accurate,
but "sample rate" is conventionally used to mean "frame rate".
</dd>

<dt>stereo</dt>
<dd>
Two channels.
</dd>

</dl>

<h2 id="androidSpecificTerms">Android-Specific Terms</h2>

<p>
These are terms that are specific to Android audio framework, or that
may have a special meaning within Android beyond their general meaning.
</p>

<dl>

<dt>ALSA</dt>
<dd>
Advanced Linux Sound Architecture.  As the name suggests, it is an audio
framework primarily for Linux, but it has influenced other systems.
See Wikipedia article
<a class="external-link" href="http://en.wikipedia.org/wiki/Advanced_Linux_Sound_Architecture" target="_android">ALSA</a>
for the general definition. As used within Android, it refers primarily
to the kernel audio framework and drivers, not to the user-mode API. See
tinyalsa.
</dd>

<dt>AudioFlinger</dt>
<dd>
The sound server implementation for Android. AudioFlinger
runs within the mediaserver process. See Wikipedia article
<a class="external-link" href="http://en.wikipedia.org/wiki/Sound_server" target="_android">Sound server</a>
for the generic definition.
</dd>

<dt>AudioMixer</dt>
<dd>
The module within AudioFlinger responsible for
combining multiple tracks and applying attenuation
(volume) and certain effects. The Wikipedia article
<a class="external-link" href="http://en.wikipedia.org/wiki/Audio_mixing_(recorded_music)" target="_android">Audio mixing (recorded music)</a>
may be useful for understanding the generic
concept. But that article describes a mixer more as a hardware device
or a software application, rather than a software module within a system.
</dd>

<dt>AudioRecord</dt>
<dd>
The primary low-level client API for receiving data from an audio
input device such as microphone.  The data is usually in PCM format.
</dd>

<dt>AudioResampler</dt>
<dd>
The module within AudioFlinger responsible for sample-rate conversion. See Wikipedia article
<a class="external-link" href="http://en.wikipedia.org/wiki/Resampling_(audio)" target="_android">Resampling (audio)</a>
for the generic definition.
</dd>

<dt>audio policy</dt>
<dd>
Service responsible for all actions that require a policy decision
to be made first, such as opening a new I/O stream, re-routing after a
change and stream volume management.
</dd>

<dt>AudioTrack</dt>
<dd>
The primary low-level client API for sending data to an audio output
device such as a speaker.  The data is usually in PCM format.
</dd>

<dt>client</dt>
<dd>
Usually same as application or app, but sometimes the "client" of
AudioFlinger is actually a thread running within the mediaserver system
process. An example of that is when playing media that is decoded by a
MediaPlayer object.
</dd>

<dt>HAL</dt>
<dd>
Hardware Abstraction Layer. HAL is a generic term in Android. With
respect to audio, it is a layer between AudioFlinger and the kernel
device driver with a C API, which replaces the earlier C++ libaudio.
</dd>

<dt>FastMixer</dt>
<dd>
A thread within AudioFlinger that services lower latency "fast tracks"
and drives the primary output device.
</dd>

<dt>fast track</dt>
<dd>
An AudioTrack client with lower latency but fewer features, on some devices.
</dd>

<dt>MediaPlayer</dt>
<dd>
A higher-level client API than AudioTrack, for playing either encoded
content, or content which includes multi-media audio and video tracks.
</dd>

<dt>mediaserver</dt>
<dd>
An Android system process that contains a number of media-related
services, including AudioFlinger.
</dd>

<dt>NBAIO</dt>
<dd>
An abstraction for "non-blocking" audio input/output ports used within
AudioFlinger. The name can be misleading, as some implementations of
the NBAIO API actually do support blocking. The key implementations of
NBAIO are for pipes of various kinds.
</dd>

<dt>normal mixer</dt>
<dd>
A thread within AudioFlinger that services most full-featured
AudioTrack clients, and either directly drives an output device or feeds
it's sub-mix into FastMixer via a pipe.
</dd>

<dt>OpenSL ES</dt>
<dd>
An audio API standard by The Khronos Group. Android versions since
API level 9 support a native audio API which is based on a subset of
OpenSL ES 1.0.1.
</dd>

<dt>StateQueue</dt>
<dd>
A module within AudioFlinger responsible for synchronizing state
among threads. Whereas NBAIO is used to pass data, StateQueue is used
to pass control information.
</dd>

<dt>tinyalsa</dt>
<dd>
A small user-mode API above ALSA kernel with BSD license, recommended
for use by HAL implementations.
</dd>

<dt>track</dt>
<dd>
An audio stream, controlled by the AudioTrack API.
</dd>

</dl>

</p>

