Об этом проекте
rtrack — музыкальный трекер, написанный на Rust, предлагающий как терминальный интерфейс (ratatui), так и нативный десктопный GUI (egui), которые используют одну и ту же безголовую (headless) ядровую библиотеку. Он генерирует звук сразу из коробки, без необходимости внешнего синтезатора, DAW или SoundFont.
Ключевые возможности включают:
- Встроенный синтезатор с 30 патчами (пила, квадрат, FM‑колокол, acid, чиптюн и др.) с ADSR‑огибающими, SVF‑фильтрами, суб‑осцилляторами, FM‑синтезом и эффектами на каждый канал (искажение, фильтр, хор, задержка, реверберация).
- Сэмплер, поддерживающий загрузку WAV/AIFF, воспроизведение с изменением высоты, точки цикла, нарезку по транзиентам и до 32 одновременных голоса с плавным «stealing».
- MIDI‑ввод/вывод с виртуальными портами, аппаратной маршрутизацией, пошаговой и «punch‑in» записью, маппингом aftertouch → фильтр, обучением MIDI (MIDI learn) для назначения CC, а также выводом/вводом тактового сигнала.
- Двусторонняя синхронизация темпа и транспорта через Ableton Link.
- Классический трекер‑стиль редактирования паттернов с модальным вводом, раскладкой клавиатуры пианино, блочным выделением, интерполяцией, транспонированием, отменой/повтором и 12 командами эффектов.
- Структура песни с несколькими паттернами, индивидуальным числом строк в паттерне, списком порядков с повторениями, прыжками позиции и эффектами прерывания паттерна.
- Оффлайн‑рендеринг в WAV/FLAC без аудиоустройства, а также импорт/экспорт стандартных MIDI‑файлов.
- Опциональное воспроизведение SoundFont (.sf2) для поддержки General MIDI.
Проект организован как рабочее пространство Cargo с тремя crate'ами: rtrack-core (безголовый движок, аудио, MIDI, модель данных), rtrack-tui (терминальный фронтенд) и rtrack-gui (десктопный фронтенд). Песни сохраняются в виде JSON‑файлов (.rtrk). Требуется Rust 1.89+ и CMake 3.14+.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.