Lame3参数说明1.docx
《Lame3参数说明1.docx》由会员分享,可在线阅读,更多相关《Lame3参数说明1.docx(12页珍藏版)》请在冰豆网上搜索。
Lame3参数说明1
Lame参数大全
%lame[参数]<输入文件名>[<输出文件名>]
如需查询更多参数,可输入下列命令:
%lame--help
=======================================================================
固定码率的例子:
=======================================================================
固定码率联合立体声128kbps编码:
%lamesample.wav sample.mp3
固定码率联合立体声128kbps编码,较高质量:
(推荐)
%lame-hsample.wav sample.mp3
快速编码,较低质量(无噪音修整)
%lame-fsample.wav sample.mp3
=======================================================================
动态比特率的例子:
=======================================================================
LAME具有两种动态比特率编码:
ABR和VBR。
ABR(平均码率)是一种动态比特率编码。
其他MP3编码器、Vorbis和ACC经常使用这种编码。
其码率由一些度量所决定(比如,信息源中可感知的平均信息量、或者仅为编码表中某些设定参数所必需的码率),而不是基于实际上编码/量化误差的计算值。
ABR编码质量至少不会比CBR编码质量差,甚至要比CBR编码质量好:
ABR:
(--abr表示在xkbps附近取一个平均码率进行编码。
)
lame-h--abr128 sample.wavsample.mp3
VBR(可变码率)是真正的动态比特率形式。
在此形式下,每帧的编码都会先以推测的允许遮蔽运算为基准,对量化误差进行修正。
然后,再根据修正后的量化误差决定该帧的码率。
目前,正在大规模开发VBR。
在过度压缩的情况下,VBR编码得到的音频会出现问题,所以,VBR编码的码率不得低于112kbps。
以下代码将会在那些难编码的帧中,使LAME提升其编码码率,但是也会导致在易编码的帧中,使LAME不会优化其编码码率:
可变码率(VBR):
(使用-V以调整质量/文件大小)
%lame-h-v-b112sample.wavsample.mp3
=======================================================================
低码率
=======================================================================
在较低码率,(比如每声道24kbps),推荐使用与低通滤波相结合的16kHz采样率。
与其它商业编码器一样,LAME会自动采用上述方式编码。
但是,如果觉得低通滤波太多(或者不够),则需要试着调整低通滤波的裁取值以及通频带的宽度(通过使用--resample,--lowpass和--lowpass-width等参数)。
=======================================================================
流媒体
=======================================================================
%cat输入档名|lame[参数]-->输出
=======================================================================
包含的脚本(在'misc'子目录中)
使用lame编码多个文件:
bach脚本:
mlame运行"mlame-?
"以查看其用法说明。
sh脚本:
auenc 运行auenc以查看其用法说明。
sh脚本:
mugeco.sh
Pearl脚本可重编码mp3文件和保存id3标签:
lameid3.pl
Windows脚本:
lame4dos.bat
Lame.vbs (以及一个HTML前端:
LameGUI.html)
=======================================================================
参数指南:
=======================================================================
下面将对编码参数进行详细解说。
编码质量相关参数:
-mm/s/j/f/a 选择模式
-k 禁止所有滤波
-d 允许使用编码区块模式区分不同的声道
--athonly 忽略psy模式输出,仅使用来自ATH的遮蔽运算。
--voice (作废参数,使用--presetvoice代替)
--noshort 不使用短区块
-qn 内部的算法质量设定0-9
0=最慢的算法,但是可能会提供最高的质量
9=最快的算法,质量低下
-h 等同于-q2
-f 等同于-q7
固定码率(CBR)
-b n 设定码率(8,16,24,……,320)
--freeformat 编码成Free-Format格式的档案。
可变码率(VBR)
-v VBR
--vbr-old 使用旧的可变码率(VBR)压缩算法(默认)
--vbr-new 使用新的可变码率(VBR)压缩算法
-Vn 指定VBR编码质量(0=最高质量,9=最低质量)
-b n 指定码率变动下限(8,16,24,……,320)
-B n 指定码率变动上限(8,16,24,……,320)
-F 限定最低码率
-t 禁止写入含VBR信息的标签
--nohist 禁止显示VBR码率柱状图
--abrn 指定想要的平均码率
实验性参数(不推荐):
可能会使输出音质变得更好,也可能会变得更差:
-Xn 使用不同的质量算法(在比较量化的时候)
-Y
-Z
操作上的参数:
-r 指定输入文件为rawPCM格式
-s n 以kHz为单位,指定输入文件的采样率(适用于输入文件为rawPCM格式的情况)
--resamplen 以kHz为单位,指定输出文件的采样率
--mp3input 输入文件为MP3文件。
使用mpglib/mpg123解码
--ogginput 输入文件为OggVorbis文件。
使用libvorbis解码
-x 输入文件的交换字节
--scale 将PCM输入放大倍
--scale-l以为倍数放大0声道(左)输入(放大PCM数据)
--scale-r以为倍数放大1声道(右)输入(放大PCM数据)
-a 将立体声输入文件混音为单声道MP3文件
-e n/5/c 去加重
-p 添加CRC错误保护
-c 将编码得到的文件标记为受版权保护的
-o 将编码得到的文件标记为拷贝
-S 不显示进程报告和VBR柱形图
--strictly-enforce-ISO 严格遵守ISOMPEG规格
--replaygain-fast 快速计算RG值,但是会有些许错误(默认)
--replaygain-accurate 更精确地计算RG值并找出采样的峰值
--noreplaygain 禁止分析回放增益
--clipdetect 允许执行--replaygain-accurate,并显示编码中是否出现削波和整个数值范围的波形如何
--decode 指定输入文件为MP3文件,并将其解码为wav
-t 当使用--decode时,禁止写入WAV文件头
(解码为rawpcm格式,原生endian格式(使用-x以交换))
--ogg 使用OggVorbis(.ogg)编码,而不是MP3编码
ID3标签:
--tt
音频/歌曲标题(在id3v1中,此标签最多为30字符)--ta 音频/歌曲艺术家(在id3v1中,此标签最多为30字符)
--tl 音频/歌曲专辑(在id3v1中,此标签最多为30字符)
--ty 音频/歌曲出版年代(从1到9999)
--tc 用户自定义文本(在id3v1中,此标签最多为30字符;在v1.1中则为28字符)
--tn
--tg 音频/歌曲流派(列表中的名称或数值)
--add-id3v2 强制添加id3v2标签
--id3v1-only 只添加id3v1标签
--id3v2-only 只添加id3v2标签
--space-id3v1 将空格添加入id3v1标签,而不是添加null
--pad-id3v2 将额外的128字节添加入id3v2标签
--genre-list 按字母顺序显示排列好的ID3流派列表,然后退出
注意:
除非出现以下情况,否则将不会添加id3v2标签。
1.某输入字段不适合id3v1标签(例如,标题字符长度大于30个字符);
2.使用了'--add-id3v2'或'--id3v2-only'参数;
3.输出被重定向为标准输出流。
OS/2特殊参数:
--priority 设定程序优先权
尚未详述的参数:
--nores 禁止使用bitreservoir
--noath 禁止使用ATH
--athlower 将ATH降低ndb
--athshort 在编码短区块时,只使用ATH进行运算
--cwlimit 指定音调的计算范围
--disptime
--notemp 禁止进行暂时遮蔽运算
--lowpass
--lowpass-width
--highpass
--highpass-width
=======================================================================
按照字母顺序对全部参数进行详细解说
=======================================================================
=======================================================================
混音
=======================================================================
-a
将立体声输入文件混音为单声道输出。
仅在输入文件为rawPCM立体声时,才需要使用此参数。
(因为LAME不能确定输入文件的声道数。
)为了将立体声PCM输入文件编码为单声道,可使用"lame-ms-a"
对于WAV和AIFF输入文件,使用"-mm"参数的话,无论输入文件是单声道还是立体声,LAME都只会输出单声道MP3文件。
=======================================================================
平均码率编码(akaSafeVBR)
=======================================================================
--abrn
使用指定的nkbps作为平均码率进行编码,允许每帧之间的大小互不相同。
n可以取值为8至320kbps之间的任何一个整数。
=======================================================================
仅使用ATH
=======================================================================
--athonly
此参数将使LAME忽略psy模式输出,仅使用来自ATH的遮蔽运算。
(听力的绝对极限)
不推荐使用--athonly。
设计此参数的原意是测试不同的ATH曲线。
=======================================================================
码率
=======================================================================
-b n
对于MPEG-1(采样率为32,44.1和48kHz)
n= 32,40,48,56,64,80,96,112,128,160,192,224,256,320
对于MPEG-2和MPEG-2.5(采样率为8,11.025,12,16,22.05和24kHz)
n=8,16,24,32,40,48,56,64,80,96,112,128,144,160
习惯使用的码率:
默认为128kbpsMPEG1,80kbpsMPEG2。
当使用可变码率(VBR)编码时,-b参数则指定了码率变动下限。
使用此参数可有效防止LAMEVBR对文件进行过度压缩。
因为在过度压缩的情况下,心理声学模式上的小缺陷会导致输出文件的失真。
=======================================================================
码率变动上限
=======================================================================
-B n
也可查看参数"-b",获得n的允许取值范围。
在使用VBR/ABR时,指定码率变动上限。
不推荐使用-B。
事实上,一个128Kbps的MP3资料流,因为可以使用BitReservoir,所以有一些frame其实可以使用到与320Kbpsframe相同大小的空间。
而ABR/VBR模式则将bitreservoir的影响降到最低,因此需要允许使用320Kbps大小的frame才能达到与CBR相同的弹性。
=======================================================================
版权
=======================================================================
-c
将编码得到的文件标记为受版权保护的
=======================================================================
检测削波
=======================================================================
--clipdetect
允许执行--replaygain-accurate,并显示编码中是否出现削波和整个数值范围的波形如何。
如果MP3解码器明显禁止了LAME的构造(inthebuildofLAME),那么此参数就失去作用了。
也可查看:
--replaygain-accurate
=======================================================================
控制区块类型
=======================================================================
-d
允许左右声道分别使用不同的区块类型。
一般情况下,不允许使用此参数编码。
因为好像FhG编码器也不允许使用此参数编码。
如果有人经过编码后发现加上-d参数能使输出音质变好,请告诉我。
(mt@sulaco.org)
=======================================================================
mpglib解码功能
=======================================================================
--decode
此参数是使用LAME的mpg123/mpglib界面,将MP3文件解码为WAV文件。
输入文件可以是编码支持的任何格式,包括.mp3(layers1,2and3)和.ogg。
如果已经使用-t(禁止写入WAV文件头),LAME将不会输出原生endian格式的rawPCM(使用-x以交换类型)。
如果MP3解码器明确禁止了LAME的构造(inthebuildofLAME),那么此参数就失去作用了。
=======================================================================
去加重
=======================================================================
-e n/5/c
n=(none,默认)
5=0/15微秒
c=cittj.17
此参数就只是在比特流中设定一个标记。
如果你有一个PCM输入文件,并且此文件中有被放大的上述类型的(被废弃的)加重,那么可以使用LAME设定此标记。
然后在播放时,MP3解码器应该会在输出时去加重,尽管大部分解码器都会忽略此标记。
更好的解决办法是,在编码之前,就使用别的软件进行去加重操作,然后在编码时不要添加-e参数。
=======================================================================
快速编码模式
=======================================================================
-f
等同于-q7。
不推荐。
如果不追求输出音质只追求编码速度的话,可以使用此参数。
此参数禁止噪音修整,并且在分配比特和检测前回声时才会使用心理声学。
=======================================================================
严格限定VBR码率的变动下限
=======================================================================
-F
严格限定VBR码率的变动下限。
不使用此参数的话,在静音部分,LAME将会忽略VBR码率的变动下限。
=======================================================================
freeformat比特流
=======================================================================
--freeformat
在此参数下,LAME将输出固定码率的freeformat比特流。
使用此参数后,用户还必须使用-b在8-640kbps之间指定一个整数作为码率。
大部分解码器不支持freeformat比特流。
而且,大多数支持freeformat比特流的解码器支持的最高码率仅为320kbps。
支持freeformat比特流的解码器:
支持的最高码率
MAD 640kbps
"lame--decode" 550kbps
Freeamp:
440kbps
l3dec:
310kbps