(续上节:Web Audio API 小教程(3): 初级使用篇)
- (0): 序言与目录
- (1): 它能做什么?
- (2): 入门篇
- (3): 初级使用篇
- (4): 一些声音常识
- (5): 进阶篇
在学习《进阶篇》之前,有必要先科普一些声音常识。
音乐理论常识
乐音与噪音
乐音:能明显分辨出音色、音高的声音,例如钢琴、小提琴、古筝等等。
噪音:混乱的,难以分辨音高的声音,例如锣、鼓、爆炸声、瀑布声等等。
乐音的三要素
音色:表示声音用什么乐器发声的,例如钢琴和小提琴的音色不一样。
响度:就是音量啦。
音高:跟我一起唱~ do re mi fa so la xi do ~~~
声音物理学常识
声波
上图就是声波的样子。
乐音的声波
音色 - 形状:声波的形状决定音色。
响度 - 振幅:声波的振幅决定响度(音量)。
音高 - 频率:声波的频率决定音高。
声音的数字化常识
声音的数字化采样
看图说话:
声波是一条连续的波形曲线,要把声波存储到硬盘里,就要把这条曲线转换成数字。
这个声波转换成数字的过程,称为数字化采样,简称采样。
上图是一段声波的第3.767秒到第3.768秒之间的采样。
就在这0.001秒,即1毫秒之间,采集了40+个点,把每个点的Y轴的对应值记录下来,然后把这一串数值按顺序存储到硬盘里,就变成了WAV格式的声音文件。
采样率
采样率就是1秒之内采样了多少个点,单位是 Hz 。
一般网上下载到的MP3音乐,其采样率一般是 44100 Hz。也就是说,1秒钟采样了 44100 个点。
看图说话:
1 | 文件格式: 44100Hz, 16 位, 立体声 |
这一行信息的意思是,每秒钟采样了44100个点,每个点占16位,16位就是2字节。
所以每秒钟需要占用空间 44100x2=88200 字节,就是大约 88 KB。
而由于这是立体声的,占两个声道,所以两个声道加起来,每秒钟就是大约 176 KB。
所以,如果这个声音文件是WAV格式的,那么它每秒钟占用大约 176 KB,一分钟就是 176x60=10560 KB。
比特率
比特率表示每秒钟占用多少硬盘空间,单位是 Kbps ,把这个单位展开成英文就是“Kbit per second”,中文意思是“千比特每秒”。
例如,128 Kbps 意思是每秒占用空间 128 Kbit。
1个bit就是二进制数字中的1位,所以 8bit=1字节
。
所以,128 Kbit 就是 16 KB (128 / 8 = 16)。
所以,128 Kbps 就是 16 KB/s ,即每秒占 16 KB。
每秒 16 KB,那么每分钟就是 960 KB 。所以,如果是 128 Kbps 的 MP3,一首3分钟的歌曲大约占用不到 3 MB 左右。
如果使用不压缩的 WAV 格式,根据上文所述,那么“44100Hz, 16 位, 立体声”的WAV文件就是 176 KB/s ,即比特率就是 1408 Kbps。
比特率是用来衡量声音文件的压缩率的。比特率越小,文件越小,压缩率越高。
对于同一种声音文件格式,比特率越小代表音质越差。但要是文件格式不一样,比特率就不能用来对比音质了。
MP3
一种最常见的声音文件格式,比特率范围是 30 - 320 Kbps。
网上最流行 128 Kbps。
现在 MP3 已经被所有浏览器所支持了。(Can I Use: MP3)
WMA
在2000年-2010年之间还蛮常见的一种声音格式,由微软公司发明。
当时被很多 MP3 随身听支持,压缩率比 MP3 高。即 WMA 的 64 Kbps 的音质大概相当于 MP3 128 Kbps(维基百科:WMA)。
但是可能由于微软开出版权费过高(我猜的),所以现在的浏览器全都不支持了。
AAC
一种网上不太常见但是兼容性最接近 MP3 的声音文件格式。常见扩展名有 .aac
.mp4
.m4a
.3gp
。
这是 MP3 的继承者,都是 MPEG 系列的标准,因此一般来说只要支持 MP3 的浏览器都能支持 AAC。
AAC 的压缩率几乎肯定比 MP3 高,但是能高多少取决于压缩软件是否给力,因为根据维基百科的描述,AAC是个庞大家族,有很多种AAC,压缩率参差不齐。
不过无论如何,在Web端,AAC 确实是一种比 MP3 更省网络流量的选择。
现在 AAC 也已经被所有浏览器所支持了(Can I Use: AAC),所以以后都不需要用 MP3 了,放心地用 AAC 吧。