Verificar uma saída do estúdio
A regra de ouro do projeto: nunca diga "pronto" sem ter olhado o resultado. Testes automáticos dizem se funciona; só olhar diz se está correto visualmente
(neste projeto, hyperframes check passou com um arco cruzando o texto, e os testes do visualizador não teriam detectado nenhuma de suas quatro falhas visuais).
Passos
- Vídeo ou cena com
seek(t): tire 6–8 quadros espaçados (não apenas o primeiro) em uma folha de contato e olhe para eles com Leitura:node scripts/capture.mjs <scene.html> 1,4,7,10,13,16,19 out/frames/sheet.png 4Para um MP4 já renderizado:ffmpeg -i out/x.mp4 -vf "fps=1/3,scale=640:-1,tile=3x3" -frames:v 1 out/frames/sheet.png. Procure por: texto cortado ou sobreposto, elementos fora do quadro, contraste ruim, quadros vazios ou congelados. - Formato:
ffprobe -v error -show_streams -show_format -of json <file>→ 1920×1080, 30 fps, H.264yuv420p, duração esperada, faixa de áudio AAC 48 kHz. - Áudio:
ffmpeg -i <file> -vn -af ebur128=peak=true -f null -→ integrada −16 LUFS (±1), pico real ≤ −1 dBFS. Você não pode ouvir: use um espectrograma (showspectrumpic), medições e a transcrição de volta com Whisper large-v3 (audio/verify_voice.py). NUNCA com Whisper pequeno: ele inventa texto em silêncios e dá um falso erro de 49–160 %. - Tudo junto:
make verify(ouaudio/.venv/bin/python scripts/verify_output.py). Deve terminar emALL CORRECT. - Relate honestamente: o que você olhou, o que mediu, o que NÃO PODE julgar (naturalidade da voz, gosto do design) e quais falhas apareceram mesmo que você as tenha corrigido.
Armadilhas conhecidas
- Um resultado "idêntico" deve ser comprovado (
cmp, hashes de quadros comffmpeg -f framemd5), não presumido. Kokoro não é determinístico sem uma semente. - Medições de sonoridade com janelas < 0,4 s fornecem −65 LUFS (lixo): são ignoradas.
- Um PNG pode ser 10 vezes mais lento que JPEG em cenas complexas (210 s versus 20 s) e mais rápido em cenas planas.