今天我们就开始讲解WebRTC专栏的第一篇文章,如果对专栏不了解的同学,可以去先看看专栏介绍。废话不多说,开始我们今天的内容。
一、声音产生原理
首先我们必须认识到自然界中的声音是怎么产生?
声音是由物体振动而产生的,振动对周围空气挤压,就会生成声波,声波通过空气传播,进入到我们耳朵,使我们听到声音,所以声音其实是一种波形。
而我们通过对声波的采样,量化,编码,将声波从模拟信息转换为数字信号,生成数字数据,就是我们的音频裸数据,即PCM(Pulse Code Modulation)数据。
二、音频基础概念分析
下面我们就来分析一下,采样,量化,编码经常会涉及的一些概念。
1、采样率(sampleRate)
所谓的采样就是在时间轴上对信号进行数字化,而采样率就是单位时间内采样的次数。采样率如何设定呢?44.1KHz又是如何得出来的呢?
奈斯奎特定理:当采样频率大于信号中最高频率的2倍时,采样之后的数字信号完整地保留了原始信号中的信息
目前人耳能听到的范围是20Hz ~ 20KHz,采样率至少设置为 20K*2,才能保证人耳听到的声音质量不会下降。
通常音频CD采样频率是44.1KHz,表达就是一秒内对声波进行44100次采样。
数字电视 DVD采样率是48KHz
2、量化格式(sampleFormat)
量化就是幅度轴(Y轴)上对信号进行数字化。而量化格式就是用多少bit来表示这个数字。比如16bit,那么其量化值得范围就是[-32768, 32767], 总共65536个可能取值。
常见量化格式: 8bit, 16bit, 32bit
3、声道数(channel)
声道数是独立声源的个数
常见声道有:单声道(mono), 双声道(stereo)
4、码率(kbps)
码率是表示每秒传输的数据大小,比如CD音质的通常采用44.1KHz,16bit,双声道,那么其码率是多少
44100 * 16bit * 2 = 1378.125kbps
5、编码
我们可以计算一下,一分钟里,CD音质的数据需要占用多大空间:
44100 * 16bit * 2 * 60 / 8 /1024 = 10.09MB
这么大的数据,是不适合在互联网传输的,那怎么办呢?
所以压缩编码闪亮登场,其基本指标之一就是压缩比<1. 其基本原理就是压缩掉不被人耳感知到的信号,达到减小数据大小的目的, 包含无损压缩和有损压缩。
无损压缩:解压后声音数据完全恢复。
有损压缩:解压后声音数据部分丢失。
目前常见的编码有:WAV, MP3, AAC, Ogg。 此处切记别和封装的格式混尧在一起。
编码 | 特点 | 适用范围 |
WAV | 音质非常好,适用范围广 | 多媒体开发中间件文件,以及音效素材 |
MP3 | 压缩比高,兼容性好,128kbps以上音质好 | 音乐欣赏 |
AAC | 128kbps以下表现优异 | 视频中的音频编码 |
Ogg | 压缩比比MP3好,兼容性不足 | 音频聊天场景 |
三、总结
这篇文章主要给大家介绍了一下音频的一些概念,深度理解这些概念,在后面的音视频工作中非常重要,比如我们对音频的重采用,混流等操作都用到这些知识。最后欢迎留言,和我讨论。