Поверхности управления 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 control to synchronize. После того, как вы будете синхронизировать настраиваемые свойства со средствами управления MIDI, нажмите OK, чтобы завершить настройку. Если ваша поверхность управления MIDI двунаправлена, она автоматически переключает положение синхронизируемых средств управления к начальным значениям свойств, заданным вашим плагином.
Чтобы открыть функцию MATLAB с программируемым эквивалентом ваших действий в пользовательском интерфейсе, установите флажок Generate MATLAB Code. Сохранение этой функции позволяет вам снова использовать свои настройки и быстро установить настройку на будущих сеансах.
После того, как вы установите связи между сменными свойствами и средства управления MIDI, можно настроить свойства в режиме реального времени с помощью поверхности управления MIDI.
Audio Toolbox предоставляет единое приложение для выполнения и тестирования вашего аудио плагина. Испытательный стенд подражает, как DAW взаимодействует с плагинами.
Откройте Audio Test Bench для своего ctrlPitch
объект.
audioTestBench(ctrlPitch)
Когда вы настраиваете средства управления на своей поверхности MIDI, соответствующее сменное перемещение ползунков параметра. Щелкните, чтобы запустить плагин. Переместите средства управления в свою поверхность MIDI, чтобы услышать эффект о настройке сменных параметров.
Чтобы установить связи MIDI и изменить существующие единицы, нажмите кнопку Synchronize to MIDI Controls, чтобы открыть a 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)