Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/105.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IOS光谱通量检测函数的加速_Ios_Audio_Fft_Core Audio - Fatal编程技术网

IOS光谱通量检测函数的加速

IOS光谱通量检测函数的加速,ios,audio,fft,core-audio,Ios,Audio,Fft,Core Audio,我正在为峰值查找器的音频频谱流量信号开发一个IOS函数。 它用于获得通量阵列,以馈送峰值检测器 但我面临一个问题,它是缓慢的 iPad迷你版:完成时间:30.943131秒,持续6.226721分钟 iPad air:完成时间:7.547086秒,持续6.226721分钟 iPhone 5:完成时间:18.188398秒,持续6.226721分钟 编辑新统计数据: iPad迷你版:以22.382947的成绩结束,6.226721分钟,增长29% iPad air:完成时间:3.890087,持续

我正在为峰值查找器的音频频谱流量信号开发一个IOS函数。 它用于获得通量阵列,以馈送峰值检测器

但我面临一个问题,它是缓慢的

iPad迷你版:完成时间:30.943131秒,持续6.226721分钟

iPad air:完成时间:7.547086秒,持续6.226721分钟

iPhone 5:完成时间:18.188398秒,持续6.226721分钟

编辑新统计数据

iPad迷你版:以22.382947的成绩结束,6.226721分钟,增长29%

iPad air:完成时间:3.890087,持续6.226721分钟,增长48%

iPhone5:以12.774067收场,持续6.226721分钟,涨幅33%

所以,我尝试了很多次来加速这个函数,但是我没有找到一个真正的解决方案。 但我仍然相信有些事情是可以做的

所以现在我正在寻找一些帮助来加速这个过程,因为我很确定,我错过了一些东西,而且它可以更快

非常重要

HopeTime(音频帧间距)必须保持在0010毫秒才能获得最佳扫描结果,而且我不能降低帧数(音频帧总数)以保持良好的通量

例如:

我试图提高fftSize缓冲区和buffSize,并调整最后一个循环以保持通量的完整性,但对于2048,它是完美的,但当我每次使用4096时,FFT加速函数会崩溃吗

我还试图直接从读卡器获取mono中的流,以减少数据量,但读卡器似乎将左声道与右声道混合,最终结果会恶化

函数在这里:非常简单,它只是一个类

对于小wav文件,有一个测试函数来验证通量值,但对于长wav文件(数据太多)则没有

顺便说一句,它可以作为一个很好的示例和信息,用于读取器音频文件或操纵pcm数据


谢谢

您应该在Instruments中分析代码,看看是否有任何明显的热点值得您集中精力进行优化。嘿,谢谢您的评论。我不知道在这种情况下,分析是否能改变一些东西,但我会尝试,这可能会很有趣。在音频处理中,热点总是在同一个地方:1)音频流和2)dsp功能,在这一个中,我们只有3个:加窗、FFT、幅度,最后还有一个小循环来存储流量。我认为,这里的主要问题是,我一次处理的样本量很小,但当我试图提高它时,值是有害的。如果可以,试着采样10秒左右,采样间隔为1毫秒。