gpt4 book ai didi

swift - 将 CoreMIDI 输入与 AVAudioUnit 结合使用

转载 作者:IT王子 更新时间:2023-10-29 05:44:59 25 4
gpt4 key购买 nike

我正在尝试实现一些看起来应该很简单的事情:在 Mac 应用程序中收听 MIDI 消息,并使用这些消息从现有的 AVAudioUnit 乐器中演奏音符。

假设:我需要在与我的 CoreMIDI 客户端关联的 MIDIReadBlock(通过带有 MIDIClientRef 的 MIDIInputPortCreateWithBlock)和我可以从我的 AVAudioUnit 的 AUAudioUnit 获取的 AUScheduleMIDIEventBlock(通过 scheduleMIDIEventBlock)。这似乎比它应该的更复杂,因为我会处理原始 MIDI 数据——我觉得音频单元必须支持某种 MIDI 抽象,这种抽象很容易与 CoreMIDI 一起使用,但我找不到任何相关的例子这个的。也许有一种方法可以将 MIDIOutputPortCreate 与 AV/AUAudioUnit 一起使用?

我正在寻找的是将 MIDI 输入直接输送到音频单元的工作示例(最好使用 Swift 3),但如果您知道任何相对最新的相关资源,也请分享这些链接。这些 API 的文档稀少令人非常沮丧。谢谢!

最佳答案

在您的 MIDIReadBlock 中循环接收到的数据包。根据每个数据包的 MIDI 状态,将适当的设备事件(例如音符打开)发送到您的音频单元。

例如

osstatus = MusicDeviceMIDIEvent(audioUnit, midiCmd...

关于swift - 将 CoreMIDI 输入与 AVAudioUnit 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42894039/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com