Меня зовут Илья, и я хочу поделится с вами информацией о моем проекте, над которым я работаю уже около года.
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 фильтра. Имеется возможность настроить значения по умолчанию для свойств фильтров в банке.
Основные фичи:
- 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)
Видеообзор и демонстрация работы устройства:
Автор: Испанский лётчик