我有一个基于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)请求...
return fftTap.fftData关于Web Audio API: init...
var analyser = audioContext.createAnalyser();请求...
let freqDomain = new Uint8Array(analyser.frequencyBinCount);
analyser.getByteFrequencyData(freqDomain);
return freqDomain如何才能取回相同的数据?
发布于 2017-06-19 20:32:06
你的web场景与AKFFTap有两个不同之处……首先,它返回一个256大小的数组。这可能意味着捕获的bufferSize是512个样本。您可以使用此自定义AKFFTTap来解决此问题:
https://gist.github.com/denisb411/3e832a592ff8b79cca2afdbed432a0d0
其次,似乎WebAudio读取样本的二进制的方式是不同的。我建议您在web上使用Float32,因为AudioKit使用这种格式。参考资料,以便this了解更多信息。
https://stackoverflow.com/questions/38182878
复制相似问题