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