[回路方式、内录和SRC的更多知识]
5、回路方式
使用一根双3.5mm头的线材将声卡的模拟输出和模拟输入(Line in)连接起来的方式被成为回路,主要用于测试声卡的一些指标,可以看成是模拟输出加模拟输入的流程集合,这种方式不具备实用价值,除了测试之外没有人会这么用。这种流程太长,双3.5mm头的线材的质量会严重影响测试结果,其实很难测试到声卡的真实表现。
6、内录
捕捉当前播放的数字信号的过程通常被成为内录,内录常常使用于测试,用于检测声卡的数字信号质量相当好用。在日常应用中,也可能用到内录,例如你录制实时播放的数字电台节目,就需要用到内录。
7、再说说SRC
在AC'97声卡的输出流程中,有个可怕的SRC,我们在前面说起过这个SRC,这个SRC问题很难应付,SRC究竟讨厌在哪里呢?我们先温习一下基本概念。
声音其实是一种能量波,因此也有频率和振幅的特征,频率对应于时间轴线,振幅对应于电平轴线。波是无限光滑的,弦线其实由无数点组成,由于存储空间是相对有限的,数字编码过程中,必须对弦线的点进行采样。采样的过程就是抽取某点的频率值,很显然,在一秒中内抽取得点越多,获取得频率信息更丰富,为了复原波形,一次振动中,必须有2个点的采样,人耳能够感觉到的最高频率为20kHz,因此要满足人耳的听觉要求,则需要至少每秒进行40k次采样,用40kHz表达,这个40kHz就是采样率。我们常见的CD,采样率为44.1kHz。光有频率信息是不够的,我们还必须获得该频率的能量值并量化,用于表示信号强度。量化值为2的整数次幂,我们常见的CD位16bit的采样大小,即2的16次方。
上图中A线条表示原始信号,而线条B和C表示不同采样率和采样大小的数字信号。采样率和采样大小的值越大,记录的波形更接近原始信号。
SRC的作用就是改变信号的采样率,低采样率往高采样率转换时就是一个重采样的过程,重采样对象不再是原始信号,而是这个低采样率的信号,因为采样率不够需要插入更多的采样点以达到需要的采样率和采样大小,在信号频率较低的时候,重采样算法的好坏并不会影响到什么,因为波长长,采样点多,但是高频就很难对付了,因为波长短,采样点少,44.1kHz的采样率情况下,一个20kHz的波仅仅有3个不到的采样点,转换到更高频率的时候势必插入更多的点,要尽量保持原貌,这个点该怎么插,这是一个非常有难度的算法,我们举一个例子帮助大家了解SRC。
我们假设三角形是一秒时间长度的一个波,采样率为3Hz,现在我们需要将采样率SRC到4Hz,我们唯一能作的就是时间轴(水平向)等分出4个点,取这个点垂直线和三角形边交汇处的值,这个过程就是重采样,结果变成了一个梯形。在波形图中,垂直的轴对应波的能量值,这意味着波的信号强度变弱了,出现了衰减。这个例子可以说明非整数倍的频率转换将改变波形,改变是不可避免的,算法好可以尽量保证转化后的波形和转换前的相似,但好的算法非常少,现有的大部分声卡SRC算法都是很糟糕的,正如上面这个例子一样,高频衰减就是因为SRC导致的,SRC还会导致一些其他问题,例如互调失真加剧等。(注:为了图解方便,图形的使用并不规范,三角形和梯形不能表示一个完整的波)