Sou fã do Top Gear UK e, para a minha tristeza, nenhum serviço de streaming brasileiro tem o seriado no catálogo. Minha primeira solução foi comprar as temporadas em DVD, mas eles vêm apenas com legendas em inglês.
Mesmo entendendo bem o idioma, eu prefiro assistir com legendas em português brasileiro. Assim dá pra aproveitar melhor as piadas e as expressões britânicas, que às vezes se perdem um pouco na tradução literal.
O problema? Os serviços online de tradução de legendas costumam ser caros, lentos e enviam seus dados para a nuvem.
A solução: Processar tudo localmente usando inteligência artificial rodando na minha RTX 4090 usando o modelo Modelo NLLB-200.
As legendas do DVD vêm no formato PGS, então foi necessário convertê-las para o formato SRT (texto). Esse processo ficará para outra postagem, aqui vou focar apenas na tradução do arquivo de legendas (.srt).
Eis uma comparação de antes e depois, ainda não está perfeito, mas já é um bom avanço:


O que é o NLLB-200?
O NLLB-200 (sigla para No Language Left Behind) é um projeto e um modelo de inteligência artificial de tradução automática de grande escala desenvolvido pela Meta AI (Facebook). A principal inovação do NLLB-200 é sua capacidade de realizar traduções de alta qualidade entre 200 idiomas diferentes, o que representa um avanço significativo em relação aos modelos de tradução tradicionais que focavam principalmente em pares de idiomas mais comuns (como Inglês-Espanhol).
Requisitos do Projeto
Hardware
- GPU NVIDIA com CUDA (no meu caso RTX 4090 com 24GB VRAM)
- Mínimo recomendado: RTX 3060 com 12GB ou superior
- CPU e RAM: Qualquer configuração moderna serve
Software
- Windows 10/11
- Python 3.8 a 3.12 (usei o 3.12.10)
- Driver NVIDIA atualizado (usei 581.80)
- CUDA Toolkit (versão 12.1)
- Modelo: Facebook/nllb-200-1.3B
Passo 1: Preparar o Ambiente
Instalar Python
Baixe o Python 3.12 em: https://www.python.org/downloads/
IMPORTANTE: Durante a instalação, marque "Add Python to PATH"
Após a instalação verifique a versão instalada:
python --versionInstalar CUDA Toolkit
Acesse: https://developer.nvidia.com/cuda-downloads
Selecione: Windows → x86_64 → 11 → exe (local)
Instale
Criar Estrutura de Pastas
Crie uma pasta chamada TraducaoTopGear e dentro dela outras 3 legendas_originais , legendas_traduzidas e scripts.
TraducaoTopGear/
├── legendas_originais/ (arquivos .srt em inglês)
├── legendas_traduzidas/ (resultado das traduções)
└── scripts/ (script Python)
└── traduzir_legendas.py (disponível no final do post)Passo 2: Instalar Dependências
Abra o Prompt de Comando na pasta raiz TraducaoTopGear e execute:
# Criar ambiente virtual python
python -m venv venv
# Ativar ambiente virtual
venv\Scripts\activate
# Atualizar pip
python -m pip install --upgrade pip setuptools wheel
# Instalar PyTorch com suporte CUDA
pip install --upgrade torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
# Instalar bibliotecas necessárias
pip install transformers
pip install sentencepiece
pip install pysrt
pip install tqdm
pip install safetensors
pip install accelerateVerificar CUDA
Verifique se o PyTorch está reconhecendo sua GPU:
python -c "import torch; print('CUDA disponível:', torch.cuda.is_available()); print('GPU:', torch.cuda.get_device_name(0))"Resultado esperado:
CUDA disponível: True
GPU: NVIDIA GeForce RTX 4090Passo 3: Script de Tradução
Criei o script traduzir_legendas.py com o código completo (disponível no final do post).
Principais características do script:
- Modelo NLLB-200: Modelo de tradução da Meta AI, especializado em 200 idiomas.
- Processamento em lotes (batch): Traduz múltiplas legendas simultaneamente.
- Otimizado para GPU: Usa toda a capacidade da RTX 4090.
- Formato safetensors: Mais seguro e rápido que o formato tradicional.
Por que NLLB?
- Roda 100% offline (privacidade total).
- Qualidade comparável a serviços pagos.
- Grátis e open-source.
- Otimizado para GPU NVIDIA.
- Suporta português brasileiro especificamente (não confunde com PT-PT).
Passo 4: Configurar o Script
Edite as linhas 335 e 336 de configuração no script informando as pastas legendas_originais e legendas_traduzidas.
PASTA_LEGENDAS_ORIGINAIS = r"[PASTA LEGENDAS ORIGINAIS]"
PASTA_LEGENDAS_TRADUZIDAS = r"[PASTA LEGENDAS TRADUZIDAS]"Dica importante: Use o r antes das aspas para evitar problemas com barras invertidas!Passo 5: Executar a Tradução
Coloque os arquivos .srt na pasta Coloquei meus arquivos .srt na pasta legendas_originais , acesse a pasta raiz do projeto TraducaoTopGear e execute:
# Ativar ambiente virtual (caso tenha saído dele)
venv\Scripts\activate
# Rodar script
python scripts\srt_translator_nllb.pyPrimeira execução:
- O modelo NLLB (~6GB) será baixado automaticamente (~10 minutos).
- O modelo ficará salvo localmente para próximas execuções.
Execuções seguintes:
- Script começa traduzindo imediatamente.
- Velocidade: ~100-150 blocos de legenda por minuto
- Um episódio típico (500-700 blocos de legenda): 3-6 minutos
Resultados e Qualidade
Original (EN-GB):
That's absolutely brilliant!
This car is properly quick, isn't it?
Oh, cock!Traduzido (PT-BR):
Isso é absolutamente sensacional!
Este carro é realmente rápido, não é?
Ah, droga!Eu diria que a qualidade ficou em 70%:


"Traficantes de carros"
Pontos positivos:
- Tradução natural e fluida
- Preserva o contexto automotivo
- Adapta expressões britânicas
- Mantém a formatação e timing originais
- Processa arquivos grandes rapidamente

Limitações encontradas:
- Algumas piadas muito específicas perdem a graça
- Nomes próprios às vezes são traduzidos (ex: "James May" vira "James Maio")
- Gírias muito britânicas ficam literais
Dicas e Truques
Ajustar tamanho do lote conforme sua GPU:
| GPU | VRAM | tamanho_lote recomendado |
|---|---|---|
| RTX 3060 | 12GB | 20-30 |
| RTX 3080 | 10GB | 25-35 |
| RTX 4070 | 12GB | 30-40 |
| RTX 4090 | 24GB | 50-80 |
Monitorar GPU em tempo real:
Em outro Prompt de Comando (cmd), execute:
nvidia-smiIsso atualiza o status da GPU a cada 1 segundo.

Comparação de Custos
| Método | Custo | Tempo | Privacidade |
|---|---|---|---|
| IA Local (meu método) | R$ 0,00 | 1~2 min/ep | 100% privado |
| Google Translate API | por caractere | <1 min/ep | Dados na nuvem |
| DeepL API | por caractere | <1 min/ep | Dados na nuvem |
| Tradução manual | R$ 50-100/ep | Horas | Privado |
Script Completo
O script está disponível no github:
https://github.com/TGuerreiro/scripts/blob/main/srt_translator_nllb.py