{
  "id": "clube-claude-dj",
  "titulo": "O Claude virou DJ",
  "categoria": "sound",
  "resumo": "Reel vertical de 64 s, narrado, que mostra a mesma frase de \"Laugh Now Cry Later\" (Drake) duas vezes: primeiro a música original, depois o remix cinematográfico que o Claude montou com efeitos tonais no tom da música. A diferença aparece numa timeline de editor desenhada a partir do áudio real, com o nome de cada camada e a forma de onda que acende com o som. O vídeo abre com uma gravação de celular filmando a tela do MacBook e mergulha no vídeo limpo sem corte. Tudo é um take único em HTML com o quadro calculado pelo tempo (`seek(t)`), renderizado a 60 qps com desfoque de movimento. Feito pelo Clube do Motion e publicado no Instagram.",
  "indicado": "criador, produtora ou marca que quer mostrar um antes e depois de som (trilha, mixagem, sound design) de um jeito que qualquer pessoa entenda; lançamento de skill, ferramenta ou serviço de áudio.",
  "estilo": [
    "timeline viva",
    "antes e depois",
    "sound design tonal",
    "take único",
    "ondas reais do áudio",
    "celular filmando a tela",
    "mesa creme do Claude",
    "cinema escuro no drop"
  ],
  "ficha": {
    "formato": "1080×1920, 60 qps, 9:16, H.264 (CRF 16) com AAC de 256 kbps, 70,8 MB",
    "duracao": "64,13 s (3.848 quadros), com narração em 4 falas",
    "motor": "html",
    "voz": "ElevenLabs, modelo Eleven v4, voz clonada (estabilidade 0,5, similaridade 0,75, velocidade 1,12), acelerada para 1,2× na pós",
    "musica": "\"Laugh Now Cry Later\" (Drake): o original no trecho \"normal\" e o remix cinematográfico v11 no edit (Lá menor, 136 BPM, drop em 39,37 s do remix)",
    "fontes": "ver o guia de estilo"
  },
  "ferramentas": [
    "Claude Code",
    "ElevenLabs"
  ],
  "ficha_tecnica": {
    "Duração": "64,13 s (3.848 quadros), com narração em 4 falas",
    "Formato": "1080×1920, 60 qps, 9:16, H.264 (CRF 16) com AAC de 256 kbps, 70,8 MB",
    "Ferramenta": "HTML + canvas num take único, motor `take-unico` (render no Chromium sem janela, obturador de 180°); trilha em Python; abertura do celular com OpenCV e ffmpeg",
    "Voz": "ElevenLabs, modelo Eleven v4, voz clonada (estabilidade 0,5, similaridade 0,75, velocidade 1,12), acelerada para 1,2× na pós",
    "Música": "\"Laugh Now Cry Later\" (Drake): o original no trecho \"normal\" e o remix cinematográfico v11 no edit (Lá menor, 136 BPM, drop em 39,37 s do remix)",
    "Timeline": "19 clipes do remix com o nome do arquivo de cada camada e a forma de onda calculada do áudio dela",
    "Som": "63 eventos exportados da composição, um efeito por elemento, notas em Lá menor pentatônico; mix final em −14,0 LUFS com pico de −1,0 dBFS",
    "Referências": "os shorts do Multiply Sound (timeline do editor por cima do vídeo) e um Reel do Supernova Studio com o celular filmando a tela"
  },
  "etapas": [
    {
      "titulo": "O roteiro e a voz",
      "texto": "**Resumo:** a fala em 4 partes, como foi escrita e como foi enviada à voz clonada (com a grafia de pronúncia), e as cenas por tempo no vídeo final (v3). A música aparece duas vezes, sem fala por cima: a frase original e a mesma frase no remix. Os tempos da tabela são os do arquivo publicado, que tem 1,14 s de abertura do celular antes do master.\n\n## A fala\n\n- \"O Claude criar e editar vídeos, você provavelmente já sabe. Mas ele ouvir e editar músicas, tornando ela mais cinematográfica com efeitos sonoros? Isso é novidade até pra mim.\"\n\n- \"Eu fiz exatamente esse teste e, por incrível que pareça, agora o meu Claude virou praticamente um DJ. Se liga nesse edit que ele fez com a música que eu mandei ele fazer:\"\n\n- música normal: a frase original de \"Laugh Now Cry Later\";\n\n- muda o ambiente: a mesma frase no remix cinematográfico.\n\n- \"Agora o meu Claude Code virou praticamente o diretor audiovisual inteiro. Além de fazer os vídeos com After Effects, ele também faz a trilha sonora pra conversar com o estilo de vídeo que você tá fazendo, deixando o resultado final muito mais imersivo do que um simples vídeo de motion que tá todo mundo fazendo.\"\n\n- \"Quer saber como fazer com que o seu Claude também se torne um especialista em trilhas sonoras cinematográficas? Comenta \"DJ\", que eu te mando o passo a passo.\"\n\n## Grafia de pronúncia (voz clonada)\n\n | \n\n | Escrito para a voz\n | Leitura normal\n\n | Clód\n | Claude\n\n | Clód Code\n | Claude Code\n\n | didjêi\n | DJ (a versão \"di-djêi\", com hífen, fazia a voz gaguejar)\n\nModelo Eleven v4, um arquivo por fala, velocidade 1,12 na geração e 1,2× na pós. Cada tomada foi conferida no Whisper (texto) e por uma IA que escuta (pronúncia). Para o \"DJ\" do CTA, cinco tomadas foram comparadas às cegas.\n\n## Cenas por tempo\n\n | \n\n | #\n | Tempo (s)\n | Fala ou texto na tela\n | O que acontece\n\n | 0\n | 0,00–2,73\n | —\n | celular filmando o MacBook: o clique do play, o Reel começa na tela, a imagem filmada é trocada pelo vídeo limpo em 1,35 s e a câmera mergulha na tela de 1,62 a 2,42 s\n\n | 1\n | 1,6–4,3\n | fala 1: \"editar vídeos… já sabe\"\n | o símbolo do Claude nasce na mesa creme e cria uma trilha de vídeo; em \"sabe\", um selo ✓\n\n | 2\n | 5,3–8,8\n | \"ouvir… músicas… cinematográfica… sonoros?\"\n | o símbolo ganha fones e solta ondas; o clipe azul da música entra, uma lâmina o corta e três tonais entram; um \"?\" no fim da pergunta\n\n | 3\n | 9,8\n | \"novidade\"\n | selo argila\n\n | 4\n | 11,0–14,3\n | fala 2\n | viagem para o Claude Code: o símbolo vira o ✻ do terminal; o pedido é digitado com a música anexada e as respostas (tom, voz, tonais) aparecem linha a linha\n\n | 5\n | 16,2–16,7\n | \"DJ\" · \"edit\"\n | \"DJ\" gigante preenchido com a capa; ✓ pronto\n\n | 6\n | 19,0–19,7\n | —\n | chicote: o anexo sai do terminal e vira o clipe da música na timeline\n\n | 7\n | 19,7–23,8\n | \"Música normal\"\n | ambiente cinza, um clipe azul, o cursor toca a frase original (\"Baby, we took a trip… ghost town\")\n\n | 8\n | 23,8–24,1\n | —\n | a fita para e o cursor rebobina\n\n | 9\n | 24,1\n | —\n | muda o ambiente: íris escura nasce do cursor; voz e instrumental se separam; os tonais voam para as trilhas; a câmera abre para 0,62× e volta\n\n | 10\n | 24,1–34,9\n | —\n | o cursor toca o mesmo verso no remix: cada camada acende pelo nível real; acordes; risers com a câmera empurrando\n\n | 11\n | **34,9**\n | —\n | **drop seco no bumbo**, tremor; a timeline pulsa em cada bumbo até 41 s\n\n | 12\n | 41,2–48,8\n | fala 3\n | \"Agora\": a câmera abre para o editor; trilha de vídeo por cima; claquete com o símbolo em \"diretor\"; logo do After Effects em \"After Effects\"; varredura em \"trilha sonora\" e linhas de sincronia em \"conversar\"\n\n | 13\n | 51,6–52,5\n | \"imersivo\" · \"simples vídeo de motion\"\n | empurrão de câmera; uma timeline cinza \"genérica\" aparece embaixo\n\n | 14\n | 55,0–61,3\n | fala 4\n | íris creme a partir do símbolo; CTA; \"Comenta DJ\" vira um comentário digitado e enviado (anel) em 60,1–60,7 s; a DM chega em 61,3 s\n\n | 15\n | 61,3–64,1\n | —\n | a música segue por baixo e o vídeo termina\n\n## Momentos para a trilha\n\n- 0–2,7 s: o som do celular (o clique e o quarto) até o vídeo começar; whoosh no mergulho e golpe suave no pouso.\n\n- 1,6–19,5 s: cama tonal bem baixa debaixo das falas; um efeito para cada elemento que entra.\n\n- 19,7 s: a música original sozinha.\n\n- 23,8 s: tape stop real.\n\n- 24,1 s: o remix a partir de 28,55 s dele.\n\n- **34,9 s: drop**, no mesmo nível do original.\n\n- 41,2 s em diante: o original por baixo da voz, 17,7 dB abaixo.\n\n- 60,1 s e 61,3 s: envio do comentário e chegada da DM, com sino tonal e acorde de piano.\n\nA lista completa dos 63 eventos, com tempo, tipo, pan e intensidade, está em `audio/eventos.json` (em segundos do master, sem a abertura do celular)."
    },
    {
      "titulo": "A identidade visual",
      "texto": "**Resumo:** três ambientes contam o antes e o depois: a mesa creme do Claude nas falas, um cinza sem brilho na música normal e um cinema escuro e quente no edit. A timeline imita o editor dos shorts do Multiply Sound (música em azul, tonais em verde-água, nome de cada arquivo, cursor vermelho) e é desenhada em canvas com a onda real de cada camada. Números tirados do `index.html`, do `trilha.py`, dos scripts da abertura e do tutorial da timeline viva.\n\n## Ambientes\n\n | \n\n | Ambiente\n | Quando\n | Como é\n\n | Mesa creme\n | falas 1 e 2 e o CTA\n | creme `#F4F0E8` com luz quente no canto de cima (`#FFF6E8`) e o pé em `#EDE4D6`; cartões em `#FFFDF9`, cantos de 28 px e sombra larga e fraca\n\n | Cinza\n | música normal\n | radial `#4A4A4E` → `#38383B`; um clipe só, sem brilho\n\n | Cinema\n | edit do Claude e drop\n | radial escuro e quente `#1A1310` → `#0B0908`, luzes de fundo que pulsam nos bumbos\n\n | Terminal\n | o pedido ao Claude Code\n | janela `#1E1D1B` de 940×900, cantos de 30 px, barra `#2A2826`, borda argila no cabeçalho\n\n## Cores e fontes\n\n | \n\n | Token\n | Valor\n | Papel\n\n | Tinta\n | `#141413` · secundária `#6B6760`\n | texto na mesa\n\n | Argila\n | `#D97757` · escura `#B5573A`\n | o símbolo do Claude, palavras de destaque, efeitos do próprio Reel na timeline\n\n | Anexo da música\n | `#2E3B6E` com ícone `#9DB0EA`\n | o arquivo que vira o clipe azul\n\n- **Source Serif 4:** a legenda da fala (600, 74 px, palavra de destaque em itálico argila) e o \"DJ\" gigante (700, 400 px).\n\n- **Inter** (400 a 700): interface, pílulas (600, 30 px), chips e nomes dos clipes.\n\n- **Geist Mono:** o terminal do Claude Code (27 px).\n\n- **Material Icons:** ícones de interface.\n\n- **\"DJ\" preenchido com a capa:** o texto recorta a capa do single por dentro (`background-clip: text`), com contorno escuro de 3 px e sombra.\n\n## Timeline viva\n\n | \n\n | Peça\n | Como é\n\n | Escala\n | 80 px por segundo; clipe de 112 px de altura numa trilha de 128 px; cantos de 7 px\n\n | Nome do clipe\n | Inter 500 de 25 px, com o nome do arquivo de origem; quando o começo do clipe já passou, o nome gruda na borda esquerda da tela\n\n | Música\n | `rgba(40,54,112,.94)` com onda `#9DB0EA`\n\n | Tonais\n | `rgba(38,98,99,.94)` com onda `#8EE3E2`\n\n | Efeitos do próprio Reel\n | argila `rgba(150,74,48,.95)` com onda `#FFC9AE`\n\n | Cursor\n | vermelho `#E8262E` com brilho, fixo em x ≈ 330 da tela; a câmera persegue o cursor\n\n | Onda\n | pico a cada 1/40 s em dB, de −42 a 0 dB mapeado para 0 a 1, como no editor; marcas amarelas nos picos acima de −6 dBFS\n\n**O que deixa a timeline viva:**\n\n- o clipe acende pelo nível real da camada no cursor (brilho de 10 + 34 × o nível);\n\n- uma faixa clara corre sobre a onda junto do cursor;\n\n- o clipe dá um pulo de 7 a 8% quando o cursor cruza o começo dele;\n\n- na montagem, os clipes voam para as trilhas em leque (mola com ζ 0,62 e ω 12, 75 ms entre trilhas);\n\n- o clipe que acabou apaga para 55%;\n\n- depois do drop, a câmera dá um micro-empurrão de zoom em cada bumbo medido e as luzes do fundo pulsam.\n\n## Transições\n\nCada troca passa algo para a próxima cena: o símbolo do Claude cria a trilha de vídeo, ganha fones e chama os tonais; desce para o terminal e vira o ✻ do Claude Code; o anexo da música sai do terminal em chicote e vira o clipe azul. Na virada, a fita para (tape stop), o cursor rebobina, uma íris escura nasce do cursor, o clipe se divide em voz (fica) e instrumental (cai e some) e os tonais voam para as suas trilhas. No fecho, a câmera abre para o editor inteiro (trilha de vídeo, claquete, logo do After Effects, linhas de sincronia e uma timeline cinza \"genérica\" embaixo) e uma íris creme volta a partir do símbolo para o CTA.\n\n## Câmera\n\n- Operador com mola seguindo o cursor; abre para 0,62× na montagem e volta a 1,0×.\n\n- Na subida até o drop, empurra de 1,0 a 1,32; no drop, tremor curto.\n\n- No editor do fecho, abre para 0,78× e empurra de novo no \"imersivo\".\n\n## Abertura do celular\n\n | \n\n | Etapa\n | Números\n\n | Gravação\n | celular filmando o play no MacBook, 4K a 30 qps\n\n | Sincronia\n | o áudio do celular contra o mix dá 1,095 s; a imagem soma 0,033 s, porque a tela mostra 2 quadros depois do som (1,1284 s no total)\n\n | Rastreio\n | cantos do retângulo da tela quadro a quadro (limiar, `approxPolyDP` e `cornerSubPix`), suavizados por Savitzky-Golay\n\n | Troca\n | a tela filmada é substituída pelo master em 1,35 s, sem aparecer\n\n | Mergulho\n | de 1,62 a 2,42 s (0,8 s, curva Bézier suave), com quadros do celular misturados a 60 qps e antisserrilhado contínuo\n\n | Som\n | o clique do play e o quarto até o vídeo começar; depois o mix limpo, com um whoosh que cresce no mergulho e um golpe suave no pouso\n\nO primeiro mergulho, de 0,6 s, parecia corte seco; com 0,8 s e curva mais suave ficou natural.\n\n## Render\n\n60 qps reais; cada quadro é a média de várias capturas no obturador de 180°, em luz linear. O final saiu em dois trechos (0–31,5 s e 31,5 s em diante), juntados sem recomprimir; a v2 refez só de 28 s em diante. H.264 CRF 16, `yuv420p`.\n\n## Trilha\n\n | \n\n | Trecho\n | Música\n\n | Falas 1 e 2\n | cama tonal bem baixa (−31 LUFS)\n\n | Normal\n | o original, sozinho, a −15 LUFS, na frase \"Baby, we took a trip… ghost town\"\n\n | Virada\n | tape stop real: a velocidade cai de 1 para 0,12 em 0,3 s, com o tom descendo junto\n\n | Edit\n | o remix v11 a partir de 28,55 s dele, com o drop no mesmo nível do original\n\n | Falas 3 e 4\n | o original segue por baixo; a música fica 17,7 dB abaixo da voz, com corte em 2 kHz\n\nA voz é a fala aprovada, com passa-altas de 70 Hz, nivelada em −16 LUFS antes da mix.\n\n## Sound design\n\n | \n\n | Evento\n | Som\n\n | Algo nasce, clipe entra, anexo\n | pop curto e uma nota de glock na escala pentatônica de Lá menor, subindo a cada clipe\n\n | \"ouvir\" (fones)\n | blip tonal e um arpejo de harpa em Lá\n\n | Os três tonais\n | pop e marimba em Lá, Dó e Mi\n\n | Digitação\n | digitação real, curta\n\n | Viagem e chicote\n | whoosh longo e um riser suave que chega no pouso\n\n | \"DJ\"\n | golpe tonal grave, impacto e um acorde de piano em Lá\n\n | Rebobinada e troca de ambiente\n | fita e whoosh grave\n\n | Tonais voando\n | whooshes curtos alternados, cada vez mais baixos\n\n | Claquete\n | clique e impacto curto\n\n | Envio do comentário e DM\n | clique, blip, glock; a DM chega com notificação, sino tonal e acorde de piano\n\n- Cada efeito entra com o pico no instante do evento e com o pan do lado em que o elemento está.\n\n- Uma sala de 4 s soma as notas a −11 dB.\n\n- **Final:** −14,0 LUFS, pico de −1,0 dBFS.\n\n## O que é \"humano\" neste vídeo\n\n- A câmera nunca para: segue o cursor com mola, empurra na subida e treme no drop.\n\n- O mergulho da abertura pousa com sobra e um tremor leve, em vez de parar seco.\n\n- Os clipes pulam quando o som começa e apagam quando acabam.\n\n- Depois do drop, a timeline pulsa em cada bumbo medido na música."
    },
    {
      "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 (tempo, batida, câmera e o que passa para a próxima cena); `seek(t)` monta o quadro a partir do tempo; a timeline é um canvas desenhado com a matriz da câmera; `window.__events()` devolve os eventos para o som\n\n | `take-unico/render_take.py`\n | renderiza a composição: cada quadro é a média de várias capturas no obturador de 180°; `--stills`, `--previa`, `--trechos 4` (refaz só o que mudou) e `--turbo`\n\n | `take-unico/oraculo_take.py`\n | confere continuidade entre cenas, enquadramento, velocidade e respiros; `--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, mede o pico a cada 1/40 s e grava `comp/dados/timeline.js`\n\n | `audio/batidas.py`\n | mede batidas e bumbos com o beat_this e grava `comp/dados/batidas.js`\n\n | `audio/gerar_voz.py`\n | gera uma fala por arquivo na ElevenLabs e guarda o pedido em `pNN.json`; `montar_voz.py` junta as falas a 1,2× e tira as palavras com o Whisper\n\n | `audio/trilha.py`\n | lê `eventos.json` e `tempos.json`: original no trecho normal, tape stop na rebobinada, remix com o drop no mesmo nível do original, voz por cima, um efeito por evento e mix em −14 LUFS\n\n | `transicao/sincronia.py`\n | acha o atraso do áudio do celular contra o mix (a tela mostra a imagem 2 quadros depois do som)\n\n | `transicao/rastreio.py`\n | segue os quatro cantos da tela do MacBook quadro a quadro e suaviza o caminho\n\n | `transicao/montar.py`\n | troca a tela filmada pelo vídeo limpo, faz o mergulho de 0,8 s e o pouso\n\n | `transicao/juntar.py`\n | junta os quadros da abertura com o resto do master e monta o som da v3\n\n- **Junte as pastas:** descompacte `projeto/` dentro de `07-videos/projetos/claude-dj/` 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`, e os `.sh` chamam o `render_take.py` desse lugar.\n\n- **Instale:** Python 3.11 com numpy, scipy, soundfile, librosa, pyloudnorm, opencv-python e playwright (`playwright install chromium`), o beat_this para as batidas, o faster-whisper para as palavras e o ffmpeg.\n\n- **Aponte os caminhos:** no topo de `audio/trilha.py` e de `audio/timeline_dados.py`, troque o `sys.path` por `audio/motor/`, `N` por `audio/sfx/`, `TON` pela sua pasta de efeitos tonais e `DRAKE` pela pasta da sua música e do seu remix.\n\n- **Ver no navegador:** abra `comp/index.html?t=34.9&hud` para parar num instante ou `?play` para tocar.\n\n- **Quadros de conferência:** `python ../../biblioteca/take-unico/render_take.py comp/index.html --stills 8,20,35,55 --out revisao/stills.png` e depois o oráculo, `python ../../biblioteca/take-unico/oraculo_take.py comp/index.html`.\n\n- **Som:** `python ../../biblioteca/take-unico/oraculo_take.py comp/index.html --eventos audio/eventos.json` e, dentro de `audio/`, `python trilha.py` (gera `mix.wav`).\n\n- **Vídeo:** prévia com `render_take.py comp/index.html --out render/previa.mp4 --previa --audio audio/mix.wav`; final com `bash render/final.sh` ou `render_take.py ... --fps 60 --trechos 4 --turbo --audio audio/mix.wav`.\n\n- **Abertura do celular (opcional):** filme o play do Reel na tela, rode `sincronia.py`, `rastreio.py`, `montar.py` e `juntar.py` nessa ordem, ajustando os nomes de arquivo no topo de cada um.\n\n**Pegadinhas:** sem o remix, o `trilha.py` e o `timeline_dados.py` não rodam: monte o seu com os scripts de `audio/remix/` ou aponte para outra faixa. O `final.sh` espera 8 GB de memória livre pelo Windows antes de cada trecho. No OpenCV, `cv2.imwrite` falha calado quando o caminho tem acento (grave com `imencode`). O rastreio por limiar perde a tela quando o conteúdo escurece, então o mergulho precisa acabar antes disso."
    },
    {
      "titulo": "As decisões de direção",
      "texto": "- **A mesma frase nas duas versões.** O normal e o edit tocam o mesmo verso da música, e o ouvinte compara sem esforço.\n\n- **A onda é a do áudio de verdade.** Cada clipe mostra a forma de onda da sua camada e acende pelo nível real no cursor; não há animação inventada para o som.\n\n- **O drop do remix fica no mesmo nível do original.** O que muda é o arranjo, não o volume, então ninguém confunde \"mais alto\" com \"melhor\".\n\n- **A virada é um acontecimento.** Tape stop real, cursor rebobinando, íris escura saindo do cursor, voz e instrumental se separando e os tonais voando para as trilhas.\n\n- **Tudo passa de uma cena para a outra.** O símbolo do Claude vira o ✻ do terminal, o anexo vira o clipe da música e a íris creme volta a partir do símbolo no CTA.\n\n- **Cada ambiente tem a sua cor:** mesa creme do Claude nas falas, cinza no normal, cinema escuro e quente no edit e creme de novo no fecho.\n\n- **\"DJ\" preenchido com a capa.** A palavra-chave da fala ganha a imagem da música por dentro.\n\n- **A abertura do celular puxa o olho.** A tela filmada vira o vídeo limpo sem tranco: troca invisível, mergulho de 0,8 s e pouso com sobra.\n\n- **Nada para morto.** A câmera segue o cursor com mola, empurra na subida até o drop e treme no bumbo; depois do drop, a timeline pulsa em cada bumbo medido.\n\n- **Música bem abaixo da voz** nas falas (17,7 dB, com um corte em 2 kHz), para a voz ficar limpa.\n\nDetalhes de cores, tipografia e som: estilo.md. Cenas por tempo e a fala: roteiro.md. Para fazer o mesmo formato 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 | primeiro final a 60 qps, 63 s. Antes dele, a revisão do rascunho por uma IA que assiste com áudio pediu o trecho do diretor mais cheio e a voz mais limpa: os efeitos do próprio Reel viraram clipes na visão de diretor, o After Effects entrou dentro do clipe, a música desceu para 17,7 dB abaixo da voz e o CTA subiu para longe da legenda\n\n | v2\n | refeitos só os trechos de 28 a 63 s: câmera empurrando de 1,0 a 1,32 na subida até o drop e uma tomada nova do \"Comenta DJ\", porque a anterior gaguejava no \"DJ\"\n\n | **v3**\n | aprovada e publicada: abertura com a gravação do celular filmando o play no MacBook, mergulho até o vídeo limpo e o som do clique e do quarto até o vídeo começar; 64,13 s"
    }
  ],
  "pacote": [
    {
      "pasta": "projeto/",
      "conteudo": "`comp/index.html` (o Reel inteiro), `comp/dados/` (`timeline.js`, `batidas.js`, `palavras.js`), `comp/fonts/` (Source Serif 4, Inter, Geist Mono, Material Icons), `comp/assets/` (símbolo do Claude, ícones do Claude Code, After Effects e Instagram, miniaturas de vídeos nossos), `transicao/` (sincronia, rastreio, mergulho e junção da abertura do celular), `render/final.sh` e `final2.sh`, `take-unico/` (o motor), `roteiro.md` e `legenda.md`"
    },
    {
      "pasta": "audio/",
      "conteudo": "`trilha.py` (o som inteiro), `timeline_dados.py`, `batidas.py`, `gerar_voz.py`, `montar_voz.py`, `conferir.py`, `eventos.json`, `tempos.json`, `palavras.json`, os pedidos à voz (`p0*.json`), `voz.wav`, `mix.wav`, `transicao/audio-v3.wav` (o som final com a abertura), `notas/` (glock, harpa, marimba e piano gerados), `sfx/` (os efeitos usados), `motor/` (`orquestra.py`, `trilha_momentos.py`) e `remix/` (o plano v11 e os scripts do remix)"
    },
    {
      "pasta": "referencias/",
      "conteudo": "o estudo do remix do Drake, a recriação da v11 passo a passo, o tutorial do take único, o estudo da abertura com celular, a busca da capa no iTunes, `links.md` e `fora-do-pacote.md`"
    },
    {
      "pasta": "render.mp4",
      "conteudo": "o Reel final (v3, com a abertura do celular)"
    },
    {
      "pasta": "comp/index.html",
      "conteudo": "no cabeçalho fica a folha de batidas (tempo, batida, câmera e o que passa para a próxima cena); `seek(t)` monta o quadro a partir do tempo; a timeline é um canvas desenhado com a matriz da câmera; `window.__events()` devolve os eventos para o som"
    },
    {
      "pasta": "take-unico/render_take.py",
      "conteudo": "renderiza a composição: cada quadro é a média de várias capturas no obturador de 180°; `--stills`, `--previa`, `--trechos 4` (refaz só o que mudou) e `--turbo`"
    },
    {
      "pasta": "take-unico/oraculo_take.py",
      "conteudo": "confere continuidade entre cenas, enquadramento, velocidade e respiros; `--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, mede o pico a cada 1/40 s e grava `comp/dados/timeline.js`"
    },
    {
      "pasta": "audio/batidas.py",
      "conteudo": "mede batidas e bumbos com o beat_this e grava `comp/dados/batidas.js`"
    },
    {
      "pasta": "audio/gerar_voz.py",
      "conteudo": "gera uma fala por arquivo na ElevenLabs e guarda o pedido em `pNN.json`; `montar_voz.py` junta as falas a 1,2× e tira as palavras com o Whisper"
    },
    {
      "pasta": "audio/trilha.py",
      "conteudo": "lê `eventos.json` e `tempos.json`: original no trecho normal, *tape stop* na rebobinada, remix com o drop no mesmo nível do original, voz por cima, um efeito por evento e mix em −14 LUFS"
    },
    {
      "pasta": "transicao/sincronia.py",
      "conteudo": "acha o atraso do áudio do celular contra o mix (a tela mostra a imagem 2 quadros depois do som)"
    },
    {
      "pasta": "transicao/rastreio.py",
      "conteudo": "segue os quatro cantos da tela do MacBook quadro a quadro e suaviza o caminho"
    },
    {
      "pasta": "transicao/montar.py",
      "conteudo": "troca a tela filmada pelo vídeo limpo, faz o mergulho de 0,8 s e o pouso"
    },
    {
      "pasta": "transicao/juntar.py",
      "conteudo": "junta os quadros da abertura com o resto do master e monta o som da v3"
    }
  ],
  "prompt": "Quero um Reel vertical narrado no mesmo método do projeto \"O meu Claude virou DJ\", que está em 07-videos/projetos/claude-dj/, com a minha música e a minha fala.\n\nMúsica (arquivo original): {{MUSICA}}\nVersão editada da música, se já existir (senão, monte com os scripts de audio/remix/): {{VERSAO_EDITADA}}\nFrase da música que toca nas duas versões (a mesma nas duas): {{FRASE}}\nMinha fala, em 3 ou 4 partes (o texto é meu; não reescreva): {{FALA}}\nVoz (ElevenLabs, ID da voz clonada ou da voz escolhida): {{VOZ}}\nPedido que aparece digitado no terminal: {{PEDIDO}}\nChamada final (palavra para comentar e o que a pessoa recebe): {{CTA}}\nAbertura com celular filmando a tela (sim ou não): {{CELULAR}}\nDuração: {{DURACAO}} (a referência tem 64 s) · Formato: 1080×1920, 60 qps\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, como seek(t) monta o quadro, como a timeline é desenhada em canvas com a matriz da câmera e como window.__events() exporta os eventos. Leia também take-unico/README.md, audio/timeline_dados.py, audio/trilha.py e audio/tempos.json. Me explique em poucas linhas o que você vai reaproveitar.\n\n2. Meça a música antes de montar a linha do tempo: tom, BPM, batidas e bumbos (beat_this), o início da frase escolhida no original e na versão editada, e o drop. A frase do \"normal\" e a do \"edit\" têm de ser a mesma.\n\n3. Gere a fala na ElevenLabs, uma parte por arquivo, com a grafia de pronúncia que a voz pede (como \"Clód\" para Claude), confira no Whisper e me mande para aprovar. Só siga com a fala aprovada. Monte voz.wav e palavras.json com montar_voz.py e escreva os tempos de cada fala e da música em audio/tempos.json.\n\n4. Gere os dados da timeline com timeline_dados.py: um clipe por camada da versão editada, com o nome real do arquivo, a trilha, o começo e o fim, e a forma de onda calculada do áudio daquela camada (mesmo ganho e filtro da mixagem). Nada de onda inventada.\n\n5. Escreva a folha de batidas no cabeçalho do index.html antes de animar: tempo, palavra ou batida, câmera e o que passa para a próxima cena. Cada troca é uma passagem (\"de quê para quê\"): o símbolo vira o ícone do terminal, o anexo vira o clipe, a íris nasce do cursor. Nenhum elemento surge do nada.\n\n6. Construa copiando o projeto, sem editar o original: troque a fala, os textos, as cores (mesa clara nas falas, cinza no normal, o mundo da música no edit) e as imagens. Mantenha o take único, a câmera que segue o cursor com mola, o clipe que acende pelo nível real, o pulo ao entrar, o clipe que apaga quando acaba e os empurrões nos bumbos depois do drop.\n\n7. Som pelos eventos, num subagente: oraculo_take.py --eventos audio/eventos.json, depois trilha.py. Original sozinho no normal, tape stop real na rebobinada, a versão editada com o drop no mesmo nível do original, a música bem abaixo da voz nas falas (cerca de 17 dB) e um efeito para cada elemento, com as notas no tom da música. Final a −14 LUFS, pico abaixo de −1 dBFS.\n\n8. Se a abertura com celular for sim: eu filmo o play do Reel na tela do computador e te mando o arquivo. Sincronize pelo áudio e refine pela imagem, rastreie os cantos da tela, troque a tela filmada pelo vídeo limpo e mergulhe em cerca de 0,8 s com curva suave (0,6 s parece corte seco). Use os scripts de transicao/.\n\n9. Revise antes do final: stills nos momentos-chave, oráculo com PASSA, prévia rápida com som e uma IA que assista com áudio, perguntando onde a voz some na música, onde o movimento para morto e onde a troca de ambiente não fica clara. Confira cada apontamento nos quadros ou medindo antes de mexer.\n\n10. Final a 60 qps em trechos (render_take.py --trechos 4), junte com o mix, 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": [
    "CELULAR",
    "CTA",
    "DURACAO",
    "FALA",
    "FRASE",
    "MUSICA",
    "PEDIDO",
    "VERSAO_EDITADA",
    "VOZ"
  ],
  "fonte": {
    "nome": "Clube do Motion",
    "url": "https://clubedomotion.com/projeto/?id=claude-dj",
    "uso": "liberado pelo dono do Clube do Motion em 18/10/2026 (docs/permissoes/clube-do-motion.md)"
  }
}