gpt4 book ai didi

ios - 在 iOS 上使用 midi 演奏打击乐器

转载 作者:行者123 更新时间:2023-11-28 06:47:36 25 4
gpt4 key购买 nike

我有一个可以处理多种 MIDI 乐器的应用程序。除了演奏打击乐器外,一切都很好。我知道为了在 General MIDI 中演奏打击乐,您必须将事件发送到 channel 10。我尝试了很多不同的东西,但我不知道如何让它工作,这是我如何工作的一个例子我正在为旋律乐器和打​​击乐器做这件事。

    // Melodic instrument
MusicDeviceMIDIEvent(self.samplerUnit, 0x90, (UInt8)pitch, 127, 0);

// Percussion Instruments
MusicDeviceMIDIEvent(self.samplerUnit, 0x99, (UInt8)pitch, 127, 0);

采样器单元是一个 AudioUnit,音高通过我的 UI 以 int 形式给出。

提前致谢!

最佳答案

假设您加载了某种通用 MIDI 声音字体或类似字体,您需要在发送音高/速度信息之前设置正确的状态字节。因此,如果是标准 MIDI 鼓组( channel 9),您将在 Swift 中执行类似的操作:

var status  = OSStatus(noErr)
let drumCommand = UInt32( 0xC9 | 0 )
let noteOnCommand = UInt32(0x90 | channel)
status = MusicDeviceMIDIEvent(self._samplerUnit, drumCommand, 0, 0, 0) // set device
status = MusicDeviceMIDIEvent(self._samplerUnit, noteOnCommand, noteNum, velocity, 0) // sends note ON message

无需为 MIDI note off 消息做任何特别的事情。

关于ios - 在 iOS 上使用 midi 演奏打击乐器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35879102/

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