À propos du projet
rtrack est un pisteur musical écrit en Rust, offrant à la fois une interface terminale (ratatui) et une interface GUI native pour le bureau (egui) qui partagent la même bibliothèque noyau headless. Il produit du son immédiatement sans nécessiter de synthétiseur externe, de DAW ou de SoundFont.
Les capacités principales incluent :
- Synthétiseur intégré avec 30 patches (saw, square, FM bell, acid, chiptune, etc.) comportant des enveloppes ADSR, des filtres SVF, des sous-oscillateurs, la synthèse FM et des effets par canal (distorsion, filtre, chorus, délai, réverbération).
- Moteur d'échantillonnage prenant en charge le chargement WAV/AIFF, la lecture avec changement de hauteur, les points de boucle, le découpage basé sur les transitoires, et jusqu'à 32 voix simultanées avec vol de voix sans clics.
- E/S MIDI avec ports virtuels, routage matériel, enregistrement pas à pas et punch-in, mappage aftertouch→filtre, apprentissage MIDI pour le mappage CC, et entrée/sortie d'horloge.
- Synchronisation bidirectionnelle du tempo et du transport Ableton Link.
- Édition de motifs style tracker classique avec entrée modale, disposition clavier piano, sélection de blocs, interpolation, transposition, annulation/rétablissement, et 12 commandes d'effet.
- Structure de chanson avec plusieurs motifs, nombre de lignes par motif, listes d'ordre avec répétitions, saut de position et effets de rupture de motif.
- Rendu hors ligne vers WAV/FLAC sans périphérique audio, plus import/export standard de fichiers MIDI.
- Lecture facultative de SoundFont (.sf2) pour le support General MIDI.
Le projet est organisé en espace de travail Cargo avec trois caisses : rtrack-core (moteur headless, audio, MIDI, modèle de données), rtrack-tui (frontend terminal), et rtrack-gui (frontend bureau). Les morceaux sont enregistrés sous forme de fichiers JSON (.rtrk). Nécessite Rust 1.89+ et CMake 3.14+.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.