为还未理解Jitter概念的朋友而写: 数码音频知识入门之"小白版"
忽然意识到,讨论Jitter的那个高层大厦贴,还是忽视了一些没有数码音频基础知识的朋友,导致一些人看不明白,包括我的那个"拆砖比喻",可能还是需要再补充一些基础的知识,才能理解,所以我决定今天抽空继续back to basics,再basic一些,希望通过最basic的比喻,把数码音频和Jitter的概念,令每个坛子上的人,都能理解.其实数码音频的ABC入门之类,无数人写过,不需要谁再写,但我还是用自己的理解,自己的语言再写一下. 如有写得不清楚,或者写错的地方,请大家一起帮助指正. 很好 赞一个前排占座 等全部写完后我抽空把所有帖子里的精华集中一下~ 首先一个基础是,声音的本质是什么?
大家一定知道,是物体的振动所引起,这种振动以声波的形式在空气传导.
声波是什么? 如果用一个座标来表示,大致是这样的. 它有两个参数,一个是横向的"时间轴",一个是纵向的"输出大小".
我随便画了一个声波的样子. 注意声波是圆滑的弧线(既然是"波"),象波浪一些,不是直线或锯齿型的. 现在面临的一个问题就是这样: 在模拟时代,磁带也好,黑胶也好,它是在各种不同的媒介上直接记录这个声波的形状. 所以叫"模拟",就象我用手去画这个声波的样子一样,是我用手在"模拟". 当然,模拟肯定是存在失真的,有画得不象的地方. 磁带,黑胶唱片重播出来的声波,也肯定和原始声波有不一样的地方. 这先不说.
先说的是一件事,到了数码时代,我们怎么去把这个优美圆滑的声波曲线加以"数码化",也就是说,如何用一串数字来表示这个声波. 这个问题就是数码音频的本质了. 看上去很难,是吗? 倒退到40年前,是一个世界性难题,但现在我们大家都知道了,聪明的音频工作者们早已解决了这个问题,让我们天天能轻易地享受数码音频的各种成果.
把声波数字化的关键点,在于取样(Sampling),即以一定的频率,去不断地取出在这个频率点上声波的输出大小.
对于声波来说,这个取样频率必须非常高,因为声波的振动频率是很高的,大家知道,人耳所能听到的频率范围(我们只关心这个,超出的部分不关我们事)是在20赫兹到20000赫兹. 所以,对声波的取样,必须以很高的频率来做.
还是以上面的简单为例,假如我的取样频率只有4次,即一秒种内取4次样,那是什么结果?
http://bbs.headphoneclub.com/attachments/forumid_4/20080911_0abfec468e52993c18aco8JSLuLRlYT8.jpg 结果就是,在这条声波曲线上,一秒种取4次样(即取样频率为4赫兹),只能获得4个取样点,4个样本.
4个样本能表达出这个曲线来吗? 没有办法. 太太太粗糙了. 粗糙得无人能接受. 继续继续
:lol
先拆一楼 所以对声波而言,只有提高取样频率. 根据公认的原理,要记录下20000赫兹的声波,我们所采用的取样频率必须至少达到它的一倍,即4万赫兹.
即使这样,我们对20000赫兹的高频声波的取样,还是不够的,大家可以想象出,此时仅仅对20000赫兹声波的一个波取了2个点而已. 用这2个点来表达这个波,还是很粗糙的. 所以我们可以知道为什么数码音频的极高频,特别是在数码科技的早期,是那么容易失真(硬,冷,干).对低频来说,4万赫兹的取样点是非常理想的了,比方,对100赫兹的波来说,一个波形被取了400个点,无疑是可以非常精确地描述出这个波了. 那么,我画的坐标的左侧,写着的00,01,10,11是什么意思呢? 这就是对每次取样的输出大小的等级记录. 你比方就以此图为例,我不管三七二十一,还是用4赫兹的频率去取样(尽管这个做法根本无法描述这个波). 那么取到的4个样本,它的输出大小必须有个记录.
在数码音频里,我们用二进制的数码来记录,而不是用平时日常生活里的10进制.
所谓二进制数码,即用0和1两个数码来表示数字. 用到的位数,我们称为比特数(Bit). 一个比特,就是0或者1,可以记录2个等级; 如果是2比特,就可以记录4个等级: 00,01,10,11; 如果是3比特,即用到三个0或1,那么可以记录8个等级: 000,001,010,011,100,101,110,111.
在这个手画的图里,我用了2比特,所以可以记录00,01,10,11四个等级.
[ 本帖最后由 小白 于 2008-9-11 17:54 编辑 ] 白版超有耐心. :lol 好文好文我这种初烧最喜欢这样通俗的图文讲解,辛苦了。 为什么要用二进制,而不是十进制,懂电路或电脑的一定知道. 这是因为对机器来说,二进制是最容易从技术上实现的,因为它只有两个状态,0和1. 对电脑来说,电脑是由逻辑电路构成的,逻辑电路正好只有两种状态: 关或开,很容易和0,1两个数码对应起来.
如果用十进制,那么如何使电路懂,是个难题,因为电路必须能变化出10种状态,以对应10个数字,这是很困难的. 而且即使电路能搞懂,在数据生成和传输时,稍一偏差就容易拷贝走样,比如把6当成了7; 而二进制是"非黑即白"的,不容易出错. 又见JITTER!此帖必火!强力抢占第一页!! 好的,我也同时出现了,期待 原帖由 小白 于 2008-9-11 12:39 发表 http://www.headphoneclub.com/bbs/images/common/back.gif
为什么要用二进制,而不是十进制,懂电路或电脑的一定知道. 这是因为对机器来说,二进制是最容易从技术上实现的,因为它只有两个状态,0和1. 对电脑来说,电脑是由逻辑电路构成的,逻辑电路正好只有两种状态: 关或开,很容易 ...
这段话写的值得商榷,原因并非是否电路容易实现.