Dal Night Lab… Unbabel Voice

3 min read

Qui ad Unbabel abbiamo il Night Lab, progetti legati alla compagnia creati da gruppi di persone nel loro tempo libero, che vengono votati e premiati alla fine di ogni trimestre fiscale.

I telefoni e il suono mi hanno affascinato sin da quando ero bambino e ho sempre desiderato di poter sviluppare sistemi a essi correlati un giorno. Ho pensato che sarebbe stato interessante sposare il core business di Unbabel di traduzione plug-and-play, riconoscimento vocale e API basata su telefono in uno dei miei Night Lab. Così, è nato Unbabel Voice

Unbabel Voice è un sistema di risposta automatica che ti consente di tradurre una lingua che parli in una delle nostre lingue supportate.

Componi un numero, dì quale lingua desideri tradurre, la lingua in cui desideri tradurre e il contenuto che desideri tradurre.

Quindi, trascrive la tua voce e la traduce nella lingua che hai richiesto e ti dice il risultato.

Puoi quindi scegliere se riceverlo tramite un SMS (al momento, non attivo), ripetuto o semplicemente riutilizzare la coppia di lingue precedentemente selezionata per una traduzione successiva.

Come è costruito

Per non reinventare la ruota e per rendere il ciclo di sviluppo molto più breve, ho scelto di chiamare i servizi esterni per tutte le funzionalità difficili. Il sistema utilizza Twilio Programmable Voice per rispondere alle telefonate, che a loro volta si rivolgono al nostro servizio web che gestisce il flusso tramite TwiML.

Il menu interattivo richiede le lingue d’origine e bersaglio, che vengono riconosciute da Twilio tramite parole chiave. Al termine dell’impostazione iniziale, viene configurata una registrazione e i contenuti da tradurre vengono inviati al nostro servizio, che a sua volta richiede Google Speech API per la trascrizione, e poi quest’ultima viene mandata alla Traduzione Automatica di Unbabel API per la traduzione. Quindi usiamo le funzionalità Text-To-Speech di Twilio per dire il risultato all’utente.

Dal momento che questo è iniziato come un progetto personale, ho colto l’occasione per approfondire lo sviluppo delle applicazioni web usando il Linguaggio di programmazione Go, cioè usando il Framework web Gine altri pacchetti, specificamente per l’integrazione delle API utilizzate. Ho usato la libreria twiml Go di BTBurke per generare il TwiML per i menu interattivi e ho anche contribuito ad una Pull Request a monte. 😜

ho chiesto a Sofia Rocha di utilizzare le sue superbe capacità di progettazione e ha rapidamente creato una pagina di destinazione statica per questo piccolo progetto, seguendo le nostre linee guida di progettazione, grazie mille per questo! 🎉

Conclusione

Questo è stato un progetto piuttosto divertente e riesco a far funzionare un prototipo in circa un weekend. È sicuramente interessante acquisire nuove competenze ed esercitare le tue capacità di codifica, specialmente quando il tuo ruolo principale è in DevOps. 😅

Grazie mille per l’attenzione, e fai in modo di finire quel side project a cui lavori da po’! 😏

ArtboardFacebook iconInstagram iconLinkedIn iconUnbabel BlogTwitter iconYouTube icon