Meeting Transcriber

Sistema local de transcrição de reuniões com identificação automática de falantes, 100% offline, para macOS com Apple Silicon.

PythonWhisperXpyannote.audioMLXIBM Granite

O problema

Transcrever reuniões com múltiplos participantes exige não só reconhecimento de fala, mas identificação de quem falou o quê — a chamada diarização. Serviços em nuvem resolvem isso, mas enviam áudio sensível para servidores externos. Em contextos médicos e institucionais, isso é inaceitável.

A solução

Meeting Transcriber é um sistema 100% local para macOS com Apple Silicon (M1–M4). Após o download inicial dos modelos, tudo roda offline — nenhum áudio sai da máquina.

Ideal para reuniões de equipe, aulas e apresentações, áudios de WhatsApp e podcasts.

Três modos de operação

ModoBackendDiarizaçãoUso ideal
FastMLX (Apple Silicon otimizado)NãoTranscrições rápidas sem identificação de falantes
MeetingWhisper large-v3 + pyannote.audioSimReuniões com múltiplos participantes (padrão)
PreciseIBM Granite 8B (~16GB RAM)SimMáxima precisão em transcrições críticas

Funcionalidades

  • 8 formatos de áudio (mp3, wav, m4a, opus, flac, ogg, webm, aac)
  • Português e inglês com detecção automática
  • Vocabulário customizável para termos técnicos (médicos, jurídicos, etc.)
  • Output em JSON, TXT e Markdown
  • CLI bilíngue (pt/en)
  • Notificação macOS ao concluir
  • Integração com HuggingFace para modelos gated (pyannote requer aceite de termos)

Qualidade de código

148 testes automatizados passando. Arquitetura de backends intercambiáveis — cada modo de operação é um módulo independente, facilitando extensão futura.

Aprendizados

Esse projeto foi onde aprendi integração com HuggingFace (tokens, modelos gated), arquitetura de backends intercambiáveis e testes automatizados com pytest.