15

У меня есть файл .mp3, и мне нужно преобразовать его в одноканальный 8-битный 8-битный wav-файл, кто-нибудь знает, как я могу это сделать с помощью mplayer? Если нет, то какие-либо другие инструменты командной строки я мог бы использовать?

4 ответа4

19

ffmpeg должен сделать эту работу. Эта строка преобразует в 8-кГц 1-канальный WAV-файл.

ffmpeg -i input.mp3 -ar 8000 -ac 1 output.wav

http://ffmpeg.org/ffmpeg-doc.html#SEC11

Я не уверен насчет требования 8 бит - на что вы ссылаетесь? Это не битрейт, конечно?

8

lame, кодировщик командной строки WAV to MP3, также может декодировать MP3 в WAV с помощью --decode .

2

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
2
mplayer -srate 8000 -vo null -vc null -ao pcm:fast:file="$fn.wav" "$fn"

Это также будет работать для извлечения звуковой дорожки из видео, и любой другой медиа-файл mplayer был настроен для обработки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .