Я не могу понять взаимосвязь между сообщением MIDI-контроллера 0x07 (общий канал громкости) и сообщением MIDI-контроллера 0x0B (громкость выражения). Я вижу, что последнее можно использовать для крещендо и диминуэндо, но, учитывая, что оно имеет значения от 0 до 127, каково значение по умолчанию и как эти значения соотносятся с первым?
Допустим, я фиксирую громкость для канала 1 на 100 с CC 0x07 в начале и никогда не меняю его. Как реализовать диминуэндо, периодически отправляя сообщения CC 0x0B? Какое первое значение CC 0x0B я должен отправить? 100 или 127, при условии, что выражение представляет собой процент от объема? А что, если вместо этого я хочу исполнить крещендо?
Из стандарта GM2:
3.3.6 Выражение (cc#11) Значение по умолчанию: 127 (7FH) [...] Изменяет громкость, установленную Volume Volume (cc#7) на указанном канале.
Примечание. Выражение (cc#11) и громкость канала (cc#7) используются для разных целей. Громкость канала (cc#7) следует использовать для установки общей громкости канала перед воспроизведением музыкальных данных, а также для микширования в стиле фейдерных движений, в то время как Expression (cc#11) следует использовать во время воспроизведения музыкальных данных, чтобы ослабить запрограммированные данные громкости MIDI (cc # 7), создавая таким образом диминуэндо и крещендо. Это позволяет слушателю постфактум отрегулировать относительное сочетание инструментов, не разрушая динамического выражения этого инструмента.
Используемая формула:
Усиление в дБ = (40 * log10(cc7/127)) + (40 * log10(cc11/127))
Итак: если вы хотите использовать любую динамику для каждого инструмента, значение контроллера по умолчанию 7f соответствует ffffffff (или как вы хотите называть самую громкую возможность: я просто слишком сильно соблазнился и должен был перевести 7f в семь fs), и вам, вероятно, придется сразу начать с чего-то меньшего.
фактический ответ находится в документах, которые вы можете скачать по адресу https://www.midi.org/specifications/item/general-midi-2 .
Громкость (7) по умолчанию равна 100, поэтому вы можете немного увеличить ее. Выражение (11) по умолчанию равно 127.
Громкость следует использовать один раз в начале дорожки/канала для установки общей громкости. Expression должен быть непрерывным контроллером для микширования, чтобы сделать крещендо/диминуэндо (если это не встроено в скорость нот). Эти 2 регулятора плюс скорость плюс мастер-громкость (по каналам) создают общее событие для громкости миди. Есть стандарт того, как они работают вместе, но я бы не стал полагаться на него, потому что не каждый синтезатор будет реагировать на этот алгоритм. Особенно старые аппаратные синтезаторы, которые могут даже не реагировать на 7, 11 или основную громкость.
Подводя итог, можно сказать, что миди — это самая запутанная, переработанная мусорная корзина оооооооочень стандартного SSS, с которой я когда-либо сталкивался. Лишь немногие производители придерживаются именно этого. Так что просто будьте готовы полностью испортить миди-файл, который у вас есть, чтобы получить синтезатор, который вам нужен, чтобы делать правильные вещи. Но, ну, это единственный известный мне "стандарт". И никто не пытался сделать лучше. Миди — это маленькое благословение и огромное проклятие.
Наспех сконструированный ответ...
Это два отдельных значения, оба по умолчанию равны 127.
Установка любого из них уменьшит громкость ниже 127.
127 для обоих — «максимальная громкость», все остальное — уменьшение, но может считаться «каналом» или «шиной» в зависимости от устройства. , влияющие на отправку до/после отправки.
Master vol со значением 100 и выражение со значением 120 такие же, как мастер со значением 120 и выражение со значением 100, поэтому на самом деле они взаимозаменяемы.
Некоторые машины реагируют так, как будто они на самом деле являются одним и тем же контроллером внутри, другие могут влиять на овердрайв или другие настройки плагинов, как если бы один был каналом, а другой главным элементом управления - эмпирически это единственный способ проверить.
[предостережение - раньше это была моя сильная сторона, но я уже 17 лет не в бизнесе]
и поскольку мой ответ и ответ пользователя 38161 были опубликованы с разницей в несколько секунд - в его ответе нет ничего неправильного, и его техническое объяснение является лучшим, но разные производители по-разному работают с фактической цепочкой сигналов]
Антонио Бонифати «Фермерский мальчик»
Тецуджин
Тецуджин
Антонио Бонифати «Фермерский мальчик»
Тецуджин