Web开发

首页 » 常识 » 预防 » WebAudio数字化音频
TUhjnbcbe - 2023/5/28 21:36:00
哪家医院看白癜风好 http://pf.39.net/bdfyy/bdflx/191014/7534559.html

声音的数字化即是通过采样、量化、编码,把模拟信号的音源表示成由

0/1

组成的二进制数据,所以数字音频是不连续的。

声音是怎么产生的

声音是一种压力波:当演奏乐器、拍打一扇门或者敲击桌面时,他们的振动会引起介质——空气分子有节奏的振动,使周围的空气产生疏密变化,形成疏密相间的纵波,这就产生了声波,这种现象会一直延续到振动消失为止——百度百科

图片来自WebAudioBook-Oreilly

PCM编码

PCM(PulseCodeModulation)

即脉冲编码调制,是把模拟信号转换成数字信号的一种技术,主要有三个过程:采样、量化、编码。采样即按照一定的频率(每隔一段时间)去采集一次模拟信号的值。量化就是把采集到的数据转换为二进制数据,量化精度就是每个采样点能表示的数据范围,一般量化精度有

4bit,8bit,16bit...

也就是能存储

2^4,2^8,2^16...

个不同的值。量化精度的大小影响到声音的质量,位数越多,量化后的波形越接近原始波形,声音的质量越高,需要的存储空间也越多。

PCM

的两个重要指标是采样频率和量化精度,常见的

CD

音频的采样频率是

44.1KHZ

,采样位数为

16bit

。下图是一个把模拟信号转换至

4bitPCM

的取样和量化:

图片来自脉冲编码调制-Wikipedia

在想想平时我们听歌的过程,实际就是播放器读取文件中(

MP3,WAV,WMA...

)的音频数据,经过解码得到

PCM

数据;相反在录音的时候就是音频驱动不断的采样得到

PCM

数据再完成压缩存储。

PCM

把声音就转化为一个很长很长的数组(在

webaudio

中,这个数组被抽象为

AudioBuffer

),所以原始数据是非常大的,因此音频通常会压缩处理。压缩分为无损和有损:无损压缩(如

FLAC/ALAC

)保证了在压缩和解压缩的过程中,数值不会改变;有损压缩(如

MP3

)则会去除一些无用的数据。通常使用比特率

bitrate

作为一种数字音乐压缩效率的参考性指标,表示播放音频时每秒的传输量,比如音乐文件常使用

Kbps

,当然我们可以随意指定

bitrate

进行压缩,假如一个

Kbps

的3分钟音频,其文件大小就是

K*3*60/8=KB=2.MB

音频格式

前面我们提到原始

PCM

由于过大所以通常采用压缩的方法减小体积方便传输,常见的编解码器(能通过某种算法压缩与解压缩数字音频数据到音频文件或流媒体音频编码格式)如下:

AAC,比MP3更先进的音频压缩技术,目的在于取代陈旧的MP3  OggVorbis,和AAC一样用以替代MP3的下一代音频压缩技术。但是Vorbis是免费、开源的  MP3丢弃掉PCM音频数据中对人类听觉不重要的数据(类似于JPEG是一个有损图像压缩),从而获得一个比较小的文件

主流浏览器对音频格式的支持:

从这个表可以看出要覆盖主流浏览器,我们需要准备两种音频格式:

OggVorbis,MP3

,由于

WAV

是很简单的无损压缩(可以认为就是把

PCM

数据塞进

WAV

容器)所以体积会相对比较大,不建议使用该格式。这里还有一个

在线音频格式检测

的工具,方便检测使用的浏览器对音频格式的兼容情况。

1
查看完整版本: WebAudio数字化音频