An audio codec is a device or computer program capable of encoding or decoding a digital data stream (a
codec) that encodes or decodes audio. In software, an audio codec is a computer program implementing an algorithm that
compresses and decompresses digital audio data according to a given audio file or streaming media
audio coding format. The objective of the algorithm is to represent the high-fidelity audio signal with a minimum number of bits while retaining quality. This can effectively reduce the storage space and the
bandwidth required for transmission of the stored audio file. Most software codecs are implemented as
libraries which interface to one or more
multimedia players. Most modern audio compression algorithms are based on
modified discrete cosine transform (MDCT) coding and
linear predictive coding (LPC).
In hardware, audio codec refers to a single device that encodes analog audio as digital signals and decodes digital back into analog. In other words, it contains both an
analog-to-digital converter (ADC) and
digital-to-analog converter (DAC) running off the same
clock signal. This is used in
sound cards that support both audio in and out, for instance. Hardware audio codecs send and receive digital data using
buses such as
AC'97,
SoundWire,
I²S,
SPI,
I²C, etc. Most commonly the digital data is
linear PCM, and this is the only format that most codecs support, but some legacy codecs support other formats such as
G.711 for telephony.
See also
*
Comparison of audio coding formats
*
List of codecs
*
List of open-source codecs
*
Transcoding
*
Video codec
References
{{DEFAULTSORT:Audio Codec
Data compression