02|音频从采集到输出涉及哪些关键参数?
刘歧
讲述:刘歧大小:12.45M时长:13:38
你好,我是刘歧。
上一节课我们学习了视频与图像相关的基础知识,相信你对视频 / 图像中的色彩表示方式、色域、帧率等相关概念已经有了一定的了解。在音视频技术开发与应用领域,除了视频与图像的知识外,我们还会接触到一些音频相关的知识,所以这节课我们会聚焦音频基础知识,为之后 FFmpeg 音频相关内容的学习做好铺垫。
我们平常听到的自然界的声音,比如说鸟鸣、水流,其实是一种模拟信号,声音是振动产生的一种声波,通过气态、液态、固态的物理介质传播并能被人或动物感知的波动现象。声音的频率一般会以赫兹(Hz)表示,指每秒钟周期性振动的次数。而声音的强度单位则用分贝(dB)来表示。现如今我们在电脑上、Pad 上、手机上听到的音乐、声音等音频信号,均为数字信号。
音频采样数据格式
介绍音频采样数据格式之前,我们需要先了解音频从采集一直到我们耳朵听到声音这个过程中都发生了什么,我们先看一下下面这张流程图:
首先我们说的话或者在自然界中听到的一些声音,比如鸟鸣,水流等,都是通过空气振动来传输的模拟信号,我们可以通过麦克风或者拾音器采集到声音的模拟信号,然后将模拟信号转换成数字信号,这个过程可以通过麦克风来做,也可以通过音频的转换器来做,转换成数字信号之后将数字信息存储起来,或者输出到扬声器,扬声器会根据数字信号产生一定频率的振动,然后通过空气传播模拟信号到我们的耳朵里面,我们就听到了对应的声音。
在这个流程里我们需要了解一个基本的操作,就是先采集到模拟信号,然后通过 ADC(模数转换)将模拟信号转换成数字信号以后,再通过 PCM(Pulse Code Modulation)脉冲编码调制对连续变化的模拟信号进行采样、量化和编码转换成离散的数字信号,从而实现音频信号的采集。另外,也可以将采集的音频信号输出到扬声器、耳机之类的设备。
我们上面说的 PCM 文件就是未经封装的音频原始文件,或者叫做音频“裸数据”。不同的扬声器、耳机设备,甚至是声卡输出设备,对音频的裸数据支持的情况不一样,有的设备支持单精度浮点型数据、有的设备支持双精度浮点型数据、有的设备支持无符号型数据、有的设备支持有符号型数据。因为输出的数据类型的支持不同,所以 PCM 采样数据的格式在输出之前,需要转换一下。这些数据的格式我们通常称之为采样数据格式。
音频采样频率
音频 PCM 数据的输入和输出是需要有一个频率的,频率通常在我们听觉可接受的范围内,太高或者太低我们都听不见,通常我们人耳能够听到的频率范围是在 20Hz~20kHz 之间,为了保证音频不失真,音频的采样频率通常应该在 40kHz 以上,而理论上采样率大于 40kHz 的音频格式都可以称之为无损格式。现在一般的专业设备的采样频率为 44100Hz(也称之为 44.1kHz)。并且 44.1kHz 是专业音频中的最低采样率。当然要听到更高采样率,比如 96kHz、192kHz 采样频率中的细节的话,就取决于耳朵和对应的设备了。
下面我简单地介绍一下,在数字音频领域常用的采样率与对应的使用场景:
8000 Hz 主要是电话通信时用的采样率,对于传达人们说话时的声音已经足够了;
11025 Hz、22050 Hz 主要是无线电广播用的采样率;
44100 Hz 常用于音频 CD,MP3 音乐播放等场景;
48000 Hz 常用于 miniDV、数字电视、DVD、电影和专业音频等设备中。
音频声道及其布局
当我们戴着耳机看电视剧、电影、听音乐、开会的时候,会发现左右耳朵听到的声音有时候会有一些差别,尤其是当我们看 TVB 港剧的时候,一只耳朵听到的是粤语,另一只耳朵听到的是普通话。因为视频里面的音频支持左声道右声道内容不同,所以有些时候我们看电影可以切换左声道右声道模式。
采集不同方位的声源,然后通过不同方位的扬声器播放出来就产生了不同的声道。其实我们常见的声道内容除了左声道、右声道,还有立体声等,当我们听到的音频声道比较多,比如听交响乐的时候,立体感会尤为明显,示意图如下:
实际上,音频的声道布局不仅仅是上图这么简单。音频技术发展至今,声道布局远比图片显示的复杂得多,在后面课程中我们会看到更多、更复杂的声道布局。
音频采样位深度
采样的位深度,也叫采样位深,它决定了声音的动态范围。平时,我们常见的 16 位(16bit)可以记录大概 96 分贝(96dB)的动态范围。也可以理解为每一个比特大约可以记录 6dB 的声音。同理,20bit 可记录的动态范围大概是 120dB,24bit 就大概是 144dB。
计算公式如下:
举个例子,我们假定 0dB 为峰值,那么音频的振动幅度就需要以向下延伸计算,所以音频可记录的动态范围就是“-96dB~0dB”。而 24bit 的高清音频的动态范围就是“-144dB~0dB”。由此可见,位深度较高时,有更大的动态范围可利用,可以记录更低电平的细节。
但位深度并不是越大越好,也不是越小越好,不同的场景有不同的应用。
44dB 属于人类可以接受的程度,55dB 会使人感觉到烦躁,60dB 会让人没有睡意,70dB 会令人精神紧张,85dB 长时间听会让人感觉刺耳,100dB 会使人暂时失去听觉,120dB 可以瞬间刺穿你的耳膜,160dB 会通过空气振波震碎玻璃,200dB 可以使人死亡。也就是说,其实如果真的能够让自己的声音达到一定分贝的话,武侠片里面的狮吼功是有可能成为现实的。
通常为了高保真,我们会选择使用 32bit,甚至 64bit 来表示音频。而常规音频通话使用 16bit 来表示即可,当然条件有限的话,8bit 也可以,但它是底线。因为 8bit 的音频表示,听起来有时候会比较模糊。
音频的码率
接下来我们看一下音频的码率。所谓码率,我们通常可以理解为按照某种频率计算一定数据量的单位,重点体现在“率”上面,我们常用的码率统计时间单位为秒,所以码率也就是一秒钟的数据量,通常我们用 bps(bits per second)来表示,也就是每秒钟有多少位数据。而我们平时所说的码率,可以简单理解为每秒钟存储或传输的编码压缩后的数据量。
我们在很多音乐播放器软件中能看到音乐的格式,比如腾讯音乐里面的 SQ、HQ、无损等,这些音乐的音频码率、采样率都是很高的。
那这个音频码率是怎么算出来的呢?其实这里有一个公式,可以帮助我们算出音频的码率。例如我们有一个双声道立体声、采样率是 48000、采样位深是 16 位、时长为 1 分钟的音频,它的存储空间占用计算应该是:
码率应该是 :
音频的码率可以间接地表示音频的质量,一般高清格式的码率更高。
音频的编解码
我们在传输音频文件的时候经常会看到文件名后面有 MP3、AAC 这样的后缀,其实这些都是音频编码的格式。因为音频在传输和存储时,如果直接存储 PCM 音频数据的话,消耗的带宽或者存储空间会比较多,所以我们为了节省传输带宽或者存储,通常会选择对音频数据做编码压缩处理。
我们在互联网上常见的音频编码有 AAC、MP3、AC-3、OPUS,个别地方还可能会使用 WMA,但是从兼容性来看,AAC 和 OPUS 更出众一些。目前 AAC 应用于众多音乐播放器和音乐格式封装中,OPUS 常见于语音通信中。当然还有很多其他的音频编码压缩的方法,这里我就不一一列举了。在后面课程中我们会接触到更多的音频压缩技术与方法。
不知道你有没有发现,现在使用 AAC 编码格式的次数越来越多了,为什么大家突然都开始用 AAC 做音频编码了,以前很火的 MP3 呢?其实 MP3 也还在用,只不过 MP3 的音频编码压缩方式相对于 AAC 来说,性价比低了一些。对比二者的高音质,AAC HEv2 无论是从码率、清晰度还是音频的还原度来说,都比 MP3 更优秀。详细的对比数据,我们会在后面讲 FFmpeg 具体操作音频编码与解码的时候介绍到,这里你稍加了解即可。
小结
到这里,音频基础内容就讲完了,我们了解了音频的采样格式、音频采样率、音频声道及其布局、采样位深度,最后学会了计算音频码率,这些内容在后面我们都会频繁地用到,尤其是当我们做音频编码与解码的时候,需要考虑到这些参数的兼容情况。
而在我们做音频压缩的时候,也需要考虑自己的音频用于哪些场景,比如做音频通话的话可以考虑使用 OPUS,因为基于 OPUS 的音频,处理语音更方便一些,例如回声消除,降噪等。如果是做音乐压缩,我们可以考虑 AAC,因为 AAC 支持的音质与硬件兼容性更好一些。如果还要效果更好,但不太要求兼容性的话,AC-3 是一个不错的选择,因为杜比之类的音频,尤其是在全景声音乐压缩的场景下,使用 AC-3 做音频压缩效果更好,能够听到的细节会比 AAC 压缩的音频更多一些。
思考题
好了,这就是今天的全部内容,最后我给你留一道思考题吧!当我们播放一段 PCM 音频的时候,声音听上去比正常声音显得更尖更细,但是速度是正常的,是什么原因呢?
希望你能开动脑筋,欢迎你在评论区留下你的答案和我讨论,也欢迎你把这节课分享给需要的朋友,我们下节课再见!
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
音频技术涉及多个关键参数,包括音频采样数据格式、音频采样频率、音频声道及其布局、音频采样位深度和音频的码率。音频采样数据格式是指将模拟信号转换成数字信号的过程,常用的格式有PCM。音频采样频率通常应该在40kHz以上,以保证音频不失真,而专业设备的采样频率一般为44100Hz。音频声道布局包括左声道、右声道和立体声等,不同声道布局会产生不同的声音效果。音频采样位深度决定了声音的动态范围,一般16位可以记录大概96分贝的动态范围。而音频的码率则间接地表示音频的质量,一般高清格式的码率更高。 音频编码格式如AAC、MP3、AC-3、OPUS等在传输和存储时起到了重要作用,通过对音频数据进行编码压缩处理,节省了传输带宽或存储空间。AAC和OPUS在兼容性方面更出众,分别应用于音乐播放器和音乐格式封装以及语音通信中。相比之下,AAC HEv2在高音质、码率、清晰度和音频还原度等方面优于MP3。在实际应用中,选择合适的音频编码格式需考虑场景需求,如OPUS适用于音频通话,AAC适用于音乐压缩,AC-3则适合全景声音乐压缩场景。 总体而言,音频技术的基础内容包括音频的采样格式、音频采样率、音频声道及其布局、采样位深度和计算音频码率,这些内容在音频技术开发与应用领域中起着重要作用。在后续的音频编码与解码过程中,需要考虑这些参数的兼容情况。同时,在音频压缩过程中,需根据实际场景需求选择合适的音频编码格式,以达到更好的音频效果。 思考题:当播放一段PCM音频时,声音听上去比正常声音显得更尖更细,但速度是正常的,可能是由于音频采样率不匹配导致声音失真。
2022-07-27给文章提建议
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《快手 · 音视频技术入门课》,新⼈⾸单¥59
《快手 · 音视频技术入门课》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(7)
- 最新
- 精选
- 最初的印象播放pcm需要指定正确的采样率ar,声道数ac,位深度合适才能正常不播放。比如:ffplay -ar 44100 -ac 2 -f s16le out.pcm
作者回复: 👍
2022-09-15归属地:北京 - keepgoing老师能揭晓下思考题的答案吗,除了采样率,请问采样位深也会影响音色吗,不知道是不是从这个方向去思考,感谢
作者回复: 结合“大土豆”的答案 加上atempo调整一下速度试试
2022-08-20归属地:北京2 - 大土豆有些PCM数据比如是 单声道 16位 44100的格式,播放的时候设置错了,按双声道来播放,就自带的快进效果,变速的时候会附加变调的效果。2022-07-2723
- Loken讲得很好2022-07-272
- MADAO通俗易懂2022-09-02归属地:浙江1
- ifelse学习打卡2023-12-20归属地:浙江
- 破绽期待更新2022-07-29归属地:陕西
收起评论