У меня есть файл .mp3, и мне нужно преобразовать его в одноканальный 8-битный 8-битный wav-файл, кто-нибудь знает, как я могу это сделать с помощью mplayer? Если нет, то какие-либо другие инструменты командной строки я мог бы использовать?
4 ответа
ffmpeg должен сделать эту работу. Эта строка преобразует в 8-кГц 1-канальный WAV-файл.
ffmpeg -i input.mp3 -ar 8000 -ac 1 output.wav
http://ffmpeg.org/ffmpeg-doc.html#SEC11
Я не уверен насчет требования 8 бит - на что вы ссылаетесь? Это не битрейт, конечно?
lame, кодировщик командной строки WAV to MP3, также может декодировать MP3 в WAV с помощью --decode
.
SoX также может сделать это; при условии, что ваш SoX скомпилирован с поддержкой MP3, все, что вам нужно, это
sox input.mp3 -c 1 -r 8000 -1 output.wav
... хотя вы можете столкнуться с проблемами, стрижки и в этом случае вы хотите играть с vol
и / или mixer
эффектами , чтобы уменьшить объем входных каналов до передискретизации происходит.
Без SoX с поддержкой MP3, используйте MP3-декодер, чтобы сначала преобразовать MP3 в WAV, затем приведенная выше команда:
sox input.wav -c 1 -r 8000 -1 output.wav
mplayer -srate 8000 -vo null -vc null -ao pcm:fast:file="$fn.wav" "$fn"
Это также будет работать для извлечения звуковой дорожки из видео, и любой другой медиа-файл mplayer был настроен для обработки.