是否存在用于与FLAC音频格式之间进行转换的良好命令行工具?


Answers:


10

声音格式转换和简单转换的基本工具是SoX,即声音处理程序的瑞士军刀

sox foo.mp3 foo.flac

如果您正在运行Debian,sox则对Lensqueeze的支持会破坏对MP3的编写(据我所知,同一问题会影响Ubuntu 10.04和10.10)。该错误已在2011年3月上旬修复,因此获取最新的源(或获取sox14.3.1-1build1或更高版本的二进制文件)并重新编译应该可以。

编码为的替代方法.mp3lame。它不读.flac,但可以使用soxflac要转换.flac.wav,然后lame.wav.mp3

flac -d foo.flac -c | lame - foo.mp3


2

叫做flac,这很奇怪。使用它有点痛苦,或者当我使用它编写转码作业时回来了。


0

正如其他人已经提到的,您当然可以使用SoX,但是我建议使用lameand flac

您的第一个问题是从.mp3.flac(请参见下面为什么这通常不是一个好主意):

lame --decode <file>.mp3 - | flac -o <file>.flac -

这将使用WAV标头,当涉及到很长的文件(四个小时或更长时间的声音文件等)时,它具有局限性

您的第二个问题是如何从.flac转到.mp3

flac -d -c <file>.flac | lame - <file>.mp3

这些设置采用默认的质量级别,等等。阅读lame和/或的手册页flac以更好地了解如何进行调整。


现在,可能就是您的录音很长,然后您希望将其重新编码为有损格式。这是我的用例之一,我想到了:

.flac开始.mp3使用默认质量设置:

flac -d --force-raw-format --endian=little --sign=signed <file>.flac -c | lame -r -s 48 - <file>.mp3

假设原始格式是PCM数据。采样率48kHz,两个通道。每个样本都是16位,低位字节序,有符号整数。

lame提醒您,的编码过程使用的是此处的默认质量设置,可能还不够完善。


应该注意的是,从MP3文件中提取FLAC文件是没有意义的,因为MP3已经进行了有损编码。

从MP3-> FLAC再到FLAC-> MP3是没有意义的,因为从最初的原始MP3编码步骤开始,质量会受到损害。

但是我认为您有一个合理的用例...

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.