Сконфигурируйте соединения MIDI между аудио объекта и MIDI контроллера
configureMIDI( открывает пользовательский интерфейс строения MIDI (UI). Используйте пользовательский интерфейс для синхронизации параметров плагина, audioObject)audioObject, в элементы управления MIDI на устройстве MIDI по умолчанию. Можно также сгенерировать MATLAB® код, соответствующий строению MIDI, разработанный с использованием configureMIDI UI.
Чтобы задать устройство по умолчанию, введите этот синтаксис в командной строке:
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