首页 > 解决方案 > 使用 AudioKit 导出过滤后的音频

问题描述

我一直找不到任何示例来说明如何导出通过 AudioKit 过滤器传输的音频。

我找到了一个如何使用对象exportAsynchronously上的方法简单地导出音频的示例AKAudioFile,但是(我认为这将是 AudioKit 的一个非常常见的用例)您实际使用 AudioKit 的过滤器或其他效果处理的音频呢?

在另一篇文章中,有使用该renderToFile()方法的参考,但我已经尝试过了,当我播放音频时,它只是原始源音频而不是过滤后的音频。

到目前为止,我正在设置 AudioKit 文件和带有过滤器的播放器:

            AKPlayer = try AKAudioPlayer(file: fileFromTranscodedVideoOutputPath)

            // track frequencies from player
            tracker = AKFrequencyTracker(AKPlayer)

            AKPlayer.connect(to: mixer.inputNode)

            // piping through to tracker for analysis data from player
            AudioKit.output = tracker


            // SETUP EQs
            filterBand1 = AKEqualizerFilter(AKPlayer, centerFrequency: 64, bandwidth: 70.8, gain: 1.0)
            filterBand2 = AKEqualizerFilter(filterBand1, centerFrequency: 125, bandwidth: 141, gain: 1.0)

            let outputMixer = AKMixer(filterBand8)
            AudioKit.output = outputMixer
            AudioKit.start()

            /* then I present the player w/EQ sliders and everything works as-is, but when I try to render or export the audio that has been filtered in the following way, and then play it back, I only ever end up with the original source audio sound that is unaltered */

            // this func initializes an AVAudio file
            let audioFile = createAVAudioFile()

            // now trying to render to file
            try AudioKit.renderToFile(audioFile, duration: 10.0, prerender: {self.AKPlayer.play()})

我在这里想念什么?

标签: iosswiftavfoundationaudiokit

解决方案


推荐阅读