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

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

Когда вы настраиваете элементы управления на поверхности MIDI, соответствующие ползунки параметров плагина перемещаются. Щелкните
, чтобы запустить плагин. Переместите элементы управления на поверхности MIDI, чтобы услышать эффект настройки параметров плагина.
Чтобы установить соединения MIDI и изменить существующие таковые, нажмите
кнопку «Синхронизировать с MIDI Controls», чтобы открыть configureMIDI UI.
Также можно использовать соединения 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)