exponenta event banner

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 Behringer. Введите следующий синтаксис в командной строке MATLAB ®:

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

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

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

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

свернуть все

Управляющие номера устройств MIDI, заданные как целое число или массив целых чисел. Использовать midiid для интерактивной идентификации контрольных номеров устройства. Дополнительные сведения о том, как это сделать, см. в разделе Контрольные номера устройств MIDI 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

Имя устройства MIDI, назначенное производителем устройства или операционной системой хоста, указанное в виде строки. Указанное 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 как (номер канала MIDI) × 1000 + (номер контроллера MIDI).

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

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

Устройство MIDI определяет значения номера канала MIDI и номера контроллера MIDI.

Представлен в R2016a