Vingt heures quinze, deux restaurants dans la même rue. L'un subit son service, l'autre le tient. Le montage suit les paroles et non une chronologie de série : aucun numéro d'épisode, aucun titre de saison, aucune mention de série à l'écran.
Tempo
144
BPM mesurés · 142 demandés
Durée
3:23
Drill FR × R&B
Plans sources
87
aucun regénéré
Coupes
221
toutes sur un temps
Les partis pris du montage
Deux grammaires opposées : le côté qui subit est froid, désaturé, tremblant, coupé toutes les 0,4 à 0,6 s ; le côté qui tient est chaud, stable, coupé toutes les 1,2 à 1,7 s.
Aucun visuel n'apparaît deux fois : chaque source est découpée en fenêtres qui ne se recouvrent pas, et chaque fenêtre n'est consommée qu'une seule fois.
Split-screen horizontal sur les refrains, les deux moitiés désynchronisées ; la moitié haute fige en noir et blanc sur « y'en a un qui court derrière », la basse s'ouvre en plein cadre sur « y'en a un qui a d'l'avance ».
Le pont joue EP142 sans une seule coupe, sans sous-titre et sans incrustation — pas même le logo.
Toute coupe tombe sur un temps ou un contretemps de la grille à 144 BPM.
La chaîne de montage
Chaque étape tourne seule et écrit son résultat sur le disque : reprendre en cours de chaîne ne demande pas de tout refaire. Le tout vit dans le-clash/ sur la branche claude/le-clash-song-video-b62eah.
Étape
Rôle
Sortie
scripts/tempo.py
Tempo réel par peigne d'onsets
work/tempo.json
scripts/grid.py
Grille des temps, downbeats, contrôle de dérive
work/beatgrid.json
scripts/transcribe.py
Transcription mot à mot (faster-whisper medium)
work/transcript.json
scripts/align.py
Alignement Needleman-Wunsch des paroles officielles
work/lines.json
scripts/build.py
Timeline : une source différente à chaque coupe
shotlist.json
scripts/subs.py
Sous-titres karaoké mot à mot
work/subs.ass
scripts/ambience.py
Nappe d'ambiance et master audio normalisé
work/mix.wav
scripts/brand.py
Affiche et sting logo de fin
dist/affiche-le-clash.jpg
scripts/derivees.py
Découpe courte et sous-titres dérivés
shotlist-tiktok.json
scripts/render_chunks.py
Rendu par tranches puis concaténation sans réencodage