À propos du projet
flashback-sampler est un applet audio de bureau qui enregistre continuellement l'audio système dans un buffer circulaire, permettant aux utilisateurs d'extraire un segment du passé récent, de le prévisualiser et de le recadrer, puis de l'enregistrer ou de le glisser directement dans un DAW. Le buffer continue de tourner pendant toutes les opérations.
Les objectifs principaux incluent de ne jamais perdre une prise : le buffer conserve les N dernières minutes jusqu'à 192 kHz, et les extractions sont écrites immédiatement sur le disque pour survivre aux plantages. Le glisser-déposer utilise un dépôt de fichier OS standard afin que chaque hôte DAW puisse l'accepter. Les segments exportés comportent de l'audio supplémentaire (poignées) autour d'eux, permettant aux utilisateurs de déplacer les bords du clip dans le DAW pour révéler plus d'audio. Le segment lui-même reste entier, et des marqueurs WAV (étiquettes cue, smpl, adtl) le marquent à l'intérieur du fichier. Une préférence optionnelle permet de glisser un Ableton Live Clip (.alc) au lieu d'un WAV.
Le moteur est une bibliothèque Zig sans dépendance située sous core/ gérant la capture, le mixage, la lecture, le buffer, les pics, le WAV et le cache temporaire. Python est une interface PySide6/Qt qui crée des handles, les démarre et les arrête, et lit des nombres ; il ne voit jamais de frame. Le même moteur pourrait être utilisé sous un plugin CLAP, un dock OBS ou un téléphone.
Le statut est la version 0.4.1, Windows uniquement. La capture, le mixage et la lecture passent par WASAPI dans le cœur Zig. Le cœur est compilable pour Linux et macOS, mais ces backends n'existent pas encore. L'interface Qt est prévue pour être reconstruite nativement en Zig.
L'interface présente une paire de platines : le plateau de gauche est le buffer circulaire en direct, le plateau de droite contient les clips extraits. Les utilisateurs choisissent une source (sortie par défaut, périphérique de capture, un processus ou plusieurs entrées mixées), démarrent/arrêtent la capture, définissent la durée et la position du segment, gèlent l'affichage pour aligner les captures pendant que l'enregistrement continue, extraient les sélections, prévisualisent et recadrent les clips, enregistrent en WAV (float 32 bits par défaut), ou glissent dans un DAW. Les extractions survivent après l'arrêt de la capture et résident dans un dossier temporaire en WAV float32.
La mémoire est allouée dès l'armement d'un slot : secondes × taux × canaux × 4 octets. Le préréglage stéréo 48 kHz de 15 minutes occupe 346 Mo. Deux vérifications sont effectuées avant la création d'un buffer : un plafond d'empreinte maximale (25 % de la RAM physique par défaut) et un refus si le buffer dépasse la mémoire physique libre.
Seul Ableton Live 12 a été testé pour le comportement des marqueurs DAW. Reaper, Logic, Cubase, Bitwig, FL Studio, Studio One et Pro Tools sont listés mais non testés.
Nécessite Python 3.10+ et Zig 0.16.0. Sous licence MIT ; les polices Monaspace incluses sont sous la licence SIL Open Font License 1.1.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.