Communitygithub.com

narrador-apresentacao

Use ao escrever ou gerar uma narração para qualquer vídeo, demonstração ou apresentação: regras de script de apresentador, marcação de pausa, voz Kokoro offline, polimento e mixagem ajustada ao vídeo.

O que é narrador-apresentacao?

Esta habilidade é um guia completo para criar narrações profissionais de estilo apresentador, otimizado para vídeos, demonstrações e apresentações. Ela define regras claras de roteiro que priorizam a adição de significado e emoção sobre a repetição do texto na tela, utilizando frases curtas, foco em uma única pessoa ("hero thread"), estrutura de contraste (problema → solução) e marcação de ritmo (pausas, velocidade) para criar uma entrega fluente e envolvente. A habilidade suporta a geração de voz offline com o motor Kokoro (50+ vozes, incluindo opções como af_kore, hm_omega, am_onyx) e também integração com a nuvem via ElevenLabs (cache de faturamento por linha). O fluxo de trabalho inclui três etapas principais: gerar a narração com `speak.py`, polir o áudio com `polish_vo.py` (remoção de ruídos, equalização, compressão) e mixar a narração com o vídeo e música de fundo usando `mix_narration.py`, que ajusta tempos, faz ducking na música e gera legendas SRT. Um relatório de deriva ajuda a verificar se cada linha está sincronizada com o vídeo, permitindo ajustes sem regenerar todo o áudio. A habilidade foi projetada para ser eficiente, evitando regenerações desnecessárias e mantendo um orçamento de cerca de 2,6-2,8 palavras faladas por segundo para uma duração típica de 2,5 minutos.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Sanjayyykumar/ai-essentials/tree/HEAD/skills/presenter-voiceover

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Narração para apresentador

Ferramentas: $VIDEO_ROOT/voice/ do video-generations (speak.py, speak_cast.py, polish_vo.py, mix_narration.py, el_cache.py); modelos em $VIDEO_ROOT/models (python studio/get_models.py).

1. Escreva como um apresentador (o roteiro importa mais que a voz)

  • Nunca leia a tela. O texto na tela apresenta o fato; a voz adiciona significado, emoção ou a história por trás dele. Se uma linha repete a tela palavra por palavra, reescreva ou corte-a. Exceções: nomes de produtos e o slogan final.

  • Uma ideia por linha. Frases curtas, de 6 a 12 palavras. Inglês falado, contrações permitidas.

  • Fio condutor herói. Siga uma pessoa (ex.: Aroon, Anita, Dr. Rao) e faça referência a ela; as pessoas lembram de histórias, não de funcionalidades.

  • Foco no final. Coloque a palavra-chave por último em sua frase ("...cada equipe tem apenas uma."); a voz naturalmente pousa ali. Contexto no início: "Às duas e catorze, de manhã cedo, // Aroon // desmaia."

  • Regra de três para benefícios e listas, com batidas uniformes.

  • Contraste e virada: problema → "Agora, imagine..." → solução.

  • Aberturas: comece cada seção com uma âncora ("Primeiro, para as famílias.", "Agora, entre no hospital.").

  • Finais: afirmações terminam com ponto final para um tom descendente e concluído. Feche com a promessa ou slogan, um convite claro, depois "Obrigado."

  • Ritmo (estilo da casa): entrega lenta e cheia de pausas soa robótica ("muitas pausas, poucas palavras"). Padrão para ritmo fluente de apresentador:

    • velocidade 1.00 para a maioria das linhas, 1.02 para listas/explicações longas, 0.95–0.97 para slogans e encerramentos, 0.93 apenas para o único gancho emocional.
    • No máximo uma batida ... por linha, e apenas na virada emocional ("Às duas e catorze, de manhã cedo ... Aroon desmaia", "E se ... bastasse um toque?"). Use / com moderação; prefira vírgulas comuns.
    • Taxa medida neste estilo: cerca de 2,6–2,8 palavras faladas por segundo (af_kore). Orçamento = palavras / 2,7 + 0,35 s de cauda polida; uma linha deve caber antes da próxima batida visual.
    • Deixe um silêncio deliberado (1–1,5 s, sem linha) após a construção do problema e após o payoff emocional da solução ("Mais calmo que aquela primeira noite.").
    • Densidade: cerca de 230–250 palavras narradas para um filme de 2,5 minutos; cada cena recebe pelo menos uma linha, então nenhuma cena fica silenciosa por mais de ~3 s, exceto os silêncios planejados.
  • Honestidade: nenhum resultado inventado; nomes e figuras fictícias são dados de demonstração.

  • Caminho rápido (para economizar tempo): escreva todas as linhas → estime durações com o orçamento acima → corrija excessos no texto antes de gerar → gere uma vez. Regenerar no laptop custa cerca de 25–40 s por linha, então a maior parte do tempo vai para texto que é reescrito.

2. Marcação (arquivo de narração)

LINES = [(start_s, speed, text), ...], VOICE = '...', mais um docstring com notas de entrega. Exemplo: voice/examples/narration_demo.py.

  • / = pausa para respirar (0,25 s), // = pausa dramática (0,55 s), ... = batida mantida (0,8 s).
  • Soletre nomes que o motor erra em voice/lexicon.py (ex.: Arun → "Aroon", Dr → "Doctor") e teste uma linha primeiro.
  • Diálogo com várias vozes: LINES = [(key, voice, speed, text), ...] para speak_cast.py (voice/examples/dialogue_demo.py).

3. Voz

  • Motor: Kokoro via kokoro-onnx, offline, 50+ vozes. Boas escolhas para apresentador: af_kore / af_heart (feminina calma e confiante), hm_omega / hm_psi (indiano masculino), am_onyx (masculino grave), bm_george (britânico masculino), hf_alpha / hf_beta (indiana feminina). Misturas funcionam: hm_omega:0.6,am_onyx:0.4.
  • Para uma nova escolha de voz, renderize 3 linhas representativas (gancho, solução, slogan) por candidato e deixe o usuário escolher antes da execução completa.
  • O estresse no nível da palavra não pode ser forçado; crie-o com fraseado, pontuação, pausas e velocidade. Ênfase exata requer gravação humana.
  • Voz premium em nuvem: voice/el_cache.py (ElevenLabs; cada linha faturada uma vez, depois em cache).

4. Gerar → polir → mixar

  1. python voice/speak.py <narration>.py work/vo [voice] — retomável; cada frase é falada separadamente e unida com os silêncios marcados.
  2. python voice/polish_vo.py work/vo work/vo_polished — cortar, equalização warm/clear, compressão suave, sala sutil, cauda com fade-out.
  3. python voice/mix_narration.py <silent.mp4> <music.wav> <narration>.py work/vo_polished <out.mp4> — posiciona linhas, acelera uma linha longa em no máximo 1,08×, desloca linhas posteriores apenas conforme necessário, faz ducking na música, −16 LUFS, escreve .srt.
  4. Verifique o relatório de deriva. Cada linha deve estar dentro de ~0,5 s de seu visual. Se a deriva acumular, encurte ou corte uma linha (prefira linhas que repetem a tela) e mova os tempos de início para suas batidas visuais; remixe sem regenerar linhas não tocadas. Para refazer algumas linhas, mova seus clipes antigos para o lado e execute speak.py novamente; ele preenche apenas clipes ausentes. Mantenha a numeração dos clipes em sincronia com as LINHAS.
  5. Entregue o MP4 e o SRT.

Habilidades Relacionadas