meltice 发表于 2004-1-17 00:52:37

[转贴] 常见音频格式的基本知识

原文来自Foobar 2000中文站。想更多了解,请访问下面网站链接:

http://foobar.nease.net/input.htm


Winamp和foobar2000的mp3解码器
首先,介绍一下 mpg123 (并非in_mpg123插件),mpg123是由Michael Hipp开发的一个Unix下的mp3解码器,解码速度快且质量好,有许多软件都使用mpg123来解码mp3,如大名鼎鼎的LAME。但mpg123在1999年发布了mpg123 pre0.59s后就停止开发了,代码中还有许多bug。
而Naoki Shibata将mpg123改写为winamp的插件 in_mpg123 ,除去了许多bug,并加入了一些插件必要的功能。
至于foobar2k,它使用的解码器是 mpglib 的修改版,而mpglib是Martin Pesch在mpg123的基础上将其移植到Windows平台的产物。具体情况可看这里,zZzZzZz就是foobar2k的作者,当时他们在讨论foobar2k中要使用的mp3解码器,最后决定使用mpglib,这点可以从foobar2k的about中看出来。
其实,in_mpg123插件与foobar2k解码出mp3的数据并没有太多区别,它们都基于mpg123的核心,只是做了一些debug的工作,争论究竟哪个解码mp3较好实在无所谓。
现在我们来谈谈ssrc,foobar2k中的ssrc和out_ds_ssrc都是Peter Pawlowski使用ssrc库实现的,而ssrc库的作者正是上面提到的Naoki Shibata。
BTW,关于MAD解码器,是Robert Leslie开发的一个只使用整数运算的解码器,而其他mp3解码器都使用了浮点单元来运算。
http://www.underbit.com/products/mad

使用foobar2000播放mp3pro,vqf文件
实际是使用nero的库文件解码mp3pro,vqf,所以必须安装nero
剩下的就简单了
1.下载安装 foo_nero
2.参数设置->playback->input->nero decoder,选中"use component for decoding","decode extensions"用默认的"vqf;mp3pro"就好了
3.现在vqf文件可以用fb2k直接播放了,而mp3pro文件扩展名需要改为mp3pro,否则仍然会调用fb2k内置的解码器,当作普通mp3解码。
特别说明,事实上可以在第二步"decode extensions"里添加"mp3",这样播放mp3pro文件不用改扩展名。但我个人并不推荐这么做,因为这样设置后普通的mp3也会调用nero的库文件来解码,因而有些副作用,比如不能读取tag信息,不支持动态比特率显示

WMA
由于是微软的作品,绝对不能小看,WMA象一剂强心针一样促进了流式媒体格式的大进步。WMA文件可以在仅仅20K Bitrate的流量下提供可听的音质,因此WMA常常当作用于在线收听和广播的首选,微软早就在Windows Media Player中提供了播放支持。当WMA的Bitrate上升到128k时,几乎在同级别的所有有损编码格式中笑傲江湖了,MP3在128KBitrate时,会出现明显的高频丢失,而WMA不会。但似乎128k是WMA一个槛,当Bitrate再往上提升时,不会有太多的音质改变.MP3却不一样,在192K时,音质可以比WMA好了。微软推出WMA编码时主要有2个针对目标,一个是瞄准了网络上的RM和RAM格式,另一个是用户硬盘中的MP3。但在高音质要求下,WMA仍无法构成对MP3的威胁.如果你要获得12:1左右或更高的压缩比,就不妨选择WMA格式,在这个流量下,WMA优秀太多了。
   WMA和MP3的优劣一直是大家争论的焦点,其实这是一个无法回答的问题.这要看你的实际需要,是追求高音质(mp3)还是高压缩率(wma)。

VQF
在WMA未流行之前,VQF是很受欢迎的一种格式,因为在低比特率下它的音质要好于MP3(比WMA稍差).不支持"流"是VQF的致命弱点,这可能也是为什么现在它完全被WMA压下去的一个主要原因。

MP3
MP3最受争议的就是音质问题(尤其是随着WMA的普及),其高频损失很大,很多MP3编码器粗糙的编码算法不但导致高频丢失,还丢失了许多细节,类似吉他擦弦的感觉在MP3中是找不到的.在对MP3快要失望时,偶发现了Lame,它支持根据人耳遮蔽效应原理来分析波形,配合VBR技术,可以让音质达到令人吃惊的地步; 其独创的心理音响模型技术保证了CD音频还原的真实性,配合VBR(动态比特率)和ABR(平均比特率)参数,编码出来的MP3音色纯厚、空间宽广、低音清晰、细节表现良好,音质几乎可以媲美CD音频,但文件体积却非常小.很多网友在使用LAME后的反映就是:立刻删除硬盘上所有的MP3和其他编码器,全部用Lame重新来过。
   Lame提供EXE 和 DLL,其中DLL是作为标准的动态运行库供其他程序调用.EXE是Command Line程序,象DOS程序一样工作,两者彼此独立,互不关联。但大家很快能发现两者编码的质量是不一样的,那是由于dll可控性差,与具备丰富调节参数的EXE版相比,其压缩出来的MP3效果稍逊一筹。但EXE是一个命令行工具,操作很麻烦,幸亏有了WinLAMEr或lameGUIxp这些Shell。只要学会使用这些Shell(是傻瓜型的,一看即会),就可以用LAME压缩出最最精彩的MP3了。
   再说说APS, 在LAME出现以前,APS就是最好的MP3编码器,它使用的Fraunhofer IIS编码算法,这比LAME使用的编码算法要先进,在192k Bitrate(CBR)下,甚至比LAME编码的曲子要优秀,细节明显要丰富一些,但APS本身不支持VBR,当Bitrate往上提高时,音质就要比LAME编码的要差了,大部分朋友的MP3的一般都是128-192K Bitrate的,因此APS仍旧有推荐的价值。特别是有很多MP3随身听不支持VBR和256K Bitrate以上的MP3,LAME就不一定合适这些朋友了,APS就成了不错的选择,由它编码的曲子,绝对不会辱没你昂贵的PLAYER。

MP3Pro
MP3Pro完全是基于传统MP3编码技术的一种改良,本身最大的技术亮点就在于SBR(Spectral Band Replication 频段复制),这是一种新的音频编码增强算法.它提供了改善低位率情况下音频和语音编码的性能的可能.这种方法可在指定的位率下增加音频的带宽或改善编码效率,SBR最大的优势就是在低数据速率下实现非常高效的编码.如果在高数据速率的情况下,SBR将如同虚设.当制作MP3Pro文件时,编码器将音频分为两部分。一部分是将音频数据中的低频段部分分离出来,通过传统的MP3技术而编码得出的正常的MP3音频流,此举可令到MP3编码器可以专注于低频段信号从而获得更好的压缩质量,而且原来的MP3播放器也可播放MP3Pro文件。另一部分则是将分离出来的高频段信号进行编码并嵌入到MP3流中,传统的MP3播放器会将其忽略掉,而新的MP3Pro播放器则可从中还原出高频信号,并将两者进行组合,得到高质量的全带宽的声音.官方宣称通过这样的技术,使得MP3Pro能在64kbps的编码率便可提供与128kbps的mp3相同的质量。

OGG
在高音质要求下,有损音频编码世界中是三足项立,分别为MP3、MPC、OGG。在大量新技术的支持下,这些编码都有非常出色的表现,都各自拥有一群支持者.较高比特率下,OGG展现出来的素质是很令人称道的,但是OGG也有一个不小的缺点,就是高频的金属味道,这多少有点让人失望。

MPC
较高比特率下(250kbps左右),MPC表现非常的出众,甚至超过了MP3,很难分辨它和原始信号有多少区别,无论从频率保留还是细节保留,以及信号强度失真来说,MPC太优秀了. 但MPC并非万能的,它无法编码48khz采样率的曲子,所幸的是,这样的曲子来源很少.可惜这种格式并没有像MP3或WMA那样流行。

ATRAC
MD采用的就是ATRAC(Adaptive TRansform Acoustic Coding 自适应声学转换编码)压缩算法,ATRAC目前仅支持MD,ATRAC还有一种衍生算法ATRAC3,OpenMG Jukebox使用的就是这种编码,编码后的文件扩展名为OMG.它集编码、抓轨、播放、管理和输出于一身,个头比较庞大,但操作还算方便。它使用了人耳遮蔽原理,能够有效的过滤人耳不敏感的声音信号,以达到更高的压缩比。与ATRAC不同的是,ATRAC3支持不同的平均数据速率,有132、105、66Kbits可选。这个软件可以直接向某些支持MDLP的MD机型提供直接输出,这样可以节省很多录制时间。这个软件对文件进行了严格的版权保护,无法象Mp3那样进行自由拷贝和备份。如果你有支持MDLP的MD,不妨试一试这个软件。

APE
和上面介绍的几款编码不同的是,这个编码提供了最好的音质保证(无损压缩)!还提供了 Winamp的插件支持,可以直接用Winamp来播放.所谓无损就是指压缩后的格式和源文件在音质上并无差异,而Mp3、WMA等的编码方案是基于有损的,在损失部分音质的前提下节约存贮空间,所以说音质再好的Mp3、WMA也只能是无限接近源文件的音质。APE非常适合来编码讲究细节的独奏曲目和大动态的交响曲。向各位音乐迷们(不是歌迷)作最强烈的推荐!它的压缩比约为2:1。

WAV
它是未经压缩的格式,似乎不用多说,在APE未流行时,WAV一直是音质完美主义者的首选,即使是现在,如果你想做出高质量的音乐,WAV也是无法替代的中间体(因为目前公认最精确的抓轨软件EAC从CD直接得到的音乐是WAV格式)。

RM
RM已经是昨日黄花,没有任何新意,低Bitrate比不过WMA,高Bitrate比不过MP3,虽然新的RM导入了ATRAC3算法,但颓势已定,很难东山再起了。

SPC
SPC 格式是著名的16位家用游戏机 SFC (超级任天堂)所采用的音频格式,SPC 格式不论时间长短文件大小都是 65kb。

无损压缩和有损压缩
无损压缩也称冗余度压缩方法,利用数据的统计冗余进行压缩,具体来说就是解码图像和压缩编码前的数据严格相同,没有失真,从数学上讲是一种可逆运算。但压缩率受到数据统计冗余度的理论限制,一般为2:1到5:1。这类方法广泛用于文本数据、程序和指纹图像、医学图像等特殊应用场合的图像数据的压缩。由于压缩比的限制,仅使用无损压缩方法不可能解决图像和数字视频的存储和传输问题。
有损压缩方法也称为信息量压缩方法,利用了人类视觉或听觉对图像或声音中的某些频率成分不敏感的特性,允许压缩过程中损失一定的信息,也就是说解码图像和原始图像是有差别的,允许有一定的失真。所损失的部分对理解原始图像的影响较小,却换来了大得多的压缩比。有损压缩广泛应用于语音、图像和视频数据的压缩。

老唱片 发表于 2004-1-17 08:44:36

正好补我无知,学一点可以跟小子过招,否则老被欺负:D :D :D
页: [1]
查看完整版本: [转贴] 常见音频格式的基本知识

耳机俱乐部微信
耳机俱乐部微信