音视频从入门到起飞之音视频基础概念

127 阅读7分钟

往期文章

音视频从入门到起飞之Android NDK

前言

在上一篇文章中主要讲了Android ndk相关的知识,因为我们的音视频最终都是要以Android这样的移动平台来展现,而在处理音视频时,使用C/C++去处理无论是在性能上还是跨平台上都是很好的选择,所以要想学习音视频,熟悉并了解ndk的开发是必不可少的。强烈建议大家去学ndk。废话说到这里,本章咱们会介绍一些音视频的基本原理,然后再慢慢的展开每个概念,利用实践去检验和应用这些原理。

一、什么是声音?

image.png

上面的图片相信读者都很熟悉,在中学的物理课本上能见到类似的装置,因此我们可以回想下中学物理课本上的定义-------声音是由物体振动而产生的。 如图所示,当小锤子撞击音叉到时候,音叉会发生振动,对周围的空气产生挤压,从而产生声音,声音是一种压力波,当弹奏乐器或者敲击物体时,都会引起空气有节奏的振动,使周围的空气产生疏密变化,形成疏密相间的纵波,这种波咱们可以理解成当石头落入水中激起的波纹。所以就产生了声波,这种现象会一直持续到振动消失为止。

二、声波三要素

zxj.png

频率:声音的频率代表音阶高低,频率越高,波长越短,低频声响的波长则较长,所以其更容易绕过障碍物,因此能量衰减小,声音就会传得远

振幅:振幅代表的是声音的响度,响度是能量大小的反应,用不同的力度敲打桌子,声音的大小都是不同的,在生活中,常常使用分贝来描述声音响度的大小。声音超过一定的分贝,人类的耳朵就会受不了。 音色:音色我觉得可以理解成声音的特色,在同样的频率(音调)和响度(振幅)下,吉他发出的声音和钢琴发出的声音听起来是完全不相同的。因为它们的音色不同。波的形状决定了其所代表声音的音色。吉他和钢琴的音色不同是因为他们的介质产生的波形不同

百科小知识:人耳的听力范围20Hz~20KHz,超过90分贝会损害人耳,105分贝为人耳极限

三、声音的传播介质、回声、共鸣

1.声音的传播介质

zxj.png

百科小知识:声音无法在真空中传播

根据对声音研究,人们根据这个特性设计出了吸音棉和隔音棉。吸音主要解决了声音反射而产生的嘈杂感,吸音材料可以衰减入射音源的反射能量,从而达到对原有生源的保真效果。如录音棚的墙壁上就会使用录音棉。 隔音主要是解决声音的透射而降低主体空间的吵闹感,隔音棉材料可以衰减入射音源的透射能量,从而达到主体空间的安静状态,比如KTV的墙壁上就会安装隔音棉材料

2.回声

image.png

当我们在高山或者空旷地高声大喊的时候,常常会听到回声,之所以会听到回声,是因为声音在传播过程中遇到障碍物会反弹回来,再次被我们听到,如图所示 但是,需要注意的是,假如两种声音传到我们耳朵的时差小于80毫秒,我们就无法分辨这两种声音了。在日常生活中,我们的耳朵也在收集回声,只不过由于嘈杂的外界环境以及回声的分贝较低,所以我们的大脑分辨不出这些回声,然后就给过滤掉了。

3.共鸣

其实声音还可以产生能量,例如,使用两个频率相同的物体,敲击其中一个物体,另一个物体也会振动发声,这种现象称为共鸣,共鸣证明了声音传播可以带动另一个物体振动,也就是说,声音的传播过程也是一种能量传播过程

四、声音数字化

前面几节介绍了声音的基本概念,而我们的声音播放是在手机中的呀,所以就需要我们对声音进行处理,然后再保存到手机中并能正确的播放出来。我们采集到的声音其实都是一些模拟信号:

image.png

因为我们的计算机或者手机,只认识0和1,所以需要将这些模拟信号数字化,即将收集到的声音量化,使其成为计算机认识的0,1数据。从声音收集,到最后保存到手机,然后能播放到过程大致分为三个方面,分别是声音的采样,量化,和编码

1.声音的采样

所谓采样就是对生音的模拟信号进行数字化,根据奈奎斯特定理(也称为采样定理),按比声音最高频率高两倍多频率对声音进行采样(也称为AD转换) ,前面提到,人耳能听到的频率范围是20Hz~20kHz,所以采样频率一般是44.1kHz,这样就可以保证声音大到20kHz也能被数字化。 44.1kHz:就是1秒会对声音采样44100次

2.声音的量化

image.png

我们采集到声音后该如何表示声音呢,这几涉及到量化的知识了,量化就是对模拟信号进行数字化,比如用16Bit的二进制信号来表示声音的一个采样,而16bit所表示的范围是[-32768,32767],共65536种可能取值,,所以模拟的音频信号在幅度上分为65535层

3.声音的编码

既然每一个量化都是一个采样,那么如此多的采样该如何存储呢?这就需要了解声音的编码,所谓编码,就是按照一定的格式记录采样和量化后的数字数据,比如顺序存储或者压缩存储等。 通常我们所说的 音频裸数据就是脉冲编码调制(Pulse Code Modulation, PCM)数据。描述一段PCM数据一般需要知道三个概念,采样格式(sampleFormat),也可称为量化格式或者位深度、采样率(sampleRate)、声道数(channel):例如以CD为例,采样格式为16Bit(2字节)、采样率为44100Hz,声道数为2,这些声音就可以描述CD的音质了。对于声音的格式,还可以用比特率来描述它的大小,即1秒时间内的比特数目,它用于衡量音频数据单位时间内的容量大小: CD的比特率的计算方式为: 44100602 = 1378.125 kbps 在一分钟里,这类CD音质的数据需要占据多大的存储空间,如下: 1378.125*60/8/1024 = 10.09MB

最后以一篇音频编码格式的特点及适用场合结束本节

zxj.png

总结

以上就是今天要讲的内容,本文仅仅简单介绍了音频的基本概念及原理。我们开发的时候需要知道这些概念和原理,这样我们解决起问题来才会得心应手。由于篇幅原因,下一章我们再继续讲解视频的基本概念及原理。喜欢我的文章的话一起互粉吧,咱们一起学习讨论,一起成长成大牛。