具有离线渲染功能的FFT(installTap)

问题描述 投票:0回答:1

[我发现examples对使用AVAudioNode.installTap播放音乐进行FFT分析,但我想知道如何做到这一点,但是在文件上离线(一次关闭)。

我试图将1024设置为maximumFrameCount

let maxNumberOfFrames: AVAudioFrameCount = 1024;
try engine.enableManualRenderingMode(.offline, format: format, maximumFrameCount: maxNumberOfFrames)

但是渲染量似乎很小(例如,使用内置音频分析功能在JavaScript中获得的渲染量为1200,而不是5000)。>>

我想念什么吗?我是否应该在没有脱机渲染的情况下直接对文件执行FFT?怎么样?

我找到了使用AVAudioNode.installTap在播放音乐时执行FFT分析的示例,但我想知道如何做到这一点,但是离线(一次关闭)文件。我试图将1024设置为maximumFrameCount:let ...

ios swift fft core-audio avaudioengine
1个回答
0
投票

假设您只想执行分析,而不修改声音缓冲区以进行播放,我建议您查看AVAudioSinkNode。您可能会发现使用engine.mainMixerNode.installBus()的旧解决方案,但是对于快速FFT而言效率不高,因为它不是实时的。

© www.soinside.com 2019 - 2024. All rights reserved.