小编use*_*874的帖子

Swift FFT - 复杂分裂问题

我正在尝试使用Accelerate框架对音频文件执行FFT以查找频率.我已经从这个问题中修改了代码(可能是错误的):来自AVAudioPCMBuffer的频谱图,使用Swift中的Accelerate框架

虽然," 光谱 " 的幅度要么是' 0 ',' inf '要么是' nan ',而复杂分裂的' 真实 '和' 成像 '成分会产生相似的结果; 表明这是导致问题的原因:' magnitude = sqrt(pow(real,2)+ pow(imag,2) '.如果我错了,请纠正我,但我认为其余的代码都没问题.

为什么我会收到这些结果以及如何修复它(拆分组件应该是什么),以及我做错了什么?请记住,我对FFT和采样非常陌生,并且不知道如何为音频文件设置它,所以任何帮助都将非常感激.谢谢.

这是我正在使用的代码:

    // get audio file
    let fileURL:NSURL = NSBundle.mainBundle().URLForResource("foo", withExtension: "mp3")!
    let audioFile = try!  AVAudioFile(forReading: fileURL)
    let fileFormat = audioFile.processingFormat
    let frameCount = UInt32(audioFile.length)

    let buffer = AVAudioPCMBuffer(PCMFormat: fileFormat, frameCapacity: frameCount)
    let audioEngine = AVAudioEngine()
    let playerNode = AVAudioPlayerNode()
    audioMixerNode = audioEngine.mainMixerNode

    let bufferSize = Int(frameCount)
    let …
Run Code Online (Sandbox Code Playgroud)

signal-processing fft frequency ios swift

12
推荐指数
1
解决办法
1696
查看次数

标签 统计

fft ×1

frequency ×1

ios ×1

signal-processing ×1

swift ×1