理想的には、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エンコード手順では品質が低下するためです。
しかし、私はあなたがこれの合理的なユースケースを持っていると思います...