Реалистичные инструменты с несколькими слоями силы нажатия
Многие SoundFont воспроизводят один-единственный семпл на ноту: с какой бы силой ни была нажата клавиша, звучит одна и та же запись, только громче или тише. Акустические инструменты ведут себя иначе. Клавиша фортепиано, нажатая мягко, даёт круглый и бархатистый звук, а та же клавиша, нажатая сильно, даёт более яркий звук, богатый обертонами, с более ударной атакой.
Слои силы нажатия придают SoundFont это богатство: каждая нота записывается с несколькими динамическими оттенками, и воспроизводимая запись выбирается в зависимости от силы нажатия ноты. В этом руководстве в качестве примера взято фортепиано, но метод подходит для любого инструмента, тембр которого меняется в зависимости от силы игры: гитар, ударных, медных духовых, струнных… В конце описаны и другие детали, которые делают инструмент ещё реалистичнее.
Почему одного семпла недостаточно
Послушайте клавишу C4, нажатую четыре раза, от тихого к громкому (сила нажатия 30, 60, 90 и 120):
- с одним семплом, записанным со средней динамикой,
- с четырьмя слоями, когда запись выбирается в зависимости от силы нажатия.
С одним семплом тихие ноты звучат как громкие ноты, слышимые издалека, а самой громкой ноте не хватает яркости. Синтезатор немного понижает частоту среза фильтра для тихих нот (это один из модуляторов по умолчанию), но это далеко от изменения тембра настоящего фортепиано. С четырьмя слоями тембр следует за силой игры.
Разница очевидна и в музыкальном контексте, здесь — в арпеджио, которые звучат всё громче и громче:
Подготовка семплов
Запись слоёв
Каждую ноту нужно записать с несколькими динамическими оттенками, например pp (пианиссимо), mp (меццо-пиано), mf (меццо-форте) и ff (фортиссимо). Уже с 3 или 4 слоями улучшение очевидно, а лучшие библиотеки фортепиано используют от 8 до 16 слоёв для более плавных переходов. Все записи должны быть сделаны в одинаковых условиях (микрофоны, расстояние, усиление): меняться должна только сила игры.
В примере этого руководства используются 4 слоя, с одним семплом на каждые 3 клавиши во всём диапазоне фортепиано.
Импорт
Называйте файлы по ноте и динамике, например C4 pp.wav, C4 mp.wav, C4 mf.wav и C4 ff.wav. Если корневая клавиша не сохранена в аудиофайле, Polyphone находит её в имени файла, если оно содержит название ноты в английской записи (C4 — это клавиша 60, B вместо H) или номер клавиши. Динамика, указанная в имени, пригодится на следующем шаге.
Импортируйте все файлы кнопкой Добавить семпл на панели инструментов или перетаскиванием в дерево. Стереофайл даёт два семпла, имена которых заканчиваются на «L» и «R». Затем проверьте подстройку каждого семпла, как описано в руководстве «Как подготовить семпл». Семплам фортепиано петля не нужна: звук затухает естественным образом.
Один инструмент на слой
Каждый слой становится инструментом, содержащим семплы только одной динамики. Для каждой динамики:
- введите её название (например, «pp») в строку поиска дерева, чтобы отображались только семплы этого слоя,
- выделите все эти семплы: щёлкните по первому, а затем по последнему, удерживая клавишу Shift,
- нажмите Добавить инструмент на панели инструментов, назовите инструмент (например, «Piano pp») и оставьте включённым параметр Связать выбранные семплы.
Стереосемплы автоматически панорамируются влево и вправо, а диапазоны клавиш распределяются по клавиатуре в соответствии с корневыми клавишами (см. инструмент «Автопозиционирование семплов»). Каждый инструмент уже можно сыграть отдельно на виртуальной клавиатуре.
Параметры, общие для всех слоёв, можно изменить за один раз: когда в дереве выделены четыре инструмента, таблица показывает их глобальные разделы рядом, и значение, введённое после выделения четырёх ячеек строки, записывается во все. В примере параметр Огибающая громкости: затухание (сек) равен 1 с, чтобы звук не обрывался резко при отпускании клавиши.
Наложение слоёв в пресете
Выделите четыре инструмента в дереве и нажмите Добавить пресет, оставив включённым параметр Связать выбранные инструменты. Пресет тогда содержит четыре раздела, каждый из которых охватывает всю клавиатуру. Слои накладываются друг на друга, если задать каждому разделу пресета свой Диапазон силы нажатия в редакторе пресетов:
- 0-39 для слоя pp,
- 40-69 для слоя mp,
- 70-99 для слоя mf,
- 100-127 для слоя ff.
Диапазоны должны охватывать все значения силы нажатия от 0 до 127, без пропусков (некоторые значения остались бы беззвучными) и без перекрытий (одновременно звучали бы два слоя). Границы не обязательно должны быть равномерными: их можно сдвигать в зависимости от записей. Значения строки Приглушение (дБ) объясняются в следующем разделе.

В редакторе диапазонов каждый слой — это горизонтальная полоса: выделенный раздел (здесь mp) заштрихован. В этом виде сразу заметны пропуск или перекрытие.

Примечание: диапазоны силы нажатия можно задать и в одном инструменте, содержащем все семплы, где у каждого раздела свой диапазон силы нажатия. В этом случае вариант по диапазону силы нажатия параметра Сортировка разделов в настройках держит разделы одного слоя вместе.
Балансировка слоёв
Внутри слоя громкость уже меняется в зависимости от силы нажатия: за это отвечает другой модулятор по умолчанию, определённый форматом sf2. Но на каждой границе громкость резко возрастает, потому что записи верхнего слоя громче: в примере примерно на 5–7 дБ. Цель в том, чтобы при переходе от одного слоя к следующему менялся только тембр, а громкость нарастала плавно.
Сравните обе стороны границы с помощью виртуальной клавиатуры: сила нажатия ноты зависит от положения щелчка по вертикали, а стрелки ↑ и ↓ повторяют последнюю клавишу с силой нажатия, увеличенной или уменьшенной на 1. Затем для каждой границы, снизу вверх:
- сыграйте клавишу с последним значением силы нажатия слоя (например, 39), а затем с первым значением следующего слоя (40),
- увеличивайте приглушение верхнего слоя в таблице пресета, пока обе ноты не станут примерно одинаково громкими,
- переходите к следующей границе: приглушения складываются, и каждый слой приглушён как минимум так же, как слой под ним.
В примере приглушения составляют 0, 6, 11 и 16 дБ, как показано в таблице выше. Проверьте несколько клавиш по всей клавиатуре: если какой-то регистр остаётся несбалансированным, приглушение соответствующих разделов можно уточнить в инструменте слоя, например с помощью инструмента «Настройка по клавишам».
Общий динамический диапазон инструмента, от самой тихой ноты до самой громкой, тогда задаётся модулятором по умолчанию. Если тихие ноты слишком тихие или недостаточно тихие, этот модулятор можно изменить с помощью инструмента «Переопределить модулятор по умолчанию».
Наконец, для проверки результата ничто не сравнится с настоящим музыкальным произведением: сыграйте SoundFont на MIDI-клавиатуре или в MIDI-проигрывателе (см. руководство «Воспроизведение MIDI-файла с SoundFont»).
Больше деталей — больше реализма
Слои силы нажатия — большой шаг вперёд, но у настоящего инструмента есть и другие особенности, которые SoundFont может воспроизвести. Вот две из них для фортепиано.
Шумы отпускания клавиш
Когда клавиша отпускается, демпфер опускается обратно на струны, и механика издаёт негромкий шум. Некоторые библиотеки семплов содержат эти шумы: в библиотеке из примера есть по одному шуму на каждую клавишу.
Они помещаются в пятый инструмент, «Piano release», который добавляется в пресет на весь диапазон силы нажатия:
- выберите режим воспроизведения
(затухание) в строке Играть петлю, чтобы семпл воспроизводился при отпускании клавиши, - задайте большое значение Огибающая громкости: затухание (сек) (5 с в примере), чтобы шум воспроизводился полностью,
- сильно приглушите инструмент (40 дБ в примере): шум должен оставаться едва заметным.
Благодаря модулятору по умолчанию, связывающему силу нажатия с громкостью, шум громче, когда нота была взята сильнее.
Примечание: режим воспроизведения «затухание» не описан в формате sf2 и может не поддерживаться другими проигрывателями. В руководстве «Собственное затухание в инструменте» описан метод, который работает с любым проигрывателем.
Струны без демпферов
У фортепиано самые высокие струны не имеют демпферов (примерно последние полторы октавы): они продолжают звучать после отпускания клавиши. Поэтому в каждом инструменте слоя разделам этих клавиш (в примере начиная с F6, клавиша 89) задаётся большее значение Огибающая громкости: затухание (сек): 3 с вместо 1 с.
Послушайте короткие ноты в середине клавиатуры, затем в самой высокой октаве и, наконец, аккорд в басу:
Другие идеи
Стоит попробовать и другие улучшения:
- записывать каждую клавишу, а не одну из трёх: у фортепиано у каждой клавиши свои струны, и транспонированный семпл никогда не звучит в точности как соседняя нота,
- использовать стереозаписи, которые придают звуку ширину,
- рассчитывать время затухания, меняющееся по клавиатуре, с помощью инструмента «Естественное затухание»,
- настраивать громкость или фильтр по регистрам с помощью инструмента «Настройка по клавишам».
И тот же подход работает и для других инструментов: гитарная струна, защипнутая мягко или сильно, малый барабан между призрачными нотами и акцентами, труба, переходящая от круглого звука к звонкому медному… Каждая деталь, взятая у настоящего инструмента, делает SoundFont живее.
Polyphone бесплатен, но содержание сайта и разработка требуют расходов. Даже небольшое пожертвование очень поможет.
Поддержать