本文经修改后发表于《大众硬件》
本页所示为原始版本,转载时请注明来自Soomal.com以及大众硬件
当音箱的输入端插头连接电脑的声卡接口后,电脑里的音频文件又是怎样变成了美妙的音乐呢?这个过程其实比较复杂,要经过几次解码和几次放大,我们才能享受得到。我们今天就来看看这个瞧瞧进行的过程大致是怎样?
第一步:硬盘中的音频文件
存储在电脑中有很多种音频文件,它们有格式各样的编码,例如大家熟知的WAV文件和MP3文件,以及发烧友中意的APE文件。这些文件都经过编码,他们以二进制的形式存储在存储载体上。
第二步:播放器软件解码
我们常用的播放器软件有Foobar2000、Windows media player、WinAMP等,这些软件都可以通过安装插件来支持新的音频格式,其核心就是一个解码平台。这些播放器在读取文件之后,将文件中的信息转化成波形数字信号,通过PCI BUS提供给声卡。
第三步:实时音效处理
那游戏里的实时场景音效是怎么来的呢?这是声卡硬件合成的,这些声音素材本身不带环绕效果。这都是处理后的结果。因为这些声卡中集成了数字信号处理器(DSP)。
很多板载声卡不支持硬件合成音效,因此他们的流程会稍微有点不一样。这个音效处理的过程会在会在“通过PCI BUS提供给声卡”之前,由CPU运算完成。播放器中也有混响等效果,基本上和游戏音效是一个概念。
音乐发烧友一般不会在欣赏音乐是去加入效果的,因此这一步并不是必须的步骤。
第四步:SRC
SRC就是Sample Rate Convertor采样频率转换,intel AC'97规范约定了声卡需要经过这样一个处理过程,即将所有信号重新转换成一个统一的采样率输出。目前大部分声卡都遵循了AC’97规范。而小部分较为高档的声卡则没有这个过程,能够直接越过SRC直接输出。
说说SRC 在AC'97声卡的输出流程中,有个可怕的SRC,这个SRC问题很难应付,SRC究竟讨厌在哪里呢?我们先温习一下基本概念。 SRC的作用就是改变信号的采样率,低采样率往高采样率转换时就是一个重采样的过程,重采样对象不再是原始信号,而是这个低采样率的信号,因为采样率不够需要插入更多的采样点以达到需要的采样率和采样大小,在信号频率较低的时候,重采样算法的好坏并不会影响到什么,因为波长长,采样点多,但是高频就很难对付了,因为波长短,采样点少,44.1kHz的采样率情况下,一个20kHz的波仅仅有3个不到的采样点,转换到更高频率的时候势必插入更多的点,要尽量保持原貌,这个点该怎么插,这是一个非常有难度的算法,我们举一个例子帮助大家了解SRC。 我们假设三角形是一秒时间长度的一个波,采样率为3Hz,现在我们需要将采样率SRC到4Hz,我们唯一能作的就是时间轴(水平向)等分出4个点,取这个点垂直线和三角形边交汇处的值,这个过程就是重采样,结果变成了一个梯形。在波形图中,垂直的轴对应波的能量值,这意味着波的信号强度变弱了,出现了衰减。这个例子可以说明非整数倍的频率转换将改变波形,改变是不可避免的,算法好可以尽量保证转化后的波形和转换前的相似,但好的算法非常少,现有的大部分声卡SRC算法都是很糟糕的,正如上面这个例子一样,高频衰减就是因为SRC导致的,SRC还会导致一些其他问题,例如互调失真加剧等。(注:为了图解方便,图形的使用并不规范,三角形和梯形不能表示一个完整的波) |
第五步:I/O控制,输送至CODEC
所谓I/O,即input/output,输入/输出的意思。声卡可以不集成数字信号处理器(DSP),但不能没有I/O控制,这才是声卡最核心所在。 这个步骤决定了信号采用什么方式输出,最常见的会通过AC-Link输出数字信号到AC'97 Codec。
第六步:CODEC解码输出
声卡上一般都有一颗或者几颗这样的CODEC芯片,48Pin封装,很好识别。这个芯片最重要的功能就是将数字信号转换成模拟信号(DAC)以及把模拟信号转换成数字信号(ADC)。听音乐只会用到DAC这个功能。声卡在第五步完成操作后,会将信号输送到CODEC芯片,CODEC芯片会根据数字信号输出不断变化的电信号,这个电信号就是大家说的模拟信号。
第七步:运算放大器放大处理并输出
著名的NE5532运算放大器芯片在大部分声卡上还能找到运算放大器芯片,一半的中低档卡会采用4558,而高级一些的声卡会采用5532或者4580等相对高档运放芯片。运放芯片接受CODEC传送来的电信号,并做强化放大,并输出到声卡的输出插座上。
声卡上有一组或者多组模拟输出插座
第八步:通过信号线输出到功率放大器
RCA插座,音箱上的常见的信号输入插座
通过一条常见的信号线就可以将声卡和音箱连接起来,这个过程就不再罗唆了,大家都会。这个信号输入插座直连功率放大器,它就是功率放大器和音源设备的接口。
第九步:功率放大芯片再次放大信号
功率放大器的核心部件就是功放IC,常见的有2030、2050、1875、4766、3886等。他们的品质未必相同,但是作用是一样的,就是将信号放大到足以驱动扬声器。这部分被称为后级放大。
什么是前级放大?还有很多音箱还有一块运放芯片为核心的信号放大电路,其作用和第七步声卡上运放作用相似,通常,这部分被称为前级放大。由于大部分声卡上已经带有运算放大功能,因此不少多媒体音箱设计时去掉了前级放大部分,这种设计被称为免前级设计。
第十步:分频装置处理
这是一个典型的(电)感(电)容分频器,分频设备有很多类型,而大部分多媒体音箱仅仅采用一枚电容来实现分频(这只是低成本解决方案),比起这种较为复杂的分频器,效果一般会差不少。分频器的作用就是“指挥”高音和低音单元协调工作,它接受来自功放的强电信号后,再分配给扬声器,使之尽可能协调配合不分彼此。好的分频器能够较好的衔接高低音扬声器的频率响应曲线,并且对声音进行适度的修饰。
第十一步:驱动扬声器
大部分扬声器其实就是一个电转磁再转声的设备。扬声器接受到信号之后,其音圈部分会通电后会产生磁力,会与扬声器上的永磁体产生相斥或者相吸的作用,从而推动振膜发出声音。根据不同的信号,相斥或相吸的速率和冲程长度都会有差别,因此能够产生丰富的振动而重新演绎出音乐来。
这个不被人留意到的过程,有着诸多设备、元件的参与,我们平时简单的操作设备欣赏音乐时,可曾想从文件到听到声音,大致的流程就是这样呢?