web-dev-qa-db-ja.com

LAMEを使用して.wav(CCITT A-Law形式)を.mp3に変換する

Lameエンコーダー(lame.exe)を使用してwavファイルをmp3に変換したいと思います。 wavファイルは次の仕様に沿って記録されます。

ビットレート: 64kbps
オーディオサンプルサイズ: 8ビット
チャネル: 1 (mono)
オーディオサンプルレート: 8 kHz
オーディオ形式: CCITTA-Law

Lameを使用してこのようなwavファイルを変換しようとすると、次のエラーメッセージが表示されます。

Unsupported data format: 0x0006

誰かが私にこれらの種類のwavファイルを変換することを可能にするlame.exeを使用したコマンドライン文字列を提供できますか?

4
George

SoXを使用して、A-law入力データをLAMEが処理するためのより標準的なPCMデータに変換したいとします。

sox -A -c 1 -r 8000 input.8khz-mono-alaw.wav ouput.wav

これで、output.wavに標準のPCMWAVデータが含まれるはずです。これに対してLAMEコマンドを実行します(好きなオプションを追加します):

lame output.wav output.mp3

または、SoX出力をLAMEに直接パイプします。

sox -A -c 1 -r 8000 input.8khz-mono-alaw.wav - | lame - output.mp3
4
quack quixote

libsndfileをダウンロードしてコンパイルします。バージョン1.0.17を使用しました。lameのソースをダウンロードしてから、この構成設定を使用します。

./configure --with-fileio=sndfile

その後

make && make install

今それは動作します。

0
oden

ここに 私のために働いた答え:

次のコマンドを使用してWAVファイルを変換しました。

sox file.wav file.cdr

sox -t cdr file.cdr -t wav- | lame -b 32 -m mono --file.mp3

これらのコマンドは、私のWAVファイルで32 kbit/s、22050HzモノラルフォーマットのMP3ファイルを生成します。 lameコマンドのパラメーターは、前の投稿で説明したコマンドによって生成されたファイルと同様のファイルを生成するようにカスタマイズされています。

sox file.wav file.mp3

私のマシンでは、コマンド:

sox file.wav file.mp3

23分でWAVファイルを変換して130MBのMP3ファイルを生成します。

およびコマンド:

sox file.wav file.cdr sox -t cdr file.cdr -t wav- | lame -b 32 -m mono --file.mp3

wAVファイルを39分で変換し、131MBのMP3ファイルを生成します。

最初の方法は高速ですが、パッチを適用したsoxが必要です。

0
fiatjaf