Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Контроллеры общего назначения




Четыре сообщения General Purpose Controller (1, 2, 3, 4) из блока непрерывных контроллеров высокого разрешения, как следует из названия, могут управлять любой функцией устройства. Часто эти сообщения генерируются слайдерами, фейдерами и прочими ползунками, поэтому некоторые их называют General Purpose Slider.

Аналогичные им четыре сообщения General Purpose Controller (5, 6, 7, 8) находятся в блоке непрерывных контроллеров низкого разрешения.

RPN


Параметр Pitch Bend Sensitivity (имеет номер 0) задает чувствительность звуковысотного колеса. А если точнее — диапазон изменения высоты тона от центрального значения. В MSB передаются полутона, в LSB — в центы. Например, для настройки диапазона в +/-3 полутона и 8 центов (на первом MIDI-канале) последовательность байт показана на рис. 48. Если центы не важны, посылать LSB не нужно.

Параметр Channel Fine Tuning(номер 1)раньше назывался просто Fine Tuning. С помощью него можно подстроить высоту тона для звучащей на канале программы в центах. Значение 8192 (0x2000) означает стандартную настройку (то есть нота Ля первой октавы имеет частоту 440 Гц). Значение 0 — строй понижается на 100 центов, 16383 (0x7F7F) — повышается на 100 центов.

Типичный пример. Мы работаем на седьмом MIDI-канале и хотим понизить строй партии на 15 центов. Рассчитаем, какое значение должно быть у RPN номер 1. Стандартной настройке соответствует значение 8192, понижению на 100 центов — 0. Стало быть, для понижения партии на 15 центов нужно 8192 умножить на 15/100. Получится 1228,8. Дробную часть мы передать не можем, поэтому округляем до 1229. Преобразуем это число в MSB и LSB: MSB = 1229 / 128 = 9, LSB = 1229 - (9 x 128) = 77. Последовательность байт показана на рис. 49.

Теперь, если понадобится изменить настройку на 1, можно воспользоваться контроллером Data Increment, а не посылать MSB и LSB заново (рис. 50). Контроллер Data Increment/Decrement работает по отношению к тому RPN, который последний подвергался настройке (если последним был NRPN, то по отношению к нему).

Параметр Channel Coarse Tuning(номер 2)раньше назывался Coarse Tuning. С помощью него строй партии можно менять шагами по 100 центов (т. е. в полутонах). Используется только MSB: значение 64 (0x40) означает стандартную настройку, значение 0 — строй понижается на 6400 центов (64 полутона), 127 (0x7F) — повышается на 6300 центов (63 полутона).

Параметры с номерами 3 и 4 (Tuning Program Change и Tuning Bank Select соответственно) используются в устройствах, которые отвечают спецификации MIDI Tuning (рассмотрим ее в отдельной статье). Так же, как и тембры, строи организуются в программы и банки. RPN 3 и 4 работают по аналогии с сообщениями Program Change и Bank Select, то есть позволяют выбрать для канала конкретный строй.

Наконец, предусмотрен служебный параметр RPN Reset (номер 16383). Представьте такую ситуацию: вы выбрали RPN номер 1 для тонкой подстройки партии. После чего установили какое-либо значение в центах (путем использования контроллеров Data Entry или Data Increment/Decrement) и спокойно продолжаете работать. Тон-генератор все это время считает текущим RPN номер 1, и будет так считать до тех пор, пока явно не задать новый RPN контроллерами RPN MSB и RPN LSB.

Если в то время, пока активен RPN номер 1, случайно будет изменен контроллер Data Entry или Data Increment/Decrement, то у вас собьется настройка партии! Для страховки от подобных случайностей и придуман параметр RPN Reset. После его применения контролеры Data Entry и Data Increment/Decrement как бы отключаются от последнего активного RPN. Обычно рекомендуется всегда посылать RPN Reset после завершения настройки какого-либо RPN. На всякий случай.

Пример использования RPN Reset на первом MIDI-канале при понижении стандартной настройки на полутон показан на рис. 51.

Ну что ж, все сообщения канала мы рассмотрели. В следующей статье поговорим о системных сообщениях, работе приемных и передающих устройств и методах оптимизации при передаче сообщений

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.