The Beatsqueezer. MIDI audio sampler prototype

в 13:33, , рубрики: Песочница, метки: , , , , ,

The Beatsqueezer. MIDI audio sampler prototype - 1

Меня зовут Илья, и я хочу поделится с вами информацией о моем проекте, над которым я работаю уже около года.

The Beatsqueezer — это аудио сэмплер, основанный на STM32F407 168MHz микроконтроллере. Так-же были использованы CS4334 ЦАП, AD8532 операционный усилитель, Samsung K9F1G08U0M 1 Гбит NAND Flash память (с возможностью замены на K9F8G08U0M 8 Гбит).

Устройство воспроизводит стереозвук с частотой дискретизации 44100 Hz 16 bit. Максимальная полифония — 16 звуков. На борту располагаются 4 ручки (переменные резисторы), один энкодер с кнопкой, 3 светодиода, 16x2 символьный дисплей, DIN5 MDI вход, 3.5 stereo jack для вывода аудиосигнала, слот для micro SD карты, и mini USB разъем для питания устройства и коммуникации с компьютером или другим устройством (например, планшетом) по USB-MIDI протоколу.

Используется простая и интуитивно понятная навигация по меню при помощи единственного энкодера. Устройство имеет встроенный bootloader, что позволяет загружать новые версии прошивок с SD карты. Для ручек реализован «smart knobs» — режим, при котором значение фильтра изменяется только тогда, когда положение ручки будет соответствовать его значению. Обусловлено тем, что каждая ручка может управлять различными свойствами различных фильтров, в соответствии с выбранным шаблоном.

Сэмплы собираются в банки (файлы специального формата) при помощи редактора банков, где каждой из 128 нот соответствует один сэмпл. Сэмплы хранятся в моно 44100 Hz 16 bit PCM. Для каждого сэмпла может быть назначена точка зацикливания (для бесконечного проигрывания звука). Группа, в которой только один сэмпл будет звучать одновременно, останавливая другие сэмплы. Динамическая или фиксированная громкость сэмпла. Игнорирование Note Off сообщения для звуков ударных, эффектов и т.п. Стерео панорама. При установленной точке зацикливания и игнорировании сообщения Note Off сэмпл переходит в «Live looping» режим, при котором первым нажатием клавиши (или пэда) миди контроллера, он начинает играет в бесконечном цикле, а при повторном нажатии — прекращает воспроизведение.

Так-же Beatsqueezer имеет ряд фильтров и эффектов, таких как: Low Pass Resonant фильтр, Ring Modulation, Flanger, Stereo Rotary Vibrato, Limiter, Bitcrusher, Granular Glitch, Delay с Low Pass и High Pass фильтрами, ADSR огибающая для амплитуды и ADSR для Low Pass фильтра. Имеется возможность настроить значения по умолчанию для свойств фильтров в банке.

The Beatsqueezer. MIDI audio sampler prototype - 2

The Beatsqueezer. MIDI audio sampler prototype - 3

The Beatsqueezer. MIDI audio sampler prototype - 4

The Beatsqueezer. MIDI audio sampler prototype - 5

Основные фичи:

  • CD качество звука 44100Hz 16 bit стерео
  • 16-ти голосная полифония
  • 128 сэмплов на банк
  • до 64 банков (можно и больше, но нужно ли?)
  • 3 светодиода для индикации MIDI сообщений Note On, Control Change и воспроизведение сэмплов
  • 4 ручки
  • 1 поворотный энкодер с кнопкой
  • 16x2 символьный LCD дисплей
  • питание через mini USB разъем
  • MIDI через DIN5 MDI вход и по USB-MIDI одновременно
  • загрузка банков с SD карты
  • от 128Mbytes до 1GByte flash памяти для пользовательских банков
  • встроенный bootloader для обновления прошивки
  • интуитивная и простая навигация по меню, используя только один поворотный энкодер
  • точка зацикливания для каждого сэмпла
  • cut группа
  • динамическая или фиксированная громкость сэмпла
  • игнорирование Note Off сообщения
  • стерео панорама
  • возможность назначить значения по умолчанию свойств фильтров для банка
  • «Smart knobs» режим
  • «Live looping» режим
  • изменяемый MIDI канал (1-16)
  • минимальная MIDI velocity (0-127)
  • стаккато или легато атака для LP ADSR фильтра

Фильтры и эффекты:

  • Low Pass Resonant фильтр
  • Ring Modulation
  • Flanger
  • Stereo Rotary Vibrato
  • Limiter
  • Bitcrusher
  • Granular Glitch
  • Delay с Low Pass и High Pass фильтрами
  • ADSR огибающая для амплитуды
  • ADSR огибающая для Low Pass фильтра

Зачения ручек:

  • 40 — Low Pass Cut Off
  • 41 — Low Pass Resonance
  • 42 — Ring modulation frequency
  • 43 — Ring modulation value
  • 44 — Flanger frequency
  • 45 — Flanger value
  • 46 — Rotary Vibrato frequency
  • 47 — Rotary Vibrato value
  • 48 — Limiter value
  • 49 — Bitcrusher value
  • 50 — Granular Glitch Shift
  • 51 — Granular Glitch Length
  • 52 — Delay High Pass filter value
  • 53 — Delay Low Pass filter value
  • 54 — Delay value
  • 55 — Delay time
  • 56 — Amplitude Attack value
  • 57 — Amplitude Decay value
  • 58 — Amplitude Sustain value
  • 59 — Amplitude Release value
  • 60 — Low Pass filter Attack value
  • 61 — Low Pass filter Decay value
  • 62 — Low Pass filter Sustain value
  • 63 — Low Pass filter Release value

Настройки устройства:

  • channel (1-16)
  • velocity (0-127)
  • mixing volume(0% — 100%)
  • LP envelope (staccato or legato)
  • smart knobs mode (enable disable)
  • reset knobs on bank change (yes no)
  • show pressed note info (yes no)
  • show switched knob info (yes no)
  • banks information: количество занятых банков на максимум (64) и количество занятой памяти на максимум
  • информация про прошивку

Навигация по меню при помощи поворотного энкодера:

  • поворот энкодера для навигации по элементам меню, изменения параметров, поиска файлов и т.п.
  • нажатие кнопки энкодера (кнопка вниз и вверх) для выбора элемента меню, навигации по папкам, подтверждения выбора в диалогах и т.п.
  • удержание кнопки энкодера для выхода в предыдущее меню
  • удержание кнопки энкодера и поворот для быстрой навигации через элементы главного меню, с переходом в подменю после отжатия кнопки (quick mode)

Страничка устройства

Видеообзор и демонстрация работы устройства:

Автор: Испанский лётчик

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js