Litterae.eu
Humanities & IT


Drinkie, ovvero come scriversi un assistente vocale personalizzato

Dico subito che Drinkie è un esperimento di studio accurato, seppure, come tradisce il nome, con applicazione tematica un po' scanzonata.
Lo scopo di base era, ed è, capire il funzionamento logico di un assistente vocale alla Siri o Alexa o Google Assistant, tanto per intenderci. Ovviamente su scala elementare e riproducibile al di fuori delle suddette piattaforme chiuse.

Mi spiego meglio. Compilando un'applicazione Android o utilizzando le API di Google con qualche classe PHP, si può certamente interagire con il motore del suo assistente virtuale (specialmente per l’elaborazione vocale), ma lo si fa sempre a scatola chiusa, accettandone gli output così come sono. Metodo efficace, ma poco utile allo scopo di studio di cui sopra.

Primo passo dunque è stato definire sinteticamente il flusso logico di azioni che dovrebbe compiere l’assistente e vagliare cosa fosse fattibile e cosa no. L'interazione classica a cui ci hanno abituati ormai questi software prevede, semplificando all'osso:
- richiesta vocale da parte dell'utente,
- trascrizione della voce in testo,
- analisi ed elaborazione della richiesta,
- risposta,
- sintesi vocale della risposta,
- riproduzione automatica dell’audio prodotto.
Sulla scorta di questa rudimentale scaletta mi sono messo all’opera.

Senza API di Google, il primo passaggio è al momento impraticabile a chiunque non sia in grado di mandare da casa una sonda su Marte. Quindi ho dovuto optare per la classica acquisizione della richiesta via tastiera. Considerato il calo di appeal derivatone, la seriosa deferenza da pseudo Siri è stata rimpiazzata dalla scanzonata esuberanza di un’originale… Drinkie ☺️
La riduzione dell’ambito di interessi di Drinkie, con il conseguente canovaccio di conversazione strettamente guidato, però mi è stata anche estremamente utile per circoscrivere l’interazione con l’utente ad un unico tipo di richieste, e quindi per concentrarmi in modo non dispersivo sui passi successivi della scaletta di lavoro.

L’elaborazione della risposta passa attraverso le Google mappe. In pratica Drinkie deve trovare dei bar nel luogo indicatogli dall’utente; avrei potuto appoggiarmi a vari servizi, alcuni dei quali anche open source, ma semplicemente non esistono ad ora archivi pubblici di attività economiche geolocalizzate più completi di quelli di Google. Inoltre, con un po’ di PHP e senza necessità di API, le GMaps sono facilmente interrogabili e lasciano la piena comprensione di cosa sta facendo il software; aspetto fondamentale in caso di eventuali risposte cilecca.

L’ultimo ostacolo rimane la riproduzione autonoma dell’audio restituito dal servizio TTS (sempre richiamato via PHP): in sostanza si tratta di far partire automaticamente in un livello non visibile il lettore audio con la risposta. Nessun problema da computer, ma per i telefoni, a parte poche marche, Drinkie proprio non si sente di parlare; questo perché di norma i cellulari impediscono ai file multimediali contenuti in una pagina web di partire senza che sia l’utente a premere il tasto play. Non è un difetto; può essere anzi una protezione aggiuntiva. A nessuno infatti piacerebbe vedere il proprio traffico dati esaurito in pochi minuti dopo aver aperto una pagina zeppa di video e audio che s’avviano da sé.

Stando così le cose, e volendo studiare una soluzione al di fuori di un’app Android (come detto all’inizio), l’alternativa sarebbe lasciare in chiaro il lettore audio per permettere all’utente di avviare manualmente le varie risposte. Affascinante come le conversazioni di Mr. Bean con il suo orsacchiotto di peluche. A parte le battute, a questo punto tanto varrebbe lasciare perdere anche la sintesi vocale e compilare un semplice assistente testuale.
Ma non è detto che invece l’attuale motore di Drinkie non possa essere impiegato per altre applicazioni diverse da un assistente virtuale; ad esempio in ambito ludico.
Vedremo…

Al momento chi fosse curioso può provare Drinkie così com’è da questa pagina. Come già spiegato, l’assistente funziona appieno da pc e da poche marche di cellulari.


Aggiornamento a marzo 2020: il servizio libero di TTS utilizzato per Drinkie non è più utilizzabile senza registrazione, motivo per cui ora Drinkie è muta.


Site designed by litterae.eu. © 2004-2024. All rights reserved.
Info GDPR EU 2016/679: no cookies used, no personal data collected.