Communitygithub.com

Natiq-studio/voiceover

Crie narrações em Darija argelina e integre áudio Natiq em projetos Remotion, motion graphics ou ffmpeg. Use quando um vídeo precisar de narração argelina ou de revisão de narração existente.

O que é voiceover?

Esta skill permite gerar narrações naturais em Darija argelina usando a API Natiq e integrá-las perfeitamente em projetos de vídeo como Remotion, motion graphics ou ffmpeg. Ela gerencia todo o fluxo de trabalho: descoberta de catálogo de vozes, faturamento, submissão de jobs assíncronos e download de áudios gerados. O assistente cria um manifesto de cenas no projeto do usuário, com IDs, textos das falas, voz, velocidade e caminhos locais dos arquivos de áudio, garantindo que cada cena seja independente e editável. A skill enfatiza a qualidade do áudio: compara configurações de voz e performance antes de reutilizar áudios, não corta falas silenciosamente e sugere ajustes se a duração solicitada for muito curta. Também fornece exemplos de código para integrar o áudio em componentes Remotion usando `Html5Audio` e `Series`, além de instruções para download via `curl`. Importante: não há timestamps de palavras, então legendas devem ser feitas em nível de cena ou com ferramentas externas de alinhamento forçado, e toda prévia deve ser revisada quanto à formatação árabe/RTL, equilíbrio de áudio e pronúncia.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Natiq-studio/natiq-voiceover/tree/HEAD/skills/voiceover

Perguntar na sua IA favorita

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

Documentação

Use as ferramentas MCP do Natiq conectadas e siga as instruções do servidor para descoberta de catálogo, faturamento, jobs assíncronos e URLs de download. Se o servidor estiver indisponível, explique o problema de conexão; nunca finja que o áudio foi gerado.

Mantenha a narração em Darija argelina com tom de conversa e frases curtas e faladas. Preserve nomes de produtos e palavras em francês intencionais. Para conteúdo de alto risco ou fraseado regional incerto, peça uma revisão de um falante nativo. Não afirme que o Darija é perfeito. Mantenha cada cena editável de forma independente, e mantenha uma única voz e estilo de entrega, a menos que uma mudança de personagem seja intencional.

Antes da geração, crie um manifesto de cenas no projeto de vídeo do usuário contendo: ID da cena, narração, voz, propósito, país, velocidade, ID do job, caminho local do áudio e duração medida. Salve o ID do job assim que uma submissão retornar. Compare a narração E as configurações de voz/performance antes de reutilizar áudio. Se apenas os visuais mudarem, mantenha o áudio. Se o tempo solicitado for muito curto após a geração, explique o tradeoff e encurte o roteiro ou estenda a cena; não corte a fala silenciosamente.

Baixe os clipes bem-sucedidos para public/audio/ no Remotion (ou o diretório de esse projeto onde os assets já existem). Use nomes estáveis como scene-01.wav. URLs assinadas são temporárias: armazene caminhos locais e IDs de job no manifesto, não URLs assinadas. Não encaminhe a chave de API para o host de áudio. Exemplo, substituindo a URL retornada:

mkdir -p public/audio
curl --fail --location --output public/audio/scene-01.wav 'RETURNED_AUDIO_URL'

Use a taxa de quadros existente do projeto. Arredonde cada cena para cima, para quadros inteiros, e adicione qualquer pausa deliberada separadamente. Por exemplo, com scenes do manifesto:

import {Html5Audio, Series, staticFile, useVideoConfig} from 'remotion';

export const Narration = ({scenes}) => {
  const {fps} = useVideoConfig();
  return <Series>{scenes.map(scene => (
    <Series.Sequence key={scene.id}
      durationInFrames={Math.ceil(scene.duration_seconds * fps) + scene.pauseFrames}>
      <Html5Audio src={staticFile(scene.audio)} />
      {/* Coloque os visuais da cena aqui, dentro da mesma Sequence. */}
    </Series.Sequence>
  ))}</Series>;
};

Defina a duração da composição como a soma dessas contagens exatas de quadros. scene.audio é relativo a public/, por exemplo audio/scene-01.wav. Para ffmpeg, da mesma forma, derive o comprimento de cada segmento visual a partir da duração bem-sucedida do áudio e de qualquer pausa explícita. Ouça as transições e verifique o quadro final quanto a palavras cortadas.

Natiq não tem timestamps de palavras. Prefira legendas em nível de cena, ou rotule temporizações proporcionais de legendas como estimadas e revise-as manualmente. Use uma ferramenta de alinhamento forçado separada se o usuário precisar de destaque preciso de palavras. Renderize uma prévia, verifique a formatação árabe/texto RTL, equilíbrio voz/música, ritmo e pronúncia, depois renderize a saída solicitada. Consulte o README de exemplo para uma composição Remotion mínima e comando de renderização.

Habilidades Relacionadas