
Tengo un disco de audio que es muy valioso para mí, lo hice hace años y lo recibí a través de una mms
especie de mensaje en mi antiguo teléfono GSM.
Según ffprobe.exe -show_entries format:stream -count_frames -count_packets -i mms-1.amr > input.txt
, el audio tiene las siguientes especificaciones:
[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]
Entonces, lo intenté varias veces, ffmpeg
pero el único enfoque viable que encontré fue una conversión de dos patas, extrayendo el raw
audio primero:
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, el tamaño del archivo original es de 27 KB, ¡el archivo wave es de 539 KB!
Dos preguntas:
¿Es esta la única forma de convertir un archivo de audio del tipo .amr a cualquier formato para que el
Windows
sistema lo reconozca fácilmente? ¿Qué tal una sola línea de código para convertir directamente alwav
formato?¿Hay algún buen filtro de audio dentro de ffmpeg para acentuar una voz en el disco? La respuesta a una vieja pregunta.aquímenciona "igualandocomo una técnica adecuada para filtrar el ruido y mejorar el reconocimiento de voz..." pero hasta ahora no he podido encontrar una buena explicación de cómo funciona. ¿Algún otro filtro?