找回密码
 入驻
搜索
查看: 467|回复: 12

Audio【音频格式、处理】 FAQ [转]

[复制链接]
发表于 2008-11-5 12:56:07 | 显示全部楼层 |阅读模式
[发帖际遇]: jy00952077买了一双NIKE鞋, 花了现金33思明币.

转自:http://popgo.net/bbs/showthread.php?s=8c022bb61371061a3f6171580f22e1f9&threadid=344253

本FAQ系列由本人(haibara)和lying_heart(niuguo)共同翻译,期间受到kaito_mkid(pcicp)和stephenzb_zhang(pcicp)大力帮助,在此感谢,由于Newbie的关系,如有翻译错误,还请各位指出,由Doom9的KpeX编撰的原文

译者注:基本专业名称我都以小括号形式加以解释,详细信息请自行查阅资料。



A/V Audio FAQ


欢迎来到音频FAQs的圣地。这些FAQs里包含很多经常被问及的问题。首先你该升下级,看看Doom9教程和更多的特殊音频教程。你在音频论坛里发贴前,应该确认自己已经通读了相关指南和FAQ。那些努力完善FAQs使之拥有完美的信息资料的人,你可以通过最后帖看看他们的荣誉。

这些FAQs的目的是告诉使用者关于在这影音世界上如何使用最普遍的音频格式和如何对音频编码,解码,以及产生高质量、一流的、更有效率的播放效果。如果您有更好的修正意见或其他增加,有空PM我或直接跟帖。

若你初到Doom9,强烈推荐你看看下面的那些关于网络礼节贴子:
Message about Free Pies
Caps and Special Characters
Why a Good Title is Important

始终记着发帖前先搜索和论坛规定,破坏他们将使你的帖早日归西(被锁/删)。敬祝你好运。

General Audio FAQ

BeSweet FAQ(未翻译)

SVCD/MP2 Audio FAQ

MP3 FAQ

OGG Vorbis FAQ

AC3 & SPDIF FAQ

DTS FAQ

AAC FAQ


 楼主| 发表于 2008-11-5 12:56:25 | 显示全部楼层
General Audio Procedures FAQ
不同格式的编码、解码、播放技巧

1,有损(lossy)/无损(lossless)/未压缩(uncompressed)音频格式的不同点是什么?
未压缩音频是一种没经过任何压缩的简单音频。未压缩音频通常用于影音文件的的PCM或WAV音轨。

无损压缩音频是对未压缩音频进行没有任何信息/质量损失的压缩机制。无损压缩音频一般不使用于影音世界,但是存在的格式有无损WMA或Matroska里的FLAC。

有损压缩音频尝试尽可能多得从原文件删除没有多大影响的数据,有目的地制成比原文件小多的但音质却基本一样。有损压缩音频普遍流行于影音文件,包括AC3, DTS, AAC, MPEG-1/2/3, Vorbis和Real Audio.

我们也来讨论下无损/有损压缩过程。只要你转换成一种有损压缩音频格式(例如wav > MP3),质量上有损失,那么它就是有损压缩。从有损压缩音频格式转换成另一有损压缩音频格式(例如Mp3>AAC)更槽糕,因为它不仅会引入原文件存在的损失,而且第2次编码也会有损失。

2,CBR/ABR/VBR是什么?

CBR意思是码率恒定,不变。
VBR意思是码率可变,根据整体信息针对有需要的地方进行改变。
ABR每帧可变,但是平均变化恒定。

结论:
VBR中包含ABR,ABR中包含CBR。

3,stereo(立体声),joint stereo(混合立体声),dual channel(双声道)的区别是什么?
dual channel有2个单声道,每个声道用总的码率的一半编码。
stereo有2个独立的声道,但是码率是按照两个不同声道所含信息的数量来分配的。
joint stereo有2个声道,但是利用了两个声道中相同的部分,所以压缩率要高一点。

4,joint stereo(混合立体声)有哪些种类?

joint stereo最常用的两种模式:IS(intensity stereo/强度立体声)和M/S(Mid/Side/中侧立体声)。M/S矩阵化计算两个声道的信息总和和不同之处,然后分配到两个声道。这种方法非常有效率,而且是无损压缩,两个源声道可以被真实的还原。

IS用单声道信号加上位置信息来替代声源的左右声道信息。这是一种有损压缩,破坏DPL(杜比逻辑环绕声系统)信息。它仅仅用于低码流。

很多编码器可以利用full stereo和上述两种(或其一)方法的组合,在每帧的基础上来决定编码格式。

5,我如何转换AC3 5.1到Pro Logic/Pro Logic II(杜比定向逻辑环绕声)?

获得2.0声道的Dolby Pro Logic (II)需要两步。首先,需要Dolby Pro Logic的源文件,既然这样我们就需要利用5.1声道源文件应用DPL模式。这点besweet很容易做到,在 '-azid()' 部分增加 '-s surround'(Pro Logic) 或 '-s surround2'(Pro Logic II) 。

其次,在音频被编码时joint stereo信息必须保存。为此,需要使用full stereo或M/S joint stereo,- Intensity stereo会破坏DPL信息。更多的Dolby ProLogic & Dolby Surround(杜比环绕声)信息请看这里。所有普通的音频格式都能做到:

MP3:使用lame,采用joint stereo。详见MP3 FAQ #9.

Vorbis:使用无损或者轻微损失声道耦合模式。

AAC:采用M/S joint stereo,几乎所有的AAC编码器都采用AFAIK。

MP2:MP2不支持M/S joint stereo,因此你必须使用full stereo。

6,我可以在哪里找到音频格式的信息及其技术?

http://www.audiocoding.com/wiki/
http://www.oreilly.de/catalog/mp3/chapter/ch02.html
http://www.hydrogenaudio.org

7,对我来说最好的有损压缩格式是什么?

你应该懂得,论坛禁止询问什么是最好之类的。通常耳听为实是最佳方案。这里有一些极好的听觉测试,它可以帮你选出你的女神。

8,转换中是把DVD音频采样率降低到44.1 KHz好还是保持48 KHz?

除非你要按照某种标准,如SVCD的44.1 KHz,通常没理由降低采样率到44.1 KHz。降低采样率可能会在选取采样点时引入循环错误,这会损失质量,但是如果采用优秀的采样频率转换器象SSRC,质量的损失将会很少。在某些音频编码器,这个问题也在讨论中。比方Lame,更适合于44.1 KHz,但差别是极其微小的。

9, 我如何改变wave文件的采样率?

下载SSRC,使用下面的命令:



quote:
--------------------------------------------------------------------------------
code:
----------------------------------------------------------------------------------------------
ssrc --rate 44100 input.wav output.wav
----------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------


这样就得到44.1 Khz(44100 Hz)。

10,SPDIF(SONY、PHILIPS数字音频接口)是什么,何时使用?

SPDIF(Sony Phillips Digital Interface)是硬体数字接口(非模拟)。它的传输载体有同轴和光纤,后者从我的经验来看抗干扰能力很强(会根据硬件和音源发生变化)。SPDIF能解码传输PCM, DTS或杜比数字信号到你的外设/音箱。理论上,支持SPDIF的声卡有能力无损地传输音频信号(说是“理论上”的原因是由于许多人提到过Creative(创新)声卡会修改音频信息)。

11,有可能从dvd上备份音乐到cd上吗(共机)?

是的,AC3/DTS需要重编码转换到PCM-WAV, Dolby Digital-Wav或DTS-Wav。

点击BeSure 下载 。它能实现DTS-CD, AC3-CD & plain CDDA。

12,当我转换5.1 AC3到2声道音频时,我应该选择哪一种AC3音频流,5.1还是2.0?

2.0流对于2声道来说比5.1转到2声道拥有更好的混合特性,后者由于使用了AC3解码工具降低了混合特性。因此,采用2.0工作是最好的选择。转换5.0数据流,降低其混合特性只有对装着带有Dolby ProLogic II解码器的环绕系统的用户才是有用的。一些2.0音轨对Pro Logic来说是无法降低其混合特性的,所以你必须采用原版5.1音轨并且用相应的转换器降低其混合特性。更多的关于Dolby ProLogic和Dolby Surround的信息请见这里。

13,我如何从AVI文件提取音频流(AC3/MP3/OGG/WAV)?

下载VirtualDubmod。打开AVI文件,点击 streams -> stream list。选择你想要提取的音频流;然后点击 demux 无损地得到音频或点击 decode 重编码到wav文件。这两种方法对任何avi文件都管用。

14. 我如何分割AC3/DTS/AAC/MP3/MP2/MPA/WAV等音轨到几个独立不同更短的音轨?

使用BeSplit,它就是为此诞生的。注意Chapter-X-tractor能产生BeSplit的命令行转换成.ifo文件。

DTS可以选择DTS Trimmer/Concatenator。

15,我播放AVI没声音,怎么办?

首先,读下论坛规定,你在这里将得不到任何关于下载或者非法获得文件的帮助。

如果是你自己创建文件,那么你只要简单地安装一个能够处理这个音频格式的DirectShow滤镜即可。请去Doom9的下载页面找一些通用的音频滤镜。GSpot这个软件同样也能在那里下到,它是一个可以被用来作为辅助确认AVI文件里音轨格式的工具。

16,帖张最常见的winamp插件清单

AC3:http://sourceforge.net/projects/winampac3/
AAC/MP4:http://www.audiocoding.com/download.php
MPA/MP2/MP3:http://www.mars.org/home/rob/proj/mpeg/mad-plugin/
DTS:http://sourceforge.net/projects/in-dtsc/(发展中)(对于播放DTS,你也可以一起使用Winamp的directshow滤镜和WinDVD's dts directshow滤镜)

17,我怎样才能提取/rip DVD-A(DVD-Audio)的音轨,DVD-A用的是什么格式?

DVD-A用的编码格式是LPCM(线性脉冲编码)或MLP(Meridian Lossless Packing/无损压缩编码)的无损压缩编码,支持24bit和192kHz的音轨。鉴于DVD-Audio强大的编译能力,目前没有任何办法可以将其中的音轨提出。

不过有一种可能,您可以将DVD机器上的S/PDIF和你的声卡S/PDIF接口连接,直接录制。鉴于MLP格式的解码认证证书价格昂贵,将DVD-A的音轨提出来,完全不是一个好主意。

18,视频文件可以使用MPC(Musepack)格式的音频吗?

目前在任何容器格式里都还无法使用。Matroska的开发者已经计划在Matroska中将MPC包含进去,不过鉴于Musepack的主开发人员的建议以及Musepack的比特流格式特性,在下一版本的Musepack(SV8)开发完成之前还无法实现。不过,也许会有一个Musepack SV7到SV7.5的比特流转换工具出现,因此你目前的MPC文件也可能被AVI使用。

19,我如何才能用免费的工具来转换音频的帧率?

首先,说了无数次了,音频没有帧率这个概念。当某些人说他要转换音频帧率的时候,他们其实是说如何把音轨的时间拉伸转换成能够符合视频的帧率。FRC转换可以使用几个商业化的软件来完成,但这不是这个FAQ所要关注的,自己用google去找一下吧。

“帧率转换”其实就是一个速度转换的概念,无论使用音调修正与否都可以将它完成。当不使用音调修正时,如果速度的变化很大,你就会注意到音频听上去变高或变低,就象磁带录音机改变播放速度时的那样。这种转换可以使用BeSweet来实现,只要加上一段简单的代码:


quote:
--------------------------------------------------------------------------------
code:
----------------------------------------------------------------------------------------------
ota ( -r 23976 25000 )
----------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------


在你的besweet命令行的ota部分。在这个例子里,原始视频帧率为23.976而目的帧率为25.000。

用音调修正来进行速度转换其实也称为节拍转换——即音频改变播放速度而保持原始音调。唯一一个目前可以用来进行速度转换(frc)的带音调修正功能的免费工具是Audacity。
回复

使用道具 举报

 楼主| 发表于 2008-11-5 12:56:42 | 显示全部楼层
[发帖际遇]: jy00952077买了一辆小破车, 花了现金4056思明币


SVCD/MP2 Audio FAQ
MPEG-1 Layer 2 & MPEG-2 Multichannel(多声道)问题

1,SVCD支持什么格式?

SVCD 正式支持两种音频格式:

- CBR MPEG-1 Layer 2 Audio, 32-384 kbit/s, 44100 Hz 采样率, 2声道, 相当于2音轨

- MPEG-2 Multichannel Audio(虽然也是允许的,但只有少数播放器支持)

2,SVCD可以有5.1声道的音频吗?

是的,有两种途径。最可行的是把Dolby Pro Logic或DPLII变换成2声道的MP2。在besweet的azid部分简单加上命令 -surround 或 -surround2 就行了。

另一个方法是创建MPEG-2 Multichannel 5.1流。Standalones能解码这两种音频流,事实上,两者是极其不同的。

3,我如何把AC3转换成Mpeg2multichannel?

你需要phillips encoder和BeSweet。加下面两个命令:



quote:
--------------------------------------------------------------------------------
code:
----------------------------------------------------------------------------------------------
BeSweet -core( -input input.ac3 -output inter.aif -6chaiff ) -ssrc( --rate 44100 ) -ota( -g max )
pub_enc -l 2 -m s -n d -r 44.1 -b 384 -L -p 3 -e -v 0 inter.aif final
----------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------


最终的成果是个有着mpeg2multichannel流的final.mpg文件。

4,有哪些好的MP2编码器?

最广泛的两个编码器(besweet都囊括)是TooLame和MP2Enc。它们都是开源的,另外MP2enc来自CDex工程。虽然广泛的测试还未完成,但是都被认为拥有优秀的性能。

5,是否能不经过重编码而增加MP2音量或normalize(规格化)MP2?(无损化)

可以的,目前仅有的一个拥有此功能的是BeSplit。其中的一个命令范例:


quote:
--------------------------------------------------------------------------------
code:
----------------------------------------------------------------------------------------------
BeSplit -core( -input infile.mp2 -output outfile.mp2 -type mp2 ) -ota( -G max )
----------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------



6,使用toolame或MP2enc时应该选用什么psymodel(心理声学模型)?

关于心理声学有太多的争论,但是至少对你来说正确的答案就是用自己的耳朵去听,自己去判断。

在toolame和mp2enc里,psymodel 1和2都符合ISO标准。虽然同为标准,但是都不被认为有很高的音质。事实上psymodel对音质没有太多的影响。一般来说,Psymodel 2被认为拥有更高的品质,但它在频率中断和探测音调时有问题。许多使用者的方针是在等于或低于160时采用psymodel 2,而高码率采用psymodel 1。

较新的toolame已经能实现一些新的psychoacoustic models:psy 3能二次执行psy 1,psy 4是psy 2的精简版。虽然现在它们与自己的ISO版没有太大区别,但其未来的升级性是很可能的。更多toolame的psymodels的信息请浏览这张网页。

7,对MP2我应该用stereo还是joint stereo?

总体上,对MP2推荐使用stereo,joint stereo中只有intensity stereo可用,而M/S不行(mid/side joint stereo用于lame和其他许多编码),所以joint stereo可说是个坏选择除非码率很低(低于128kbps)。

8,如果我有个双语的dual channel(双声道) MP2,每个声道各有不同的语言,我如何分离它们?

BeSplit v0.9b6及其以上版本能无损地分离出两个mono(单声道).mp2流。注意这只有在你的MP2是dual channel(双声道)才能实现。用besplit的这个命令:


quote:
--------------------------------------------------------------------------------
code:
----------------------------------------------------------------------------------------------
BeSplit -core( -input stereo.mp2 -prefix e:\channel -type mp2 -demux )
----------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------
回复

使用道具 举报

 楼主| 发表于 2008-11-5 12:56:53 | 显示全部楼层
MP3 FAQ
MPEG-1 Layer 3 编码与播放

1,什么是MP3?

MP3,众所周知也就是MPEG-1 Layer 3,是一个意图达到高的压缩率同时又能保持相当不错的音质的有损音频格式。Layer 3不是MPEG Layer 1或Layer 2的新版,只是与它们不同的复杂的编码方案。现在有许多可用的MP3编码器,其中最高品质的莫过于Lame,同时它也是开源免费的。

强烈推荐比任何MP3编码器都优秀的The Lame encoder 3.9x系列。

2,MP3支持2声道以上的音频吗?

MP3技术上支持多声道,但从未实施过或者今后也不会了。事实上,你可以编码源文件为pro logic (II)的多声道文件变换成立体声MP3。

3,是否能不经过重编码而增加MP2音量吗?

可以,有少数软件提供此功能,例如mp3gain & mp3trim。同样BeSplit也能办到。相关命令见MP2 FAQ的问题5。

4,怎么才能让MP3体现出高音质?

对于电影原声,128kbps及其以上码率才算合格。为了提高音质,可使用VBR和joint stereo。在Lame里为获得良好的音质推荐参数是--alt-preset standard(Besweet中也可实现)。此预设通常让电影原声在140--170kbps的码率的情况下,可以使大量的音源样本产生清晰、明亮的效果。

5,BeSweet包括什么版本的Lame?

最新版的BeSweet内置Lame 3.90.3,且已经hydrogenaudio社区调整和测试。强烈推荐此版,更多信息见这页。如前面题及一样,任何lame 3.9x系列都是好选择。大多数的lame使用者都在使用最新的稳定的版本或者3.90.3。

6,我的VBR MP3文件长度显示错误,我如何修复?

如果你决定在DShow基础播放器如WMP或ZoomPlayer上回放,那么错误的原因是windows自带的Microsoft MP3 Dshow filter产生bug。忽略它要么用优秀的非dshow播放器如winamp。

如果长度仍然显示错误,使用BeSplit,输入下面的命令:



quote:
--------------------------------------------------------------------------------
code:
----------------------------------------------------------------------------------------------
BeSplit -core( -input c:\track.mp3 -prefix c:\track -type mp3 -fix )
----------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------


这种解决方案同样可用于长度报错的wav文件。只要把"-type mp3"改成"-type wav"。

7,为什么我的MP3目标文件会降低采样率到32kHz甚至更低?

较新的LAME(3.9x)在低码率(<128kbps)为了减少瑕疵会自动降低采样率。

8,哪里我能得到一些MP3的推荐设置?

LAME推荐设置。

9,当用joint stereo编码MP3时,Pro Logic/Pro Logic II信息能保存吗?

Lame,作为唯一推荐的编码器,当其采用高品质的M/S joint stereo模式时远比其它那些采用intensity stereo的编码器象MP2出色。由于DPL环绕声道被矩阵化融入了两个立体声音轨,所以在使用Pro Logic时推荐使用M/S joint stereo模式。加之,在DPL下强烈推荐参数 --alt-presets。更多详细的说明见这里。

10,我怎么样恰当地把VBR MP3加入AVI?

使用VirtualDubMod或Avi-Mux GUI。

11,如何在Linux/*nix下编码MP3?

LAME,作为最推荐的编码器,也有支持GNU/Linux和其他许多平台的版本。从sourceforge里获取资料,或者从rpm.pbone.net里获取rpms,或者从http://www.rarewares.org/debian.html获取debian版本。
回复

使用道具 举报

 楼主| 发表于 2008-11-5 12:57:02 | 显示全部楼层
Vorbis & OGG FAQ

1,什么是OGG?什么是Vorbis?它们有什么不同?

Vorbis是一个意图完全免费无专利的开源的有损的音频压缩格式。

OGG是为Vorbis而生的容器格式,它也可以容纳别的音频格式如FLAC和Speex。说OGG音频是学术性错误如同说AVI音频或者MP4音频一样,它们都是容器格式。你也许听说过OGM,它是一种改良的OGG能够支持视频,别的类型的音频,段落章节(chapters),字幕(subtitles)等等。更多信息请看OGM FAQ。

2,我如何编码Vorbis?

你可以下载OagMachine, BeSweet或HeadAC3he来转换AC3到一个Ogg Vorbis文件。通常Doom9有一个优秀的教程来指导你入门。一个入门级的音质设置是q2,它可以提供平均96kbps的文件。不象MP3,当我们讨论Vorbis时并不大会提及比特率(bitrates)而是根据-q模式(quality modes)进行讨论。

由于vorbis是一种开源的音频压缩格式,所以有许多可用的编码器,虽然它们常常有许多流派,但都是完全适用的编码器。如下是最普遍的编码器清单:

1)Xiph 1.0.1:官方的Ogg Vorbis编码器。下载链接。
2)aoTuV:由Aoyumi调整的vorbis编码器,在听力测试有着杰出的表现。主页,libvorbis dlls。
3)QKTune:由QuantumKnot调整的vorbis编码器。下载。
4)GT3b2:由Garf调整的vorbis编码器。下载。

还有许多可用的调整设置,为获得最好资料你需要经常看看Rarewares的Vorbis专题。

3,我如何在BeSweet或HeadAC3he里升级Vorbis版本?

BeSweet:如果BeSweet在其目录里发现libvorbis.dll,就会被使用并取代OGG Vorbis DirectShow filters。注意有时编写时你也需要libmmd.dll在同样的目录里。从RareWares可以得到它们。

HeadAC3he:HeadAC3he的编码使用一个特殊的vorbis.dll。从RareWares也可以得到它。

4,GT3b1?1.0.1?我应该使用哪一个编码器版本?最好的设置是什么?

不同的编码器有不同比特率调整设置。Vorbis 1.0.1适合于低码率,GT3b1在高码率上有许多加强,而且当然会一直发展。复合的版本也是可用的。大体上-q模式的设置都是优秀的VBR预设,通常不需要额外的参数修改。更多信息请看Hydrogenaudio的推荐Vorbis编码器和设置。

5,转换成5.1声道的vorbis可能吗?

是的,Vorbis支持多声道。Vorbis 1.0.1能够实现修正声道耦合但大体上不推荐从AC3转码;为了得到高品质的5.1 Vorbis流,码率很可能接近原AC3。

6,什么容器格式允许我使用Vorbis + 视频?Vorbis可以用在AVI中吗?

当然,Matroska和OGM很好地支持带视频的Vorbis。由于Vorbis的复杂性和在AVI很难正确地同步,Vorbis很可能永远不会用在AVI中。事实上,众所知道AVI不能支持很多东西。

7,有可能通过S/PDIF输出5.1 vorbis?

目前没有任何音响(receivers)或AV功放(amps)支持Vorbis解码,所以Vorbis源文件不能通过S/PDIF输出。事实上,有一些滤镜(filters)支持在均衡器上重编码成六声道的AC3:Haaan的Dolby Out DS filter和1.x版的AC3Filter能被用来在均衡器上通过S/PDIF编码成AC3。虽然这种重编码理论上只导致少许声质损失,但是用640 kb/s的码率可以产生很好听觉效果。

8,我能在linux / *nix里编码OGG vorbis吗?

vorbis tools(解码与编码ogg)是最新的linux distributions的一部分,请检查你的distributions更新编译套件。通常debian的使用者可以从www.rarewares.org/debian.html得到许多vorbis组件。你也可以获得和编译在http://www.vorbis.com/download_unix_1.0.1.pspvorbis.com上的源码。为满足基本的编码/解码需要,你应该安装libogg, libvorbis和vorbis-tools(按顺序)。

VLC支持编码Vorbis,还有些别的编码工具也支持编码Vorbis。
回复

使用道具 举报

 楼主| 发表于 2008-11-5 12:57:12 | 显示全部楼层
[发帖际遇]: jy00952077开车的时候, 一张纸条飞进驾驶舱, 才发现原来是支票现金1000思明币.


Dolby Digital/AC3 FAQ


常规AC3入门问题

1,什么是AC3?什么是Dolby Digital?

AC3, Dolby Digital, Dolby Surround AC3, A/52和Audio Coding version 3都是Dolby实验室所发展的有损音频编码格式的名称。AC3最被广泛应用于5.1声道,是Dolby Pro Logic的继承者,不同的地方在于AC3提供6个独立的声道而Pro Logic混合其环绕声道。AC3普及度很高,以384-448 kbps的码率应用于LaserDisc和DVD,也经常以640 kbps的码率广泛用在电影院。

2,我怎么转码/编码AC3?有无免费的编码器?

Sonic Foundry Soft Encode是最流行的AC3编码器但它已停止发展。Sonic Foundry's Acid里有个AC3编码器插件也是可用的。这里购买。

Surcode也卖许多好的AC3和DTS编码软件。

在这些可用的商业编码器中,知名的商业编码器都以Dolby的编码器为核心。SonicFoundry SoftEncode和别的老式AC3编码器用的是Dolby v 6.6.2,新的编码器象SonicFoundry Acid插件使用Dolby v 7。

唯一免费的编码器是ffmpeg工程的组成部分,但通常不被认为能跟使用Dolby核心的商业编码器一样提供高音质。事实上不兼容的AC3规格问题现在已经解决了,使用BeSweet 1.5b26或其以后版本是免费编码多声道AC3的好选择。

不推荐用低于224kbps的码率转码5.1 AC3文件,否则会造成品质下降 。

2b,怎样在linux/*nix下编码AC3?

FFmpeg属于linux的应用部分,支持象mplayer, vlc和其他以libavcodec为基础的软件一样用libavcodec来编码AC3。一个简单的AC3转码命令:



quote:
--------------------------------------------------------------------------------
code:
----------------------------------------------------------------------------------------------
ffmpeg -i input.ac3 -acodec ac3 -ac 6 -ab 256 output.ac3
----------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------



3,normalization(归一化)与dynamic range compression(动态范围压缩)有什么不同?

normalization增益所有的音频,本质上统一倍增所有东西,为的是最大利用16 bits的量化位数通常见于wav文件。normalization保存原文件的动态范围,意味着除了所有的东西都统一变响外,高声与低声的关系不变。

dynamic range compression主要增强低声部分,其增幅超过高声部分,这样使高声与低声更加紧密,减少说话、爆炸、背景音乐时的差异。

4,我可以在哪里得到关于编码AC3的全面资料?

这里有SomeJoe的一个优秀的指南。

5,我怎样拼接AC3文件?

若你想把stream1.ac3, stream2.ac3, stream3.ac3拼接成stream.ac3。

创建一个目录文件join.lst:
stream1.ac3
stream2.ac3
stream3.ac3

使用BeSplit:


quote:
--------------------------------------------------------------------------------
code:
----------------------------------------------------------------------------------------------
BeSplit -core( -input join.lst -output stream.ac3 -type ac3 -join )
----------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------



6,如果我在添加AC3文件到DVD项目时有问题我应该怎么做?

首先应用BeSplit混合。如果仍有问题,应该是VBR AC3问题,说明你的编辑软件不支持重编码到CBR(见AC3编码器的Q#2)。
回复

使用道具 举报

 楼主| 发表于 2008-11-5 12:57:26 | 显示全部楼层
AC3回放问题


7,回放AC3我需要安装什么软件?

下载Valex的AC3filter音频滤镜并安装。极力推荐这滤镜,比起其他可用的AC3滤镜,此滤镜不仅特性丰富,而且最棒的它是开源的。为了完全地了解AC3filter的所有特性,请通读它的卓越的说明文档。Valex经常更新程序,你可以经常性地浏览Doom9的新闻或查看AC3filter的主页。

其次,你需要用你最爱的播放器来播放已嵌入AC3音轨的媒体容器格式(如OGM, MKV或AVI)。

8,我怎么知道AC3filter是否正确地安装并注册了?

如果AC3filter没有正确地安装,那么当你在播放媒体文件会看到一个典型错误象“DirectShow can not render the file”。用GraphEdit(可以在Doom9的下载项里找到),选择 Graph>Insert Filters (Ctrl-F)。出现一个对话栏,双击 Direct Show 目录。它会显示系统中所有已注册并可使用的DS滤镜。双击任一滤镜可以查看该滤镜在你驱动器上的路径(比方 C:\Program Files\AC3Filter\ac3filter.ax)。如果AC3filter在GraphEdit没有显示,说明可能安装时有问题,你应该尝试卸载AC3filter并重装。

如果media player或GraphEdit仍然没有加载AC3filter,请尝试手动注册。首先通过搜索 ac3filter.ax 来查找AC3filter实际位置,通常来说其默认路径我将在下面说明。然后打开一DOS提示符->键入 C:\Program Files\AC3Filter\ 这里我们可以通过键入 regsvr32 ac3filter.ax 来注册AC3filter,你应该看到弹出个对话框显示AC3filter已经正确注册。作为可选你可以尝试使用Elecard的Moonlight Odio Dekoda(比起Valex的AC3filter少许多特性但比Intervideo的好)- http://www.elecard.com/download/

9,我为什么听不到任何声音或者回放中声音嘈杂?

典型原因是你的系统或播放软件的设置有问题。快速检查的方法是看看你的播放软件是使用“DirectSound”还是“WaveOut”。大多数系统默认使用“DirectSound”,并运行良好,但如果你遇到问题可以尝试用“WaveOut”代替。一些使用者曾经报告自己不得不使用Default Direct Sound设备(如Default Direct Sound Audigy)。转换DirectSound/WaveOut的输出选择, 请用WaveOut fix,安装包在Doom9下载页。

10,为什么有时我的电影播放中声音会停顿然后继续播放?

通过SPDIF传输音频而产生信号丢失可能是你的低品质电源供应造成的,或许你需要购买个电涌抑制器(surge protector)来限制电流。音频信号丢失也可能是由低品质的光纤或同轴电缆引起的。一些使用者曾报告说低劣的PC电源也可造成。还有一个可能,我曾经经历过用NanDub之类的软件混合音轨,由于设定值过于紧凑(64/64ms),导致信号丢失。更多AC3混合问题下面会有详述。

11,AC3的音量回放中显得很轻,我该怎么做?

检查你的音响系统看看你的功放是否支持DRC(Dynamic Range Control/动态范围控制),它能动态提高AC3音量,使得轻微的声音变的更响同时压缩全频声道信息。
Valex的AC3filter也允许你手动调整主增益(master gain),DRC和内置的均衡器(equalizer)也可以。如果你通过SPDIF传输音频信号,为了恰当地传输AC3流到你的功放,大多数滤镜的设置是无效的。记住,AC3封包不能改变否则你的功放不会正确地侦测到AC3流。Valex的滤镜当然也要遵守标准规格。

12,混合软件和混合设置是否会影响AC3的回放?

如果你计划通过用SPDIF来回放AVI的声音,那么答案一定是YES。但是,现在我们应该感谢Alexnoe制作出了完美的AVI混合软件(AVImux GUI),使得流畅播放含AC3音轨的AVI可以轻松实现。我们强烈推荐使用AVImux GUI来混合AC3至AVI容器。迄今为止,我们都局限性的使用NanDub来合并AVI,但是最近发觉NanDub在混合编码中存在重大的瑕疵。所以,我们不再建议使用NanDub来合并任何种类的音轨。既然现在有了AVImux GUI,大致上我们就不用再为插入值的设置而担忧,仅使用软件提供的默认值500/75就可以了。请阅读论坛相应帖及AVImux的操作手册以了解更多的细节。你可以在Alexnoe的主页中或doom9下载专栏下载到此软件最新的版本。如果你使用CD媒体来回放,然而由于CD驱动器的访问过于频繁导致回放问题,你就应该试一下使用AVImux软件混合的AVI文件。它将会适当地减少CD驱动器的访问率,这归功于AVIMux中的“rec-list”的特别表现。VirtualDub同样也是一款完美的AVI混合器。

另外,使用一个先进的容器格式将会减少混合的问题,例如OGM或Matroska,这些容器格式在混合AC3方面基本没有问题。使用MKVmerge来进行MKV的混合;使用OggMux_Nic来进行OGM的混合。

13,如果AC3流没有正确混合,会导致什么结果?

最普遍的问题是如果采用了低下的混合软件(NanDub),会导致在(pan & scan)(变形宽银幕方式)下拖曳屏幕时发生声音停顿现象。另一普遍问题可能发生在频繁访问CD驱动器时如同上面所讲。播放影片中,当从左向右或反向拖曳镜头时,靠近屏幕看画面应该是很流畅的。有个很简单的办法来进行比较,先看一段剔除音轨的AVI,然后再看同一段混合过AC3的AVI片断,两者在流畅播放(例如:pan & scan下)方面应该没有任何区别。最后一个未正确混合的普遍症状是播放时声音断断续续,甚至失声,特别是在激烈的场景中。

14,为什么WinAmp不能正确回放AC3?

WinAmp本身不支持AC3,Valex再一次拯救了我们,他提供了一个非常优秀的插件。请在这里寻找AC3插件。

15,我在PC上回放Dolby Digital wav(ddwav)?

VideoLan's VLC player 0.7.1版及其以上版本支持回放DDWavs和Dolby Digital-CDs。

另种选择是,你可以先用BeSplit从DD-WAV中提取出5.1AC3流,然后用任何可播放ac3的软件来回放。 范例的命令是:



quote:
--------------------------------------------------------------------------------
code:
----------------------------------------------------------------------------------------------
BeSplit -core( -input live.wav -output e:\track01.ac3 -type ddwav -fix )
----------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------



16,对于S/PDIF回放的疑难解答?

如果你仍然有问题需要排除,你可以用GraphEdit渲染(render)文件,可帮你得出需要什么滤镜。
在GE中,选择菜单 File->render media file>load GraphEdit,加载File Source (Async) DirectShow filter,选择你的AVI文件并渲染(右键点击 Output / Render Pin)看看发生了什么。这样你就可以在DirectShow不能正确渲染的情况下知道该怎么做。
曾经有种说法Cineplayer的音频滤镜在SPDIF回放上做的比Intervideo出色。Cineplayer的滤镜在SoundBlaster Live 5.1声卡下工作时会无效。Valex的AC3 filter由于其易用性和它众多的特性显得更优越些。禁用或卸载Morgan Stream Switcher filter。这滤镜在回放中有问题(如停顿/跳进)。滤镜的名称是mmswitch.ax。试着在它所在的目录里用下面的命令 - regsvr32 /u mmswitch.ax

如果你运行的是Windows 2000,请确认至少版本是Service Pack 2并安装了最新声卡驱动。 SP2解决了一些SPDIF的输出问题。

强烈推荐DirectX 8.1及其以上版本。WinXP已安装8.1版。

17,有关于Soundblaster声卡的小帮助吗?

经典的Live Value(CT4780)声卡需要一个“stereo” 3.5mm mini plug的插座,而更新型的型号需要一个“mono”cable线。如果你的声卡有光纤/Toslink或同轴接口,与多声道的模拟接口相比,将会提供最佳的音质。采用同轴可能会有象EMI这类的电磁干扰,但这是极微量的。

确认你的SoundBlaster Live声卡软件的“Bypass SPDIF”选项没有选上。

Windows 9x/ME:在SB mixer里,选上“digital out only”。也不要选上“decoded AC3”和“bass redirection”。打开你最爱的播放软件,在音频里选择用SPDIF输出。

Windows 2000:至少安装service pack 2或更新版。安装SoundBlaster drivers v3512。 在SB mixer里,选上“digital out only”。也不要选上“decoded AC3”和“bass redirection”。打开你最爱的播放软件,在音频里选择用SPDIF输出。

Windows XP:不需要为此苦恼,该OS及其service packs已经有相应驱动能够正确回放和支持SPDIF。

Creative LiveWare 5.1系列并不能全部输出6声道。可能的话你最好用支持Dolby Digital 5.1的DVD连接使用。

如果当前你拥有SoundBlaster 5.1或Live!版的声卡并使用SPDIF,你最好去购买Hoontech adapter,它允许调控电压输出。链接 - http://www.hoontech.com/(重点是在使用一条IDE线时:pin 1插上Hoontech和SoundBlaster的IDE红线)。

请看Creative FAQ中5.1声卡部分 -
http://www.soundblaster.com/support...mily=1#faqstart

Creative的Audigy不能解码DTS但能通过SPDIF输出。同样也可输出DD和DTS并解码Dolby Digital。Goa333指出如果你能对WinDVD, PowerDVD, Sound Blaster AC3硬解码与外置AC3解码器在AC3解码选项上做个听力测试是最好不过了。你或许会找到一个更好的选择。已经有Audigy声卡当用Wave Out作为音频输出时会产生AV同步(sync)问题的说法。照经验来看可能在播放软件里选择“DirectSound SBAudigy Wave Device”来代替“Wave Out”能够解决同步问题。

18,可S/PDIF回放的声卡有什么可以推荐的?

Audio Excel-Theater Excel-$19 USD
Hercules Fortissimo I & II-$45 USD
Hercules Game Theater XP- $95 USD
Turtle Beach Santa Cruz- $60 USD
Terratec DMX XFire 1024-$58 USD
Philips Acoustic Edge - $55 USD
M-Audio Audiophile 24/96 - $??(强烈推荐给高保真音响爱好者)

任何一款采用C-Media 8738的声卡无论是集成的还是插PCI的都是优秀的。这些声卡价廉物美并支持SPDIF。它们都能无问题地输出DTS和DD。这里是些chipset支持的声卡 -

AudioExcel MD-Mate - $??
Yamaha X-Wave 7000 Pro - $??
Zoltrix Nightingale Pro 6 - $35 USD

Philips Acoustic Edge曾被报告在VIA主板上运行良好,或许比别的好的多。建议把声卡安装到离CPU最远的的PCI插槽里。

另外,nForce和nForce2的主板看起来更适合于家庭剧场使用。

注意:所有的Creative声卡故意没列在上面,因为大部分存在着硬件/软件上的问题。包括从驱动问题,信号不稳定(jitter),SNR(Signal to Noise Ratio/信噪比)问题到超额电压损坏外置功放。故意这样做的意图是为了让我们明白高效的声卡能更好支持多声道与SPDIF回放。

19,有关于linux的AC3/spdif信息吗?

所有流行的linux播放软件(xine, mplayer, vlc)都包含AC3解码并支持'out of the box'(即拆即用)。对s/pdif输出,你的播放软件必须兼容ALSA(advanced linux sound architecture/进阶Linux音效架构)。请如下安装并使用alsa:

1,请到alsa-project.org确认你的声卡是被支持的。

2,请确认核心支持ALSA编译。ALSA在2.6.x核心里是预设的音效系统,许多使用2.4核心的distributions都內附alsa。

3,安装软件&设定声卡:请确认你安装了alsa-driver, alsa-lib和alsa-utils(也许在不同的distributions中叫法不同)并执行alsaconf。你会被提示选择你的声卡。如果过程中没有错误信息,执行alsasmixer设置devels。如果你想使用S/PDIF输出请确认激活。我的声卡它提示为“IEC958 output”。

4,安装支持alsa的播放软件。最简单的看mplayer是否支持alsa的方法是用'mplayer -ao help'参数看是否选项里有alsa。如果你的mplayer不包含alsa支持,如源码版mplayer,如果有alsa-lib(+ alsa-lib-devel在一些平台上) mplayer将会侦测到并可编译成支持alsa音频输出。 添加'-ao alsa'到你的回放命令或你的mplayer.conf文件,这样将可使用alsa输出。为了通过spdif回放AC3,你需要添加'-ac=hwac3'选项到你的命令行。另外你可添加'ac=hwac3,'到你的mplayer.conf文件(注意别忘了hwac3后面的逗号),这样它会对任何文件尝试用ac3解码然后换用别的编码。

http://www.linuxdvb.tv/documentation/ac3sound.html
http://www.au.linuxvideo.org/
http://liba52.sourceforge.net/


20,可能通过SPDIF in录制AC3吗?

是的。有专门的指南与讨论,请看此帖与其回复讨论。
回复

使用道具 举报

 楼主| 发表于 2008-11-5 12:57:38 | 显示全部楼层
DTS FAQ

1,DTS是什么?

DTS是由Digital Theater Systems(数字影院系统)开发的一种有损多声道家庭影院音频格式。纵所周知,DVD或LD上的DTS音轨不是无损的,但它用了很高的码率编码,通常为768-1536kbps。

2,是否有可能将DVD中的DTS音轨rip出来播放?为什么要这么做?

是的,有很多可以分离(demux)出DTS音轨,如VOBrator、VobEdit、Smartripper和DVD2AVI。DVDecrypter可以将含有DTS音轨DVD中的vob文件rip出来。大多数人使用DVD2AVI来分离DTS音轨。要指出的是,我们不建议用vStrip来分离DTS音轨,因为vStrip在重写文件头候经常会生成错误的混乱的DTS音轨。

播放DTS音轨,传统的方法是使用WinDVD的DTS解码器。Gabest编写了个插件使得我们可以在众多的directshow播放器中使用WinDVD的解码器。你可以在Doom9的下载区下载到由Gabest(VobSub作者)制作的DTS播放插件。

无论如何,我们要感谢Gildas Bazin的工作,他提供了一个GPL许可的DTS解码器库--dtsdec / libdts。DTSDec是一个可以在Media Player Classic, foobar2000和VideoLan's VLC播放器中执行的命令行解码器。虽然libdts还处于初级开发阶段,这两者仍然是免费播放DTS的不错的选择。

有几个工具可以将DTS音轨混合到流行的容器格式中。最新版本的AVImux GUI能够将DTS音轨混合到Avi中。使用MKVtoolnix同样可以将DTS音轨混合进Matroska文件。

这是一个Wilbert写的用DTS inside courtesy制作含DTS音轨的AVI/OGM指南。

不少用户感觉DTS音轨要比DD(Dolby Digital)音轨更丰满、厚实,但DTS的唯一不足之处在于rip时的文件体积过大。DTS 5.1文件通常为768kbps(俗称半码DTS),或高达1536kbps(全码DTS),相对而言,DD 5.1文件的码率通常为384kbps或448kbps(DD 2.0 的为192kbps)。所以,由于码率的差别,导致DTS文件体积相当大。当然,除了直接将RAW的DTS文件混合进容器格式外,还有很多处理DTS的方法。在理论上,将DTS音频转码为Ogg Vorbis或MP3音频格式也可以获得不错的音质,因为作为转码源的DTS音频非常干净。

3,我如果转码DTS文件?

Azidts通常与BeSweet或者一种BeSweet GUIs(如OagMachine)一起被用来转码DTS(注意你需要安装WinDVD白金版)。Hypercube Transcoder也支持转码DTS。你也可用DTSdec(假设这样的话需要大量硬盘(HD)空间)去解码成wav然后再编码成任何你想要的格式。

最新的foobar2000支持DTS回放和转码成许多fb2k的输出格式。感谢Kurtnoise的一篇简易的用fb2k转码DTS到许多格式的指南。

4,可以用BeSweet编码DTS吗?

是的,但是你也需要能编码DTS的Surcode CD/DVD Pro。请看Besweet FAQ的Q32。

5,可能通过SPDIF传输DTS CD Audio(音乐碟)?

当前唯一支持的播放器是VLC。

另一种被证实可行的方法是使用CD/DVD驱动器的2针(pin)数码输出线,将其直接连至你的功放/音响上。这一方法将你的声卡完全旁路,因为声卡可能会改变音频流或重新渲染音频,故旁路是一个不错的选择。记住,你的声卡应该是遵循红书(RedBook)音频标准的。如果你的声卡将音频过采样(up-samples)至48kHz(SoundBlasters过采样),DTS 5.1的音乐碟可能不能通过SPDIF数码输出端输出后正常工作。不幸的是,大多数VDM驱动不支持此方法,不过如果你的OS是Win9x,那么就是可行的了。事实上,M-Audio 24/96或Delta Dio经测试都能够正常通过SPDIF回放DTS CD。

6,我已用SurCode DTS-CD编码了一个5.1的DTS音轨,怎么样才能在我的PC上回放?

VideoLan's VLC player的0.7.1版本以后支持回放DTS-Wavs和DTS-CDs。

如果你有WinDVD,安装hypercube的DTSWAV滤镜,然后你就可以使用任何一个directshow的播放器播放(例如:windows media-player)。记住,要使用这个滤镜,你必须将文件名的后缀从*.wav 改为*.dtswav。如果你有PowerDVD之类的DTS播放器,首先你需要用BeSplit/BeSliced将5.1 DTS音频解压还原成DTS-WAV。

7,关于在linux下通过spdif输出DTS有什么信息?

由于最近libdts与alsa的发展,现在可以完全支持使用了。首先,按照AC3 FAQ中Q19的描述安装alsa,并确认spdif输出功能已经激活。

当然你也需要支持dts的播放软件。VLC和mplayer都可编译成支持dts只要你安装了libdts。然后简单地添加参数'-ac hwdts'到你的mplayer命令行,或者激活VLC声音选项中的spdif输出选项。
回复

使用道具 举报

 楼主| 发表于 2008-11-5 12:57:52 | 显示全部楼层
[发帖际遇]: jy00952077参加慈善晚会, 捐款现金2493思明币.


AAC FAQ

1,什么是AAC?

AAC代表Advanced Audio Coding(高级音频编码),是一种由MPEG-4标准定义的有损音频压缩格式,由Fraunhofer发展,Dolby, Sony和AT&T是主要的贡献者。在使用MP4作为各种内容的容器格式的新多媒体MPEG-4标准中,它是MPEG Layer III / MP3的天然后继者。AAC能够在一条音轨中包括48条全带宽(直到96khz)音频声道,加上15条低频增强(LFE,限制到120Hz)声道,直到15条数据流并且更多。

2,什么是HE-AAC和LC-AAC?

两者是符合MPEG4 AAC标准的不同的Profile(类)。LC意思是"low complexity"(低复杂性)而HE意思是"high efficiency"(高效性)。HE-AAC也称之为AAC SBR/AAC+/aacplus等。注意HE-AAC注重于低码流的编码并很适合多声道文件(更小的文件尺寸)。对于HE-AAC文件,也需要一个可用的HE解码器,请看Q6。如果你想要用AAC与其他流行音频编码在64kbps下做比较,请看这里(感谢rjamorim)。

从学术上讲,HE-AAC混合了AAC与SBR技术。SBR代表的是Spectral Band Replication(频段复制)。SBR的关键是在低码流下提供全带宽的编码而不会产生产生多余的信号。传统认为音频编码在低码流下意味着减少带宽和降低采样率(见MP3 FAQ #7)或产生令人不快的噪音信号。SBR解决问题的方法是让核心编码去编码低频信号,而SBR解码器通过分析低频信号产生高频信号和一些保留在比特流中的指导信号(通常码流极低,~2 kbps)。这就是采用无SBR解码器的原因,这样你的带宽(frequency response/频率响应)会被严重浪费。这也是为什么被叫做Spectral Band Replication的原因,它只是增加音频的带宽,而非重建。更多关于SBR技术的信息请看这里和那里。

象MPEG-4视频一样,AAC有着不同的Profile,其中Low Complexity Profile(LC AAC) (也叫MAIN @ Level 2)最被广泛用于商业市场(例如Apple非常著名的iTunes音乐库),其他有象Long Term Prediction Profile(LTP/长期预测), Scalable Sampling Rate Profile(SSR/可变采样率) 和Low Delay Profile(LD/低延迟)。

3,我如何编码AAC?

单单LC Profile:





FAAC (免费高级音频编码器):免费开源的LC-ACC [CLI, DirectShow (3ivx), foobar, CoolEdit, WinAmp]

Apple's AAC:CBC只能用于quicktime <7,quicktime 7和之后版本包括VBR AAC。Apple的编码不能处理多声道。[Quicktime专业版, iTunes]iTunes 使用同样的编码但可以免费获取。使用quicktime编码的命令行解码器同样可行。iTunes/apple编码是以最初Dolby编码为基础,并且为音质作了较大的调整,尽管只采用CBC但事实上音质非常好。

PsyTEL AACENC:多声道不要用它,因为它会产生错误的声道映射。[命令行, AACMachine ( BeSweet的GUI ) ]

Dicas' Compaact AAC编码器

Sorenson AAC编码器

Winamp版本5和以上的版本拥有在Dolby编码基础上的LC ACC编码器特色,但并没有像iTunes那么多的调节功能。



LC & HE Profile:




Nero Burning Rom(在额外的菜单中编码文件)和附随的Wave Editor允许LC和HE AAC两种编码。另外可以在cd-rw.org得到Nero AAC/MP4插件。

RealPlayer 10 黄金版和Real Producer 10同样也包括基于Coding Technologies执行的HE/LC AAC编码器。RP10 黄金版现在默认编码AAC成M4A,并且是一种极好的免费AAC编码解决方案。用Real Producer编码HE AAC,你也需要helix的其他插件包。



GUIs/前端:




BeSweet:由于DSPguru的贡献,可以通过BeSweet编码Nero AAC。有两个非常优秀的GUIs,附带Doom9指南的OagMachine和BeSweetGUI。注意:BeSweet使用者需要确定使用更新的正式版本,更多信息请参阅Q#19。


foobar2000:使用nero aac编码/解码器插件(foo_nero.dll)你可以直接转换任何音频到Nero LC/HE AAC,同样有可以参考的指南。注意为了diskwriter插件你需要foobar特别版。用diskwriter插件和命令行的FAAC(可以从rarewares得到)Foobar也同样可以编码成FAAC aac。


HeadAC3he的新版本也可以从AC3, WAV或是任何其他HeadAC3he支持的输入格式编码到FAAC aac。


winLame:DeXt制作的multi-tool GUI,现在支持通过FAAC编码AAC。



其他优秀格式在128kbps与LC AAC的音质比较(感谢rjamorim)

注意lame(可用的最好mp3编码器)和vorbis在他们最新的版本中提供了更加优良的音质(同样你可以看这里)。

也注意在这次测试中使用的wma9 pro编码,是一种与标准wma9编码完全不同,并且提供更加优良音质的编码(使用在音像店和CD唱机里)并且不是向后兼容的。

低比特率和多声道编码的AAC提供了高效延展性(HE ACC),同样在低比特率中是一种最好的格式之一:
其他流行格式在64kbps与HE AAC的音质比较(感谢rjamorim)

注意QT是在Quicktime中提供的LC AAC编码,He是在nero中。

继承Parametric Stereo(参数立体声)延伸(PS AAC)技术,同时使用HE AAC用于低码率的它(Nero完善中)不得不题及。在32kbps它如何与其他编码比较可以看这里。

由rjamorim总结出公共收听测试结果,在128kbps比较这些AAC编码方式可以在这里和那里得到答案。

3b,怎样在其他平台下(Linux, MAC OS 10, 其他等等)编码AAC?

FAAC和FAAD是GPL(GNU通用公共许可证)软件,可以在OS X, Linux和绝大部分unixes下编译。FAAC编码也在avidemux, mencoder, gstreamer和其他编码工具下实现。大多数主要的多媒体distributions产品都包括这些。

普通的FAAC编译说明如下:(摘录于FAAC文档)

1,确保你已经安装autoconf, automake和libtool。为了支持mp4, libmp4v2必须也安装(包括在较老的faad2源中,或是新的FAAC cvs(Concurrent Version System/版本控制系统)源码)。
2,解压源文档:tar xvzf faac-x.xx.tar.gz
2,dir(显示列表) cd到FAAC源码
3,Run: ./bootstrap
./configure
make
make install

Binary版也同样可用于几个平台:
Debian
RPMs

4,有没有可能在转换AC3/DTS到AAC后还能保留5.1声道呢?

嗯,用Oagmachine/BeSweetGuI就可以实现。Doom9有篇相关的教材。不过,记住AC3和DTS都是有损音频格式,任何在它们基础上的转码行为都将导致更严重的音质损失。当音频转码时并且需要大幅度减小文件体积时,HE-AAC推荐使用。同样,音频转换还可以通过graphedit搭配3ivx滤镜套件(AC3->AC3 parser->AC3 filter->3ivx audio encoder->3ivx media muxer->MP4)或者foobar来实现。需要更多AC3和DTS的转码的信息请见这两种编码各自的FAQ部分。

5,目前有没有一个开源的AAC编/解码器存在呢?

FAAC和FAAD2(仅LC)就是开源的AAC编解码器。CoreAAC Directshow filter,winamp插件和许多AAC解码器其实都是源于FAAD2,都具有解码HE-AAC和LC的能力。官方FAAC/FAAD2站点如下:www.audiocoding.com

6,我怎么混合AAC到AVI/OGM/MKV/MP4?

AVI:AVI MUX GUI是仅有的允许混合AAC到AVI的应用软件。注意不推荐AVI作为AAC的容器格式,推荐现代的容器格式如(AAC专门容器格式)。

OGM:Ogg Mux Nic能直接混合LC AAC到OGM。对于HE-AAC,请使用3ivx滤镜套件与Graphedit。

MKV:MKVtoolnix和AVI MUX GUI都能混合AAC到Matroska。

MP4:3ivx滤镜套件与Graphedit。
Nero Recode2能自动直接把DVD转换带有NeroDigital或HE AAC的MP4。其他一些支持MP4混合的软件包括Ivan&Menno和mp4UI。更多关于MP4(MPEG-4)容器格式的信息请看MP4 FAQ。

注意当从raw .aac流混合HE-AAC时,你必须在MKVtoolnix和AVImux GUI中让muxer是“AAC is SBR”。当混合.mp4时,SBR自动被侦测。

7,关于AAC回放我需要什么?

下载并安装CoreAAC DirectShow filter或3ivx audio decoder(3ivx codec内有)都能在directshow播放器杰出地回放(LC和HE都可)。 关于最新的CoreAAC滤镜与winamp/foobar插件, 请看在HydrogenAudio.org中john33的帖子。

注意对于MP4流,在directshow播放器上回放3ivx或其他的MPEG-4分离滤镜(splitter)是必需的。对于raw AAC流,rarewares上的AACparser滤镜也是必需的。当muxing成OGM或Matroska时,适当的分离滤镜)也是必需的。更多信息请参看New Container Formats 版块的FAQs。

7B,关于在linux / *nix下回放AAC有什么要求?

任何最新版及相关版的mplayer包括了对MP4格式与用FAAD解码AAC的支持。FAAD已经包含在mplayer的源码中,而且无需另外的库文件或编译。

VLC支持AAC当然MP4也是,但如果你的VLC是源码包版的你就需要安装FAAD作为AAC支持。通常你在编译VLC的源码前需要检查VLC需要的库文件目录。

8,MPEG-4与MPEG-2 AAC的不同点是什么?

事实上MPEG-4与MPEG-2 AAC流除了在文件头(header)上并没有什么区别。但是一些应用软件象QuickTime并不承认MPEG-2 AAC。使用Ivan & Menno改变文件头。别的程序象Nic的AAC Patch或foobar2000都可修正文件头。

9,*.AAC,*.MP4,*.M4A(audio/x-m4p AAC audio(受保护))之间的区别是什么?

AAC文件通常包含带ADTS文件头的AAC或者原始(raw)AAC数据流。Raw AAC若没有编码其中几条数据流是不能被处理的。MP4,在另一层面,是一种包含AAC流和其他许多符合MPEG4标准的东西的容器格式。这两种数据格式是很不同的,因此你不能给它们相互重命名,它们只是被混合入容器格式中或者被分离出。混合AAC到MP4和其分离Ivan & Menno可以完成。 M4A是MP4容器中常见的音轨,其实是我们自己重命名后缀的。Itunes, Winamp5和Realplayer金版现在默认都编码成M4A。注意M4A和MP4文件能通过简单重命名相互混淆,但它们都是同一种容器格式的扩展。

注意“Export ISO 13818-7 Stream”选项在Nero编码器产生的是带ADTS文件头的*.AAC文件。再次提醒这不是原始AAC数据流,Ivan & Menno能转换成原始aac。
回复

使用道具 举报

 楼主| 发表于 2008-11-5 12:58:05 | 显示全部楼层
10,我怎样可以分割合并AAC文件?

AAC在MP4中:
MP4Box可以被用来分割合并所有包括这些AAC音频的MP4文件。完整信息可参阅此帖。

有ACC的MP4也可以直接被QuickTime专业版编辑。

原始AAC流:

原始AAC流(*.aac) 可以使用BeSplit分割合并。

分割:



quote:
--------------------------------------------------------------------------------
code:
----------------------------------------------------------------------------------------------
besplit -core( -input in.aac -prefix out -type aac -ending ) -split( 0.0 x.x )
----------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------


这个命令可以剪切in.aac成两部分:0.0 秒到x.x 秒和 x.x 秒到文件结尾(-ending)。

合并:
首先产生一个列表文件,一个文本文件用分隔线把每个要被合并的文件列于表上。然后保存成join.lst并且使用BeSplit:


quote:
--------------------------------------------------------------------------------
code:
----------------------------------------------------------------------------------------------
besplit -core( -input join.lst -prefix out -type aac -join )
----------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------


也可以通过命令提示符来合并AAC流(*.aac) :


quote:
--------------------------------------------------------------------------------
code:
----------------------------------------------------------------------------------------------
copy /b first.aac + second.aac joined.aac
----------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------



11,AAC音频格式的优缺点各是什么?

优点:




低比特率(具有与其他编码可比的音质)和较小文件尺寸,要求使用SBR技术。

多声道(可以实现直到48 条全带宽声道)

AAC是MPEG-4标准的正式音频格式,并且未来硬件支持也是很有希望的。



缺点:




此刻没有单独的回放AAC可用。

AAC是重大的专利技术。




12,有没有可能通过S/PDIF端回放AAC?

这是可行的,虽然并不是所有的硬件上都可以实现。只有一部分硬件支持解码AAC,且没有一个directshow滤镜有能力实现AAC的信号pass-through。当然,这在将来一定会实现的。点击这里和那里阅读更多的S/PDIF和AAC的硬件支持信息。

然而,在通过S/PDIF回放AAC成为可行之前,有不少directshow的滤镜可以通过S/PDIF进行实时的6声道AAC=>AC3的转换,Haaan的Dolby Out DS滤镜,1.x版本的AC3Filter都可以实现。虽然,理论上来说,实时转录过程会有一定程度的音质损失,但使用640kbps全码仍然会得到完美的监听效果和最小的音质损失。

13,5.1 LC AAC和5.1HE AAC各声道的码率是如何分配的?怎样的码率设置才能使5.1的AAC各声道均分为128kbps?

为了使每个声道的码率相同,我们必须添加2x(立体声的码率)(FL(左前置)、FR(右前置)、RL(左后置)& RR(右后置))+1x(单声道的码率(Centre))+一点附加的码率给低音炮。这样的话,为了达到各声道码率统一,总码率要等于立体声码率的2.5至3倍。所以,为了得到每声道128kbps:128kbps*2.5=320kbps。对于LC AAC而言,320kbps是一个高质量的码率。然而,考虑到AAC的效率和声道联结方式,128kbps的HE-AAC同样可以提供很不错的音质及5.1声道。

14,nero使用的HE-AAC的码率是多少?

96kbps或更低的CBR码率时使用HE-AAC;流媒体或更低的VBR码率使用HE-AAC。如果输入源是5.1的aiff,则nero可以生成的128kbps的HE-AAC。

15,我在使用BSN/Oagmachine编码AAC的时候如何设置增益调节(gain)?

虽然BeSweet/Bsn有Hybrid(混合)增益调节的组件,但现在没有一个Directshow滤镜有能力处理Hybrid增益调节的信息。所以,现在我们不推荐此类设置,使用标准化或前期增益调节来代替吧。

16,有没有可以被VirtualDub调用的AAC ACM(Audio Compression Manager/声音压缩管理器)编码吗?

由于目前AAC与AVI之间并未完全兼容,所以还没有ACM AAC编码。在FAAC开发过程中曾经试图做过类似的努力却并未成功。

17,我已经安装了所有的BeSweet和Bsn文件,但Besweet/Nero并没有开始编码,请帮帮我?

要通过BeSweet/BSN/Oagmachine/BeSweet GUI来编码Nero AAC,那么有三个dll动态链接文件是必须的:'aac.dll', 'aacenc32.dll'和'NeroIPP.dll'。这三个dll要放入BeSweet文件夹。从60023版开始,aac.dll和aacenc32.dll要检查注册表中是否有NeroIPP的dll,所以系统中必须要安装Nero Ultra Edition或NeroMix。

18,在用OagMachine/BeSweet编码时我看不到Nero GUI编码窗口,要如何才能激活它?

Oagmachine里,在AAC编码选项下检查“show configuration dialogue”。如果你使用的是命令行模式,就请在命令行里的'-bsn'后加上'-config'即可。

19,为什么我回放用Oagmachine/BeSweet GUI编码的48Khz的AC3/DTS文件时声音会变慢?

那可能你使用的时老版本的BeSweet,从bsn.dll v0.21以后(与BeSweet捆绑)这个bug就已经被修复。请查一下你BeSweet文件的记录文件,确定你使用的是bsn.dll v0.21。
老版本更多的bug信息:
Nero编码器是通过比特率、配置和声道数来准确判定相应的采样率的。当你使用的bsn版本早于0.21时,nero内部的重采样功能默认不被打开,从而你必须在Nero编码器中手动修改采样率。这里有一篇由bond编写的关于如何决定正确的采样率及相关大量解释的文章。

20,如何我才能使自己编码出来的AAC是HE而非LC?

让CoreAAC DirectShow filter勾上“AAC+SBR”功能选项。Foobar2000里也同样如此。3ivx音频解码设置里选择的是HE-AAC。

21,在使用600X nero插件时,Oagmachine/BeSweetGUI里的哪个选项是负责控制多声道的?

在6.0011和它之前的老版本里请使用-6chold选项,而6.0011之后的请用-6chnew。

22,我用Nero编码的HE-AAC里有爆音存在,我做错了什么吗?

在Nero编码GUI里打开PNS选项后就会产生这个问题,去掉这个PNS后就可以解决。

23,用FAAC编码要取得高音质的话有什么好的建议吗?

有的,请看FAAC wiki和FAAC 5.1编码的讨论文章。

24,怎么样把AAC转换成WAV或AC3?

首先,请你仔细阅读通篇关于AC3的FAQ,学习那些需要用到的概念和使用的工具。然后,如
果你还是坚持要这么做的话,这里有篇magicclue写的指南和graphedit教程。

25,我在哪里可以找到更多关于AAC的信息?

Audiocoding Wiki
Coding Technologies
Dolby




荣誉:

对下面所有人表示衷心的感谢,他们对FAQ很多部分的贡献和他们对论坛全面帮助是无价的。

Doom9作为一个优秀的网站和论坛

DSPguru
pacohaas
MaTTeR
bond
Tuning
tiki4
rjamorim
tangent
Wilbert
akan314
hans-jürgen

为所有他们杰出的贡献。


参考网站:

http://www.audiocoding.com
http://www.hydrogenaudio.org
http://www.dolby.com
http://www.mp3dev.org
回复

使用道具 举报

 楼主| 发表于 2008-11-5 12:59:16 | 显示全部楼层
希望对于一些对于音频处理有兴趣的同学有点帮助...
回复

使用道具 举报

发表于 2008-11-7 16:24:33 | 显示全部楼层
好多啊~!~!我都看 了~
回复

使用道具 举报

发表于 2008-11-9 00:56:59 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 入驻

本版积分规则

QQ|Archiver|手机版|小黑屋|思明论坛

GMT+8, 2024-11-16 07:50 , Processed in 0.122290 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表