http://www.ehow.com/how_12224909_detect-blow-mic-xcode.html
关于如何检测频率,我已经阅读了很多关于SO的问题.大多数答案都说“使用FFT!”然后问题者说,“哦,太棒了!”
我的问题是,你怎么从这里得到:
- (voID)levelTimerCallback { [recorder updateMeters]; const double Alpha = 0.05; double peakPowerForChannel = pow(10,(0.05 * [recorder peakPowerForChannel:0])); lowPassResults = Alpha * peakPowerForChannel + (1.0 - Alpha) * lowPassResults; if (lowPassResults > sensitivitySlIDer.value) { NSLog(@"Sound detected"); //What goes here so I can spit out a frequency? }}
不知何故神奇地使用FFT ……(我将使用accele.h),
结束“频率= 450.3”?
如果有人能告诉我我将使用的实际代码
>将AVAudioRecorder的声音插入加速
和
>如何将结果转换为频率……
非常感谢.
提前致谢.
解决方法 没有什么“去那里”,因为AVRecorder API没有插入Accelerate框架.相反,您必须使用完全不同的API,音频队列或RemoteIO音频单元API来捕获音频输入,完全不同的代码安排,例如等待回调来获取数据,缓冲区大小管理以获取数据数组适当的大小,以提供FFT,然后知道足够的DSP后处理FFT结果为您正在寻找的特定类型的频率测量. 总结以上是内存溢出为你收集整理的ios – AVAudioRecorder通过加速FFT进入频率 – 执行全部内容,希望文章能够帮你解决ios – AVAudioRecorder通过加速FFT进入频率 – 执行所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)