gpt4 book ai didi

ios - 如何阻止 soundfont MusicDeviceMIDIEvent 在 iOS 上完成

转载 作者:行者123 更新时间:2023-11-29 12:49:35 28 4
gpt4 key购买 nike

我有一个应用成功地使用 AUSamplerGraph 来播放 soundfont 声音。

主音是吉他。

如果在同一根弦上弹奏“​​较低”的音符,我会停止播放前一个音符。默认行为就像拨弦一样,它会响起直到消失。

发送音符关闭事件,声音仍然逐渐减弱。
以 0 的音量发送一个音符,声音仍然逐渐减弱。

UInt32 onVelocity = loudness;
UInt32 noteCommand = kMIDIMessage_NoteOn << 4 | 0;

OSStatus osStatus;

osStatus = MusicDeviceMIDIEvent(self.samplerUnitGuitar, noteCommand, noteNbr, onVelocity, 0);


尝试了很多东西。模式方法似乎不起作用。 AUSampler 似乎没有实现该控制。

AudioUnitReset//成功了。

最佳答案

澄清一下,您想在发送 Note Off 后停止音符衰减?

据我所知,执行此操作的唯一方法是发送带有 All Sound Off 的控制/模式更改消息.不幸的是,这将杀死当前正在该 channel 上播放的任何音符。 (并且 MusicDevice AudioUnits 只响应一个 channel 。)但它有效。

UInt8 kMIDIMessage_ControlModeChange = 0xB0;
UInt8 kMIDIMessage_ControlTypeAllSoundOff = 0x78;

MusicDeviceMIDIEvent(sampler, kMIDIMessage_ControlModeChange, kMIDIMessage_ControlTypeAllSoundOff, 0, 0);

关于ios - 如何阻止 soundfont MusicDeviceMIDIEvent 在 iOS 上完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22735890/

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