termixer — это терминальный DJ-микшер, заточенный под живые выступления с TidalCycles. Он написан на Rust и использует библиотеку ratatui, чтобы прямо в консоли отрисовывать полноценный двухдековый микшер. В реальном времени работают эквалайзер, фильтры, кроссфейдер и сэмпл-пэды, а звук подхватывается из MPV и SuperCollider.
Два канала (dual-deck) получили поканальный фейдер громкости, панораму, трёхполосный EQ и фильтры низких/высоких частот — LPF/HPF. В DJ-центре собраны кроссфейдер, cue mix и раздельные выходы для наушников и booth. Сэмпл-пэды представлены сеткой 4×4 со встроенным секвенсором. termixer сам находит источники: MPV-сокеты, SuperCollider, а также устройства PulseAudio, PipeWire и JACK. Для SuperCollider подготовлены кастомные SynthDefs, обрабатывающие каждый канал микшера.
Управление чисто клавиатурное, в стиле Vim — hjkl и трёхуровневая система режимов. Обязателен шрифт Nerd Fonts, без него иконки перемотки и остальная графика не отобразятся.
Установка: клонируем репозиторий с GitHub и собираем через cargo install --path . или cargo build --release (релизный бинарник включает LTO-оптимизации). Запуск без аргументов автоматически обнаружит все доступные аудиоисточники. Если нужно жёстко привязать деки к конкретным сокетам MPV, используется флаг -s, например: cargo run -- -s "Deck A" /tmp/mpv-a.sock -s "Deck B" /tmp/mpv-b.sock. Флаги -m и -S открывают файловые браузеры для директорий с музыкой и сэмплами.
Горячие клавиши выстроены логично. Tab, h и l переключают фокус между Дека A, Дека B, DJ-центром и мастер-секцией. Enter вводит в режим выбора и правки регулятора, Esc возвращает на уровень назад, ? показывает или скрывает справку, а q завершает работу. Внутри режима регулировки j/k перемещают по списку контролов, h/l вращают значения (или переключают kill-режим эквалайзера), J/K делают грубую подстройку с шагом 0.2, +/- — точную с шагом 0.05. m и s включают mute/solo, c центрирует панораму или кроссфейдер, а 0 сбрасывает параметр к значению по умолчанию. Отдельные клавиши A и B открывают выбор источника для соответствующей деки, а P активирует сетку сэмпл-пэдов.
Проект распространяется под лицензией MIT.