У меня есть ценная для меня аудиозапись, сделанная несколько лет назад, и я получил ее через сообщение типа « 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 КБ!
Два вопроса:
Является ли это единственным способом преобразования аудиофайла типа .amr в любой формат, который легко распознается системой
Windows
? Как насчет одной строки кода для преобразования прямо в форматwav
?Есть ли / есть ли / какие-либо хорошие звуковые фильтры в ffmpeg, чтобы подчеркнуть голос в записи? В ответе на старый вопрос здесь упоминается « выравнивание как правильная техника для фильтрации шума и улучшения распознавания голоса ...», но мне пока не удалось найти хорошее объяснение того, как это работает. Любые другие фильтры?