configureMIDI

Сконфигурируйте связи MIDI между аудио объектным и MIDI-контроллером

Описание

пример

configureMIDI(audioObject) открывает пользовательский интерфейс (UI) настройки MIDI. Используйте пользовательский интерфейс, чтобы синхронизировать параметры плагина, audioObject, к MIDI управляет на вашем MIDI-устройстве по умолчанию. Можно также сгенерировать код MATLAB®, соответствующий разработанному использованию настройки MIDI configureMIDI ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС.

Чтобы установить ваше устройство по умолчанию, введите этот синтаксис в командной строке:

setpref midi DefaultDevice deviceNameValue

deviceNameValue имя MIDI-устройства, присвоенное производителем устройств или хостовой операционной системой. Используйте midiid получить имя устройства, соответствующее вашему MIDI-устройству.

пример

configureMIDI(audioObject,propertyName) делает свойство, propertyName, ответьте на любое управление на MIDI-устройстве по умолчанию.

пример

configureMIDI(audioObject,propertyName,controlNumber) заставляет свойство ответить на управление MIDI, заданное controlNumber.

пример

configureMIDI(audioObject,propertyName,controlNumber,'DeviceName',deviceNameValue) заставляет свойство ответить на управление MIDI, заданное controlNumber на устройстве, заданном deviceNameValue.

Примеры

свернуть все

  1. Откройте настройку MIDI пользовательский интерфейс для объекта плагина параметрического эквалайзера.

    parametricEQPlugin = audiopluginexample.ParametricEqualizerWithUDP;
    configureMIDI(parametricEQPlugin)
  2. В пользовательском интерфейсе выберите свойство синхронизироваться с вашим MIDI-устройством по умолчанию.

  3. На вашем MIDI-устройстве управляйте управлением, которое вы хотите синхронизировать с выбранным сменным свойством. Управление появляется в поле Operate MIDI control to synchronize.

  4. Повторите шаги 2 и 3 по мере необходимости, чтобы синхронизировать несколько свойств с несколькими средствами управления MIDI.

    Отключать свойство и управление, в настоящее время отображенное на вашем configureMIDI Пользовательский интерфейс, нажмите Reset Control.

  5. Нажмите OK.

    Заданные средства управления MIDI и свойства и теперь синхронизировались.

Сгенерируйте код MATLAB, соответствующий разработанному использованию настройки MIDI configureMIDI Пользовательский интерфейс. Можно встроить код MATLAB в симуляцию так, чтобы вы не должны были вновь открыть пользовательский интерфейс, чтобы восстановить ваши выбранные связи MIDI.

  1. Откройте настройку MIDI пользовательский интерфейс для объекта плагина параметрического эквалайзера.

    parametricEQPlugin = audiopluginexample.ParametricEqualizerWithUDP;
    configureMIDI(parametricEQPlugin)
  2. В пользовательском интерфейсе выберите свойство синхронизироваться с вашим MIDI-устройством по умолчанию.

  3. На вашем MIDI-устройстве управляйте управлением, которое вы хотите синхронизировать с выбранным сменным свойством. Управление появляется в поле Operate MIDI control to synchronize.

  4. Установите флажок Generate MATLAB Code.

  5. Нажмите OK. Сгенерированный код MATLAB соответствует настройке MIDI, которую вы разработали.

Заставьте сменное свойство ответить на любое управление на вашем MIDI-устройстве по умолчанию.

parametricEQPlugin = audiopluginexample.ParametricEqualizerWithUDP;
configureMIDI(parametricEQPlugin,'CenterFrequency1');

Заставьте сменное свойство ответить на определенное управление MIDI на вашем MIDI-устройстве по умолчанию.

Создайте объект аудио сменного примера audiopluginexample.ParametricEqualizerWithUDP.

parametricEQPlugin = audiopluginexample.ParametricEqualizerWithUDP;

Используйте midiid чтобы идентифицировать MIDI управляют, чтобы синхронизироваться с вашим свойством.

[controlNumber,device] = midiid
Move the control you wish to identify; type ^C to abort.
Waiting for control message... done

controlNumber =

        1083


device =

    'BCF2000'

Используйте configureMIDI синхронизировать ваше выбранное управление MIDI, заданное controlNumber, со свойством.

configureMIDI(parametricEQPlugin,'CenterFrequency1',controlNumber);

Заставьте сменное свойство ответить на любое управление на вашем MIDI-устройстве по умолчанию.

Создайте объект аудио сменного примера, audiopluginexample.ParametricEqualizerWithUDP.

parametricEQPlugin = audiopluginexample.ParametricEqualizerWithUDP;

Используйте midiid чтобы идентифицировать определенный MIDI управляют на определенном MIDI-устройстве.

[controlNumber,device] = midiid
Move the control you wish to identify; type ^C to abort.
Waiting for control message... done

controlNumber =

        1087


device =

    'BCF2000'

Используйте configureMIDI синхронизировать свойство с вашим выбранным управлением MIDI, заданным controlNumber, на вашем выбранном MIDI-устройстве, заданном device.

configureMIDI(parametricEQPlugin,'CenterFrequency1',controlNumber,'DeviceName',device)

Входные параметры

свернуть все

Аудио сменная или совместимая Система object™ в виде объекта, который наследовался audioPlugin класс или объект совместимого Системного объекта Audio Toolbox™.

Имя свойства объекта в виде вектора символов. Введите имя свойства точно так же, как оно задано в разделе свойства вашего аудио плагина или Системного объекта Audio Toolbox.

Контрольное число MIDI-устройства в виде целого числа. Значение присвоено управлению производителем устройств. Это используется в идентификационных целях.

Имя MIDI-устройства, присвоенное производителем устройств или хостовой операционной системой в виде вектора символов. Если вы не задаете имя MIDI-устройства, MIDI-устройство по умолчанию используется.

Ограничения

Для связей MIDI, установленных configureMIDI, перемещение управления MIDI отправляет коллбэк, чтобы обновить связанные значения свойств. Чтобы синхронизировать ваше MIDI-устройство в цикле аудиопотока, вы можете должны быть использовать drawnow команда для коллбэка к процессу сразу. Для КПД используйте drawnow limitrate синтаксис.

Например, чтобы синхронизировать ваше MIDI-устройство и аудио объект, не прокомментируйте drawnow limitrate команда из этого кода:

fileReader = dsp.AudioFileReader('Filename','RockDrums-44p1-stereo-11secs.mp3');
deviceWriter = audioDeviceWriter;
dRC = compressor;

configureMIDI(compressor,'Threshold')

while ~isDone(fileReader)
    input = fileReader();
    output = dRC(input);
    deviceWriter(output);
%     drawnow limitrate;
end

release(fileReader);
release(deviceWriter);

Если ваш цикл аудиопотока включает данные о визуализации по осциллографу, такому как dsp.SpectrumAnalyzer, dsp.TimeScope, или dsp.ArrayPlot, drawnow команда не требуется.

Введенный в R2016a