Projets / Application · Outil · Performance
Persona
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
- 01
Des familles, pas des oscillateurs
Fusil, laser, ricochet, impact, roquette, saut, moteur, alerte, voix, crépitement, bourdonnement, ambiance, carillon. Chacune encode l’acoustique de ce qu’elle imite, avec ses réglages exposés.
- 02
Des couches sur une timeline
Jusqu’à six voix par son, chacune avec gain, panoramique, vitesse, fondus, répétitions, morphing entre deux réglages et lente évolution sur sa propre durée.
- 03
Le rythme, généré
Activez la grille musicale et chaque couche reçoit un motif euclidien : impulsions sur pas, rotation, densité, swing, humanisation, accent. Des nombres qu’on balaie en écoutant.
- 04
Douze étages d’effets
EQ dessinée, filtre, wavefold, saturation, décaleur de fréquence, modulateur en anneau, phaser, flanger, effet Doppler, écho, bit-crush et trémolo, par couche et sur un bus master.
- 05
Quatre vues sur un même axe
Arrangement, spectrogramme, forme d’onde et spectre. On dessine les courbes d’EQ directement sur le spectre. Mesures en direct de l’attaque, du déclin, du crête, du centroïde et de la tonalité.
- 06
Varier, réensemencer, tout tirer
Une pile entière d’un coup, une famille de sons voisins en poussant chaque réglage de quelques pour cent, ou une autre prise avec la même forme et un autre bruit.
- 07
En live sur deux ou quatre platines
Pads de stems par rôle calés sur la mesure, variations A/B/C, fills, boucles, tranche de console avec coupe-bandes, crossfader, échange des basses et fondus minutés, pré-écoute au casque, apprentissage MIDI.
- 08
Rien ne charge pendant la musique
Les voix d’un morceau sont synthétisées une fois dans un worker, puis chaque mesure est mixée deux mesures à l’avance. On ne change jamais le présent, seulement l’avenir.
- 09
Un set pèse quelques kilo-octets
Sauvegarder un set écrit un journal d’événements, pas de l’audio. Render WAV le rejoue hors ligne dans le même graphe, mesuré identique à la sortie live à −71 dB.
Crédits
- Conception, DSP, code — SVDK