AudioKit规范化正在规范化到错误的级别

问题描述

我正在使用AudioKit的normalized(newMaxLevel:)方法来规范AKAudioFile文件的级别。每次,生成文件都比原始文件响亮,但是(除非我误会)不如应有的响亮。我指定:

guard let originalFile = try! AKAudioFile(forReading: fileURL)
let normalizedFile = try! originalFile.normalized(newMaxLevel: -1.0)

,但是当我随后检查normalizedFile.maxLevel时,它的计算结果总是大大小于-1.0。即,如果旧文件的maxLevel为 x dB,则新文件的maxLevel恰好是( x -1.0)/ 2 dB。因此,将峰值为-10.0 dB的文件归一化为-5.5 dB,而不是-1.0 db。

知道为什么会这样吗?我正在使用的文件是语音的短片段(〜2秒),16kHz,16位,wav,1通道。如预期的那样,生成文件具有相同的规格,但32位。

normalized()只能在立体声文件上正常工作吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)