如何使用 ffmpeg 最好地保持 .amr 文件的质量

如何使用 ffmpeg 最好地保持 .amr 文件的质量

我有一份对我来说很珍贵的音频记录,是几年前制作的,我通过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

有趣的是,原始文件大小为27KB,波形文件却为539KB!

两个问题:

  1. 这是将 .amr 类型的音频文件转换为系统可轻松识别的任何格式的唯一方法吗Windows?如果只用一行代码直接转换为wav格式呢?

  2. ffmpeg 中是否有任何好的音频过滤器可以突出录音中的声音。一个老问题的答案这里提到“均衡作为一种适当的技术来过滤噪音并提高语音识别率......“但我至今仍未找到关于其工作原理的良好解释。还有其他过滤器吗?

相关内容