与wav AudioKit一起播放MIDI文件

时间:2017-10-04 21:18:58

标签: ios swift audiokit

我正在尝试播放midi文件,因为正在播放wav音频。

我已经尝试了

let akSequencer = AKSequencer(filename: "melody")
akSequencer.enableLooping()
akSequencer.play()

但它只播放第一个音符而没有别的。另外,我无法使用调音台将其与正在加载的wav文件混合:

let akMidiSampler = AKMIDISampler()
let akSampler = AKSampler()
let wavFile = try AKAudioFile(forReading: wavUrl!)
try akSampler.loadAudioFile(wavFile)

let mixer = AKMixer(akSampler, akMidiSampler)
mixer.volume = 1

AudioKit.output = mixer
AudioKit.start()
akSampler.play()

正在播放wav音频,但midi只是第一个音符。

非常欢迎任何帮助!

1 个答案:

答案 0 :(得分:2)

我相信您没有正确地将音序器连接到MIDI采样器。如果你看一下这里的一些AudioKit示例游乐场:

http://audiokit.io/playgrounds/Playback/Sequencer/

http://audiokit.io/playgrounds/Playback/Drum%20Sequencer/

您会注意到有一条线将序列发生器连接到采样器,如:

sequencer.setGlobalMIDIOutput(piano.midiIn)

sequencer.setGlobalMIDIOutput(drums.midiIn)

最终你可以为音序器的不同轨道提供不同的采样器,但我认为这种全局方法现在最适合你。请记住,您可能必须在iOS上启用音频背景模式才能使用MIDI。 HTH!