Как наилучшим образом сохранить качество файла .amr с помощью ffmpeg

377
user182551

У меня есть ценная аудиозапись, сделанная много лет назад, и я получил ее через mmsтип сообщения на моем старом телефоне GSM.

По словам ffprobe.exe -show_entries format:stream -count_frames -count_packets -i mms-1.amr > input.txt, аудио имеет следующие характеристики:

 [STREAM] codec_name=amr_nb codec_long_name=AMR-NB (Adaptive Multi-Rate NarrowBand) codec_time_base=1/8000 codec_tag_string=samr sample_rate=8000 channels=1 channel_layout=mono bits_per_sample=0 duration_ts=275840 duration=34.480000 bit_rate=6000 nb_read_frames=1724 nb_read_packets=1724 [/STREAM] [FORMAT] filename=mms-1.amr nb_streams=1 format_long_name=3GPP AMR bit_rate=6401 probe_score=100 [/FORMAT] 

Итак, я пробовал несколько раз, ffmpegно единственным подходящим подходом, который я нашел, было преобразование в два этапа, rawсначала извлечение аудио:

1)ffmpeg -i mms-1.amr -f s16le -c:a pcm_s16le output.raw

2)ffmpeg -f s16le -ar 8000 -ac 1 -i output.raw mms-1.wav

Интересно, что оригинальный размер файла составляет 27 КБ, а волнового файла - 539 КБ!

Два вопроса:

  1. Является ли это единственным способом преобразования аудиофайла в формате .amr в любой формат, который легко распознается Windowsсистемой? Как насчет одной строки кода для преобразования прямо в wavформат?

  2. Есть ли / есть ли / какие-либо хорошие звуковые фильтры в ffmpeg, чтобы подчеркнуть голос в записи? В ответе на старый вопрос здесь упоминается « выравнивание как правильная техника для фильтрации шума и улучшения распознавания голоса ...», но мне пока не удалось найти хорошее объяснение того, как это работает. Любые другие фильтры?

0
Просто комментарий: при попытке однолинейного прямого преобразования я получаю файл `wav` со сжатием звука` adpcm`, который не воспроизводится на среднем компьютере с Windows user182551 5 лет назад 0
и какой выходной формат вы хотите иметь из него? Потому что у каждого формата есть свои правила, когда дело доходит до размера, поэтому, если у вас размер руки 27 КБ, невозможно извлечь из него 27 КБ mp3 (что вполне возможно, но со значительной потерей качества). Я рекомендую вам использовать переносную версию Audacity - https://www.audacityteam.org/ - вместо ffmpeg (в ней много доступных фильтров, даже голосовое улучшение) user902300 5 лет назад 0
Не работает ли `ffmpeg -i mms-1.amr -c: вывод pcm_s16le.wav`? Вывод будет намного больше, поскольку AMR - это кодек с потерями, а WAV - нет - он хранит все необработанное, поэтому преимущества сжатия с потерями уходят. slhck 5 лет назад 0

0 ответов на вопрос