Communitygithub.com

laoqinmml/video-dubbing

Converte em lote vídeos curtos em chinês com narração para MP4s com dublagem em inglês, usando a voz clonada do locutor original: timeline ASR palavra por palavra da Volcengine, reescrita com DeepSeek voltada para compradores estrangeiros, clonagem de voz MiniMax, fades nas bordas das frases, ritmo natural e mixagem com normalização de loudness da música de fundo.

O que é video-dubbing?

Este skill automatiza a dublagem de vídeos curtos em chinês para o inglês, mantendo a voz original do locutor por meio de clonagem. Ele utiliza a API de reconhecimento de fala da Volcengine (ASR em nível de palavra) para gerar uma timeline precisa, a DeepSeek para reescrever o roteiro de forma natural e voltada para compradores estrangeiros, e a MiniMax para clonagem de voz. O processo é dividido em seis estágios (extração de áudio, ASR, tradução, ajuste de duração, placement de áudio e mixagem final), e o skill suporta retomada automática de etapas já concluídas, evitando retrabalho. É ideal para criadores de conteúdo e equipes de marketing que desejam localizar vídeos chineses para o mercado internacional, gerando um MP4 final com narração em inglês, legendas bilíngues e música de fundo normalizada. O skill inclui regras empíricas para evitar problemas comuns, como a necessidade de reescrever o texto para o público-alvo (não apenas traduzir) e o tratamento de números como palavras para manter a contagem de tempo correta.

Funciona com~Claude Code✓Codex CLI~Cursor
npx skills add laoqinmml/video-dubbing

Perguntar na sua IA favorita

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

Documentação

Dublagem de Vídeo Chinês para Inglês

Converte vídeos chineses com narração para dublagem em inglês: clona a voz do locutor original, reescreve o texto para o público estrangeiro e gera um MP4 final.

Um Comando

cd "<raiz_do_projeto>"
$env:MINIMAX_API_KEY = "<Chave MiniMax China>"
$env:VOLC_API_KEY    = "<Chave API Volcengine>"
.\\.venv\Scripts\python.exe scripts\dub.py --src "<caminho_do_video>" --slug "<nome_curto>"

Produtos:

LocalizaçãoConteúdo
out/<nome_curto>_EN_dubbed.mp4Vídeo final (único entregável)
out/<nome_curto>_EN.srt / _ZH.srtLegendas inglês/chinesas
work/batch/<nome_curto>/REPORT.mdTempo, rodadas de síntese, custo

Parâmetros comuns: --until translate (apenas texto, sem síntese), --from fit (começar a partir de um estágio), --force (ignorar estado salvo).

Seis Estágios

1 prep       Extrair áudio + separação de voz Demucs + gravar duração do vídeo
2 asr        Reconhecimento Volcengine palavra por palavra → timeline de frases em chinês
3 translate  DeepSeek → texto em inglês (mudança de público + orçamento de palavras + números por extenso)
4 fit        Rodar N rodadas de síntese → testar cada uma → escolher a que preenche mais o tempo
5 place      Posicionar na timeline + inserir pausas entre frases + escrever legendas (timestamps reais por palavra)
6 mux        Adicionar música de fundo + normalizar loudness → MP4

Após falha, basta executar o mesmo comando novamente – os estágios concluídos são pulados automaticamente (com verificação de que o produto é mais novo que a entrada).

Pré-requisitos

ItemDescrição
Vozwork/voice.json, gere uma vez com clone_voice.py – compartilhado por todos os vídeos, sem necessidade de clonagem repetida
Chave VolcengineReconhecimento de arquivo de áudio (volc.seedasr.auc)
Chave MiniMaxSite China api.minimaxi.com, precisa de cadastro real e saldo (senão 2038 / 1008)
Chave DeepSeekOficial api.deepseek.com
Dependênciasdemucs torch numpy requests openai soundfile
MúsicaUm diretório com arquivos .wav, veja BGM_DIR em config.py

Todos os serviços conectam diretamente – dub.py força a limpeza de variáveis de proxy.

Leitura Obrigatória: 18 Lições Práticas

A lista completa está em docs/LESSONS.md. As mais críticas e com maior custo:

  1. Mudança de público, não apenas tradução – Muitos materiais originais falam para exportadores chineses ("Amigos que fazem comércio exterior"). O inglês deve falar diretamente para compradores estrangeiros. A regra está em SYSTEM_FILL no translate.py.
  2. Números devem ser escritos por extenso já na tradução – 20,000 conta como 1 palavra mas é lido como 2, desbalanceando todos os cálculos de duração; manter algarismos arábicos pode fazer o TTS ler dígito por dígito.
  3. atempo desabilitado – Não acelere a fala para preencher o tempo; encurte o texto.
  4. Fades são obrigatórios nas emendas entre frases – Cortes em formas de onda não-zero produzem estalos.
  5. Verificação de artefatos de áudio não deve usar apenas o maior salto do arquivo inteiro – Pode ser mascarado por saltos maiores da fonte original; analise a distribuição dos saltos.
  6. Retomada deve verificar se o produto é mais novo que a entrada – Caso contrário, entrega silenciosamente dublagem desatualizada.

Detalhes de mecanismos e processo de desenvolvimento estão em docs/USAGE.md (originalmente "Manual de Uso") e docs/REPORT.md (Relatório de Implementação).

Limitações Conhecidas

  • A densidade de informação em chinês é maior que em inglês; em raros materiais, é necessário remover frases mantendo os pontos de venda (a ferramenta faz isso automaticamente e registra no relatório).
  • A taxa de preenchimento geralmente fica entre 93–100%, o restante é completado pela música de fundo.
  • Nomes próprios que a Eva não pronuncia corretamente devem ser adicionados ao dicionário TTS_RESPELL em synth_single.py (afeta apenas a entrada do TTS, as legendas permanecem inalteradas).

Fluxo de Trabalho Sugerido

Para novos materiais, execute o processo completo uma vez para o cliente confirmar (voz/velocidade/música/pausas). Após a aprovação, processe em lote. Cada item no lote indicará seu custo.

Habilidades Relacionadas