与 wav AudioKit 一起播放 MIDI 文件
Play MIDI file together with wav AudioKit
我正在尝试在播放 wav 音频时播放 midi 文件。
我试过
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 只是第一个音符。
非常欢迎任何帮助!
我相信您没有正确地将音序器连接到 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!
我正在尝试在播放 wav 音频时播放 midi 文件。
我试过
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 只是第一个音符。
非常欢迎任何帮助!
我相信您没有正确地将音序器连接到 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!