Le format .fseq expliqué — comment fonctionne vraiment un Tesla Light Show

Chaque Tesla Light Show que tu as vu tourner tient dans un unique fichier .fseq. Ouvre-le dans un éditeur de texte : c’est du charabia. Normal, c’est un format binaire, conçu pour faire tenir des milliers d’évènements lumineux synchronisés dans quelques centaines de kilo-octets. Voici ce qu’il y a vraiment dedans, d’où vient le format, et pourquoi Tesla ne l’a pas inventé.

Format de fichier Tesla .fseq
Le .fseq est le cœur de tout Tesla Light Show personnalisé

Tesla n’a pas inventé le .fseq — Noël l’a fait avant eux

Le format .fseq existait bien avant les light shows Tesla. Il vient du monde des illuminations de fête — ces gens qui câblent des milliers de LED RGB sur leur maison pour Noël et synchronisent le tout sur de la musique. Le format a été créé par le projet xLights et il est massivement utilisé avec des contrôleurs comme Falcon Player (FPP), qui pilote les grosses installations lumineuses que tu vois défiler chaque décembre sur les réseaux.

Quand Tesla a lancé les light shows personnalisés fin 2021 (mise à jour 2021.44.25), ils ont fait un choix malin : plutôt que d’inventer un énième format propriétaire, ils se sont greffés sur .fseq. Le format avait déjà des outils matures, une communauté active, et une fiabilité prouvée sur des systèmes bien plus gros. Ta Tesla est juste un petit afficheur lumineux avec des canaux très spécifiques.

Ce qu’il y a vraiment dans un .fseq

Un fichier .fseq, c’est essentiellement un tableau. Le temps descend en lignes, chaque colonne est un « canal » — une lumière ou un moteur adressable. Toutes les 20 millisecondes (50 images par seconde — la valeur recommandée par Tesla), le fichier dit à la Tesla : « pour cette image, le canal 1 doit être à 255, le canal 2 à 0, le canal 5 à 128… » et ainsi de suite pour tous les canaux.

  • En-tête : version, nombre d’images, pas de temps (20 ms recommandé, 15–100 ms supporté), nombre total de canaux, info de compression.
  • Mapping des canaux : qui contrôle quoi (phare gauche, clignotant droit, vitre, rétroviseur, coffre, trappe de charge…).
  • Données d’images : une ligne de valeurs de canaux par tranche de 20 ms (au pas de temps recommandé).
  • Compression optionnelle : zstd est utilisé le plus souvent pour garder les fichiers compacts.

Pour un show de 3 minutes à 50 fps, ça fait 9 000 images. Avec environ 48 canaux sur une Model 3 ou Model Y, tu te retrouves avec un tableau d’à peu près 432 000 valeurs qui décrivent l’intégralité du show — le tout empaqueté dans un fichier binaire généralement sous le mégaoctet grâce à la compression zstd.

Comment la Tesla lit tout ça

Quand tu branches une clé USB avec un dossier LightShow valide et que tu déclenches le show personnalisé, le logiciel de la voiture lit le fichier .fseq image par image. Chaque image dure 20 ms (au pas de temps recommandé). À chaque image, la voiture envoie les valeurs de chaque canal au matériel correspondant : les phares se tamisent à une intensité précise, les clignotants s’allument ou s’éteignent, les vitres descendent, les rétros se replient, le coffre s’ouvre.

Le fichier audio (lightshow.mp3 ou lightshow.wav) est lancé en parallèle, au même instant que le .fseq. Il n’y a aucun timecode ni synchro embarquée — les deux pistes sont juste démarrées en même temps et on compte sur le fait qu’elles restent alignées. C’est pour ça que le .wav 44,1 kHz est plus fiable que le MP3 : le MP3 introduit un minuscule délai d’encodage qui peut décaler l’audio de quelques millisecondes derrière les lumières.

Le mapping des canaux Tesla

Tous les canaux ne pilotent pas une LED couleur. La plupart sont des interrupteurs binaires (vitre ouverte/fermée, rétro plié/déplié, coffre ouvert/fermé). Une poignée de canaux sont PWM — typiquement les phares et les antibrouillards — ce qui veut dire qu’ils peuvent fondre de 0 (éteint) à 255 (luminosité max). Sur Model 3 ou Model Y, tu as environ 48 canaux adressables répartis entre feux avant, feux arrière, clignotants, antibrouillards, feux de recul, rétros, vitres, coffre et trappe de charge.

Le Cybertruck et les Model S/X refresh ont des mappings différents. C’est pour ça qu’un show conçu pour une Model Y ne tourne pas toujours bien sur une Model S — le fichier peut être valide, mais les canaux pointent vers autre chose.

Pourquoi c’est utile à savoir quand tu crées un show

Tous les éditeurs de timeline, tous les générateurs IA, tous les outils web qui permettent de faire un Tesla Light Show produisent au final la même chose : un tableau de valeurs de canaux dans le temps, sauvegardé en .fseq. La différence entre les outils, c’est la manière dont tu construis ce tableau — certains t’offrent une timeline visuelle à la milliseconde, d’autres le génèrent depuis un fichier audio, d’autres te laissent éditer chaque canal à la main.

Savoir ce qu’il y a sous le capot, ça aide quand un truc ne marche pas. Lumières désynchronisées ? Probablement un décalage d’encodage audio. Mauvaises lumières qui s’allument ? Vérifie le mapping des canaux. Le show ne démarre pas ? L’en-tête ou la fréquence du .fseq est sans doute mauvaise. Le format est assez simple pour que la plupart des problèmes viennent toujours de ces quelques fondamentaux.