我发现examples可以使用AVAudioNode.installTap
对播放音乐进行快速傅立叶变换分析,但是我想知道怎么做,但是离线(一次性)处理文件。
我尝试将1024设置为maximumFrameCount
let maxNumberOfFrames: AVAudioFrameCount = 1024;
try engine.enableManualRenderingMode(.offline, format: format, maximumFrameCount: maxNumberOfFrames)
但渲染量似乎很小(比如1200个,而不是我在JavaScript中使用内置音频分析功能得到的5000个)。
我是不是遗漏了什么?我是否应该直接在文件上执行FFT,而不是离线渲染?多么?
发布于 2020-03-06 09:42:31
假设您只想执行分析,而不想修改用于回放的声音缓冲区,我建议您查看AVAudioSinkNode
。你可能会发现使用engine.mainMixerNode.installBus()
的旧解决方案,但这对于快速快速傅立叶变换是低效的,因为它不是实时的实时。
https://stackoverflow.com/questions/55196159
复制相似问题