Cómo preservar mejor la calidad de un archivo .amr usando ffmpeg

Cómo preservar mejor la calidad de un archivo .amr usando ffmpeg

Tengo un disco de audio que es muy valioso para mí, lo hice hace años y lo recibí a través de una mmsespecie 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, ffmpegpero el único enfoque viable que encontré fue una conversión de dos patas, extrayendo el rawaudio 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:

  1. ¿Es esta la única forma de convertir un archivo de audio del tipo .amr a cualquier formato para que el Windowssistema lo reconozca fácilmente? ¿Qué tal una sola línea de código para convertir directamente al wavformato?

  2. ¿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?

información relacionada