SoX mp3 压缩中“质量”选项的作用是啥?
Posted
技术标签:
【中文标题】SoX mp3 压缩中“质量”选项的作用是啥?【英文标题】:What is the effect of the "quality" option in SoX mp3 compression?SoX mp3 压缩中“质量”选项的作用是什么? 【发布时间】:2013-08-06 22:14:13 【问题描述】:我正在使用 SoX 将几种不同格式的音频文件转换为 mp3。根据docs,您可以使用 -C 参数指定压缩选项,例如比特率和质量,质量在小数点后,例如:
sox input.wav <b>-C 128.01</b> output.mp3
(最高质量,较慢)
sox input.wav <b>-C 128.99</b> output.mp3
(最低质量,更快)
我预计第二个听起来很糟糕,但是,两个之间的音频质量听起来完全一样。如果是这样的话,我不明白为什么一个人执行得这么慢,或者通过将压缩设置为更高的“质量”可以获得什么。
有人能告诉我使用高质量压缩与使用低质量压缩是否有真正的区别或优势?
P.S. 我还检查了每个输出文件的文件大小,两者的大小完全相同。但是当散列时,每个文件都有不同的散列。
【问题讨论】:
【参考方案1】:参数被传递给 LAME。根据LAME documentation(“算法质量选择”一节/-q
),质量值对噪声整形和使用的心理声学模型有影响。他们推荐质量 2(即 SoX 中的 -C 128.2
),说 0 和 1 慢得多,但几乎没有更好。
但是,决定质量的主要因素仍然是比特率。因此,您的情况没有明显差异也就不足为奇了。
【讨论】:
我按照你的链接到 LAME 文档,对霍夫曼编码和心理声学模型做了一些研究,但我的印象是,这些仍然应该提供额外的压缩并从音频中去除难以察觉的声音,从而导致较小的文件大小。使用最佳和最差质量选择,我发现文件大小没有差异(在 -q 0 和 -q 9 上将 27.1 MB wav 文件转码为 128 kbps mp3 导致每个正好 2,462,615 字节)。你能解释一下这怎么可能吗?如果我使用恒定比特率,这有关系吗?顺便说一句,感谢您的回复。 @Michael ***:当编码器被告知每秒产生 128 kb 时,它将每秒输出 128 kb,因此具有相同长度(以秒为单位)的两个文件的大小将相同.质量可能仍然不同,因为使用更简单的模型,编码器可能会被误导而丢弃不同的音频特征,而这些特征毕竟不是不可察觉的。 我明白了。所以基本上,质量设置不会影响文件大小,只是将其设置为更高的质量允许编码器对它应该强调的音频的哪些部分以及哪些部分是不可察觉的做出更有根据的猜测。对吗? @Michael ***:是的。当然,选择可变比特率(VBR)模式时不同,那么文件大小可能会有所不同。【参考方案2】:对我来说,使用简单可以更快
time sox input.mp3 -C 128 output.mp3
真正的 0m7.417s 用户 0m7.334s 系统 0m0.057s
time sox input.mp3 -C 128.02 output.mp3
真正的 0m39.805s 用户 0m39.430s 系统 0m0.205s
【讨论】:
以上是关于SoX mp3 压缩中“质量”选项的作用是啥?的主要内容,如果未能解决你的问题,请参考以下文章