我正在研究用于峰值探测器的音频光谱通量信号的IOS功能。 它用于获得通量阵列以馈送峰值检测器。
但我面临一个问题,它很慢。
iPad mini:完成时间:30.943131 sec(s),用于6.226721 min(s)
iPad air:完成时间:7.547086 sec(s)为6.226721 min(s)
iPhone 5:完成时间:18.188398 sec(s),用于6.226721 min(s)
编辑新统计信息:
iPad mini:完成于:22.382947,为6.226721分钟,增加29%
iPad air:已完成:3.890087,为6.226721分钟,获得48%
iPhone 5:完成时间:12.774067,为6.226721分钟,获得33%
所以,我尝试过多次加速功能,但我没有找到真正的解决方案。 但我仍然相信可以做些事情。
所以现在我正在寻找一些帮助来加速这个过程,因为我很确定,我错过了一些东西,它可以更快。
非常重要!
HopeTime(音频帧的间距)必须保持在0,010 Ms以获得最佳扫描结果,而且我也不能丢弃我的framecount(音频帧总数)以保持通量非常好。 / p>
例如:
我尝试提升fftSize缓冲区和buffSize并调整最后一个循环以保持其完好无损,但是2048它是完美的但是当我每次使用4096时我从FFT加速崩溃功能
我还试图直接从阅读器中获取单声道流以减少数据量,但读者似乎将左边的频道与严格的频道混合,最后结果恶化。
功能就在这里:https://github.com/ppeau/IOS-SpectralFlux而且非常简单,它只是一个类。
使用小wav文件时,有一个测试函数可以验证通量值,但不会检测长通道(数据太多)。
顺便说一句,这可以是读者音频文件或操作pcm数据的好例子和信息。
谢谢