Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4253517
  • 博文数量: 82
  • 博客积分: 671
  • 博客等级: 上尉
  • 技术积分: 24576
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-18 16:08
个人简介

www.kernel.org

文章分类

全部博文(82)

文章存档

2016年(1)

2015年(3)

2014年(12)

2013年(14)

2012年(52)

分类: LINUX

2013-11-19 00:49:48

声音一个最基本的常识就是“它是一种能量”,初中物理课上我们也学过声音的三要素分别是音色、音调和响度。
    音色:简单理解,就是一种声音的固有特征。比如,电子琴和小提琴发出的声音是有明显区别的,笛子和古筝也有各自的声音特征。有些声音模仿秀的选手可以通过训练,达到模仿不同人或者不同乐器的效果。
   
音调:也就是我们所说的频率,单位是赫兹Hz,频率越高听起来越刺耳、越尖锐,频率越低听起来越低沉、越浑厚。医学研究表明,人的听觉系统能察觉的最低频率为20Hz,最高为20000Hz,超出这个范围人类一般就听不到了。其实现实生活中根本就不存在完全能听到20Hz~20kHz这样的人,并且随着年龄的增长、体质的变化,人能听到的声音只会是这个区间的一个子集。



    人对不同频率、不同分贝的声音的生理反应也是有差别的,正如我们中医里提到的“五音”(角、徵、宫、商、羽)和身体脏腑(心、肝、脾、肺、肾)以及对人心神(喜、怒、忧、思、悲)的影响是一样的。


    例如“宫”调,风格悠扬沉静、淳厚庄重,根据五音通五脏的理论,宫调入脾,对消化系统的作用比较明显。这就是为什么很多古代电视或者电影里,皇庭寿宴席的时候一般都是奏宫乐。如果对中华文化感兴趣的朋友肯定注意到,我们古代繁体字的药材的“藥”和音乐的“樂”的字根是一样的,可见老祖宗造字时并不是瞎画的,这说明声音的确还是可以治病。现在精通音律的老师傅是越来越少了。感慨一句,中华文明,博大精深,后继者何也?呜呼。。。扯远了,收一下。
    
而人一般能发出的声音频率也是男女有别,大致范围如下:

 

低音

中音

高音

82 Hz392Hz

123 Hz493Hz

164 Hz698Hz

220 Hz1.1kHz

    响度:就是声音的大小,一般用“分贝”来表示,单位是dB,这个参数说明了声音所携带的能量的大小,声音越大,在相同传播介质里所能传递的距离就远。
   
在物理世界里,我们的声音在传输过程中都是连续,像下面这个样子:

    可是如果要让计算机来处理它,就牵扯到我们经常说的数字化了。关于声音在数字化过程中有三个核心步骤:采样、量化和编码。
   采
样:在模拟声音的时间轴上周期性地取点,将时域连续的模拟信号变成离散信号的过程就叫做采样。每秒钟的采样点越多,数字化之后的声音就越接近原模拟声音。每秒钟的采样次数就叫做采样频率,根据奈奎斯特定律,采样频率fs和被采样声音的最高频率fmax的关系如下:


fs≥2fmax

    PS:有些地方把声音的频谱范围也叫做声音的带宽,指的是声音从最低频率到最高频率之间的宽度。
    量化:用于表示在采样点所获取的声音能量值。量化就是将空域连续的模拟信号转换成离散信号的过程。量化精度越高,所能表示的声音采样范围就越大,量化误差就也越小,相应地,所占用的存储空间也就越大。简而言之,就是对于采样所得到的样本点,我们打算用几位二进制数来表示它。例如,如果是8bit的量化精度,那么我们最多能表示的采样点就只有256个;如果是16bit,最多能表示的采样点就可以多达65536个。

    编码:对于经过采样量化后的数据按一定的算法进行编码处理。在计算机里最接近模拟声音的编码方式就是PCM脉冲编码方式。那么对于上述量化结果,我们发现这段音频采样点的量化空间最多也就是11个,我们用4bit就可以完全表示它们了。所以量化精度就是4bit,可表示的样本空间是[0~15],因此,上述编码序列就是{3567854810851125}。

 
   
当然,真正到了量化阶段时又分均匀量化和非均匀量化,量化的同时就自动编码成PCM格式的数据了。通常意义来说,量化和编码都是同时进行的。
   
ITU-T建议的G.711是最早公布的语音编码标准,它规定了A13折线和u15折线PCM编码的两种方案。这里就不再继续展开了,都是数学层面的东东,不纠结。中国和欧洲采用的A13折线的PCM编码方式,北美和日本采用的是u15折线的PCM编码方式。

 
   
在计算机里我们就认为PCM就是数字音频信号的原始无损格式,其存储方式通常是.wav文件,即wav格式的音频文件就是原始的未经任何压缩处理的数字音频文件,这样的文件大部分情况下都来自于录音设备。如果你使用音频格式转换工具将mp3转成wav的话,那么很不幸的是你的这个wav并不是无损格式的文件,因为mp3格式的文件是对原始wav文件经过有损压缩后得来的,而这个过程不是可逆的,即mp3转成的wav只有原始wav的部分信息。但从人的听觉系统来说,一般人是分辨不出来其中的差别,除非用专业发烧级音响设备,再加上一双有着专业特性的耳朵,区别还是很明显的。

        

 
   
例如,我们手头现在有款奥林巴斯的LS-14专业数码录音笔,我们将采样频率设为44100Hz,量化精度为16bit,采用双声道的模式进行音频录制,每秒钟所产生的数据量为44100x16x2=176400 bit,那么3分钟将会产生的声音数据约为30.28MB。显然,这个结果显然不太令人满意,接下来就有了各种音频压缩算法的出现,也就是多媒体技术术语里所说的编码器,其实就是压缩算法而已。目的只有一个:在高保真原有音质的前提下,最大限度地对数字化之后的PCM编码文件进行压缩,以降低其所占的磁盘空间整个过程可以描述如下:


    幸运的是,现在PCM编码方式已经固化在很多音频设备的DSP芯片里了,不需要我们关心。一种编码算法一定对应一种相应的解码算法才行,不然编来有毛用。我们可以看到,整个过程中PCM编码格式充当了各种编解码器之间转换的中间桥梁,这也就是为什么我们说PCM格式的声音文是计算机里的“模拟文件”的原因了。不管是不同音频压缩格式之间的互相转换,还是最终输送给数模转换器的格式都是PCM格式。

    上面几种格式里有个flac和其他几种格式有着本质的区别,flac是无损压缩格式,和它齐名还有家喻户晓的ape格式。什么意思?无损格式的音频文件是在对原始wav文件压缩是没有删减过滤它的任何信息的情况下,完全通过算法活生生的把wav文件的体重给减了下来,而且flacape可以完整还原原始wav的所有信息,一个毫毛都不差。ape的压缩比高达55%。这和那些有损压缩的mp3oggaac等是没法相比的,因为人家是无损的,就这么简单。有些人喜欢听CD,而另外一些人则喜欢听mp3,其实他们根本就不是一个级别的,也没有可比性的。最后,献上天王的一首单曲以飨各位看官肯花宝贵的时间听我在这里唧唧歪歪的大半天,配上森海或者AKG的耳机好好享受一下生活吧(不敢保证每个人能都听到那种感觉,毕竟人家mp3也不是盖的)。
   
人生不止眼前的代码和BUG,还有耳朵与音乐。

   附件:和



阅读(9777) | 评论(14) | 转发(5) |
给主人留下些什么吧!~~

woxin3172013-11-19 23:12:44

图文并茂,写得通熟易懂,看教科书一大堆不如你用图片和文字表达得清楚。

wjlkoorey2582013-11-19 21:52:53

xdsnet:很好的文字,先赞一个!

“目的只有一个:在高保真原有音质的前提下,最大限度地对数字化之后的PCM编码文件进行压缩,以降低其所占的磁盘空间。”

建议改为

“目的只有一个:在高保真原有音质的前提下,最大限度地对数字化之后的PCM编码信息进行压缩,以降低信息数据量。”

压缩后的数据不一定存储,比如也可以传输,所以不一定是文件形式,但无论何种形式,都是信息数据量的减少,在磁盘存储中表现为文件大小减少,在通信中表现为数据传输量少。

看来兄台是行家啊,搞通信的吧

回复 | 举报

xdsnet2013-11-19 11:55:29

很好的文字,先赞一个!

“目的只有一个:在高保真原有音质的前提下,最大限度地对数字化之后的PCM编码文件进行压缩,以降低其所占的磁盘空间。”

建议改为

“目的只有一个:在高保真原有音质的前提下,最大限度地对数字化之后的PCM编码信息进行压缩,以降低信息数据量。”

压缩后的数据不一定存储,比如也可以传输,所以不一定是文件形式,但无论何种形式,都是信息数据量的减少,在磁盘存储中表现为文件大小减少,在通信中表现为数据传输量少。