У меня есть файл .mp3, и мне нужно преобразовать его в одноканальный 8-битный 8-битный wav-файл, кто-нибудь знает, как я могу это сделать с помощью mplayer? Если нет, то какие-нибудь другие инструменты командной строки я мог бы использовать?
У меня есть файл .mp3, и мне нужно преобразовать его в одноканальный 8-битный 8-битный wav-файл, кто-нибудь знает, как я могу это сделать с помощью mplayer? Если нет, то какие-нибудь другие инструменты командной строки я мог бы использовать?
Ответы:
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
переключателя.
mpg321 input.mp3 -w output.wav
когда я пробовал lame, он получал неправильную длительность (время воспроизведения) в выходном файле, тогда как с mpg321 он получился корректным.
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 был настроен для обработки.