Я использую AVAudioUnitSampler для воспроизведения некоторых миди-звуков, у меня есть звуковое сопровождение, и вы успешно используете начальную ноту, остановите запись и примените midi-команды высоты тона. Теперь я пытаюсь включить команды aftertouch или давления, как это называется в AVFoundation.Команда Aftertouch/Pressure Midi не работает в AVFoundation
Так что мой код выглядит примерно так (упрощенно):
self.midiAudioUnitSampler.startNote(60, withVelocity: 60, onChannel: 0)
//some time later...
self.midiAudioUnitSampler.sendPressure(20, onChannel: 0)
Нота напевая прочь, но команды посыла давления, кажется, не имеют никакого влияния на звуковой выход. Я пробовал использовать давление отправки и sendPressureForKey и не повезло.
Что я делаю неправильно или я не понимаю, что такое sendPressure? Я ожидаю, что он изменит громкость записки после ее воспроизведения.
Btw У меня есть настройка, в которой воспроизводится нота, и у меня есть отдельный элемент управления, чтобы стрелять по давлению. Команды в образце в какое-то время после запуска воспроизведения заметок.
спасибо, что я пришел к тому же выводу тоже, я не думаю, что дешевые .sf2-файлы имеют эти данные там. Однако не знал о параметре 7, есть ли у вас хорошая ссылка на то, что обычно работает? –
К сожалению, я не знаю, но я обнаружил, что CC# 11 (выражение) также работает. Громкость (7) обычно используется только один раз в начале песни для каждого MIDI-канала, тогда как выражение (11) используется для создания динамического тома во время воспроизведения, например. крещендо. Sampler также реагирует на Pan (10), Sustain (64), Sostenuto (66), All Notes Off (120) и All Controllers Off (121). – bio