configureMIDI

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

Синтаксис

configureMIDI(audioObject)
configureMIDI(audioObject,propertyName)
configureMIDI(audioObject,propertyName,controlNumber)
configureMIDI(audioObject,propertyName,controlNumber,'DeviceName',deviceNameValue)

Описание

пример

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.ParametricEqualizer;
    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.ParametricEqualizer;
    configureMIDI(parametricEQPlugin);
  2. В пользовательском интерфейсе выберите свойство синхронизироваться с вашим MIDI-устройством по умолчанию.

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

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

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

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

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

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

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

parametricEQPlugin = audiopluginexample.ParametricEqualizer;

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

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

controlNumber =

        1003


device =

nanoKONTROL2

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

configureMIDI(parametricEQPlugin,'CenterFrequency1',controlNumber);

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

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

parametricEQPlugin = audiopluginexample.ParametricEqualizer;

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

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

controlNumber =

        1003


device =

nanoKONTROL2

Используйте 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