Eu tenho um disco de áudio que é precioso para mim, foi feito anos atrás e consegui através de um tipo de mensagem mms
no meu antigo telefone GSM.
De acordo com ffprobe.exe -show_entries format:stream -count_frames -count_packets -i mms-1.amr > input.txt
, o áudio tem as seguintes especificações:
[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]
Então, eu tentei várias vezes com ffmpeg
, mas a única abordagem viável que encontrei foi uma conversão de duas pernas, extraindo o raw
audio primeiro:
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
Curiosamente, o tamanho original do arquivo é 27KB, o arquivo wave é 539KB!
Duas perguntas:
Esta é a única maneira de converter um tipo de arquivo de áudio .amr em qualquer formato para ser facilmente reconhecido por Windows
system? Que tal uma linha de código para converter diretamente em wav
format?
Existe / há bons filtros de áudio dentro do ffmpeg para acentuar uma voz no registro. A resposta para uma pergunta antiga aqui menciona " equalizando como uma técnica adequada para filtrar o ruído e melhorar o reconhecimento de voz ...", mas até agora não consegui encontrar uma boa explicação de como isso funciona. Quaisquer outros filtros?
Tags ffmpeg conversion audio