Yoga-Drums - Самодельный барабанный модуль
Назад - Сетчатый пэд с конусным датчиком Далее - Усовершенствование жёстких пэдов
Двухканальная версия сэмплера
И вот уже готова прошивка МК, поддерживающая два входа, и я провёл испытания получившейся системы. Один пэд был жёсткий, второй сетчатый с конусным датчиком, и я немного поиграл на сете из двух этих "инструментов", на которые были назначены звуки малого барабана и 1-го тома. При этом я получил возможность сравнить поведение сетчатого и жёсткого пэдов. Оно было далеко не в пользу жёсткого, но об этом позже. Стыд мне и позор, я давно не тренировался специально, и очень хорошо забыл многие барабанные рудименты...
Главная цель при испытании двухканальной версии была определить, нормально ли смешиваются звуки двух барабанов, не мешают ли друг другу, не ощущается ли задержка звука, и не мешает ли она играть быстрые элементы, дроби и т.д. Всё-таки микроконтроллер производил цифровую регулировку громкости и цифровое смешение звуковых сигналов. Причём он должен был делать это максимально быстро, вся прошивка оптимизировалась на ускорении его реакции. Действительно, я не обнаружил никакой задержки звука, все самые быстрые элементы, на которые я только был способен, сэмплер отыгрывал чётко, не смазывая и не проглатывая ударов.
Вот оно, преимущество звучащего синтезатора! Вот оно, главное его отличие от миди-контроллера (того же Мегадрама), где скорость передачи миди-данных не так уж велика, и задержки сигнала создают приличный дискомфорт при игре. Помню, даже играя на барабанах на миди-клавиатуре, подключеннной к компьютеру, я чувствовал задержки сигнала, несмотря на крутую (на тот момент) звуковую карту Creative Audigy 2ZS с Asio-2 и поддержкой SoundFont.
Единственное, что напрягло меня при работе сэмплера, это одинаковость звука сильных и слабых ударов. Действительно, в этой версии сэмплера каждому барабану соответсвует один единственный сэмпл (сильный удар). Но в реальности слабые удары звучат совсем не так, как сильные.
Поэтому было решено в будущем загружать для каждого барабана набор сэмплов, соответствующих разной силе удара, и переключать их и смешивать в нужных пропорциях во время игры, что резко повысит натуральность звучания барабанного модуля. Но это позже, пока и без того достаточно сложностей.
Ещё один важный момент: опасаясь ложных срабатываний, программист установил в той пробной прошивке достаточно высокий минимальный уровень (порог) сигнала, при котором синтезатор реагирует на удар палочкой по пэду (по сути это параметр "Threshold" электронных ударок). Поэтому были моменты, когда я стучал по пэдам, а звука не было. Это не глюки, просто минимальный порог, при котором начинался анализ сигнала с пэда, был задан слишком высоким (20% от максимума). Все удары, превысившие этот порог, отлично проходили и не проглатывались.
В следующих версиях прошивки я попросил убрать этот порог совсем, чтобы устройство реагировало на все мелочи без исключения. Конечно, установка минимального порога срабатывания пэда в реальной жизни необходима, это позволяет устранить ложные срабатывания из-за вибраций рамы, вызванной ударами по соседним пэдам, но пока мне это было ни к чему. Позже, конечно, такая настройка будет введена в синтезатор, и будет можно настроить минимальный порог чувствительности для всех пэдов сразу или для каждого в отдельности.
Отмечу, что сетка, подобно мембране жёсткого пэда, также обладает хорошо выраженным резонансом. Частота колебаний зависит от натяжения сетки, но звука она при этом не издаёт. Несмотря на очень красивую форму сигнала с конусного датчика, сетчатый пэд преподнёс небольшой сюрприз в виде дребезга сетки, приводящего к многократным повторным срабатываниям сэмплера. Дело в том, что в отличие от жёсткого пэда, где основные колебания мембраны очень быстро вязнут в демпфере (рис.1), сетка способна отзываться на удар различными типами колебаний (рис.2-4):
Рис.1 Рис.2 Рис.3 Рис.4
Дребезг проявлялся чаще всего при ударе со смещением от центра, при этом, видимо, датчик сначала реагировал на сам удар палочкой, после чего, видимо, реагировал на возникающие в сетке колебания видов 2-4, порождая пачку следующих друг за другом звуков. Датчик съёма сигнала расположен не по центру сетчатого пэда, и видимо, он оказался склонен "ловить" эти паразитные колебания.
В начале испытаний барабанного модуля параметры обработки сигнала от пэда "время предотвращения повторного срабатывания" и "блокировка ложных срабатываний триггера" (аналогичные "Mask time" и "Retrigger cancel" электронных ударных установок) были заданы так, чтобы минимально влиять на работу сэмплера. Когда были выявлены ложные срабатывания датчика сетчатого пэда, коррекцией этих параметров удалось настроить сэмплер так, чтобы устройство не реагировало на дребезг сетки. Для жёсткого же пэда менять эти параметры не требовалось.
Приободрившись положительными результатами работы 2-х канального сэмплера, мы продолжили, программист возложил на микроконтроллер обработку сигналов ещё 4 входов для пэдов. Почему 4-х? Уже есть 2 пэда, ещё плюс 4 - получается 6! А я ведь говорил о полифонии в 5 каналов? В принципе, можно было сделать и 6 каналов полифонии, но пришлось бы понизить частоту дискретизации звука (помните фразу из мультфильма "Больших семь шапок из овцы не выкроить никак!").
Но в данном случае качество звука не ухудшилось, 6-й вход - это вход 2-й зоны малого барабана (rim). Всё-таки двухзонный малый - это не роскошь, а необходимость. Правда, решили пока не делать смешения звуков обода и пластика малого барабана, использовать на малый барабан один канал полифонии, имеющий три варианта звучания: удар в центр, удар по ободу, римшот (удар по ободу и пластику одновременно). Это упрощение, но ещё раз повторяю: малый предполагалось использовать живой, поэтому имитация малого барабана у этого сэмплера не в приоритете. Настраиваемые параметры - стандартные, отдача пластика и римшота, отдача обода (Head/Rim adjust, XStick threshold).
Назад - Сетчатый пэд с конусным датчиком Далее - Усовершенствование жёстких пэдов
www.DYoga.ru
E-mail: DYoga@Yandex.ru
Сайт Дмитрия Егошкина