我是一名新手,希望能够创建一个脚本,将音频文件的RMS标准化为指定的RMS(平均)分贝级别。请问有人可以展示如何实现吗?
我已经使用了dynaudnorm,但无法得到所需的输出。我认为原因是它使用的是帧而不是分析整个文件。
为了进行RMS标准化,我的想法是使用条件语句创建一个过滤器,可以自动读取音频文件的RMS(平均)水平,然后自动将RMS(平均)水平设置为指定的分贝级别。
理论上的例子:
我已经使用了dynaudnorm,但无法得到所需的输出。我认为原因是它使用的是帧而不是分析整个文件。
为了进行RMS标准化,我的想法是使用条件语句创建一个过滤器,可以自动读取音频文件的RMS(平均)水平,然后自动将RMS(平均)水平设置为指定的分贝级别。
理论上的例子:
ffmpeg -i (inputfilename) -af "normalize_rms=-20dB" (outputfilename)
条件语句解释及示例:
第一步:运行astats或volumedetect计算RMS电平。
第二步:如果RMS电平=X dB,则添加Y dB电平以匹配用户指定的dB电平。
例如:如果RMS电平为-30dB,用户指定的RMS电平为-20dB,则添加10dB。