Automatizando Comentários em Vídeos com Whisper e ChatGPT

Automatizando Comentários em Vídeos com Whisper e ChatGPT

Recentemente assisti a um vídeo no canal do YouTube do Lucas Montano, no qual ele demonstrou uma solução interessante para automatizar comentários durante vídeos utilizando inteligência artificial. Inspirado por essa ideia, decidi implementar algo semelhante utilizando FFmpeg, Whisper (OpenAI) e ChatGPT. Neste post, mostro detalhadamente como você pode fazer isso também.

Captura de Áudio com FFmpeg no Windows

O primeiro passo é configurar a captura de áudio diretamente do microfone usando o FFmpeg, que é uma ferramenta poderosa e amplamente utilizada para manipulação e gravação de mídia. Para isso, o comando básico é:

ffmpeg -f dshow -i "audio=Nome do seu Microfone" -t 5 audio.wav

Este comando grava um arquivo audio.wav com 5 segundos de duração. É importante identificar corretamente o nome do seu dispositivo utilizando:

ffmpeg -list_devices true -f dshow -i dummy

Transcrição Automática com Whisper

Com o áudio capturado, o próximo passo é transformar a fala em texto. Para isso, utilizei o Whisper da OpenAI, um modelo robusto que reconhece voz com alta precisão. A integração é simples com o SDK da OpenAI:

const transcription = await openai.audio.transcriptions.create({
  file: fs.createReadStream(audioFilePath),
  model: 'whisper-1'
});

Isso resulta em um texto que pode ser facilmente manipulado ou analisado.

Gerando Comentários com ChatGPT (OpenAI)

Após obter a transcrição, podemos usar o ChatGPT para gerar automaticamente comentários interessantes baseados naquilo que foi dito. Definimos um prompt claro e objetivo para garantir resultados curtos e práticos:

const response = await openai.chat.completions.create({
  model: 'gpt-3.5-turbo',
  messages: [
    { role: 'system', content: 'Você é um assistente para vídeos, gere um comentário curto sem quebras de linha.' },
    { role: 'user', content: `O usuário disse: "${textoTranscrito}".` }
  ]
});

console.log(response.choices[0].message.content.trim());

Dessa forma, o modelo gera comentários relevantes e objetivos.

Identificando Trechos de Silêncio

Para otimizar o processo, é essencial detectar trechos silenciosos e ignorá-los, evitando processamento desnecessário. Utilizamos novamente o FFmpeg para detectar silêncio:

ffmpeg -i audio.wav -af "silencedetect=n=-30dB:d=7.0" -f null -

Se houver trechos longos de silêncio, o script simplesmente pula a etapa de transcrição e comentário.

Como Configurar Seu Ambiente (Passo a Passo)

Para começar, você precisará:

  • Instalar FFmpeg e adicioná-lo ao PATH do sistema.
  • Instalar Node.js e as dependências:
npm install openai dotenv
  • Criar um arquivo .env contendo suas chaves da OpenAI:
OPENAI_API_KEY="sua-chave"
AUDIO_DEVICE="audio=Nome do seu Microfone"
RECORD_DURATION_MS=10000

Testes, Ajustes e Solução de Problemas

Durante os testes, ajuste o limiar de silêncio (silencedetect) e a duração da captura (RECORD_DURATION_MS) para obter os melhores resultados. Problemas comuns incluem:

  • Erro na captura de áudio (verifique o nome do dispositivo).
  • Transcrições incorretas (ajuste a qualidade e proximidade do microfone).
  • Comentários longos demais (refine o prompt enviado ao ChatGPT).

Conclusão e Aplicações Práticas

Automatizar comentários utilizando captura de áudio, transcrição automática e inteligência artificial pode enriquecer significativamente seus vídeos, especialmente em formatos educacionais ou apresentações interativas. Os comentários podem trazer informações adicionais relevantes, apontar erros ou equívocos que passaram despercebidos pelo locutor e até mesmo serem configurados para fornecer argumentos que ajudem um vendedor a convencer um potencial cliente. Agradeço ao Lucas Montano pela inspiração inicial, que me ajudou a explorar esta tecnologia prática e eficiente. Recomendo fortemente que você experimente esta técnica e adapte-a às suas necessidades específicas.