Vérifier une sortie du studio
La règle d'or du projet : ne jamais dire « fini » sans avoir regardé le résultat. Les tests automatiques disent si ça marche ; seul le regard dit si ça a l'air correct
(dans ce projet, hyperframes check a passé avec un arc traversant le texte, et les tests de visualisation n'auraient détecté aucun de ses quatre défauts visuels).
Étapes
- Vidéo ou scène avec
seek(t): prendre 6 à 8 trames réparties (pas seulement la première) dans une planche contact et les examiner avec Read :node scripts/capture.mjs <scene.html> 1,4,7,10,13,16,19 out/frames/sheet.png 4Pour un MP4 déjà rendu :ffmpeg -i out/x.mp4 -vf "fps=1/3,scale=640:-1,tile=3x3" -frames:v 1 out/frames/sheet.png. Rechercher : texte coupé ou qui se chevauche, éléments hors cadre, faible contraste, trames vides ou figées. - Format :
ffprobe -v error -show_streams -show_format -of json <file>→ 1920x1080, 30 ips, H.264yuv420p, durée attendue, piste audio AAC 48 kHz. - Audio :
ffmpeg -i <file> -vn -af ebur128=peak=true -f null -→ intégrée −16 LUFS (±1), pic vrai ≤ −1 dBFS. Vous ne pouvez pas écouter : utiliser un spectrogramme (showspectrumpic), des mesures, et la transcription avec Whisper large-v3 (audio/verify_voice.py). JAMAIS avec Whisper small : il invente du texte dans les silences et donne une fausse erreur de 49 à 160 %. - Tout ensemble :
make verify(ouaudio/.venv/bin/python scripts/verify_output.py). Il doit se terminer parALL CORRECT. - Rapport honnête : ce que vous avez examiné, ce que vous avez mesuré, ce que vous NE POUVEZ PAS juger (naturel de la voix, goût du design) et quels défauts sont apparus même si vous les avez corrigés.
Pièges connus
- Un résultat « identique » doit être prouvé (
cmp, hash de trames avecffmpeg -f framemd5), pas supposé. Kokoro n'est pas déterministe sans seed. - Les mesures de loudness avec des fenêtres < 0,4 s donnent −65 LUFS (déchets) : elles sont ignorées.
- Un PNG peut être 10 fois plus lent que JPEG dans les scènes complexes (210 s contre 20 s) et plus rapide dans les scènes plates.