Telegram speech2text con AWS Transcribe

Telegram speech2text con AWS Transcribe

Introduzione


 In questo breve articolo illustreremo come ottenere la trascrizione di un messaggio audio di un gruppo Telegram, utilizzando AWS Transcribe, fornendo sia i sorgenti di esempio che due possibili architetture.

telegram2transcribe: architettura e codice

 Questa è l'architettura del progetto telegram2transcribe che abbiamo rilasciato su GitHub:

  • un bot attivo su di una EC2 si accorge che un audio è appena stato rilasciato nel gruppo Telegram;
  • ne salva una copia MP3 su di un bucket S3;
  • comunica a Transcribe di tradurre il file MP3;
  • controlla che, dopo un certo tempo, Transcribe abbia compreso il testo e lo salva come TXT su S3;
  • il testo viene inviato in un secondo gruppo Telegram.

Architettura alternativa

 Questa architettura disaccoppia ulteriormente i passi necessari in più servizi indipendenti, sfruttando la possibilità di trigger offerta da S3:

  • un bot attivo su di una EC2 si accorge che un audio è appena stato rilasciato nel gruppo Telegram;
  • ne salva una copia MP3 su di un bucket S3;
  • il bucket aggiunge un messaggio in una coda SQS relativo a un audio da processare;
  • la coda SQS attiva una lambda in grado di inviare a Transcribe la richiesta e, dopo un certo tempo, controlla che la risposta sia pronta, inviandola su di un secondo gruppo Telegram.

Conclusioni

 A nostro giudizio, AWS Transcribe è più semplice da utilizzare e meglio documentato di altri sistemi cloud API di speech2text: con il suo aiuto è stato possibile sviluppare in qualche ora di lavoro sia la pipeline descritta che il relativo codice.


--

Foto di Sebastian Pandelache su Unsplash

Kiwifarm srl ‐ Via Agostino da Montefeltro, 2 · 10134 Torino (TO) ‐ P. IVA: 03535510048 ‐ Capitale Sociale: 30.100 € i.v. Privacy Policy Cookie Policy