gpt4 book ai didi

iOS AudioKit/EZAudio FFT 值

转载 作者:可可西里 更新时间:2023-11-01 05:43:14 26 4
gpt4 key购买 nike

我有一个基于网络音频 API 的信号处理应用程序,我必须使用 AudioKit(基于 EZAudio)框架将它移植到 iOS。

我只需要 Web Audio API 中包含 0-255 之间数字的 FrequencyDomain。

但在 AudioKit 中,AKFFTTap fftData 返回 -6 到 6 之间的 float ,有时 <1000。

这是我已经在 ios 上尝试过的:

初始化进程...

let mic = AKMicrophone()
let fftTap = AKFFTTap.init(mic)

请求...

return fftTap.fftData

在网络音频 API 上:初始化...

var analyser = audioContext.createAnalyser();

要求...

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

我怎样才能取回相同的数据?

最佳答案

您的网络场景中有两点与 AKFFTap 不同...首先它返回一个 256 大小的数组。这可能意味着被捕获的 bufferSize 是 512 个样本。您可以使用此自定义 AKFFTTap 解决此问题:

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

其次,似乎 WebAudio 读取样本二进制文件的方式不同。我建议您在网络上使用 Float32,因为 AudioKit 使用这种格式。引用this了解更多。

关于iOS AudioKit/EZAudio FFT 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38182878/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com