欢迎来到天天文库
浏览记录
ID:38567466
大小:448.50 KB
页数:32页
时间:2019-06-15
《Linux下音频设备编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第8章Linux下音频设备编程本章着重阐述了Linux下对音频设备的编程方法。读完本章,读者将了解以下内容:音频信号的数字化和相关概念;音频总线接口IIS的控制原理和控制程序;Linux下音频设备编程的特点和操作方法;MPlayer媒体播放器在嵌入式Linux上的移植实例。8.1音频信号基础音频信号是一种连续变化的模拟信号,但计算机只能处理和记录二进制的数字信号,而由自然音源得到的音频信号必须经过一定的变换,成为数字音频信号之后,才能送到计算机中做进一步的处理。数字音频信号模拟音频信号数字化的典型方法是对时间坐标按相等的时间间隔做采样,对振幅做量化,单位时间内的采样次数称为采样
2、频率。这样,一段声波被数字化后就可以变成一串数值,每个数值对应相应抽样点的振幅值,按顺序将这些数字排列起来就是数字音频信号了。这就是模拟-数字转化(ADC)过程。数字-模拟转化(DAC)过程则相反,将连续的数字按采样时的频率和顺序转换成对应的电压。通俗一点讲,音频ADC/DAC就是录音/放音。放音是数字音频信号转换成模拟音频信号,以驱动耳机、功放等模拟设备,而录音则是要将麦克风等产生的模拟音频信号转换成数字音频信号,并最终转换成计算机可以处理的通用音频文件格式。采样就是每隔一定时间读一次声音信号的幅度,而量化则是将采样得到的声音信号幅度转换为数字值。从本质上讲,采样是时间上的数字化,而
3、量化则是幅度上的数字化。采样频率的选择应该遵循奈奎斯特(Nyquist)采样理论:采样频率高于输入信号最高频率的两倍,就能从采样信号序列重构原始信号。为了保证声音不失真,采样频率应该在40kHz左右。常用的音频采样频率有8kHz、11.025kHz、22.05kHz、16kHz、37.8kHz、44.1kHz、48kHz等,如果采用更高的采样频率,还可以达到DVD的音质。量化是对模拟音频信号的幅度进行数字化,量化位数决定了模拟信号数字化以后的动态范围,常用的有8位、12位和16位。量化位越高,信号的动态范围越大,数字化后的音频信号就越接近原始信号,但所需要的存储空间也越大。声道数是反映
4、音频数字化质量的另一个重要因素,它有单声道、双声道和多声道之分。双声道又称为立体声,在硬件中有两条线路,音质和音色都要优于单声道,但数字化后占据的存储空间的大小要比单声道多一倍。多声道能提供更好的听觉感受,不过占用的存储空间也更大。音频文件格式1.MP3MP3的全称应为MPEG1Layer-3音频文件。MPEG(MovingPictureExpertsGroup)在汉语中译为活动图像专家组,特指活动影音压缩标准,MPEG音频文件是MPEG1标准中的声音部分,也叫MPEG音频层,它根据压缩质量和编码复杂程度划分为三层,即Layer-1、Layer-2、Layer-3,且分别对应MP1、M
5、P2、MP3这三种声音文件,并根据不同的用途,使用不同层次的编码。MPEG音频编码的层次越高,编码器越复杂,压缩率也越高,MP1和MP2的压缩率分别为4:1和6:1~8:1,而MP3的压缩率则高达10:1~12:1,也就是说,一分钟CD音质的音乐,未经压缩需要10MB的存储空间,而经过MP3压缩编码后只有1MB左右。不过MP3对音频信号采用的是有损压缩方式,为了降低声音失真度,MP3采取了“感官编码技术”,即编码时先对音频文件进行频谱分析,然后用过滤器滤掉噪音电平,接着通过量化的方式将剩下的每一位打散排列,最后形成具有较高压缩比的MP3文件,并使压缩后的文件在回放时能够达到比较接近原音
6、源的声音效果。2.WMAWMA就是WindowsMediaAudio编码后的文件格式,由微软开发。WMA针对的不是单机市场,而是网络。它的竞争对手就是网络媒体市场中著名的RealNetworks。微软声称,在只有在64kbps的码率情况下,WMA可以达到接近CD的音质。与以往的编码不同,WMA支持防复制功能,它支持通过WindowsMediaRightsManager加入保护,可以限制播放时间和播放次数甚至于播放的机器等。由于WMA支持流技术,即一边读一边播放,因此WMA可以很轻松的实现在线广播。WMA有着优秀的技术特征,在微软的大力推广下,这种格式被越来越多的人所接受。3.WAV这是
7、一种古老的音频文件格式,由微软开发。WAV文件格式符合RIFF(ResourceInterchangeFileFormat,资源互换文件格式)规范。所有的WAV都有一个文件头,这个文件头保存了音频流的编码参数。WAV对音频流的编码没有硬性规定,除了PCM之外,还有几乎所有支持ACM规范的编码都可以为WAV的音频流进行编码。在Windows平台下,基于PCM编码的WAV是被支持得最好的音频格式,所有音频软件都能完美支持。由于本身可以达到较高的音质
此文档下载收益归作者所有