我有一份对我来说很珍贵的音频记录,是几年前制作的,我通过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!
两个问题:
这是将 .amr 类型的音频文件转换为系统可轻松识别的任何格式的唯一方法吗
Windows
?如果只用一行代码直接转换为wav
格式呢?ffmpeg 中是否有任何好的音频过滤器可以突出录音中的声音。一个老问题的答案这里提到“均衡作为一种适当的技术来过滤噪音并提高语音识别率......“但我至今仍未找到关于其工作原理的良好解释。还有其他过滤器吗?