理想的には、MP3からFLACに変換したり、元に戻したりしたいです。これもスクリプトで記述できるようにする必要があります。
理想的には、MP3からFLACに変換したり、元に戻したりしたいです。これもスクリプトで記述できるようにする必要があります。
回答:
サウンド形式の変換と単純な変換の基本的なツールは、音響処理プログラムのスイスアーミーナイフであるSoXです。
sox foo.mp3 foo.flac
Debianを実行している場合、MP3の書き込みのサポートsox
はlennyとsqueezeで壊れています(私が知る限り、同じ問題がUbuntu 10.04と10.10に影響します)。このバグは2011年3月上旬に修正されたため、最新のソースをsox
入手(または14.3.1-1build1以降のバイナリを入手)して再コンパイルすると機能します。
エンコーディングの代替.mp3
はlame
です。それは読んでいません.flac
が、あなたは使用することができますsox
かflac
から変換すること.flac
に.wav
し、その後lame
から.wav
に.mp3
。
flac -d foo.flac -c | lame - foo.mp3
他の人がすでに述べたようにあなたはもちろん、ソックス使用することができますが、私が使用することをお勧め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エンコード手順では品質が低下するためです。
しかし、私はあなたがこれの合理的なユースケースを持っていると思います...