基础知识
-
采样率:
每一秒采样次数。 CD的采样率是44.1kHz。 -
采样大小:
指保存每一个采样点数据使用bit数,常见的CD采样大小位16bit。 -
码率:
就是bit率。每一秒传输的bit数量。 等于采样率 * 采样大小。
常用的音频编码格式
音频编码格式分为压缩编码格式与非压缩编码格式。 压缩编码又分为无损压缩编码与无损压缩编码。
- 非压缩
- 压缩
- 无损压缩
- 有损压缩
非压缩音频格式
-
PCM编码
Pulse Code Modulation ,是最原始的编码格式。PCM属于非压缩编码。CD、DVD常采用PCM编码格式。
PCM有一种子格式LPCM——线性脉冲编码调制。 -
wav
wav实际是一种音频文件格式。是Microsoft与IBM于1991年制定的标准。
wav格式是各种音频编码格式的容器。 大多数wav文件包含PCM格式的未压缩音频。wav也可以包含某种压缩音频格式,但很少这样使用。 -
aiff
aiff是apple于1988年为Mac系统开发的一种音频文件格式。
与wav类似,aiff可以包含多种音频编码格式。但大多数aiff文件都包含PCM格式的未压缩音频。
有损压缩音频格式
-
MP3
MP3: MPEG-1 Audio Layer 3。 于1993年发布并流行。
MP3属于有损压缩音频格式。其主要特点:1)删除所有正常人听力之外的声音数据;2)降低不容易听到的声音的质量;3)尽可能压缩所有音频数据。 -
AAC
高级音频编码。
1997年作为MP3的继任者开发,但从未超越MP3成为最受欢迎的格式。(也是有损压缩音频格式)
AAC使用的压缩算法比MP3更先进,因此相同的比特率情况下,AAC的印制通常会更好。 -
OGG
OGG是一个多媒体容器,可以保存各种压缩格式,但最常用于保存Vorbis格式,因此这些音频文件被称为OGG Vorbis文件。
Vorbis于2000年首次发布。 它遵循开源软件原则,并且性能明显优于其他大多数有损压缩格式。 -
WMA(有损)
WMA是Windows媒体音频。它是Microsoft于1999年发布的专有音频格式。它旨在解决一些MP3中的缺陷。它的压缩算法与AAC、OGG非常相似。就压缩质量而言,它比MP3更先进。但因为它是专有的,所以当MP3不够好时,AAC、OGG更受欢迎。
无损压缩音频格式
-
FLAC
压缩率高达60%,不会损失任何数据。并且更大的优点是FLAC是一种开源且免版税的音频文件格式。 -
ALAC
Apple的无损音频编码。2004年作为专有音频格式开发和推出,但在2011年开源且免版税。ALAC压缩效率低于FLAC。 -
WMA(无损)
它与WMA有损文件使用相同的文件扩展名,这令人困惑。
与FLAC、ALAC相比WMA(无损)的压缩效率是最差的(虽然差不了多少)。
USB Audio class
经历了Audio Device Class V1.0、2.0、3.0的发展。 这些规范在www.usb.org上可以找到,免费下载。
linux对音频的支持
-
ALSA: Advanced Linux Sound Architecture
-
MIDI: Musical InstrumentDigital Interface
-
OSS: Open Sound System. Linux2.4等早期内核中的声音系统
ALSA:
1、支持从入门级声卡到专业音频设备所有类型的声音接口
2、完全模块化设计
3、支持对称多处理器和多线程安全
4、对OSS向后兼容
5、提供用户空间的alsa_lib库莱简化应用程序开发
ALSA是一个完全开放源码的音频驱动程序集
ALSA还专门为简化应用程序童工了相应的函数库
OSS则提供基于ioctrl的原始编程接口
ALSA也提供ioctl的接口,不过体长使用函数库。
linux中的ALSA源码:
include/sound/driver.h
sound/core/*
AC97: Audio Codec 97
软声卡的代名词
AC97规范
AC97标准提出声卡双芯片结构,声卡的数字和模拟部分分开。
AC97的规格:
16位全双工立体声codec,固定48k采样频率
4中模拟立体声输入,LINE、CD、VIDEO、AUX
两种模拟单声道输入