» MP3的历史及应用 |
|
其实MP3并不是一个新的技术,早在1987年的德国,Fraunho fer IIS(或称为IIS)与Erlangen大学的Dieter Seitzer教授一起参与一项数位语音广播计画中开始研究的,研究计画名为EU147。
当初研究的计画的目的是希望特定的技术让语音广播的内容可以传送,而且声音的内容不会有大幅度的衰减.IIS最后研究出可以透过音觉性编码技术(Perceptual Coding Techniques)的特演算法来达到这样的目的,而这个演算法就是现在大家所熟知国际标准组织(ISO:InternationalOrganization for Standardization)当中的-MPEGAudio Layer-3(IS 13818-3)声音压缩技术标准所以MP3技术的演算法开发完成是在十几年前;
不过当初开发的时候,由于计算机环境并不是那么成熟,而且计算机速度并不够快因此当初只有在特定环境中才能够使用,但是没想到现在的计算机速度进步如此快,使得MP3这项因为速而受限的技术可以开始实现化,所以现在才会有如多产品。
MP3的功用就像是一个压缩工具,可以各种声音的文件压缩成十分之一以上.而利用MP3技术所压缩出来的文件副档名就叫做“.mp3”,再加上在因特网上面传输音乐最酷的文件格式就是.mp3,因此您会发现有些地方会把MP3这三个字都大写,以表示是使用MP3的技术,而有些地方会把mp3这三个字都小写,表示可以压缩/播放副档名为.mp3的文件.也就是因为如此,到后来MP3这三个字要大写还是小写就变成都可以通融了。 |
|
|
» MP3简介 |
|
在计算机的数位世界中,其声音格式都是以数位编码的方式保存,一般可分为声波资料和合成音效也就是所谓的音乐数位界面(MIDI)两种,声波资料是经由类比数位转换器来取样转换成数位格式在保存在计算机保存媒体之中,而合成音效则是由计算机内建的音源所组合而成.。
声波资料的转换成数位格式保存在计算机中的大因取样频率(一般以Hz为单位)和取样的分辨率(一般以bits为单位)有所不同,取样频率越高所需要的保存空间也越大,同样的取样的分辨率越高所需要的保存空间也越大。在计算机中最常见的声波格式资料就属于Wave资料,其一般以*.wav档保存,但是wave档格式所需要的保存空间以一分钟的声波资料就将近需要占用10几MB的保存空间大小,相当消耗保存空间,为了解决此问题故有MP3的生成。 |
|
|
» Winamp拨放程序介绍 |
|
|
|
在瞭解基本的MP3常识后,现在就来看看如何来好好欣赏MP3音乐,当然啰!工欲善其事,必先利其器,以下就为您介绍如何使用常用的播放软件Winamp
当前最常见的MP3播放软件为Winamp如图(一)所示,其基本的播放功能请参考图(一)的说明 |
|
|
|
参考图(一 ). |
|
|
|
|
|
切换拨播放显示为如图(三)的频率域响应图或
如图(四)时域脉波响应图,只要在面版上面按鼠标左键即可. |
|
|
|
|
|
|
|
调整音质等化器:由于各种音乐的特性和个人对声音的喜好不同,经由等化器可以调整你所需要的高低音量的大小,如图(五)所示 |
|
|
|
|
|
|
|
在按了如图(一)所是的歌取列表菜单按键即会开启如图(六)的画面,您可以将经由排序,删除,增添,和改变播放顺序与将所选的歌曲存成歌曲列表档等等的处理功能;
各功能说明如图(七)到图(九)所示. |
|
|
|
|
|
|
|
|
|
» 如何制作MP3音乐 |
|
|
|
一般制作音乐mp3的流程如下: |
|
|
» 如何将WAV转换成MP3 |
|
要将WAV档转换成MP3档可以使用下列软件工具:
MPlifier / MP3 Compressor |
|
|
|
MP3 Compressor 报告 (1) - 基本比较: |
|
引起大家好奇的 MP3 Compressor(以下简称 MC),无非是因为它压缩 MP3 的速度,比起常规的 l3enc 要快上三倍,又是 Win95/WinNT 的程序码,自然得到大家的喜爱;然而,这只新的 MP3 encoder,和之前的 L3ENC 有什么不同呢?压缩出来的 MP3 档,又有什么不同呢?
主机板:ASUS T2P4 V3.1
CPU :Intel Pentium 166 (83Mhz * 2)
歌曲长度:04:45(优客李林的"认错")
文件长度:50,363,420 bytes
|
|
L3ENC |
MC Quick |
MC noQuick |
文件长度 |
4,568,711 |
4,557,264 |
4,557,264 |
压缩时间 |
17:08 |
06:42 |
18:15 |
MP3 还原成 wav 的文件长度 |
50,365,440 |
50,356,224 |
50,356,224 |
MP3 frame 数 |
10930 |
10928 |
10928 |
MP3 时间 |
04:45 |
04:44 |
04:45 |
|
|
首先我们先来看看大家最关心的压缩时间。的确,MC 的时间约为 l3enc 的 1/3,不过事实上不到 1/3,也就是 MC 的压缩速度是比 L3ENC 快许多,但是不到三倍。
在文件长度方面,MC 的两种模式所生成出来的 MP3 文件,都比 l3ENC 要来得小。比较 MP3 frame 数也是相同的情况,MC 少了两个 frame。
将压缩好的 MP3 用 L3DEC 还原成 wav 档后,可以发现 L3ENC 做出来的 MP3 经过还原,反而比原本的 wav 档还大,而 MC 两个模式作出来的则都比原本的小,这点和 MP3 frame 数可能有关系。
拿出 CoolEdit 96 来分析这些 wav 档,也的确显示 sample 的数目和文件大小呈现正相关,而且没有一个压缩模式做出来的 MP3 档还原后,可以和原本的 wav 档一样大。这到底是压缩程序的问题,还是 L3DEC 还原的问题,就不得而知了。
MC 用的演算法是 IIS(L3ENC 的发源地) 所公布的最后一个 MPEG Audio Layer 3 版本,所以声音的质量不但和之前的 L3ENC 一样好,甚至会更好。
|
|
|
|
|
|
MP3 Compressor 报告 (2) - 高级报告: |
|
接着我们来谈谈 MP3 Compressor 的几个重点,基本的就不讨论了,大家摸摸就懂。
MC 压缩 MP3 时,和 L3ENC 不同的最大地方是,他们压缩规格的指定方法。L3ENC用的是 bit rate,MC 用的是赫兹(Hz)。当你用 L3ENC 指定较低的 bit rate 时,L3ENC 于压缩时也会显示较低的 Hz 值。
L3ENC 的内定压缩率是 112000bps,而 MC 的内定压缩率则是 44100Hz(128000bps)。事实上,人耳就可以轻易的分辨 112Kbps & 128Kbps 的 MP3 差异,112Kbps 真的不太好,而 128Kbps 就可以应付大多数的人耳了,这也是 MC 的作者将 MC 的内定值定于此的原因吧!
由于 MC 是一只 Win95/WinNT 的 32 位元程序,所以可以提供 priority 的调整。priority 就是"优先级"。Priority 越高的程序,在多任务处理时,就可以得到越多的 CPU 时间。
但是并非只要把 priority 提高,就可以大幅度减少压缩时间。如果在压缩 MP3 时,你的计算机没有在做其他的工作,则不管 priority 是高是低,所花的时间几乎不会有差别;相反的,如果你在压缩 MP3 时,还有在做其他的工作,则 priority 高的 MC 将会比 priority 低的 MC 先完成工作:然而,MC 的 priority 越高,表示你另外的工作将会被分配到越少的 CPU 时间,情况严重时你自己都会有感受。
MC 所提供的 priority 调整,最高的就是 Time Critical 模式,你的计算机将几乎无法再做其他的工作;此时 MC 的压缩进度长条图也会停止,并且说明这不是 bug。停止长条图的原因是系统也没有许多的 CPU 时间去处理长条图的绘制,还不如不要去处理,这样 MC 可以更快的工作。
最低的 priority 则是 idle 模式,也就是只要有一个程序在工作,MC 就会暂停压缩,直到所有的工作都退出,MC 才会继续压缩。
要用哪一种 priority,就端看您自己的需要;也许在压缩 MP3 的同时,你还想用计算机做其他的事情,这时候 priority 就不适合太高,以免影响其他程序的顺畅。
MC 还有提供 command line 模式,也就是你可以在 DOS 窗口下于输入 mp3comp.exe 的后面再接一些参数,来达到直接控制的目的。想要看参数说明的话,输入 mp3comp /? 就可以得到简易的参数表,或是看 MP3 Compressor 的 help,可以得到更详尽的解说;在此举个示范:
mp3comp j:test.wav /outputMP3
不管你 mp3comp 放在那个硬盘的目录下,所生成出来的 mp3 档也会放在 j: 下。而档名应该是 test!.mp3。
|
|
|
|
MP3 Compressor 报告 (3) - MP3 格式的 WAV 档: |
|
MC 有一个困扰问题就是他会生成 MP3 格式的 WAV 档,在此要说明一下。
安装好 MC 后,你可以在以下位置:
[控制台] => [多媒体] => [高级] => [音效压缩 Codecs]
查找一个 [Fraunhofer IIS MPEG Layer-3 Codec (professional)]。
这是 MC 提供的 MP3 解码程序。这样做的原因是 WAV 档的档头,可以提供一些信息,告知系统这个 WAV 档有被编码,要用对应的解码程序来解。所以表面上看起来是 WAV 档,骨子里则还是 MP3 档,拿这种 WAV 档到没有安装 MC 的机器上,一定什么都听不到,而且还会得到错误消息。
这种 WAV 档,比起相同程序做出来的 MP3 档,多了 72 bytes,我想这 72 bytes 就是档头,提供此 WAV 档的压缩编码信息。
把这 72 bytes 的档头,独立出来,然后添加在普通的 MP3 档前,并将档名改成 .WAV,交给媒体播放程序,果然可以当作 WAV 档来播放了。但是这 72 bytes 的档头内容还包括了歌曲长度,这样的作法,会造成文件时间长度的误判,也就是原本 72 bytes 的来源歌曲有多少时间,做出来的 WAV 档时间就有多长。至于从第 73 byte 开始的资料,普通的 MP3 档。换句话说,这种 WAV 档,就是 72 bytes + 原本的 MP3 = 新的 WAV 档。
而这种变形的 MP3 文件,它带来的最大好处是已经不用再拘泥于以前那几个 MP3 Player,你可以拿出你喜爱的 WAV player 程序,痛快的播放 MP3。当然,你还是不能拿 WAV player 去播放没有 72 bytes 档头的纯种 MP3,一定是什么都听不到的。
另外一个好处是 WWW 的浏览器不需要为了 MP3 做特别的设置,只要大家都有装 MC,就可以在浏览网页时顺利的听到 MP3 音乐。对于网页的管理者来说,要在网页上播放 MP3 音乐,只要用这种变形的 MP3 文件就可以了。
最后谈谈这个 Fraunhofer IIS 的解码程序。既然都已经写出是来自 Fraunhofer IIS,我想它的系统耗用度应该会和 WinPlay3 相当的接近才是,因为 WinPlay3 就是来自 Fraunhofer IIS,而事实上也的确如此,播放变形 MP3 档时,观察系统耗用率,和 WinPlay3 不相上下。在 Pentium 166 上,WinPlay3 播放 MP3 时,系统耗用率会起起伏伏,而 Fraunhofer IIS 的这个解码程序在占用率上就比较稳定,几乎维持相同的占用率,而且就是介于 WinPlay3 起伏的范围之间。
所以,将 MP3 做成变形的 MP3 档,也就是骨子里是 MP3 的 WAV 档,交给任何一个可以播放 WAV 的程序,应该都不会占用太大的系统资源。直到当前,还没有一支程序可以以明显低于 WinPlay3 的系统占用率来播放 MP3 档,而 MC 的解码程序来自和 WinPlay3 相同的 Fraunhofer IIS,自然也于系统占用率上得到很好的成绩。
|
» 为什么要抓取 CD 音轨? |
|
想要制作 MP3 档,常规的方法是先要抓取 WAV 档,再转换成 MP3 档。
因为这个工作原理,所以转换成 WAV 档的过程,就显得格外重要。在以前,如果我们想要将 CD 音乐录成计算机文件,无疑的是将 CD-ROM 的音源接上音效卡的 CD-In 或是 Line-In 插座,接着于 CD 音乐播放的同时,使用音效卡将音乐录下来。
这种方法,第一个问题就是录出来的质量不可靠;就像使用录音机一样,好的录音机可以录出高质量、低杂音的录音带,便宜的录音机就只能录出普通的质量,甚至还有背景杂音等令人难受的成分。音效卡也是如此,专业的录音卡当然能够表现得很好,但是我们用的都是普通音效卡,录音不是主要的功能诉求,所以这方面的质量就不可能很好;再加上计算机机壳内的讯号干扰,录出来的质量可想而知。相信有些人曾经使用过一些很烂的音效卡,只要硬盘有动作,甚至动动鼠标,都可以从音效卡传出对应的杂音。像这样的音效卡,怎么能够录出质量优良的 WAV 档?
第二个问题是,这种录音的方式,很花费时间。常规观念上,声音进行多久,就花多久的时间录音,乃是天经地义的事情,不容怀疑;但是想一想,在 CD 唱片上的信息,不是已经数位化了吗?再加上现在的光盘驱动器都超过一倍速以上,难道不可能用更快的方式将这些资料以数位化的方式读取出来,变成 WAV 档?
是的,抓取 CD 音轨就是这样来的。在计算机用的光盘驱动器刚出现时,这个功能并不被重视,只有当时一些高阶的 SCSI 光盘驱动器有提供此功能,但是随着计算机越来越快,容量越来越大,MP3 的发明,使得此一功能受到重视,于是光盘驱动器纷纷开始支持此功能(CD-DA Extracting),只不过各厂牌各型号的光盘驱动器在此功能上,所下的功夫不同;有的随便做做,能抓取但是质量很烂;有的做得很用心,抓得又快又正确;有的很踏实,慢慢的抓,但是也抓的很正确;当然,还是会有完全不支持此功能的光盘驱动器,遇到这种光盘驱动器,任何程序都不可能抓得了音轨。
所以,如果能够使用一台好的光盘驱动器,不但抓得正确,还抓得迅速,那不是皆大欢喜吗?而且在制作 MP3 的过程下,就可以省下大半的时间了;反过来,如果使用了一台烂烂的光盘驱动器,不但抓得慢,还抓得不正确,有杂音、爆音、跳轨等情况,那不是气死人了?
|
» MP3 文件在不同机器上面封装的时间 |
|
使用以下长度的文件:48559258 jenny.wav (44.1Khz 16bit),播放时间大约 4:15。
压缩后的文件长度 :3854628 jenny.mp3 (112Kbps)
压缩程序的版本:l3enc 2.61
压缩时的指令 :l3enc jenny.wav jenny.mp3
UltraSparc 200Mhz under Solaris,256MB RAM : 12 分 38 秒
Pentium 120Mhz under Linux,32MB RAM : 25 分 53 秒
Pentium 120Mhz under DOS,32MB RAM : 24 分 10 秒
要说明的是,这个 l3enc 2.61 的 encoder,有 SunOS Linux DOS SGI NeXTSTEP 等不同平台的运行档。Solaris 操作系统可以跑 SunOS 的运行档,不过效率会差一些些,如果有 Solaris 专用的 l3enc,速度应该可以更快。
UltraSparc 200Mhz RAM 有 256MB,而且因为 RAM 很多,/tmp 就是直接使用内存,而非 HD。这个测试也是在 /tmp 下做的,所以等于全部都是在内存内完成。 |
» 将MP3转成CD音乐片(Audio CD) |
|
MP3档虽然有高压缩容量小的优点,但由于当前大家使用的音乐播放工具仍然是CD音响,所以若能将mp3文件转换成通用音乐CD那就可以到任何地方播放了!
而要还原成通用音乐CD可以使用winamp的输出转向到文件即可!
其运行步骤如下:
(1)先选定要还原的.MP3档
(2)使用winamp的\Options\Preferences
(3)将winamp的输出转向成文件,Output设成为.WAV file output
(4)选择输出文件的路径
(5)最后按PLAY键,唱完后(由于输出到文件所以就不会有声音)便多了一个.wav档
(6)再来就是利用光盘烧路机的烧制Audio CD的方式,将WAV文件烧录成Audio CD。
|