Projets / Application · Outil · Performance

Persona

2026 · En cours

Du son fait de code

Du son fait de code, jamais enregistré. Un studio pour le concevoir, couche par couche, et des platines pour le jouer en live.

Lancer · bientôt 2 versions ↓

Persona en mode Live : deux platines, les effets master et le sampler

Ouvrir

  • StudioConcevoir un son, le superposer, l’arranger, exporter un WAV, des stems, un preset ou une fonction TypeScript.Lancer · bientôt
  • LiveDeux ou quatre platines, une table de mixage, un sampler et une caisse de tout ce que vous avez joué.Lancer · bientôt

À propos

Pourquoi du code

Un jeu qui synthétise son audio n’embarque aucun fichier son, et chaque coup de feu peut différer légèrement du précédent, parce qu’il est généré plutôt que rejoué. C’est le point de départ : on façonne un son à partir d’une famille (un fusil, une cloche, un saut), et on l’exporte en .wav, en stems pour une station audio, ou en fonction TypeScript autonome qui le régénère à l’exécution.

Le code généré est vérifié plutôt que cru sur parole. Un banc d’essai émet chaque famille sous chaque forme, la compile, rend les deux et les compare échantillon par échantillon : 242 voix et 50 piles superposées concordent à l’arrondi près, et quatre presets reproduisent bit pour bit les voix livrées d’un jeu. Il a trouvé des bogues que le typage ne voit pas.

Live

La vue Live fait du même moteur un instrument. Les morceaux viennent du studio, sont tirés en arrière-plan au tempo du set et dans une tonalité qui s’accorde à l’autre platine (drum & bass, halftime, techno, house), ou sont vos propres enregistrements, dont le tempo et le premier temps sont trouvés au chargement.

Tout est calé sur la mesure. Les commandes en temps réel agissent sur un audio déjà rendu ; ce qui doit être calculé arrive à la phrase suivante. Le moteur garde toujours une phrase d’avance.

Fabriqué avec

TypeScript, la Web Audio API (un contexte hors ligne utilisé comme fabrique de tampons déterministe), des audio worklets et des workers, canvas 2D pour toutes les vues. Sans framework et sans dépendance à l’exécution.

Fonctionnalités

Crédits

Esc