Русский

Как работает MIDI pitch bend?

Загрузить InputConfig в Mac App StoreInputConfig бесплатно доступен в Mac App Store. macOS 14 или новее, без учётной записи, без отслеживания, открытый исходный код.

Pitch bend это отдельное сообщение MIDI, а не Control Change. Оно несёт одно значение от 0 до 16383: 8192 значит отсутствие изгиба, 0 это полностью вниз, а 16383 полностью вверх. Сообщение говорит, насколько сдвинуто колесо, а не на сколько полутонов изгибать звук. Расстояние решает принимающий звук, и обычно по умолчанию это два полутона в каждую сторону.

Я делаю InputConfig, бесплатное приложение для Mac, которое читает колёса высоты тона и отправляет pitch bend со стика игрового контроллера. Об этом последний раздел.

Шаги

  1. Подвигайте колесо высоты тона и следите за значением в мониторе MIDI: в покое оно стоит в центре и возвращается туда после отпускания.
  2. Задайте диапазон изгиба на принимающем инструменте, в полутонах.
  3. Если высота тона не возвращается в норму, проверьте, что значение покоя у колеса равно центру.

Прочитайте сообщение

ЧастьЗначениеСмысл
Байт статуса0xE0 до 0xEFPitch Bend, на каналах от 1 до 16
Первый байт данныхОт 0 до 127Точная половина значения
Второй байт данныхОт 0 до 127Грубая половина значения

Две половины соединяются в одно 14-битное число. У pitch bend 16 384 шага там, где у Control Change 128, поэтому изгиб звучит плавно.

Узнайте значения

ЗначениеЗаписывают такжеСмысл
0-8192Полный изгиб вниз
81920Центр, без изгиба
16383+8191Полный изгиб вверх

Одни инструменты показывают исходное значение от 0 до 16383, а другие вычитают 8192 и показывают от -8192 до 8191. Колесо в покое должно показывать ровно центр. MIDI-тестер показывает наименьшее и наибольшее значение, до которых доходит колесо, а колесо, которое в покое стоит не по центру, уплывает, как изношенный стик.

Задайте диапазон изгиба на принимающей стороне

Сообщение несёт положение, а инструмент превращает его в высоту тона. При диапазоне в два полутона полностью вверх это два полутона выше. При двенадцати то же движение колеса даёт октаву. У большинства инструментов есть настройка диапазона pitch bend, а устройства General MIDI по умолчанию ставят два полутона.

Если колесо изгибает слишком сильно или недостаточно, меняйте диапазон на инструменте, а не на клавиатуре.

Отличите его от колеса модуляции

Два колеса на клавиатуре отправляют сообщения разного вида. Колесо высоты тона возвращается пружиной в центр и отправляет Pitch Bend. Колесо модуляции остаётся там, где вы его оставили, и отправляет CC 1 со 128 шагами. Номера CC для pitch bend нет, потому что это не CC. Колесо модуляции и остальное описаны в списке MIDI CC.

Изгибайте стиком игрового контроллера

Стик возвращается пружиной в центр, как колесо высоты тона, поэтому он естественно подходит для изгиба. В InputConfig привяжите ось стика к Pitch Bend, и изгиб будет идти за стиком. С кнопки он изгибает полностью вверх, пока кнопка зажата, и возвращается в центр при отпускании. Работает и в обратную сторону: колесо высоты тона клавиатуры может быть входом. Оно привязывается в плюс и минус, как ось стика, поэтому толчок вверх и натяжение вниз могут выполнять на Mac две разные задачи. Стик даёт контроллеру то единственное, чего не хватает его кнопкам: изгиб. Настройка описана на странице Вывод MIDI.

Коротко

  • Сообщение. Статус 0xE0 плюс канал, затем два байта данных, которые дают одно число.
  • Значения. Они идут от 0 внизу через 8192 в центре до 16383 вверху.
  • Расстояние. Задаётся на принимающем инструменте, обычно два полутона.

Колесо отправляет положение, а что оно значит, решает инструмент.

Вопросы

Какой номер MIDI CC у pitch bend?

Никакого. Pitch bend это отдельное сообщение со своим байтом статуса, 0xE0 плюс канал, и 14-битным значением. Колесо модуляции рядом с ним это CC 1.

Каковы значения MIDI pitch bend?

От 0 до 16383. Центр, то есть отсутствие изгиба, это 8192. Некоторые инструменты показывают тот же диапазон как от -8192 до 8191 с нулём в центре.

Каков диапазон pitch bend по умолчанию?

Два полутона вверх и два вниз на устройствах General MIDI. В большинстве инструментов диапазон можно изменить в их собственных настройках.

Почему высота тона застряла выше или ниже?

Инструмент в последний раз получил значение pitch bend, не равное центру. Подвигайте колесо и дайте ему вернуться пружиной или отправьте значение центра. Колесо, которое в покое стоит не по центру, нужно почистить или починить.

Pitch bend 7-битный или 14-битный?

14-битный. Он использует два байта данных, которые объединяются в одно значение с 16 384 шагами.

Ещё на русском

Подробные руководства на английском

Кто это пишет. Ryleigh Newman разрабатывает InputConfig и каждый день управляет своим Mac с помощью геймпада, потому что руки плохо слушаются. Эта страница переведена с английского. Если на Mac выбран русский язык, основные кнопки и меню приложения показываются по-русски; на этой странице они названы так же, с английским названием в скобках. Остальная часть приложения и сайта на английском языке.

Эта страница на других языках: English, العربية, Čeština, Dansk, Deutsch, Español, Suomi, Français, עברית, Magyar, Bahasa Indonesia, Italiano, 日本語, 한국어, Norsk, Nederlands, Polski, Português, Slovenčina, Svenska, ไทย, Türkçe, Українська, Tiếng Việt, 繁體中文, 简体中文

Загрузить InputConfig в Mac App StoreБесплатно. macOS 14 или новее. Без учётной записи, ничего не покидает ваш Mac. Исходный код на GitHub.