我正在尝试对PCM音频数据执行一些基本的DSP功能,我使用iPhone上的AVAssetReader从视频文件中检索这些功能。 我正在正确读取缓冲区,每个缓冲区的样本数是8192(默认是这样吗?可以改变吗?)。 但是,我需要对不是8192个样本长度的切片执行窗口化,fft和各种其他操作。实际上,我想一次处理512个样本,每个切片之间有50%的重叠。 我一直在深入挖掘Apple的Accelerate / vDSP框架,我认为我可以处理这样的处理,而不知道如何按照我想要的方式实际分割信号。 我有很强的DSP背景,但不幸的是我的DSP编程经验几乎以MATLAB结束。
任何帮助将不胜感激。
答案 0 :(得分:1)
深入挖掘后,我在CoreAudio开发工具的PublicUtility中找到了CASpectralProcessor,它来自ver。 4.3以后不再与XCODE捆绑在一起。要下载转到 https://developer.apple.com/downloads/index.action?name=for%20Xcode%20-
CASpectralProcessor正是我所需要的,一个完整的光谱分析仪,包括自定义窗口长度,窗口类型,跳跃大小。甚至执行带有重叠/添加的IFFT!
希望这有助于任何人。
答案 1 :(得分:0)
您可以将1或2个大型缓冲液切成若干个较短所需长度的缓冲液,并将这些较短的缓冲液或切片送入处理程序。