spexencを使って携帯電話のオーディオブックを再エンコードしたいです。最初のステップは、mplayerを使用してファイルを再エンコードすることです。
for i in *.mp3; do
mplayer -ao pcm:waveheader "$i" -af pan=1:0.5:0.5,resample=22050 -ao pcm:file="$i.wav";
done
オンラインで見つけました。しかし、出力ファイルはpcm wavではありません。
file *.wav
RIFF (little-endian) data, WAVE audio, mono 22050 Hz
xiph.orgの参照wavはpcmです。
file wb_male.wav
RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, mono 16000 Hz
spexencは最後のPCM WAVをエンコードしますが、mplayerファイルはエンコードしません。なぜできないの? 「pcm」というオーディオ出力がpcmファイルを出力しませんか?どうすれば修正できますか? fifoに名前を付けずにwavをspeexencに直接パイプする簡単な方法はありますか?
ベストアンサー1
これMPlayerのマニュアルページ次の構文を使用します。
mplayer -ao pcm:file=test.wav test.avi
サンプルレートの制限などの操作を実行するには、-srate
オプション(-srate 44100
Redbook CD Audioなど)を追加できます。
ただし、インストールした場合はffmpeg
実際にはそうするように設計されているため、使用することをお勧めします。