Работа над ошибками: Behringer JT-4000M MICRO
Старожилы наверняка помнят мой крайне скептический пост в отношении
Behringer JT-4000 MICRO. И по делом ему тогда было!
Но вот Behringer одумался, внёс одно единственное, но самое главное исправление (добавил MIDI-вход) и я побежал теряя тапки в ближайший маркетплейс, чтобы приобрести этого малыша пусть даже и с переплатой в пользу отечественных продавцов.
Но вот Behringer одумался, внёс одно единственное, но самое главное исправление (добавил MIDI-вход) и я побежал теряя тапки в ближайший маркетплейс, чтобы приобрести этого малыша пусть даже и с переплатой в пользу отечественных продавцов.
Говорить об этом устройстве ещё раз я не вижу никакого смысла - в моей скептической статье всё было сказано и вся та техническая информация по прежнему актуальна на все 100%.
Этим сообщением я лишь снимаю свою главную претензию к данному синтезатору и, пожалуй, теперь с удовольствием его рекомендую всем зависимым от железа. Машинка-то приятная! И по эргономике управления, и по звуку. Единственное что замечу, как уже состоявшийся её владелец:
Этим сообщением я лишь снимаю свою главную претензию к данному синтезатору и, пожалуй, теперь с удовольствием его рекомендую всем зависимым от железа. Машинка-то приятная! И по эргономике управления, и по звуку. Единственное что замечу, как уже состоявшийся её владелец:
1) JT-4000M MICRO устроен куда как хитрее, нежели это может показаться на первый взгляд. Вы поймёте это если взгляните на его блок-схему. Ну или попробуете её мысленно визуализировать исходя из оригинального РЭ и блужданий по меню данного синтезатора.
2) Многие пишут о тёплом, буквально "ламповом" звуке JT-4000M MICRO, но я с такой оценкой не согласен. Я бы назвал звук этого малыша откровенно грязным и неряшливым. Что совершенно не означает, что это плохо.
Я уверен, что Behringer использовал 12-битный ЦАП не потому что хотел, а потому что экономил. 12-битный ЦАП для него был условно бесплатным, ибо тот входит в состав микроконтроллера STM32G431KB (построенного на ядре ARM Cortex M4).
Выбор STM32G431KB в качестве сердца маленького недорогого цифрового синтезатора выглядит абсолютно логичным. У этого чипа на борту достаточно мощное ядро Cortex-M4 (170 МГц) с математическими ускорителями CORDIC (для мгновенного расчета синусов/треугольников без таблиц) и FMAC (Filter Mathematical Accelerator) (аппаратный расчет фильтров).
И хотя Behringer предпочёл использовать в JT-4000(M) MICRO настоящий аналоговый фильтр (и правильно сделал!), я не могу отказать себе в удовольствии написать пару слов о FMAC-сопроцессоре, предназначенном для умножения и сложения чисел с плавающей или фиксированной точкой.
Так вот. В субтрактивном синтезе фильтр (VCF) — это самая тяжелая расчётная часть для процессора. Математически любой цифровой фильтр (не важно - Low-Pass или High-Pass) состоит из одной и той же последовательности операций:
1) взять текущий сэмпл звука,
2) взять несколько предыдущих сэмплов,
3) умножить их на определенные коэффициенты и...
4) сложить.
Всё вместе это называется "умножение с накоплением" или MAC (Multiply-Accumulate).
Обычный процессор тратит на это драгоценные такты, а FMAC делает это на аппаратном уровне вообще без участия основного ядра Cortex-M4.
Внутри FMAC есть своя выделенная локальная память (всего 256 слов по 16 или 32 бита). Эта память делится на две зоны:
- Буфер коэффициентов: Сюда записываются настройки фильтра (частота среза и резонанс, пересчитанные в формулу фильтра).
- Кольцевой буфер данных: Сюда один за другим прилетают звуковые сэмплы от осциллятора ("цифрового VCO").
Каждый раз, когда в FMAC падает новый сэмпл, ускоритель мгновенно прокручивает внутренний цикл умножения и сложения и выдает готовый отфильтрованный сэмпл.
ЦАП в STM32G431KB
- Количество каналов: 3 независимых аппаратных ЦАП (DAC1, DAC2, DAC3). Наружу (на физические ножки микросхемы) в 32-выводном корпусе (LQFP32/QFN32) обычно выведено 2 канала (DAC1_OUT1 и DAC1_OUT2).
- Разрядность: 12 бит. Это дает 4096 уровней напряжения (от 0 до 4095). Для качественного Lo-Fi или классического 8/12-битного цифрового звука — идеально, но если нужен Hi-Fi, то обычно делают оверсемплинг или ставят внешний кодек, работающий по шине I2S. Впрочем, как для встроенного ЦАП, параметры STM32G431KB очень неплохи.
- Встроенные буферы: У каждого канала есть отключаемый выходной буфер (усилитель), что позволяет подключать наушники или схемиу фильтрации напрямую без сильного проседания напряжения.
behringer
jt-4000
синтезатор