FLACオーディオ形式との間で変換するための優れたコマンドラインツールはありますか?


10

理想的には、MP3からFLACに変換したり、元に戻したりしたいです。これもスクリプトで記述できるようにする必要があります。

回答:


11

サウンド形式の変換と単純な変換の基本的なツールは、音響処理プログラムのスイスアーミーナイフであるSoXです。

sox foo.mp3 foo.flac

Debianを実行している場合、MP3の書き込みのサポートsoxlennysqueezeで壊れています(私が知る限り、同じ問題がUbuntu 10.04と10.10に影響します)。このバグは2011年3月上旬に修正されたため、最新のソースをsox入手(または14.3.1-1build1以降のバイナリを入手)して再コンパイルすると機能します。

エンコーディングの代替.mp3lameです。それは読んでいません.flacが、あなたは使用することができますsoxflacから変換すること.flac.wavし、その後lameから.wav.mp3

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


2

flac奇妙なことに、それはと呼ばれています。使用するのはやや面倒ですが、トランスコーディングジョブをスクリプトで記述したときに戻ってきました。


0

他の人がすでに述べたようにあなたはもちろん、ソックス使用することができますが、私が使用することをお勧めlameしてflac

あなたの最初の質問はから起こっている.mp3.flac(これは通常は悪いアイデアである理由を以下を参照します):

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

これは非常に長いファイル(4時間以上の長いサウンドファイルなど)に関して制限があるWAVヘッダーを使用します。

あなたの2番目の質問はから行く方法である.flac.mp3

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

これらの設定は、デフォルトの品質レベルなどを想定しています。のマニュアルページを読んだり、調整方法をより適切に理解しlameたりflacするために使用します。


さて、それはあなたが非常に長いレコーディングをしていて、それを損失の多いフォーマットに再エンコードしたいということかもしれません。これは私の使用例の1つで、これを思いつきました。

行く.flac.mp3デフォルトの品質設定を使用して:

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

これは、未加工の形式がPCMデータであることを前提としています。サンプルレート48kHz、2チャンネル。各サンプルは、16ビットのリトルエンディアンの符号付き整数です。

のエンコードプロセスでlameは、ここではデフォルトの品質設定を使用していますが、十分に洗練されていない可能性があります。


MP3はすでに非可逆符号化されているため、MP3ファイルからFLACファイルを作成しても意味がないことに注意してください。

MP3-> FLAC、FLAC-> MP3の順に選択しても意味がありません。最初のオリジナルのMP3エンコード手順では品質が低下するためです。

しかし、私はあなたがこれの合理的なユースケースを持っていると思います...

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.