midicontrols

Откройте группу элементов управления MIDI для чтения

Описание

пример

midicontrolsObject = midicontrols возвращает объект, который прослушивает все элементы управления на устройстве MIDI по умолчанию.

Звонить midiread с целью возврата значений элементов управления на устройстве MIDI. Если вы звоните midiread перед перемещением элемента управления, midiread возвращает начальное значение вашего midicontrols объект.

пример

midicontrolsObject = midicontrols(controlNumbers) прослушивает элементы управления, заданные controlNumbers на устройстве MIDI по умолчанию.

пример

midicontrolsObject = midicontrols(controlNumbers,initialValues) задает initialValues связана с controlNumbers.

пример

midicontrolsObject = midicontrols(___,'MIDIDevice',deviceName) задает устройство MIDI ваше midicontrols объект прослушивает, используя любой из предыдущих синтаксисов.

пример

midicontrolsObject = midicontrols(___,'OutputMode',mode) задает область значений значений, возвращаемых midiread и принятый как initialValues для midicontrols и как controlValues для midisync.

Примеры

свернуть все

Создайте midicontrols Объектом и считайте значение по умолчанию.

midicontrolsObject = midicontrols
midiread(midicontrolsObject)
midicontrolsObject = 

midicontrols object: any control on 'BCF2000'

ans =

     0

Перемещайте любое управление на своем устройстве MIDI. Использовать midiread чтобы вернуть последнее значение последнего перемещенного элемента управления.

midiread(midicontrolsObject)
ans =

    0.3810

Использовать midiid для определения имени устройства MIDI и заданного элемента управления. Переместите элемент управления MIDI, который вы хотите идентифицировать.

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

Создайте объект, который реагирует на заданный вами элемент управления.

midicontrolsObject = midicontrols(controlNumber);

Переместите выбранный элемент управления MIDI, а затем используйте midiread для возврата последнего значения.

midicontrolsObject = midiread(midicontrolsObject);
ans =

    0.4048

Определите контрольные номера четырех различных элементов управления на вашем устройстве MIDI.

[controlNumber1,~] = midiid;
[controlNumber2,~] = midiid;
[controlNumber3,~] = midiid;
[controlNumber4,~] = midiid;

controlNumbers = [controlNumber1,controlNumber3;...
                  controlNumber2,controlNumber4]
Move the control you wish to identify; type ^C to abort.
Waiting for control message... done
Move the control you wish to identify; type ^C to abort.
Waiting for control message... done
Move the control you wish to identify; type ^C to abort.
Waiting for control message... done
Move the control you wish to identify; type ^C to abort.
Waiting for control message... done

controlNumbers =

        1081        1085
        1082        1087

Создайте midicontrols объект, который прослушивает указанные элементы управления. Задайте начальное значение для всех элементов управления.

initialValue = 0.5;
midicontrolsObject = midicontrols(controlNumbers,initialValue);

Переместите один из заданных элементов управления, а затем считайте последнее значение всех заданных элементов управления.

midiread(midicontrolsObject)
ans =

    0.0873    0.5000
    0.5000    0.5000

Определите контрольные номера двух различных элементов управления на вашем устройстве MIDI.

[controlNumber1,~] = midiid;
[controlNumber2,~] = midiid;

controlNumbers = [controlNumber1,controlNumber2];
Move the control you wish to identify; type ^C to abort.
Waiting for control message... done
Move the control you wish to identify; type ^C to abort.
Waiting for control message... done

Создайте midicontrols объект, который прослушивает указанные элементы управления. Задайте начальное значение для всех элементов управления.

initialValue = 12;
midicontrolsObject = midicontrols(controlNumbers,initialValue,'OutputMode','rawmidi');

Переместите один из заданных элементов управления, а затем считайте последнее значение всех заданных элементов управления.

midiread(midicontrolsObject)
ans =

    63    12

Предположим, что ваше устройство MIDI является BCF2000 Бехрингера. Введите этот синтаксис в MATLAB® командная строка:

setpref midi DefaultDevice BCF2000
Этот выбор сохраняется во всех сеансах работы с MATLAB. Вам не нужно устанавливать его снова, если вы не хотите изменить устройство по умолчанию.

Предположим, что ваше устройство MIDI является BCF2000 Behringer и имеет управление с идентификационным номером 1001. Создайте midicontrols объект, который прослушивает управляющий номер 1001 на вашем устройстве BCF2000 Behringer.

midicontrolsObject = midicontrols(1001,'MIDIDevice','BCF2000');

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

свернуть все

MIDI-устройство управляет номерами, заданными как целое число или массив целых чисел. Использовать midiid для интерактивной идентификации контрольных номеров вашего устройства. Смотрите MIDI Device Control Numbers для подробного объяснения того, как controlNumbers определяются.

Если вы задаете controlNumbers как пустой вектор, [ ], затем midicontrols объект реагирует на любое управление на вашем устройстве MIDI.

Пример: 1081

Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Начальные значения элементов управления MIDI, заданные как скаляр или массив того же размера, как controlNumbers. Если вы задаете initialValues в качестве скаляра все элементы управления, заданные как controlNumbers присвоены это значение.

Значение, сопоставленное с элементами управления MIDI, не может быть определено, пока вы не переместите элемент управления MIDI. Если вы задаете начальное значение, сопоставленное с вашим управлением MIDI, начальное значение возвращается midiread выполнять функцию до тех пор, пока не будет перемещено управление MIDI.

  • Если OutputMode задается как 'normalized', тогда начальные значения должны быть в области значений [0,1]. Фактические начальные значения квантуются и могут немного отличаться от начальных значений, заданных при midicontrols создается объект.

  • Если OutputMode задается как 'rawmidi', тогда начальные значения должны быть целыми числами в области значений [0,127]

Пример: 0.3

Пример: [0,0.3,0.6]

Пример: 5

Пример: [5;15;20]

Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Имя устройства, присвоенное производителем устройства или операционной системой хоста в виде строки. Заданное deviceName может быть подстрокой точного имени вашего устройства. Если вы не задаете deviceNameиспользуется устройство MIDI по умолчанию. Пример определения устройства MIDI по умолчанию см. в разделе Установка устройства MIDI по умолчанию.

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

Пример: 'MIDIDevice','BCF2000 MIDI 1'

Типы данных: char | string

Выходной режим для значения управления MIDI, заданный как 'normalized' или 'rawmidi'.

  • 'normalized' - Значения вашего управления MIDI нормированы. Если ваш midicontrols вызывается midiread, затем возвращаются значения в области значений [0,1].

  • 'rawmidi' - Значения вашего управления MIDI не нормированы. Если ваш midicontrols вызывается midireadзатем возвращаются целочисленные значения в области значений [0,127].

Пример: 'OutputMode','normalized'

Пример: 'OutputMode','rawmidi'

Типы данных: char | string

Выходные аргументы

свернуть все

Объект, который слушает элементы управления на устройстве MIDI.

Подробнее о

свернуть все

Номера управления устройством MIDI

MATLAB определяет MIDI device control numbers как (MIDI Channel Number) × 1000 + (MIDI Controller Number).

  • MIDI Channel Number - это канал передачи, который используется вашим устройством для отправки сообщений. Это значение находится в области значений 1-16.

  • MIDI Controller Number - это номер, присвоенный отдельному элементу управления на устройстве MIDI. Это значение находится в области значений 1-127.

Ваше устройство MIDI определяет значения MIDI Channel Number и MIDI Controller Number.

Введенный в R2016a