EIRALIS — полифонический виртуально-аналоговый синтезатор (7 онлайн)

Mike Deblin

Well-Known Member
25 Окт 2005
813
413
63
50
Наб. Челны
Привет!
Я с приятелем делаю синт. Приятеля вы знаете, это Клод из Америки! )))
Делаем очередной никому не нужный VA =)

Почему во Флейме? Я не профессиональный разработчик, делаю как умею, просто решил рассказать о своем увлечении, если посчитаете что тема достойна быть например в "Синтезаторах" я не против)

EIRALIS — полифонический виртуально-аналоговый синтезатор

Технические характеристики:

ПЛАТФОРМА

Железо: Raspberry Pi 3B+ (4 × Cortex-A53, 1,4 ГГц), ЦАП TI PCM5122 (I2S)

ОС: Linux (Raspberry Pi OS 64-bit Lite), без PulseAudio/PipeWire — напрямую ALSA

Движок: C++17, написан с нуля

Звук: 48 кГц, стерео, период 64 отсчёта (1,33 мс), буфер 4 мс

Реальное время: аудиопоток SCHED_FIFO на изолированном ядре, рендер голосов на 3 ядрах

Корпус: Behringer Model D (евроформат), своя печатная лицевая панель

Питание: встроенный блок Mean Well, мягкое включение/выключение через реле и GPIO

Экран: 3,5" 480×320 сенсорный (BTT TFT35), своя прошивка на LVGL

MIDI: DIN IN (оптрон на UART), USB MIDI


ПОЛИФОНИЯ

Пул голосов: до 256 (в плагине), на Pi — по настройке; тяжёлый патч

(стерео-суперпила + 24 дБ ладдер + унисон 8 + эффекты) — около 60 голосов на Pi 3B+

Унисон: Off / 2 / 4 / 8 голосов на ноту, Detune 0–50 центов, стерео Spread;

неравномерный разнос расстройки и случайный сдвиг на каждой ноте — без «трубы» и биений

Кража голосов: целой унисон-стопкой (пропадает одна нота, а не «худеют» все)

Предохранитель перегрузки: мерит время каждого блока, при нехватке CPU

глушит сначала хвосты релиза, потом самые тихие ноты — вместо треска xrun


ГОЛОС

OSC1: Supersaw (7 пил, Detune, Mix центр/боковые, стерео-разводка боковых пил), Saw, Square (PW), Triangle, Sine; Coarse ±24 полутона, Fine ±50 центов

OSC2: Saw, Square (PW), Triangle, Sine; Coarse ±24, Fine ±50

SUB: меандр −1 окт от OSC1, сфазирован с ним (как в Juno)

SUB2: меандр −1 окт от OSC2

RING MOD: OSC1 × OSC2

NOISE: шум

OSC Phase: Reset (одинаковый тембр на каждой ноте) / Free

Антиалиасинг: BLEP-таблица (−96…−100 дБ призвуков) для пилы/квадрата/саба, PolyBLAMP для треугольника, ADAA на насыщении входа фильтра


ФИЛЬТРЫ

VCF: 24 дБ LP (ZDF-ладдер), 12 дБ LP / BP / HP (SVF); Cutoff 20 Гц – 20 кГц,

Resonance, Drive, Env ±, Key Track, Velocity → Cutoff

LINK: резонанс автоматически идёт за срезом в обратную сторону

VCF2 (по мотивам Oberheim SEM, идея двух фильтров — от Alesis Andromeda A6):

2-полюсный SVF, мягкий резонанс, плавный Mode LP → Notch → HP, кнопка BP

Route: Off / Series / Parallel (баланс VCF ↔ VCF2)

Spacing ±4 октавы относительно VCF (как у Moog Matriarch) — вся модуляция общая


ОГИБАЮЩИЕ И LFO

2 × ADSR (фильтр, громкость), 1 мс – 10 с, Velocity → громкость

LFO1: синус, 0,05–20 Гц или по темпу (4/1 … 1/32); → Pitch, → Cutoff, → Detune/PW;

мод-колесо добавляет вибрато

LFO2: Sine / Triangle / Saw / Square / S&H, 0,05–20 Гц или по темпу;

→ Pitch (до 12 полутонов), → Cutoff, → Detune/PW, → Amp (тремоло), → Pan (автопанорама)


АРПЕДЖИАТОР

Режимы: Up, Down, Up/Down, Random, Order; 1–4 октавы

Доли: 1/2 … 1/32, с точкой и триолью; Gate 10–100 %; Swing 50–75 % (как у MPC)

Latch, педаль сустейна, Velocity: как сыграно / фиксированная

Фразы: 38 ритмических фигур по 16 шагов — паузы, связки, акценты и «роли» нот

в аккорде (нижняя / средняя / верхняя / октава): тресилло, клаве, евклидовы ритмы,

сканк, босса, брейкбит, фанк, альберти, октавный бас и другие

Синхронизация: MIDI clock / Start, в плагине — транспорт DAW


ЭФФЕКТЫ (стерео, цепочка: Phaser → Chorus → Delay → Reverb → Limiter)

Phaser: 2–12 звеньев, Freq, Depth, Rate или по темпу, стерео Spread, Feedback

Chorus: Classic (2 линии) и Super (6 линий, калиброван по ширине стерео JP-8080);

Rate или по темпу

Delay: до 2 с или по темпу (1/32 … 1/2, точки и триоли), Feedback, Tone, Ping-Pong

Reverb: Plate (алгоритм Dattorro) и Hall (FDN из 8 линий); Decay, Damping, Predelay

Limiter: пиковый, стерео-связанный, просмотр вперёд 1 мс; Drive 0…+18 дБ, Ceiling −12…0 дБ, Release 10 мс – 1 с


ТЕМП И MIDI

Темп 40–240 BPM, при MIDI clock — от клока; Sync у LFO1/LFO2, хоруса, фазера, дилея

MIDI-канал: Omni / 1–16

Фиксированная карта CC (фильтр, огибающие, эффекты), MIDI learn для любой ручки,

soft takeover, Program Change, CC LOCK (игнорировать CC/PC от внешних устройств)


УПРАВЛЕНИЕ

Сенсорный экран: главная страница с цепочкой сигнала + 12 модулей с графиками

(АЧХ фильтра, формы огибающих и LFO)

Веб-панели прямо с синта (WebSocket, телефон/ноутбук): «передняя панель»

в стиле экрана и классическая полная

Патчи: JSON, 128 ячеек, Program Change; один формат с плагином


ПЛАГИН VST3 (Linux, тестовая версия, позже будет Win, (возможно Mac) )

Тот же движок, что на железе: офлайн нуль-тест с синтом — без расхождений при любом размере блока хоста

Задержка 64 отсчёта (сообщается хосту), темп и позиция — от DAW

Свой интерфейс в стиле экрана синта: вкладки SYNTH / FX, масштабирование окна

Экспорт/импорт патчей JSON — переносятся между плагином и железом

Проверено в Reaper 7.77: 32 трека с тяжёлой суперпилой (унисон 8 + эффекты) на одном ПК

В файле Eiralis_test.mp3 звучит пример патча со скриншота.
Плагин и запись с синта.

Делаю для себя, исходники не обещаю, но время покажет.
Буду рад отзывам.


Reaper winth plugin.pngplugin-synth.pngplugin-fx.pngwebinterface01.pngwebinterface02.png20261026_222212.jpg20261022_223322.jpg


Eiralis_test


Несколько плагинов одновременно с синтом




 

Сейчас просматривают

  • ]Den[