当前位置:K88软件开发文章中心编程全书编程全书03 → 文章内容

玩音乐必看:且看 Lame 如何改变了MP3的命运

减小字体 增大字体 作者:华军  来源:华军资讯  发布时间:2019-1-30 16:51:26

本想放松放松身心,收拾收拾好心情,可又忍不住折腾来了,果然生命不息折腾就不会停止啊。今天听歌的时候发现了个奇怪的现象。两首同样的且恒定320kbps码率的歌曲,音质差距相当大,简直是一个天上一个地下,果断干掉了低音质的那首。后来又想了想,按理说音质相同才对,怎么会有这么大的差别呢?这完全“不科学”嘛!诧异之余,为了弄清原因,就又动手折腾起来了。搬来Foobar2000、MediaInfo,看了下属性,果然从中发现了问题,表面上两首歌虽然大小相同,都是CBR-320k-mp3,但是编码器的版本却有着很大的差异。查阅Wiki,翻遍论坛,折腾了大半天,现在总算有点眉目了。趁此刻头脑清醒之时,就开始草草地写起了这篇伪技术文。看标题或许你已经知道我接下来要折腾的是什么了吧,没错,就是lame。lame是啥玩意,可以吃吗?开个玩笑,暖暖氛围先。要深入了解lame,还是先了解下mp3吧。mp3是一种mpeg1-audio-layer-3音频格式,也是一种有损音频压缩编码方式,从上世纪九十年代创立开始,到今天已经有二十多年了。二十年是什么概念,按现代社会发展规律讲,再好的东西也流行不过十年之久,何况是二十年呢?微软Windows都开始Win9了,更别谈一门九十年代初的技术。的确,1991年mp3格式发布之初,用一般编码器转换出的mp3音质甚不理想,mp3几经挫折,走到了快被淘汰的边缘,幸运的是,一次世纪末与lame的大邂逅彻底改变了mp3的命运,不但转危为安好好地活了下来,而且一直发展到今天还充满着无穷活力,称霸格式世界。毫不夸张的说,mp3的出现,改变了我们听音乐的方式,影响了世界音乐的历史进程,促进了世界人民的文化交流,让更多人能够轻松地欣赏到美妙的音乐, 通过音乐了解世界各地的音乐文化。说了这么多,或许你对lame还是一知半解吧。lame其实就是一款相当优秀并沿用至今的mp3编码器,利用lame编码器,可以将无损音乐转换成高质量的mp3有损音乐。lame有着优异的编码技术,在保证cd音频真实还原的前提下,运用人耳遮蔽效应原理以及独创的心理音响模型技术,使通过lame转换而来的mp3音质可以达到媲美cd的水平。凭借着lame的优异性能,原本快要被丢弃的mp3重新被人拾起,发展至今。可以说,lame改变了mp3的命运。lame又是如何工作的呢?答案很简单,lame编码器就是利用无损音乐为原料,按照mp3编码方式编码出有损mp3音乐的,而编码出来的mp3音乐音质完全由编码器决定,当然前提是mp3的编码方式固定不变。这个编码过程和DNA的转录、翻译很相似。基本概念讲完了,不知道各位明白了没。再来说说mp3几个重要的参数。经常听音乐的同学都知道,mp3的码率越高音质也就越好,mp3的码率上限是多少呢?毫无疑问,320kbps。如果你对音质要求不高的话,动态码率(VBR)模式转换是个不错的选择,但只是对低码率音乐的转换起到作用,高码率情况下还是恒定码率(CBR)模式具有明显的优势。若选择动态码率模式来转换音乐的话,转换得到的音乐文件大小就无法预算了(貌似也没多大关系吧)。恒定码率则不同了,转换后的音乐文件大小可以事先预算出来,一首五分钟的歌曲,按最高质量320kbps恒定码率计算,1kbyte/s=8kbps,5分钟的歌曲大小就是5*60*320/8=12000KB=12MB,这是理论结果,从不同mp3编码器实际转换情况来看,也是相吻合的(实际比对后发现有极小的误差,不知为何)。为了获得高质量的MP3,就不必在乎mp3的大小了,所以下面我们就只探讨由lame编码的恒定320kbps码率的mp3格式音乐之间的关系。最佳转换参数既然已经确定,还有哪些能够影响到转换出的mp3的音质呢?上文已经说了,“在mp3编码方式固定不变的前提下,编码出来的音乐音质完全由编码器决定”,显然mp3编码方式不会改变,所以,要得到高质量mp3,就要找到最适合的编码器,lame就是最佳选择。问题是,lame有多达十个以上的版本,而且并非最新版就好。这个确实让人纠结,不光纠结了我好一阵,还辛苦了广大的音乐探索者。到底哪个版本的lame编码器编码出来的mp3音质最好呢?抱着这样的疑问,开始了我下面的探索之旅。一、获取lame编码器在lame的官方网站下载好lame的各版本源文件,再用编译软件编译出不同版本的lame.exe编码器。在此补充下,利用不同的编译软件、编译方法以及编译平台得到的相同版本的lame编码器也有区别,使用这些同版编码器转换出的音质也就有可能不一样,但就我实际转换情况来看,除了编码器的编码速度有所不同外,对音质的影响还是极小的,完全可以忽略掉。下文使用的lame编码器是我个人win7平台通过vc++编译出来的。网络上还有很多个人编译版本,比较优秀的是某外国友人的编译版本,可以找找看。还有一种dll后缀的lame编码器就不介绍了,使用方法较复杂,质量还没exe版好。二、设置转换工具光有编码器可不行,这个lame.exe只是一个dos命令,还需要配合图形界面等外壳工具或命令行编码器来辅助使用,命令行编码器的自由度更高,我们就用它来转换音乐。下文以Foobar内置的命令行编码器来进行说明。使用方法很简单,打开Foobar设置页,添加自定义编码预置方案,载入lame编码器所在位置,填写好最高mp3转换参数“-b 320 -m j -q 2 -h”【注释1】,保存即可,如下图:  三、开始转换音乐将WAV源文件拖入Foobar,选择刚才的预置方案进行转换,对转换出来的mp3按lame版本号命名。按顺序替换不同版本的lame编码器,重复上述过程。经过上面这三个步骤,我们得到了各个版本lame编码器转换而来的mp3文件,然后就可以通过比较这些mp3文件的音质来判断哪个lame性能最好了。但,音质的好坏又如何判断呢?很遗憾,笔者找了好久还是没能找到最佳的方案。要比较音质,说实在话是一件非常令人头疼的事情,因为迄今为止,还没有一个能真正定量反映音乐音质的国际评价标准,判断音质目前来说仍然是个世界级的难题,但就现有的普通评价体系来看,通常有两种方法,主观方法和客观方法,主观方法指凭主观聆听各种音效,客观方法即是使用仪器测试技术指标。由于笔者学生党一枚,木有专业判定设备,只有靠一对木耳和质量渣渣的前端来折腾折腾了。所以下面就以主观听觉感受以及客观方法中最常用的一个音频软件Adobe Audition来进行分析。一、主观评价:前端;Dell V130,IDT 5 Serie

[1] [2]  下一页


玩音乐必看:且看 Lame 如何改变了MP3的命运