Управляющие поверхности MIDI обычно используются в сочетании с аудиоплагинами в среде цифровой звуковой рабочей станции (DAW). Синхронизация элементов управления MIDI с параметрами плагина обеспечивает ощутимый интерфейс для обработки звука и является эффективным подходом к настройке параметров.
В среде MATLAB ® аудиоплагины определяются как любой допустимый класс, производный от audioPlugin базовый класс или audioPluginSource базовый класс. Дополнительные сведения об определении аудиоплагинов в среде MATLAB см. в разделе Аудиоплагины в MATLAB.
Продукт Audio Toolbox™ предоставляет три функции для включения интерфейса между управляющими поверхностями MIDI и аудиоплагинами:
configureMIDI - Настройте MIDI-соединения между аудиоплагином и MIDI-контроллером.
getMIDIConnections - Получить MIDI подключения аудио плагина.
disconnectMIDI - Отключите элементы управления MIDI от аудиоплагина.
Эти функции объединяют способности общих MIDI-функций в оптимизированный и удобный для пользователя интерфейс, подходящий для аудиоплагинов в MATLAB. Учебное пособие по общим функциям и протоколу MIDI см. в разделе Интерфейс управляющей поверхности MIDI.
В этом учебном пособии рассматриваются функции MIDI для аудиоплагинов в MATLAB.

Перед запуском MATLAB подключите поверхность управления MIDI к компьютеру и включите ее. Инструкции по подключению см. в инструкциях для устройства MIDI. Если запустить MATLAB перед подключением устройства, MATLAB может не распознать устройство при его подключении. Чтобы устранить проблему, перезапустите MATLAB с уже подключенным устройством.
Использовать configureMIDI для установления MIDI-соединений между устройством MIDI по умолчанию и аудиоплагином. Вы можете использовать configureMIDI программно или можно открыть пользовательский интерфейс (UI), который поможет вам пройти через процесс. configureMIDI Пользовательский интерфейс считывает данные из аудиоплагина и заполняет раскрывающийся список настраиваемых свойств плагина. Появится запрос на перемещение отдельных элементов управления на поверхности управления MIDI, чтобы связать положение каждого элемента управления с нормализованным значением каждого выбранного свойства. Например, создать объект audiopluginexample.PitchShifter а затем позвонить configureMIDI с объектом в качестве аргумента:
ctrlPitch = audiopluginexample.PitchShifter; configureMIDI(ctrlPitch)
Откроется диалоговое окно Синхронизировать с элементами управления MIDI с настраиваемыми свойствами подключаемого модуля. При работе с элементом управления MIDI его идентификация вводится в элемент управления Operate MIDI для синхронизации. После синхронизации настраиваемых свойств с элементами управления MIDI нажмите кнопку ОК, чтобы завершить настройку. Если поверхность управления MIDI двунаправленная, она автоматически сдвигает положение синхронизированных элементов управления на исходные значения свойств, заданные плагином.
![]()
Чтобы открыть функцию MATLAB с программным эквивалентом действий в интерфейсе пользователя, установите флажок Создать код MATLAB. Сохранение этой функции позволяет повторно использовать настройки и быстро устанавливать конфигурацию в будущих сеансах.
После установления соединений между свойствами плагина и элементами управления MIDI, вы можете настроить свойства в реальном времени с помощью вашей поверхности управления MIDI.
Audio Toolbox предоставляет универсальное приложение для запуска и тестирования аудиоплагина. Испытательный стенд имитирует взаимодействие DAW с плагинами.
Откройте стенд аудиотестирования для ctrlPitch объект.
audioTestBench(ctrlPitch)

При настройке элементов управления на поверхности MIDI перемещаются соответствующие ползунки параметров плагина. Щелкните
, чтобы запустить подключаемый модуль. Переместите элементы управления на поверхность MIDI, чтобы услышать эффект настройки параметров плагина.
Чтобы установить MIDI-соединения и изменить существующие, нажмите кнопку Синхронизировать с MIDI-элементами управления
, чтобы открыть configureMIDI ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС.
Кроме того, можно использовать соединения MIDI, установленные в сценарии или функции. Например, выполните следующий код и переместите синхронизированные элементы управления MIDI, чтобы услышать эффект сдвига основного тона:
fileReader = dsp.AudioFileReader(... 'Filename','Counting-16-44p1-mono-15secs.wav'); deviceWriter = audioDeviceWriter; % Audio stream loop while ~isDone(fileReader) input = fileReader(); output = ctrlPitch(input); deviceWriter(output); drawnow limitrate; % Process callback immediately end release(fileReader); release(deviceWriter);
Для запроса соединений MIDI, установленных с аудиоплагином, используйте getMIDIConnections функция. getMIDIConnections возвращает структуру с полями, соответствующими настраиваемым свойствам плагина. Соответствующие значения представляют собой вложенные структуры, содержащие информацию о сопоставлении между свойством плагина и указанным элементом управления MIDI.
connectionInfo = getMIDIConnections(ctrlPitch)
connectionInfo =
struct with fields:
PitchShift: [1×1 struct]
Overlap: [1×1 struct]connectionInfo.PitchShift
ans =
struct with fields:
Law: 'int'
Min: -12
Max: 12
MIDIControl: 'control 1081 on 'BCF2000''Рекомендуется по завершении выпускать внешние устройства, такие как управляющие поверхности MIDI.
disconnectMIDI(ctrlPitch)