AudioKit音高转换和导出

时间:2019-05-22 20:52:16

标签: swift audio shift audiokit pitch

我正在尝试将一个音高变化到音频文件的应用程序放在一起,然后将其导出到我选择的路径。我尝试了Superpowered,并且有一个示例iOS项目可以满足我的需要,但是我并没有太大的运气使其能够在MacOS下运行。这是我遇到AudioKit的地方。

现在AudioKit有一个AKTimePitch,这似乎是我需要做的,但是由于无法将其用于exportAsynchronously,我无法完全理解它的作用,该方法仅适用于AKAudioFile,它只是一个URL对象。有谁知道音高转换和输出的最佳方法是什么?当此方法有效时,我将在导出和其他控件之前转到回放进行预览,但是我至少想了解以下概念:获取文件->应用音高和时间偏移->首先导出到所选文件夹

private func pitchShift(inputURL: URL, outputURL: URL) {
    let file = try! AKAudioFile(forReading: inputURL)
    let player = AKPlayer(audioFile: file)
    let converted = AKTimePitch(player)
    converted.rate = 0.73
    converted.pitch = -545
    AudioKit.output = converted
    file.exportAsynchronously(name: "test", baseDir: .documents, exportFormat: .wav, callback: callback)
}

0 个答案:

没有答案