Ios 后触摸/压力Midi命令在AVFoundation中不工作

Ios 后触摸/压力Midi命令在AVFoundation中不工作,ios,swift,avfoundation,midi,coremidi,Ios,Swift,Avfoundation,Midi,Coremidi,我正在使用AVAudioUnitSampler播放一些midi声音,我加载了soundfont,并成功地使用了开始音符、停止音符和应用俯仰弯曲midi命令。我现在正试图合并后触摸或压力命令,因为它在AVFoundation中被称为 因此,我的代码大致如下(简化): 音符嗡嗡作响,但发送压力命令似乎对声音输出没有影响。我试过使用send pressure和send pressure Markey,但没有成功 我做错了什么,或者我误解了sendPressure的所作所为?我希望它在演奏后会改变音符的

我正在使用AVAudioUnitSampler播放一些midi声音,我加载了soundfont,并成功地使用了开始音符、停止音符和应用俯仰弯曲midi命令。我现在正试图合并后触摸或压力命令,因为它在AVFoundation中被称为

因此,我的代码大致如下(简化):

音符嗡嗡作响,但发送压力命令似乎对声音输出没有影响。我试过使用send pressure和send pressure Markey,但没有成功

我做错了什么,或者我误解了sendPressure的所作所为?我希望它在演奏后会改变音符的音量


顺便说一句,我有一个播放音符的设置,我有一个单独的控件,可以在音符播放开始后的某个时间向样本发送压力命令。

我猜采样器不知道如何处理触摸后的消息。如果要更改音符的音量(以及播放的任何其他音符),可以将值发送到参数7(音量):


根据我的经验,我感觉采样器确实对MIDI控制器7做出了响应。

谢谢,我也得出了同样的结论,我认为便宜的.sf2文件中没有这些数据。虽然我不知道参数7,但你有正常工作的参考资料吗?不幸的是,我不知道,但我发现CC#11(表达式)也可以工作。对于每个MIDI通道,音量(7)通常仅在歌曲开始时使用一次,而表达式(11)用于在播放时创建动态音量,例如渐强。取样器还对Pan(10)、SUPAIN(64)、Sostenuto(66)、All Notes Off(120)和All Controllers Off(121)做出反应。
self.midiAudioUnitSampler.startNote(60, withVelocity: 60, onChannel: 0)
//some time later... 
self.midiAudioUnitSampler.sendPressure(20, onChannel: 0)
self.midiAudioUnitSampler.sendController(7, withValue: 20, onChannel: 0)