我有 MP3 文件,需要对其进行一些音频操作,然后将其恢复为 MP3。我知道每次操作都会使文件质量下降一点,所以我的目标就是尽量减少这种情况。
我需要同时使用 ffmpeg 和 SoX,因为每个程序都有其他程序没有的一些选项。因此,我将 ffmpeg 输出为 WAV 或 FLAC,然后 SoX 从该输出开始,执行修改,并输出回 MP3。我认为,在中间步骤中使用 WAV 或 FLAC 等无损格式可以最大限度地减少文件质量下降,相比之下,在每个步骤中都将它们保持在 MP3 等有损格式中,因为这会从处理和保存为有损 MP3 两个方面降低质量。我还想保留原始文件中的 ID3 标签(尤其是曲目编号和封面,如果可能的话,其他字段并不重要)。
我一直在使用 WAV 文件,因为它们是无损的,但这些文件会丢失 ID3 标签。然后我会手动将 ID3 标签添加回来。FLAC 似乎保留了 ID3 标签,似乎可以工作,但我很难知道它在保存音频方面是否和 WAV 一样好——对我来说听起来不错,但即使我听不出问题,对于那些耳朵更好的人而言,问题可能就在于此,或者如果某些文件的质量不高,即使是轻微的降级也足以毁掉它。我认为 FLAC 和 WAV 一样也是无损的,因此应该适合这种情况,但这就是我想确认的。
因为我只有中间文件才可以选择文件类型,而且它是临时的(重新导出回 MP3 后会被删除),所以中间文件的文件大小根本不重要,只有质量才重要。
问题:
- 我是否正确认为,就音频质量而言,FLAC 从 ffmpeg 输出时应该与 WAV 一样好用,因为它们都是无损的,可以最大限度地减少文件格式带来的音频损失?(我已经看到它确实可以维护 ID3 标签)
- 就此目的而言,FLAC 是否存在缺点,或者是否有其他效果更好的格式(例如,我认为 AIFF、WMA 和其他一些格式也是无损的并支持 ID3)?
- 我是否认为使用无损格式作为中介至少不会造成任何损害,甚至可能有所帮助,具体取决于对文件所做的更改类型?如果不是,我还应该考虑什么?
- 对于这个无损格式的中间文件,我是否需要担心质量、比特率或类似的东西,或者 ffmpeg 是否会默认自动为这些文件选择最佳选项(我确实有一个特定的目标比特率和频率,用于最终必须使用的最终 MP3 文件)?
答案1
每个音频处理都会改变声音,因此您需要以最高的比特率和采样率进行此操作;即使您的开始和结束格式是低质量的 mp3。
你不需要获得通过升级可以实现任何效果,但处理时损失较少。转换为 FLAC 并返回本身是无损的,但为了在中间件中保留尽可能多的数据,您应该考虑转换为双倍输入采样率,即 32 位。即使经过压缩,这也可能产生相当大的文件,但之后您还是会丢弃它们。