iOS AudioKit / EZAudio FFT 值

4
我有一个基于Web Audio API的信号处理应用程序,现在需要使用AudioKit(基于EZAudio框架)将其移植到iOS平台。在Web Audio API中,我只需要包含0-255之间数字的FrequencyDomain。但在AudioKit中,AKFFTTap fftData返回的是-6到6之间的浮点数,有时会小于1000。以下是我在iOS上尝试过的内容:初始化进程...
let mic = AKMicrophone()
let fftTap = AKFFTTap.init(mic)

request ...

return fftTap.fftData

关于Web Audio API的介绍: 初始化...

var analyser = audioContext.createAnalyser();

请求

let freqDomain = new Uint8Array(analyser.frequencyBinCount);
analyser.getByteFrequencyData(freqDomain);
return freqDomain

如何获取相同的数据?

1个回答

3

您的网站场景中有两件事情与AKFFTap不同...首先,它返回一个256大小的数组。这可能意味着被捕获的缓冲区大小为512个样本。您可以通过使用此自定义AKFFTTap来解决此问题:

https://gist.github.com/denisb411/3e832a592ff8b79cca2afdbed432a0d0

其次,似乎WebAudio读取样本二进制的方式有所不同。我建议您在Web上使用Float32,因为AudioKit使用该格式。请参考this以了解更多信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接