0
我正在为我的工作编写ffmpeg链进程脚本。目标是正常化/压缩很多音频文件(mp3)。 它在Python完成,关键的部分是线:如何计算ffmpeg astats波峰因数
ffmpeg -y -i "Input.mp3" -codec:a libmp3lame -b:a 96k -af acompressor=threshold=-15dB:ratio=5:attack=0.01:release=1000:knee=2,dynaudnorm=g=3:m=2:p=0.95 "Output.mp3"
的Python脚本是完整和工作,但音频(录音)的性质有很大的不同,所以我不能使用相同的params用于在他们全部。
我就与ffmpeg的过滤器astats值一些尝试,我发现波峰因数(峰RMS水平的标准比)给了一个很好的参考,以编程方式获得更好的PARAMS。
事实上,我看到一个具有良好动态范围声音和平滑形状的录音,可获得9-15的峰值(compress/normlz params将以某种方式保守)。但拥有22-30左右波峰的音频需要更积极的处理。 (全部凭经验)
有人可以澄清如何真正计算波峰值?考虑到哪些高峰? (为什么平面因子总是0?) 或者如果有人知道如何得到代表声音的平滑度的值也会很好。
感谢您的想法。
所以,如果我说得对,那么在峰值分布方式上就不存在歧视。 那么限制循环寻找最佳参数是相对有用的。我想我需要更多'智能'度量曲线 – FranGar
非常感谢,编辑时间已过期。 – FranGar
@FranGar是的,没有时间歧视/整合期,如果这是你想知道的。也许你可以把你的音频文件分成小块并分别处理它们中的每一个? – filaton