录音/制作/创作 吉他 扩声技术 视频技术 作品展示 生活 信息 更多... | 音频应用专卖店

数字音频是这么一回事

( 45 )
 
[收藏]
-  第 1 页  -

13895
#1 03-7-24 18:36

数字音频是这么一回事

声音,就是振动,可以用波形来表示。波形大家都见过吧。

假如要你把一条声波从北京带到上海。有两种方法。

一,你拿一张纸,用笔把声波小心地描绘在纸上,然后把图纸带到上海,最后再把图纸上的波形给画到上海这边的机器上

二,你把波形横着分成许多份,比如:第 0.0001 秒,第 0.0002 秒 …… ,也可以说是按照一定的时间间隔给标上小黑点,然后把每一个小黑点的高度(数字)给抄下来,比如:第 0.0001 秒 / 高度 20mm ,第 0.0002 秒 / 高度 16mm …… 然后把这份数字表带到上海,最后根据这份表,重新画出小黑点,然后把小黑点连起来,就成了波形。

第一种方案,就是“模拟”;第二种方案,就是“数字”。

看:这就是“模拟录音”


看:这就是“数字录音”


“数字”方案的好处不言而喻:

1,可以无损传输,从北京带到上海,上海人把这些数字抄一份,然后带到西安,西安人再抄一份,然后传到 …… 无论传多远,只要不是粗心大意把数字抄错,就永远不会有损失 。但“模拟”就不行了。北京带到上海,上海人临摹一遍,波形就变了一点,然后西安人再拿上海人的图纸再临摹一遍,更差了 …… 临摹来临摹去,最后波形已经变得面目全非了,就算把徐悲鸿、马良、达芬奇、毕加索等绘画大师都叫来帮忙都没用,何况毕加索还是个印象派。

2,不会变质,可以永久保存。图纸放时间长了,难免会发黄变质,在这种情况下,你说是图像的保存时间长还是数字的保存时间长?肯定是数字,图纸再黄再破,数字总还看得清,而且不影响质量。图像就不行了,发黄,你的颜色就不对了。

3,方便处理。如果我要把波形放大一倍,怎么办?数字方式好办,拿个计算器把每个数字 X 2 就行了,而且很准。模拟就不行了,得拿个放大镜放在上面,然后再找个画家把它画一遍,累不累啊?而且还不准。

--------------------------

好了,然后讲这个数字方式。

前面已经说过,首先你得把波形横着分成许多份,也就是标出许多小黑点,然后把每一个小黑点的高度给抄下来,这个过程就叫做“模数转换 Analog Digital Convert”简称“AD”,然后到了上海你再最后根据这份表,重新画出这些小黑点,然后绘制波形,这个过程叫做“数模转换 Digital Analog Convert”简称“DA”。

把波形平均分成许多小黑点,有多少呢?一般是把一秒钟长度的声波分成 44100 个小黑点,当然你可以分成 48000 个或者 96000 个。

由于 44100 这个数字太长,所以一般就写成 “44.1k”,k 就是一千的意思。

“每秒钟有 44.1k 个”,这无论是念起来还是写起来都太长,所以就规定用“44.1k Hz”来表示“每秒钟有 44.1k 个”。

这,就是所谓“采样率”,就是每秒钟采多少下。

接下来记录每一个点的“高度”。有人说了。这有什么好讲的?直接拿尺一量不就行了?错!这里面大有学问。至于有什么学问,且听下回分解。
观众反应
:不愧是大师,讲得真好!学习了!

4483
#2 03-7-24 19:28
好玩!好玩!
另:达芬奇是印象派?

12588
#3 03-7-24 19:39
哈哈哈哈,老驴才是印象派!

13895
#4 03-7-24 20:08
上回说道记录高度,也就是振幅啊。这个记录里面是有猫腻的。什么猫腻呢?比如我第三个小黑点的高度是 :

0.23439058432985894719327490137490394731895738491751392849138901347950134

什么?我是怎么测出来的?怎么测的你别管,反正这就是它的值。

可是这么长的数字,如果每一个点都要这样记录,那还不把人累死?而且纸也不够呀,太浪费了。所以就要四舍五入,取前面几位。取的位数越少,你的精度就越低,取得位数越多,你的精度就越高。取多少位,就叫做“采样精度”。

数字音频行业规定:(至于为什么要这样规定,我最后讲)

把高度分成 65536 份,用份数来记录那些小黑点的“高度”。中间是零,最上面是 32768 ,最下面是 -32768 。比如这一个 Wave 文件:

0
93      表示这个点的“高度”是在上半部份 32768 份中占据了 93 份
187      表示这个点的“高度”是在上半部份 32768 份中占据了 187 份
280      表示这个点的“高度”是在上半部份 32768 份中占据了 280 份
373
467
560
654
746
840
934
1027
1121
1214
1308
1401
1495
1589
1682
1776
1868
1961
2056
2149
2242
2336
2429
2521
2615
2709
2802
2895
2989
3083
3175
3270
3362
3456
3548
3642
3735

至于为什么是 65536 份而不是 65535 份呢?且听我慢慢道来。

其实,数字音频文件中所记录的信息,并不是上面这串数列,而是下面这串:

0000000000000000      等于 0
0000000001011101      等于 93
0000000010111011      等于 187
0000000000011000      等于 280
0000000101110101      等于 373
0000000111010011      等于 467
……

为什么要这样记录呢?因为电脑中的“数字”就只有两个:1 和 0 。所以要用 1 和 0 来记录所有的数字。

一位01数字可以记录两个数:0,1
两位01数字可以记录四个数:0,1,2,3
三位01数字可以记录八个数:0,1,2,3,4,5,6,7,8
……
也就是说位数每增加一个,所能记录的真实数字就增多一倍。

数字音频使用 16 位01数字来记录“振幅高度”,也就是能记录 65536 个真实数字。我们把这种精度叫做 16bit ,意思就是使用 16 位01数字来记录真实数字。

如果采用 24 bit 精度,意思就是使用 24 位01数字来记录真实数字,所能记录的真实数字比 16 bit 下要多八倍,精度就高八倍。

不知大家看明白没有。我先停一下。谁如果看不明白就问。

13895
#5 03-7-24 20:09
最初由 黑毛 发布
好玩!好玩!
另:达芬奇是印象派?


哦,搞错了。是毕加索。改了。

13895
#6 03-7-24 20:37
哦,接下来趁热打铁,给大家讲讲音频文件的内幕

一个音频文件,无论是 wave 也好,还是 aiff ,都是一样的结构。

每个音频文件数据都分为两个部份:1,音频信息;2,音频数据

音频信息主要是三个:采样率,通道数(立体声还是单声道),采样精度。当然还有其他一些来凑热闹的东西。

然后是音频数据

有人以为音频数据是这样的格式:

第一个采样点的时间 振幅
第二个采样点的时间 振幅
第三个采样点的时间 振幅

例如:
1 234
2 3455
3 43523
4 342
5 35432

实际情况是不是这样呢?错!实际情况是根本就不记录时间!而光是记录振幅,就是这样:

93
187
280
373
467
560
654
746
840
934
……

啊?居然不给记录时间?数字音频居然有这么个大bug?

呸!谁说这是bug了?凭什么要记录时间?我的时间间隔都是固定的,第 1/44100 秒是第一个采样点,第 2/44100 秒是第二个采样点,第 3/44100 秒是第三个采样点。只要事先告诉机器我用的是什么采样率,那么机器就会自动掌握时间。所以,干吗还要记录时间?画蛇添足。你以为制定数字音频标准的专家是吃素的吗?哼。伪科学,伪HiFi害死人啊。

以上就是数字音频的格式,大家如果有二进制码软件可以自己打开来看看。顺便说一下,上面我都是用十进制计数,而在电脑中是二进制计数,我上面的数字位数虽然不同,但在电脑中,每个真实数字都用 16 位01数字来记录。所以音频数据是这样:

00101001010101001010100101111010100101010101101010010101010010101
01010010101010100101010101001010101010110011101001010100010001001
00101010010110101001001001000101010101001101010001010101001010100
……

哇,都是连续的,机器怎样把这些数字分开?怎样认出各个采样点的值?

笨啊。前面不是说了吗,每 16 位是一个数字!所以机器就每 16 位一读,自动切割,这样就可以分辨了,不会有冲突。

1722
#7 03-7-24 20:45
还有吗?继续!

1128
#8 03-7-24 21:00
喜欢啊

1128
#9 03-7-24 21:02
总算明白为什么不同采样率的wav在一起会对不其了

609
#10 03-7-24 22:24
形象生动,通俗易懂,有创意!:)

331
#11 03-7-24 22:35
精辟!
期待继续~~~~~~

13895
#12 03-7-24 22:53
下面再讲讲“ dB ”这个东西。

人对声音大小的感觉不是线性的,而是成倍数关系的。比如 A 声音的振幅是 60000 ,B 声音的振幅是 40000 ,C 是 20000 ,那么你以为 A 与 B 的差别,等于 B 与 C 的差别吗?错!A 与 B 的差距,听起来要比 B 与 C 要小!这是因为人耳的音量感觉是倍数变化的,A 是 B 的 1.5 倍,B 是 C 的 2 倍,所以人们会感觉他们的音量差距不一样!这就是人耳的感觉。

但是你以为科学家没有考虑到人耳的这种感觉,造成人耳感觉与数字指标不一致的情况吗?错!科学家早就给你考虑好了。既然人耳的感觉是呈现倍数变化的,那咱们就用倍数方式来计数!这种倍数方式,就是 dB 。

换句话说,现在的数字音频用“份数”来记录振幅,但“份数”这种方式并不符合人耳的实际大小感觉。所以我们要把“份数”转换成 dB 方式,这种计数方式才符合人耳感觉。

那么数字音频中的 dB 是怎样由“份数”换算来的呢?看好了,我给大家写出来:

13895
#13 03-7-24 23:05
(接上)

至于这个公式是怎么制定出来的呢?这个说来话长了。总之你知要知道,dB 才是符合人耳听觉习惯的音量表示方式。

比如一个 16bit 的音频,那么份数就是 2 的 16 次方,就是 65536 份,其中一个声音的振幅是 30000 份,那么换成 dB 就是

10 X log(30000的平方/65536的平方)= -6.9 dB

明白了吧?如果一个声音顶到头了,那么

10 X log(65536的平方/65536的平方)= 0 dB

最小的声音:

10 X log(1 / 65536的平方)= -96 dB

这个 -96 dB ,也就是 16 bit 音频所能记录的最小的声音 。(有没有更小的声音?有!它就是“nothing”。) 换句话说,16 bit 音频格式下,最低的噪音是 -96dB (谁要说我能更低,就是吹牛),最理想的信噪比或者叫动态范围(最大信号和最小信号的比例)就是 96 dB ,任何音频设备都不可能超过这个值。我的 Multiface 在 16bit 下的信噪比高于 90 dB ,已经很厉害了。如果哪个音频设备说它在 16bit 下的信噪比达到了 96 dB 以上,那就是吹牛。

但如果换成 24 bit ,那就不一样了。我们来算一下 24 bit 下的最小声音

10 X log [ 1 / (2的24次方)的平方 ] = -144 dB

哇,你看看,24 bit 下的最小声音是 -144 dB 。也就是说所能达到的最大的信噪比/动态范围是 144 dB 。不过目前人类最好的 AD 和 DA 设备所能达到的极限是 120 dB 左右,看来还有余地可以进步。

4199
#14 03-7-24 23:12
一个是信件,一个是电报。。。呵呵。。。

653
#15 03-7-24 23:57
 数字音频要想完整地记录、处理和传输,必须采用某种编码格式。 
以常见的数字音频格式WAVE文件格式为例,简单地说,WAVE文件就是文件头加上PCM数据,其中PCM数据已经是音频的裸数据,它使用三个参数来表示声音:采样位数、采样频率和声道数,这样的编码属于无损编码。
下图是一个WAVE文件的数据的实例。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

搜索