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)Opcional (--diarize)Rascunhos rápidos (10-15x tempo real)
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)
  • Detecção automática de idioma (pt, en, es, fr, de e outros)
  • Vocabulário customizável para termos técnicos (médicos, jurídicos, etc.)
  • Output em JSON, TXT e Markdown
  • Templates de ata com IA — ata formal, resumo executivo e itens de ação prontos para usar com Claude ou outro LLM
  • 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

289 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.