[#wpdev] Speech API

Windows-Phone-8-big-logoIn Windows Phone 8, tra le nuove API a nostra disposizione, sono state aggiunte una serie di nuove API che ci permettono di interagire con le nostre applicazioni usando i comandi vocali: le Speech API.

Se siete possessori di un device con Windows Phone (già dalla versione 7) ed avete fatto uso di auricolari, autoradio bluetooth etc., avrete già avuto modo di apprezzare la comodità di interazione vocale. Farsi leggere un sms, rispondere dettando il testo, effettuare chiamate etc., semplicemente usando la voce è una di quelle cose che ti fa apprezzare la tecnologia. Queste funzionalità erano però limitate al sistema operativo. Con le Speech API invece, possiamo aggiungere queste funzionalità anche nelle nostre applicazioni.

L’interazione che possiamo implementare si sviluppa su su tre diversi livelli, ognuno con peculiarità specifiche ma che, combinati insieme, ci permettono di implementare interazioni decisamente evolute.

I tre livelli sono:

VoiceCommand viene gestita a livello di sistma operativo e permette di interagire con la nostra app dall’esterno (quando l’app non è in esecuzione
Speech Recognition è il motore vero e proprio di riconoscimento vocale, quello che permette di “tradurre” l’input vocale in testo
Text-to-Speech è il sintetizzatore vocale. Quello che ci permette di far “parlare” la nostra applicazione

Il primo livello è, come detto, gestito a livello di sistema operativo. E’ il tipo di interazione che ci permette di avviare la nostra applicazione impartendo un comando specifico. Comando che poi sarà nostra cura gestire. Pensando ad una delle funzionalità vocali di Windows Phone, il comando vocale “invia sms a [nome contatto]” rientra nei VoiceCommand.

Il secondo e terzo livello invece, sono gestiti dall’interno dell’applicazione. Sempre riprendendo l’esempio relativo all’invio di sms, Speech Recognition permette di tradurre la nostra voce nel testo dell’sms e il Text-to-Speech è utilizzato per richiederci le azioni da compiere (“invia, aggiugi altro, ho finito”).

La seguente immagine mostra, in modo molto evidente, dove si collocano i livelli di interazione rispetto alla nostra applicazione:

IC626240

(courtesy MSND)

Come è facile intuire a questo punto, l’utilizzo combinato di questi livelli di interazione vocale, ci permettono di inserire nelle nostre applicazioni, funzionalità vocali decisamente evolute. Se, tale livello di interazione è bidirezionale (combinando Speech Recognition con Text-to-speech), possiamo parlare di IN APP DIALOG.

Nei post successivi scenderemo più nel dettaglio e vedremo come realizzare una applicazione con cui potremmo interagire vocalmente.

,