Sobre o projeto
rtrack é um tracker de música escrito em Rust, oferecendo tanto uma UI de terminal (ratatui) quanto uma GUI nativa para desktop (egui) que compartilham a mesma biblioteca core sem interface gráfica. Ele produz som imediatamente, sem precisar de um sintetizador externo, DAW ou SoundFont.
Principais capacidades incluem:
- Sintetizador embutido com 30 patches (saw, square, FM bell, acid, chiptune, etc.) com envelopes ADSR, filtros SVF, sub‑oscilladores, síntese FM e efeitos por canal (distortion, filter, chorus, delay, reverb).
- Motor de amostras que suporta carregamento de WAV/AIFF, reprodução com mudança de pitch, pontos de loop, corte baseado em transientes e até 32 vozes simultâneas com roubo de voz sem clique.
- Entrada/saída MIDI com portas virtuais, roteamento de hardware, gravação passo a passo e punch‑in, mapeamento aftertouch‑para‑filtro, aprendizado MIDI para mapeamento de CC e saída/entrada de clock.
- Ableton Link sincronização bidirecional de tempo e transporte.
- Edição de padrões estilo tracker clássico com entrada modal, layout de teclado de piano, seleção de bloco, interpolação, transposição, desfazer/refazer e 12 comandos de efeito.
- Estrutura de música com múltiplos padrões, contagem de linhas por padrão, listas de ordem com repetições, salto de posição e efeitos de quebra de padrão.
- Renderização offline para WAV/FLAC sem dispositivo de áudio, além de importação/exportação de arquivos MIDI padrão.
- Reprodução opcional de SoundFont (.sf2) para suporte a General MIDI.
O projeto está estruturado como um workspace Cargo com três crates: rtrack-core (engine sem interface gráfica, áudio, MIDI, modelo de dados), rtrack-tui (frontend de terminal) e rtrack-gui (frontend de desktop). As músicas são salvas como arquivos JSON (.rtrk). Requer Rust 1.89+ e CMake 3.14+.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.