0

I have loaded an audio file and have created an input and output buffer.

But when I follow Apple's post I get an output signal that has distorted sounds.

private func extractSignal(input: AVAudioPCMBuffer, output: AVAudioPCMBuffer) {

    let count = 256

    let forward = vDSP.DCT(previous: nil, count: count, transformType: .II)!
    let inverse = vDSP.DCT(previous: nil, count: count, transformType: .III)!

    // Iterates over the signal.
    input.iterate(signalCount: 32000) { step, signal in

        var series = forward.transform(signal)
        series = vDSP.threshold(series, to: 0.0003, with: .zeroFill) // What should this threshold be?

        var inversed = inverse.transform(series)

        let divisor: Float = Float(count / 2)
        inversed = vDSP.divide(inversed, divisor)

        // Code: write inversed to output buffer.

        output.frameLength = AVAudioFrameCount(step * signal.count + signal.count)
    }
}
Scott McKenzie
  • 16,052
  • 8
  • 45
  • 70

0 Answers0