Поверхности управления 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)