экспорт отфильтрованного аудио с помощью AudioKit - PullRequest
2 голосов
/ 30 марта 2019

Мне не удалось найти ни одного примера, объясняющего, как экспортировать аудио, которое вы пропустили через фильтры 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()})

Что мне здесь не хватает?

...