Настройка соединений MIDI между аудиообъектом и контроллером MIDI
configureMIDI( открывает интерфейс пользователя конфигурации MIDI (UI). Используйте пользовательский интерфейс для синхронизации параметров плагина, audioObject)audioObject, к элементам управления MIDI на устройстве MIDI по умолчанию. Также можно создать код MATLAB ®, соответствующий конфигурации MIDI, разработанной с помощью configureMIDI ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС.
Чтобы установить устройство по умолчанию, введите следующий синтаксис в командной строке:
setpref midi DefaultDevice deviceNameValue
deviceNameValue - имя устройства MIDI, назначенное производителем устройства или операционной системой хоста. Использовать midiid чтобы получить имя устройства, соответствующее устройству MIDI.
configureMIDI( делает свойство, audioObject,propertyName)propertyName, ответьте на любой элемент управления на устройстве MIDI по умолчанию.
configureMIDI( делает свойство ответным на элемент управления MIDI, указанный audioObject,propertyName,controlNumber)controlNumber.
configureMIDI( делает свойство ответным на элемент управления MIDI, указанный audioObject,propertyName,controlNumber,'DeviceName',deviceNameValue)controlNumber на устройстве, указанном deviceNameValue.
Для соединений 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, timescope, или dsp.ArrayPlot, drawnow команда не требуется.
audioPlugin | disconnectMIDI | getMIDIConnections | midicallback | midicontrols | midiid | midiread | midisync