Motivação
Se você, como eu, já recebeu áudios intermináveis no Telegram, sabe o quanto pode ser cansativo ouvir tudo — especialmente quando a função de transcrição oficial é paga e exige assinatura anual. Decidi que não queria depender de serviços pagos para algo tão simples. E mais: queria integrar a solução ao meu bot multi-agent do Telegram, tornando a experiência ainda mais prática e automatizada.
O Problema
- Áudios do Telegram são cada vez mais comuns, mas a transcrição automática é um recurso restrito a assinantes.
- Ouvir áudios consome tempo e energia, principalmente em grupos ou canais profissionais.
- Soluções existentes são fechadas, pagas ou pouco flexíveis para integração com bots customizados.
A Solução: Um Sistema de Transcrição Agnóstico e Extensível
Desenvolvi um sistema open source, com arquitetura hexagonal e Domain-Driven Design (DDD), capaz de integrar múltiplos provedores de IA (OpenAI, Gemini, etc.) sem acoplamento direto. O sistema é modular, testável e pronto para ser usado em qualquer projeto Python — inclusive bots do Telegram!
Principais Características
- Agnóstico a provedores de IA: Você pode usar OpenAI, Gemini, ou adicionar qualquer outro backend facilmente.
-
Extensível: Basta implementar a interface
Transcriber
para adicionar novos provedores. - Fallback automático: Se um provedor falhar, o sistema tenta o próximo da lista.
- Configuração flexível: Permite definir idioma, timeout, número de tentativas e opções específicas por provedor.
- Testes automatizados: Cobertura completa para garantir robustez.
- Pronto para bots: Basta importar o pacote e integrar ao seu bot multi-agent.
Como Funciona
- Recebe o áudio do Telegram (ou de qualquer fonte).
-
Cria uma tarefa de transcrição (
TranscriptionJob
) com o arquivo recebido. -
Define um plano de transcrição (
TranscriptionPlan
) com provedores e políticas de fallback. -
Executa o caso de uso (
ExecuteTranscriptionPlan
), que orquestra a transcrição e retorna o texto. - Entrega o resultado para o usuário, sem precisar ouvir o áudio!
O Que Aprendi
- Arquitetura hexagonal realmente facilita a manutenção e extensão do sistema.
- Domain-Driven Design ajuda a separar regras de negócio de detalhes técnicos.
- Fallback inteligente é essencial para garantir robustez em sistemas que dependem de APIs externas.
- Open source é liberdade: agora qualquer pessoa pode usar, adaptar e contribuir.
- Bots multi-agent podem ser muito mais úteis quando integrados a sistemas abertos e flexíveis.
Resultado Final
- Nunca mais precisei ouvir áudios do Telegram — tudo é transcrito automaticamente!
- Não pago assinatura anual para um recurso simples.
- O sistema está disponível para qualquer pessoa usar, adaptar ou integrar em seus próprios projetos.
- Aprendi muito sobre arquitetura, testes e integração de IA.
Como Usar
- Clone o repositório:
git clone https://github.com/dublado/audio-transcriber.git
- Instale as dependências:
pdm install -G dev
- Execute o exemplo:
python examples/simple_usage.py
- Integre ao seu bot multi-agent do Telegram!
Próximo Desafio: Otimização de Custo e Velocidade
O próximo passo para evoluir o sistema será adicionar um filtro de otimização, acelerando o áudio antes de enviar para transcrição. A ideia é inspirada no artigo OpenAI Charges by the Minute, So Make the Minutes Shorter, onde acelerar o áudio pode reduzir o tempo (e custo) de processamento, sem perder a inteligibilidade para os modelos de IA.
-
Por que acelerar?
- Provedores como OpenAI cobram por minuto de áudio processado.
- Áudios acelerados podem ser transcritos mais rápido e com menor custo.
- O filtro pode ser ajustado para manter a clareza da fala, mesmo em velocidades maiores.
Desafio extra: Será que isso funcionaria com vídeos? 😄
Essa otimização pode ser integrada como uma etapa opcional no pipeline, tornando o sistema ainda mais eficiente e econômico para quem recebe muitos áudios (ou vídeos) diariamente.
Se gostou do projeto, contribua ou compartilhe! Nunca mais ouça áudios — apenas leia!
Top comments (0)