{
  "id": "clube-caught-in-the-fire",
  "titulo": "Música vira trailer",
  "categoria": "sound",
  "resumo": "Reel vertical de 60,5 s, sem narração, que mostra \"Caught In The Fire\" (Tommee Profitt, com Sam Tinnesz) duas vezes: primeiro como ela é, depois no remix cinematográfico que o Claude montou com efeitos tonais no tom da música. O gancho é texto na tela, a música já toca abafada por baixo dele e a diferença aparece numa timeline de editor com a onda real de cada camada. O edit acontece num mundo de fogo e brasa sobre a noite azul da capa do álbum. Tudo é um take único em HTML com o quadro calculado pelo tempo, renderizado a 60 qps com desfoque de movimento. Feito pelo Clube do Motion e publicado no Instagram.",
  "indicado": "criador, produtora, estúdio de som ou marca que quer mostrar o que uma trilha muda num vídeo para quem não é técnico; lançamento de skill, ferramenta ou serviço de áudio; série de Reels de música.",
  "estilo": [
    "timeline viva",
    "antes e depois",
    "sound design tonal",
    "mundo de fogo e brasa",
    "íris de seis lâminas",
    "texto que nasce em brasa e esfria",
    "take único"
  ],
  "ficha": {
    "formato": "1080×1920, 60 qps, 9:16, H.264 (CRF 16) com AAC de 256 kbps, cor BT.709, 51,4 MB",
    "duracao": "60,5 s (3.630 quadros), sem narração",
    "motor": "html",
    "voz": "ver o guia de estilo",
    "musica": "\"Caught In The Fire\" (Tommee Profitt, com Sam Tinnesz): o original no gancho e no normal, o remix cinematográfico v4 no edit (Lá menor, 130,4 BPM, drop em 37,68 s do remix)",
    "fontes": "ver o guia de estilo"
  },
  "ferramentas": [
    "Claude Code"
  ],
  "ficha_tecnica": {
    "Duração": "60,5 s (3.630 quadros), sem narração",
    "Formato": "1080×1920, 60 qps, 9:16, H.264 (CRF 16) com AAC de 256 kbps, cor BT.709, 51,4 MB",
    "Ferramenta": "HTML + canvas num take único, motor `take-unico` (render no Chromium sem janela, obturador de 180°); trilha e dados em Python",
    "Música": "\"Caught In The Fire\" (Tommee Profitt, com Sam Tinnesz): o original no gancho e no normal, o remix cinematográfico v4 no edit (Lá menor, 130,4 BPM, drop em 37,68 s do remix)",
    "Timeline": "22 clipes do remix e a música original inteira, com a onda calculada do áudio de cada camada",
    "Som": "44 eventos exportados da composição; −14,0 LUFS, pico verdadeiro de −1,2 dBFS",
    "Referência": "um short do Multiply Sound que compara, na mesma timeline, efeitos comuns e efeitos tonais no tom da música"
  },
  "etapas": [
    {
      "titulo": "O roteiro",
      "texto": "**Resumo:** o Reel não tem narração; o roteiro é a sequência de telas, com o texto exato que aparece, e os momentos da trilha. A ideia do vídeo cabe no gancho: pedir ao Claude que transforme uma música num trailer de filme. Os tempos são os do vídeo final (v2); no edit, o segundo do remix é o segundo do vídeo menos 12,48.\n\n## De onde veio a estrutura\n\nO formato vem de um short do Multiply Sound que toca, na mesma timeline, efeitos comuns e efeitos tonais no tom da música, e deixa o ouvinte perceber a diferença sozinho. Aqui a comparação é entre a música normal e a música que o Claude editou. A primeira versão explicava cada elemento com uma frase na tela; a versão final trocou as frases por uma etiqueta curta presa ao clipe, porque quem não é técnico entende pelo som e pelo elemento, e não pela leitura.\n\n## Textos na tela\n\n | \n\n | Onde\n | Texto\n\n | Gancho\n | \"POV: você pediu pro Claude transformar uma música num trailer de filme\"\n\n | Normal\n | \"Música normal\"\n\n | Cartela de trailer\n | \"Agora, o edit do Claude\", que vira a pílula \"Edit do Claude\"\n\n | Etiquetas (uma por vez)\n | \"Piano: abre o clima de filme\" · \"Fundo: dá peso de cinema\" · \"Só a voz do Sam Tinnesz\" · \"Violoncelo: responde a voz\" · \"Piano: acompanha a música\" · \"Subida: prepara a explosão\" · \"A música inteira explode aqui\"\n\n | Notas\n | ♪ Lá, Lá/Mi; Am, B♭, Dm, G, F\n\n | Crédito\n | \"Tommee Profitt – Caught In The Fire (feat. Sam Tinnesz)\" com a capa do álbum\n\n | CTA\n | \"Comenta DJ que eu te mando o passo a passo\" e o comentário \"DJ\" digitado e enviado\n\n## Cenas por tempo\n\n | \n\n | #\n | Tempo (s)\n | O que acontece\n\n | 1\n | 0,20–3,45\n | o gancho cai palavra por palavra na mesa creme, cada palavra nascendo argila e esfriando para a tinta; \"Claude\" (1,35 s) pulsa o símbolo; \"filme\" (3,45 s) pisca as barras de cinema; a música já toca abafada por baixo\n\n | 2\n | 3,90–4,45\n | \"música\" vira o clipe azul e a câmera mergulha; o cursor nasce e o rótulo \"Música normal\" entra\n\n | 3\n | 4,45–12,00\n | **Música normal**: ambiente cinza, o cursor toca o refrão original (\"We're caught in the fire / and it burns right through the bones\")\n\n | 4\n | 12,00–12,48\n | a fita rebobina com tape stop até o zero do remix\n\n | 5\n | 12,42–13,22\n | íris de seis lâminas abre do cursor para a noite com brasas; o clipe se divide (a voz fica adormecida, o instrumental cai)\n\n | 6\n | 12,56–14,1\n | a cartela \"Agora, o edit do Claude\" encolhe e vira a pílula da timeline (13,88 s)\n\n | 7\n | 14,1\n | Piano Ping: \"Piano: abre o clima de filme\"\n\n | 8\n | 16,6\n | fundos graves (Atlantic e Soft Circuit): \"Fundo: dá peso de cinema\"\n\n | 9\n | 22,2\n | a voz entra: \"Só a voz do Sam Tinnesz\", e a foto dele sai do clipe da voz\n\n | 10\n | 25,0\n | violoncelo nos respiros da voz: \"Violoncelo: responde a voz\"\n\n | 11\n | 28,1\n | acordes de piano seguindo a harmonia: \"Piano: acompanha a música\"; as letras dos acordes rolam dos clipes\n\n | 12\n | 45,1–50,16\n | subida (Activation e Breathe): \"Subida: prepara a explosão\"; a câmera empurra e o cursor vai ao centro\n\n | 13\n | **50,16**\n | **drop** seco no bumbo: clarão, brasas que explodem, tremor; \"A música inteira explode aqui\"; a timeline pulsa nos bumbos\n\n | 14\n | 53,9–55,9\n | a capa e o crédito saem do clipe da música\n\n | 15\n | 56,0–58,5\n | CTA: o símbolo da pílula voa para o cartão; \"Comenta DJ que eu te mando o passo a passo\"; \"DJ\" digitado em 0,6 s e enviado (58,5 s); marca do Claude Code\n\n | 16\n | 58,5–60,5\n | a música segue e some\n\n## Momentos para a trilha\n\n- 0,2–4,3 s: a música abafada abrindo até cheia; um glock por palavra, harpa em \"música\", golpe de trailer em \"filme\".\n\n- 4,45 s: o refrão original, sem corte.\n\n- 12,00 s: tape stop de 0,48 s.\n\n- 12,48 s: o remix do zero, com piano e drones; o começo é baixo de propósito.\n\n- 22,2 s: a voz entra quase sozinha.\n\n- **50,16 s: drop do remix**, sem efeito por cima.\n\n- 56–58,5 s: pop, glock, digitação e envio do comentário.\n\nA lista completa dos 44 eventos, com tempo, tipo e pan, está em `audio/eventos.json`; os 22 clipes do remix, com trilha e começo e fim, em `comp/dados/timeline-resumo.md`."
    },
    {
      "titulo": "A identidade visual",
      "texto": "**Resumo:** três ambientes: a mesa creme do Claude no gancho, o cinza sem brilho na música normal e, no edit, fogo e brasa sobre a noite azul da capa do álbum. A argila do Claude já é cor de brasa, por isso faz a ponte entre os dois mundos. A timeline mantém as cores do editor dos shorts do Multiply Sound, e a brasa fica no ambiente e no brilho de quem toca. Cores medidas por k-means nas imagens oficiais; números tirados do `index.html`, do `trilha.py` e da revisão do projeto.\n\n## Cores medidas\n\n- **Capa do Cinematic Songs Vol. 1:** noite `#010103` e `#040911`, azul-aço `#091622` e `#162D3B`, título vermelho `#C55350`, borda vinho `#673034`.\n\n- **Foto do Tommee Profitt:** vermelho `#C2070F`, `#890308`, `#570405`.\n\n- **Foto do Sam Tinnesz:** sombra `#171815`, couro `#3D322B`, pele quente `#A2694C` e `#E1AD88`.\n\n## Paleta\n\n | \n\n | Papel\n | Cor\n | Origem\n\n | Mesa do Claude (gancho e CTA)\n | creme `#F4F0E8` · argila `#D97757` · tinta `#1F1E1D`\n | Reel do DJ\n\n | Trecho normal\n | cinza `#2A2A2E` · onda `#B9B9BE`\n | Reel do DJ\n\n | Fundo do edit\n | noite `#040911` → azul-aço `#0A1D2B`\n | capa\n\n | Brasa (partículas e brilho dos clipes)\n | `#F26B1D` → chama `#FFB547` → faísca `#FFE3A3`\n | o fogo da letra, puxado da argila\n\n | Calor do drop\n | `#C2070F` com brilho `#D03324`, no fogo e no clipe da música\n | foto do Tommee Profitt\n\n | Luzes do fundo\n | fogo no pé da tela, fumaça azul, clarão do drop e pulso nos bumbos\n | capa e letra\n\n## Tipografia\n\n- **Source Serif 4, Inter e Geist Mono** na parte do Claude, como no Reel do DJ.\n\n- **Cinzel** na cartela de trailer \"Agora, o edit do Claude\".\n\n- **Michroma**, larga e em caixa-alta como a fonte da capa, só no nome da faixa no crédito.\n\n- Nomes dos clipes em 31 px; etiquetas de 46 px presas ao clipe.\n\n## Timeline\n\n- Cores do editor como assinatura do formato: música em azul, tonais em verde-água, efeitos do Reel em argila, cursor vermelho.\n\n- 22 clipes do plano do remix e a música original inteira, com onda a 40 pontos por segundo, escala de −42 a 0 dB.\n\n- Nove trilhas: música, voz, Piano Ping, Atlantic, Soft Circuit, violoncelo, Electric Wave (os acordes), Activation e Breach, Breathe.\n\n- Cada camada chega à sua trilha quando começa (nunca surge do nada) e acende pelo nível real no cursor.\n\n- Na v2, sem a faixa de textos, a timeline subiu e cresceu (zoom de 0,98 a 1,0), com a pílula \"Edit do Claude\" em y 404.\n\n## Elementos do edit\n\n | \n\n | Peça\n | Como é\n\n | Etiqueta\n | uma por elemento, presa ao clipe, entra com ele e sai em 2,5 s; no máximo uma na tela\n\n | Notas\n | saem de cada clipe tonal nos golpes medidos na onda real: \"♪ Lá\" no Piano Ping, nos drones (a cada 2 compassos), nos risers e no Breach; \"Lá/Mi\" no violoncelo; a letra do acorde nos Electric Wave (Am, B♭, Dm, G, F)\n\n | Foto do cantor\n | sai do clipe da voz quando ele começa a cantar (22,2 s)\n\n | Brasas\n | partículas determinísticas que sobem devagar do pé da tela, em duas camadas (atrás e na frente da timeline), numa deriva que nunca para\n\n | Voz\n | na separação, o clipe da voz fica adormecido; ele acende quando o cantor entra, com o brilho de brasa de quem toca\n\n## Texto que nasce em brasa e esfria\n\nCada palavra nasce em `#F26B1D` com desfoque de 12 px e esfria para o branco em ~0,5 s; a palavra-chave esfria para `#FFB547`. No gancho, sobre a mesa creme, a palavra nasce argila e esfria para a tinta.\n\n## Transições\n\n- **Gancho → normal:** a palavra \"música\" vira o clipe azul e a câmera mergulha.\n\n- **Normal → edit:** a fita rebobina com tape stop até o zero do remix; uma íris de seis lâminas, com as arestas visíveis, abre a partir do cursor girando 0,9 rad, com pouso macio; o clipe se divide (a voz fica adormecida, o instrumental cai); a cartela \"Agora, o edit do Claude\" encolhe e vira a pílula da timeline.\n\n- **Drop → crédito:** a capa sai do clipe da música com \"Tommee Profitt – Caught In The Fire (feat. Sam Tinnesz)\".\n\n- **Crédito → CTA:** o símbolo da pílula voa para o cartão do CTA.\n\n## Câmera\n\n- No gancho, a palavra \"Claude\" pulsa o símbolo e \"filme\" pisca as barras de cinema.\n\n- No normal, zoom 2,0 no clipe azul; segue o cursor com mola.\n\n- Na subida até o drop, empurra de 0,90 para 0,97 e o cursor vai para o centro.\n\n- No drop, clarão laranja seco, tremor curto e a timeline pulsando nos bumbos medidos, com ataque de ~30 ms.\n\n- Segura de propósito em três trechos, para o vídeo respirar; fora isso, nunca para.\n\n## Render\n\n60 qps, obturador de 180°, em dois trechos (0 a 30 s e 30 s em diante) juntados sem recomprimir; um grão fixo leve no final. H.264 CRF 16, BT.709, AAC de 256 kbps a 48 kHz.\n\n## Trilha\n\n | \n\n | Trecho\n | Som\n\n | Gancho\n | a própria faixa (segundo da música = segundo do vídeo + 38,10), com passa-baixa de 350 Hz abrindo até cheio em 4,3 s e uma sala que some junto\n\n | Normal\n | o refrão original, sem corte depois do gancho\n\n | Virada\n | tape stop real de 0,48 s\n\n | Edit\n | o remix v4 do zero em 12,48 s; o drop do remix casa com o mesmo trecho do original\n\n | CTA\n | a música segue e some\n\nO começo do edit fica baixo de propósito: o remix abre só com piano e drones, cerca de 12 dB abaixo do refrão normal, até a voz entrar.\n\n## Sound design\n\n | \n\n | Evento\n | Som\n\n | Cada palavra do gancho\n | glock na escala pentatônica de Lá menor e um pop\n\n | \"Claude\"\n | sino tonal e glock em Mi\n\n | \"música\"\n | arpejo de harpa em Lá, Dó e Mi\n\n | \"trailer\" · \"filme\"\n | piano grave em Lá; no \"filme\", golpe de trailer, impacto e acorde de piano\n\n | Carry, rebobinada e íris\n | whoosh longo; fita; whoosh grave com clique\n\n | Etiquetas\n | pop ao entrar (com o tom alternando) e whoosh curto ao sair\n\n | Foto e capa\n | pop e whoosh curto\n\n | Drop\n | nada: o drop é do remix\n\n | CTA\n | pop e glock; digitação real do \"DJ\" em 0,6 s; envio com clique, glock e whoosh\n\n- Cada efeito entra num nível relativo à música do instante, medido em curto prazo com ponderação K: 4 a 9 dB abaixo no gancho (o \"filme\" fica 4 dB acima, é o golpe de trailer), 9 a 16 dB abaixo no edit e 1 a 9 dB abaixo no CTA.\n\n- A IR da sala foi normalizada antes da mix.\n\n- **Final:** −14,0 LUFS, pico verdadeiro de −1,2 dBFS.\n\n## O que é \"humano\" neste vídeo\n\n- As brasas sobem o tempo todo, mesmo quando a câmera segura.\n\n- A íris pousa macia e o CTA entra devagar (mola com ζ 0,74 e ω 8,5).\n\n- O \"DJ\" do comentário é digitado em 0,6 s, no ritmo de uma pessoa.\n\n- Os clipes acendem pelo nível real do som, e não por uma animação fixa."
    },
    {
      "titulo": "A montagem em HTML",
      "texto": "| \n\n | Arquivo\n | O que faz\n\n | `comp/index.html`\n | no cabeçalho fica a folha de batidas; no topo, `N0` (normal), `RB` (rebobina), `E0` (início do edit) e `R(r)`, que converte segundo do remix em segundo do vídeo; `seek(t)` monta o quadro; a timeline é um canvas desenhado com a matriz da câmera; `window.__events()` devolve os eventos\n\n | `take-unico/render_take.py`\n | renderiza a composição com obturador de 180°; `--stills`, `--previa`, `--trechos` e `--retomar`\n\n | `take-unico/oraculo_take.py`\n | confere continuidade, enquadramento, respiros e saltos; `--eventos` exporta os eventos para a trilha\n\n | `audio/timeline_dados.py`\n | renderiza cada camada do remix sozinha, com o mesmo ganho e filtro da mixagem, e grava `comp/dados/timeline.js` e o resumo\n\n | `audio/batidas.py`\n | mede os bumbos depois do drop (beat_this) para `comp/dados/batidas.js`\n\n | `audio/trilha.py`\n | música abafada no gancho abrindo até o normal, tape stop, remix do zero, um efeito por palavra e por elemento, cada um num nível relativo à música do instante; mix em −14 LUFS\n\n | `render/final.sh`\n | final a 60 qps em dois trechos com a trava entre agentes, junção com grão e som; `remendo.sh` refaz só os trechos corrigidos\n\n | `revisao/carga_texto.py`\n | conta, quadro a quadro, quantos textos estão na tela\n\n | `audio/remix/`\n | o plano do remix (`cinematografico-v4.json`), a separação da voz, as camadas e a mixagem com a voz na frente (`render.sh v4` roda tudo)\n\n- **Junte as pastas:** descompacte `projeto/` dentro de `07-videos/projetos/caught-in-the-fire/` e ponha `audio/` ao lado de `comp/`. Copie `projeto/take-unico/` para `07-videos/biblioteca/take-unico/`: o `index.html` carrega `../../../biblioteca/take-unico/take.js`.\n\n- **Imagens:** baixe a capa e as fotos pelos links de `referencias/fontes.md` com os nomes que o `index.html` espera, ou troque pelas do seu artista.\n\n- **Instale:** Python 3.11 com numpy, scipy, soundfile, librosa, pyloudnorm e playwright (`playwright install chromium`), o beat_this e o ffmpeg.\n\n- **Aponte os caminhos:** no topo de `audio/trilha.py`, `timeline_dados.py` e `batidas.py`, troque o `sys.path` por `audio/motor/`, `N` por `audio/sfx/`, `TON` pela sua pasta de efeitos tonais e `FONTE` pela pasta da sua música e do seu remix.\n\n- **Ver no navegador:** `comp/index.html?t=50.2&hud` para parar no drop ou `?play` para tocar.\n\n- **Conferência:** `python ../../biblioteca/take-unico/oraculo_take.py comp/index.html` (precisa dar PASSA) e `python revisao/carga_texto.py comp/index.html`.\n\n- **Som:** `oraculo_take.py comp/index.html --eventos audio/eventos.json` e, em `audio/`, `python trilha.py`.\n\n- **Vídeo:** `bash render/rascunho.sh v3` (30 qps com som) para conferir e `bash render/final.sh v3` para o final.\n\n**Pegadinhas:** os `.sh` usam uma trava entre agentes em `C:/Dev/_tools/.lock-render` e esperam 8 GB de memória livre pelo Windows; troque pelo que fizer sentido na sua máquina. A sala (IR) dos efeitos precisa estar normalizada: com a IR crua, o hall ficava 13 dB acima do som seco e a cama do gancho saía mais alta que o normal. O AAC passa de 0 dBFS no gancho se a mix não tiver folga."
    },
    {
      "titulo": "As decisões de direção",
      "texto": "- **A mesma frase nas duas versões:** o refrão \"We're caught in the fire / and it burns right through the bones\" no normal e no edit.\n\n- **A música nunca para.** No gancho, a faixa já toca abafada (passa-baixa de 350 Hz que abre até cheio em 4,3 s) e vira o refrão normal sem corte.\n\n- **Para quem não é técnico.** Nenhuma frase explicativa: só uma etiqueta simples presa ao clipe (\"Piano: abre o clima de filme\"), no máximo uma por vez, e as notas saindo de cada clipe tonal (♪ Lá, Lá/Mi, Am, B♭, Dm, G, F). Conferido quadro a quadro.\n\n- **A virada abre outro mundo.** Tape stop de 0,48 s, íris de seis lâminas que gira enquanto abre do cursor e a noite com brasas no lugar do cinza.\n\n- **O texto nasce em brasa e esfria:** cada palavra nasce laranja (`#F26B1D`) com desfoque e passa para o branco em ~0,5 s; no gancho, nasce argila e esfria para a tinta.\n\n- **A timeline é a estrela:** as cores do editor (música em azul, tonais em verde-água), a brasa no ambiente e no brilho de quem toca.\n\n- **A foto do cantor sai do clipe da voz** quando ele começa a cantar.\n\n- **Drop seco no bumbo:** clarão, brasas que explodem, tremor e a timeline pulsando nos bumbos medidos; nenhum efeito por cima, porque o drop é do remix.\n\n- **Efeitos no nível da música do instante:** 4 a 9 dB abaixo dela no gancho, 9 a 16 dB no edit e 1 a 9 dB no CTA.\n\n- **Câmera que segura de propósito em três trechos**, para o vídeo respirar sem parar morto.\n\nDetalhes de cores, curvas e som: estilo.md. Cenas por tempo e textos: roteiro.md. Para fazer o mesmo com a sua música: PROMPT.md."
    },
    {
      "titulo": "As versões até o final",
      "texto": "| \n\n | Versão\n | O que mudou\n\n | v1\n | gancho, normal, rebobinada, edit com oito frases explicando cada elemento e uma fita de acordes, drop e CTA; a revisão com uma IA que assiste com áudio pediu tape stop mais longo, nomes dos clipes maiores, menos textos juntos e íris mais macia\n\n | **v2**\n | aprovada e publicada: saíram as frases explicativas e a fita de acordes; entraram as notas saindo dos clipes e uma etiqueta por elemento; a timeline subiu e cresceu (zoom de 0,87–0,90 para 0,98–1,0)"
    }
  ],
  "pacote": [
    {
      "pasta": "projeto/",
      "conteudo": "`comp/index.html` (o Reel inteiro), `comp/dados/` (`timeline.js`, `batidas.js`, `timeline-resumo.md`), `comp/fonts/` (Cinzel, Michroma, Source Serif 4, Inter, Geist Mono, Material Icons), `comp/assets/` (símbolo do Claude, ícones do Claude Code, After Effects e Instagram), `render/` (`rascunho.sh`, `final.sh`, `remendo.sh`, `trava.sh`), `revisao/carga_texto.py`, `take-unico/` (o motor), `roteiro.md` e `legenda.md`"
    },
    {
      "pasta": "audio/",
      "conteudo": "`trilha.py` (o som inteiro), `timeline_dados.py`, `batidas.py`, `eventos.json`, `mix.wav`, `notas/` (glock, harpa e piano gerados), `sfx/` (os efeitos de interface usados), `motor/` (`orquestra.py`, `trilha_momentos.py`) e `remix/` (o plano v4, a medição e os scripts do remix)"
    },
    {
      "pasta": "referencias/",
      "conteudo": "identidade visual, fontes dos assets com os links, o brief dos Reels musicais, o estudo do remix, o tutorial do take único, `links.md` e `fora-do-pacote.md`"
    },
    {
      "pasta": "render.mp4",
      "conteudo": "o Reel final (v2)"
    },
    {
      "pasta": "comp/index.html",
      "conteudo": "no cabeçalho fica a folha de batidas; no topo, `N0` (normal), `RB` (rebobina), `E0` (início do edit) e `R(r)`, que converte segundo do remix em segundo do vídeo; `seek(t)` monta o quadro; a timeline é um canvas desenhado com a matriz da câmera; `window.__events()` devolve os eventos"
    },
    {
      "pasta": "take-unico/render_take.py",
      "conteudo": "renderiza a composição com obturador de 180°; `--stills`, `--previa`, `--trechos` e `--retomar`"
    },
    {
      "pasta": "take-unico/oraculo_take.py",
      "conteudo": "confere continuidade, enquadramento, respiros e saltos; `--eventos` exporta os eventos para a trilha"
    },
    {
      "pasta": "audio/timeline_dados.py",
      "conteudo": "renderiza cada camada do remix sozinha, com o mesmo ganho e filtro da mixagem, e grava `comp/dados/timeline.js` e o resumo"
    },
    {
      "pasta": "audio/batidas.py",
      "conteudo": "mede os bumbos depois do drop (beat_this) para `comp/dados/batidas.js`"
    },
    {
      "pasta": "audio/trilha.py",
      "conteudo": "música abafada no gancho abrindo até o normal, *tape stop*, remix do zero, um efeito por palavra e por elemento, cada um num nível relativo à música do instante; mix em −14 LUFS"
    },
    {
      "pasta": "render/final.sh",
      "conteudo": "final a 60 qps em dois trechos com a trava entre agentes, junção com grão e som; `remendo.sh` refaz só os trechos corrigidos"
    },
    {
      "pasta": "revisao/carga_texto.py",
      "conteudo": "conta, quadro a quadro, quantos textos estão na tela"
    },
    {
      "pasta": "audio/remix/",
      "conteudo": "o plano do remix (`cinematografico-v4.json`), a separação da voz, as camadas e a mixagem com a voz na frente (`render.sh v4` roda tudo)"
    }
  ],
  "prompt": "Quero um Reel musical vertical, sem narração, no mesmo método do projeto \"Caught In The Fire\", que está em 07-videos/projetos/caught-in-the-fire/, com a minha música.\n\nMúsica (arquivo original, com o nome do artista e da faixa): {{MUSICA}}\nFrase do refrão que toca nas duas versões: {{FRASE}}\nVersão editada, se já existir (senão, monte com os scripts de audio/remix/): {{VERSAO_EDITADA}}\nTexto do gancho (o texto é meu; não reescreva): {{GANCHO}}\nFotos e capa do artista (links oficiais ou arquivos): {{IMAGENS}}\nChamada final (palavra para comentar e o que a pessoa recebe): {{CTA}}\nFormato: 1080×1920, 60 qps · Duração: {{DURACAO}} (a referência tem 60,5 s)\n(Se algum desses estiver vazio ou com as chaves, me pergunte antes de começar.)\n\n1. Estude o projeto antes de propor qualquer coisa. Leia, nesta ordem: LEIA-ME.md, estilo.md e roteiro.md. Depois abra comp/index.html e leia a folha de batidas do cabeçalho, os tempos do topo (N0, RB, E0, R()), como a timeline é desenhada em canvas, as brasas, a íris de seis lâminas, as etiquetas, as notas que saem dos clipes e window.__events(). Leia também audio/timeline_dados.py, audio/trilha.py e take-unico/README.md. Me explique em poucas linhas o que você vai reaproveitar.\n\n2. Meça a música e o remix: tom, BPM, bumbos (beat_this), o refrão do normal, o drop e a relação entre o segundo da música e o segundo do remix. A frase do normal e a do edit têm de ser a mesma.\n\n3. Tire a identidade do mundo da música, não da imaginação: meça as cores da capa e das fotos do artista (k-means), escolha um clima que venha da letra ou do título (aqui, fogo e brasa sobre a noite da capa) e uma fonte que lembre a da capa só para o nome da faixa. Mantenha as cores do editor na timeline (música em azul, tonais em verde-água, cursor vermelho). Me mostre a paleta e espere meu ok.\n\n4. Gere os dados da timeline com timeline_dados.py: um clipe por camada do remix, com o nome do arquivo e o tom no nome, e a onda calculada do áudio dela. Nada de onda inventada.\n\n5. Escreva a folha de batidas no cabeçalho do index.html antes de animar: tempo, batida, câmera e o que passa para a próxima cena. Uma palavra do gancho vira o clipe azul; a cartela do edit vira a pílula; a pílula vira o crédito; o símbolo voa para o CTA.\n\n6. Construa copiando o projeto, sem editar o original. Para quem não é técnico: nenhuma frase explicativa, só uma etiqueta simples por elemento, presa ao clipe e no máximo uma por vez, e as notas saindo de cada clipe tonal nos golpes medidos. A foto do cantor sai do clipe da voz. Rode revisao/carga_texto.py e confira.\n\n7. Som pelos eventos, num subagente: oraculo_take.py --eventos audio/eventos.json e trilha.py. A música abafada por baixo do gancho, abrindo até o normal sem corte; tape stop; o remix do zero, intocado; um efeito por palavra do gancho e efeitos esparsos no edit, cada um num nível relativo à música do instante; nada por cima do drop. Normalize a IR da sala antes. Final a −14 LUFS, pico verdadeiro abaixo de −1 dBFS.\n\n8. Revise antes do final: stills de cada etiqueta, oráculo com PASSA, rascunho a 30 qps com som e uma IA que assista com áudio, perguntando onde há texto demais, onde o movimento para morto e onde a troca para o edit não fica clara. Confira cada apontamento nos quadros ou medindo antes de mexer.\n\n9. Final a 60 qps (render/final.sh), confira duração, qps e −14 LUFS e entregue o MP4, uma cópia leve para o celular e uma anotação do que mudou em relação à referência.",
  "campos": [
    "CTA",
    "DURACAO",
    "FRASE",
    "GANCHO",
    "IMAGENS",
    "MUSICA",
    "VERSAO_EDITADA"
  ],
  "fonte": {
    "nome": "Clube do Motion",
    "url": "https://clubedomotion.com/projeto/?id=caught-in-the-fire",
    "uso": "liberado pelo dono do Clube do Motion em 18/10/2026 (docs/permissoes/clube-do-motion.md)"
  }
}