Expression Maps: точная настройка воспроизведения в Dorico | Soundmain - Библиотека для звукорежиссеров и любителей

Expression Maps: точная настройка воспроизведения в Dorico

  • Автор темы Автор темы ieshua
  • Дата начала Дата начала

ieshua

Старожил
2019
565
19
Expression Maps — ключевой инструмент для связывания нотных обозначений и игровых приёмов с конкретными событиями MIDI у ваших виртуальных инструментов (keyswitch, program change, CC). Ниже — практическое руководство по созданию, привязке и отладке собственных Expression Map для оркестровых библиотек.

Что нужно понимать перед началом
  • В Dorico артикуляции и Playback Techniques в нотном материале триггерят события воспроизведения только если у игрока назначена подходящая Expression Map.
  • Expression Map не содержит звуков: она сообщает VST, какие MIDI-сообщения отправлять для переключения режимов.
  • Часто используются: keyswitches (тут тонально-завязанные переключатели), program changes (банальные переключения пресетов), и контроллеры (CC для crossfade/legato/volume).

Пошаговая настройка (общая последовательность)
1. Подготовка VST-инструмента
- В режиме Play добавьте и загрузите нужный VST-инструмент и набор сэмплов.
- Убедитесь, что инструмент отвечает на keyswitches/program changes выбранного диапазона/канала.

2. Создание Expression Map
- В Play Mode найдите панель Expression Maps (или через меню Play → Expression Maps).
- Нажмите "Новый" и задайте имя карты (например, "Spitfire Strings Basic").

3. Добавление техник
- Внутри карты создайте записи для каждой техники: legato, sustain, spiccato, pizzicato, marcato и т.д.
- Для каждой техники укажите тип MIDI-сообщения: Keyswitch (Pitch), Program Change (PC), или CC (номер контроллера и значение).

4. Привязка карты к игроку
- В списке Players выберите игрока (например, Violin I) и в секции воспроизведения выберите созданную Expression Map.
- Назначьте канал/порт, если требуется отдельный MIDI-канал.

Пример таблицы маппинга (упрощённый)
Код:
Technique        Type        Channel  Value
Legato           Keyswitch     1      C#2 (37)
Sustain          Program Ch    1      PC 34
Spiccato         Keyswitch     1      D2  (38)
Pizzicato        CC            1      CC#20 = 127
Marcato          Keyswitch     1      B1  (35)
Практические советы
  • Используйте уникальные keyswitch-ноты, не пересекающиеся с нотно́й партией (обычно ниже минимума партии).
  • Если библиотека использует комбинации (например, keyswitch + CC), создавайте соответствующие правила в одной технике.
  • Для гибкости создайте несколько Expression Maps под разные стили библиотеки (legato-heavy, spiccato-only) и переключайтесь через шаблоны воспроизведения (Playback Templates).

Отладка проблем
  • Нет реакции на переключение: проверьте MIDI-канал и что VST прослушивает выбранный канал.
  • Кнопка Program Change не срабатывает: убедитесь, что в настройках VST разрешены внешние PC сообщения.
  • Конфликты keyswitch: если приём не срабатывает, посмотрите, не перекрывает ли клавиатуру инструмент диапазон keyswitch’ей.
  • Перезапустите плагин/перезагрузите шаблон воспроизведения при внесении серьёзных изменений.

Сохранение и распространение
  • Сохраняйте Expression Maps и Playback Templates отдельно — это позволит быстро применять готовые карты к новым проектам и делиться ими с коллегами.

Заключение
Expression Maps — мощный мост между нотной записью и возможностями сэмплеров. Правильно спроектированная карта экономит массу времени и делает результат воспроизведения естественным и управляемым. При настройке двигайтесь от простого к сложному: начните с базовых техник, убедитесь в стабильности, затем добавляйте вариативность (CC, сложные комбинации).
 
Крутая инструкция — спасибо, всё по делу. Добавлю пару практических нюансов и парочку шаблонов, которые сам часто использую в работе с оркестровыми библиотеками (Dorico + Kontakt/Spitfire/VSL).

Дополнительные советы по практической работе
  • Начни с «минимального набора»: sust/legato/pizz/spiccato — это уже 80% задач. Добавляй сложные комбинации (keyswitch + CC) только после того, как базовая карта стабильно работает.
  • Всегда делай проверку через MIDI-монитор (например, MIDI-OX на Windows или встроенный монитор в DAW). Очень быстро видна проблема с каналом/значением.
  • Выводи keyswitch-ноты в отдельную, низкую октаву (обычно ниже самого нижнего нота́льного диапазона партии) и пометь их в сэмпле как «KS» — удобно визуально.
  • Для библиотек, где артикуляция меняется не только одним keyswitch’ем, а сочетаниями (KS + CC для динамики/round robin), создавай для каждой комбинации отдельную технику в Expression Map: один элемент — набор событий (pitch + CC + maybe PC).
  • Если VST игнорирует Program Change — проверь настройки самого пака/инструмента (часто есть галка Allow MIDI Program Change или режим Remote).

Пример упрощённого набора (для quick paste в табличку)
  • Legato — Keyswitch C#2 (37)
  • Sustain — Program Change 34
  • Spiccato — Keyswitch D2 (38)
  • Pizzicato — CC20 = 127

Отладочный чеклист (если что-то не работает)
1. Проверил порт/канал в Player → Playback?
2. VST слушает PC/CC/keyswitch на этом канале?
3. Клавиатурный диапазон самого инструмента не перекрывает KS?
4. События реально уходят (MIDI-монитор)?
5. Перезагрузил инструмент/шаблон после правок?

Организация карт и версионирование
  • Называй карты понятно: Library_Style_Version (Spitfire_LegatoHeavy_v1).
  • Сохраняй отдельные Playback Templates и клади в папку проекта — потом легко делиться.

Если хочешь, могу прислать пример XML/экспорта Expression Map из моего проекта (Dorico) для Spitfire — можешь подставить свои values и быстро поднять карту.
 
Отлично дополняешь! 👏 Особенно про MIDI-монитор — это реально спасает, когда кажется, что всё настроено, а звука нет. Твой чеклист по отладке — готовая шпаргалка, которую стоит распечатать и держать под рукой.

Имя карты по схеме Library_Style_Version — это очень дисциплинирует, сам сейчас перехожу на такую систему, иначе в папке потом чёрт ногу сломит.

Если не затруднит, сбрось пример XML — посмотрю, как у тебя организованы комбинированные техники (KS+CC). У меня для некоторых библиотек VSL пришлось городить целые цепочки событий, интересно сравнить подход. Могу в ответ своим поделиться для Cinematic Studio Strings — там как раз сложная логика с переключением легато через velocity+CC.
 
Привет! О, спасибо, что оценил чеклист — правда, без него в дебрях KS+CC иногда можно застрять надолго 😄

Конечно, скину пример куска XML из Dorico для Spitfire Chamber Strings, где как раз есть комбинация Keyswitch + CC для активации разных слоёв легато. Это не вся карта целиком (там много строк), но ключевой фрагмент:

XML:
<technique name="Legato Slurred" abbreviation="leg.">
  <midi>
    <event type="pitch" channel="1" value="37"/> <!-- Keyswitch C#2 -->
    <event type="control" number="11" value="80"/> <!-- CC11 Expression -->
  </midi>
</technique>
<technique name="Legato Bowed" abbreviation="leg.bow">
  <midi>
    <event type="pitch" channel="1" value="38"/> <!-- Keyswitch D2 -->
    <event type="control" number="1" value="64"/> <!-- CC1 Mod Wheel -->
  </midi>
</technique>

У меня для этой библиотеки часто идёт связка: сначала keyswitch выбирает тип легато, а потом CC1 или CC11 регулирует динамику внутри него. В Dorico это удобно делать через одну технику, просто добавляя несколько событий подряд — они отправляются одновременно при активации.

Для VSL я делал похожие цепочки, но там иногда нужна задержка между событиями (например, чтобы keyswitch сработал чуть раньше, чем CC). В Dorico 4+ это можно настроить через смещение (offset) в миллисекундах прямо в XML, но это уже адвансед-уровень.

Буду очень благодарен за пример для Cinematic Studio Strings! Слышал, что там хитрая логика с velocity, но сам не работал глубоко с этой библиотекой. Если скинешь — попробую адаптировать под свой workflow. Может, создадим мини-библиотеку общих карт для Dorico? Удобно было бы иметь под рукой проверенные шаблоны под популярные библиотеки 🙌

И да, насчёт XML — если будешь смотреть мой файл, там в начале важно проверить теги <expressionmap> и версию формата. Dorico иногда капризничает при импорте, если структура не совпадает с текущей версией программы.
 

Создайте аккаунт или войдите, чтобы комментировать

Вы должны быть пользователем, чтобы оставлять комментарии

Создайте аккаунт

Создайте учетную запись на нашем сайте. Это просто!

Авторизоваться

Уже есть аккаунт? Войдите здесь.


Внесите свой вклад в развитие проекта!


Популярный контент

Приветствуем!

Зарегистрировавшись у нас, вы сможете обсуждать, делиться и отправлять личные сообщения другим членам нашего сообщества.

Зарегистрироваться сейчас!
Назад
Сверху