Magazine Informatica

Il riconoscimento vocale con Google Chrome

Creato il 24 marzo 2013 da Hnikarr

Una delle novità introdotte a partire dalla versione 25 di Google Chrome è il completo supporto alla interfaccia per il riconoscimento vocale; l’interfaccia per il riconoscimento vocale, a propria volta, è la Web Speech API, una delle numerose interfacce JavaScript, più o meno utili a seconda dei casi, che stanno spuntando come funghi con la diffusione dello HTML5, supportato ormai da tutti i browser più recenti. In linea generale, questa interfaccia JavaScript dovrebbe rendere più semplice il lavoro di aggiungere alle pagine web tutte le funzioni connesse al riconoscimento vocale: dettare testi, impartire comandi, eccetera. Se effettivamente riuscirà a semplificare il lavoro, però, dipenderà da quanto sarà diffuso il supporto per questa interfaccia sui vari browser, ma questo è un altro paio di maniche. Intanto, possiamo guardare un primo esempio del suo funzionamento. Prima di cominciare a dettare un testo, sarà necessario selezionare il linguaggio e, eventualmente, il paese, se è un linguaggio parlato in più paesi. Successivamente, un click sulla icona a forma di microfono, in alto a destra nel riquadro, permetterà al browser di attivare il microfono del nostro computer, per registrare la voce: basterà poi cominciare a parlare e vedremo il testo apparire sullo schermo, in una trascrizione più o meno corretta. Alla fine, clicchiamo di nuovo sul microfono, per avvisare che la registrazione deve essere interrotta. Appariranno a questo punto due pulsanti, sotto il riquadro di testo: il primo ci permette di copiare il testo (per incollarlo dove preferiamo), il secondo ci permetterà di creare una e-mail, il cui contenuto sarà proprio il testo da noi dettato. Per adesso, i linguaggi supportati sono circa trenta, italiano incluso, ma ovviamente la qualità del risultato varia a seconda del linguaggio: più diffusa è la lingua, migliore in linea di massima è il risultato. In altri termini, con l’inglese funziona generalmente bene, con l’italiano non sempre si otterrà una trascrizione esatta, come potrete verificare con qualche esperimento. Miglioreranno strada facendo. Un esempio più concreto lo si può ottenere sul sito della Peanuts Gallery, dove sono messi a disposizione vari vecchi filmati in bianco e nero, a cui è possibile aggiungere un testo utilizzando proprio questa interfaccia di riconoscimento vocale: in altri termini, scegliete un video e parlate a voce alta davanti al vostro computer, cercando di non pensare a quanto sia ridicola la scena vista dall'esterno  e la funzione di riconoscimento vocale provvederà a registrare ciò che dite, per poi aggiungerlo al filmato come intertitolo, ossia quella didascalia che, nei vecchi film muti, compariva tra una scena e l’altra. Dopo questi due esempi di come si possa utilizzare, vediamo anche qualcosa di più preciso sul suo funzionamento: in cosa consiste questa Web Speech API? Come qualsiasi altra interfaccia, la Web Speech API ci mette a disposizione una serie di funzioni da utilizzare nel nostro codice, con la garanzia che, utilizzando la funzione X, otterremo sempre un certo risultato (se il browser che eseguirà il nostro codice supporta questa interfaccia, ovviamente). Se il risultato è garantito, il modo in cui questo risultato sarà ottenuto è variabile e dipende dai singoli browser: alcuni possono decidere di eseguire il riconoscimento vocale in locale, ossia sul nostro computer, attraverso un apposito “motore” aggiunto al browser; altri, invece, potranno decidere di registrare ciò che diciamo, inviarlo ai propri server e poi restituirci sulla pagina il risultato del riconoscimento. Per inciso, negli esempi di Google Chrome il riconoscimento vocale avviene attraverso un server: altri browser, però, potrebbero svilupparlo differentemente. La Web Speech API supporta entrambe le soluzioni: se vogliamo utilizzarla in una nostra pagina, dunque, non abbiamo bisogno di preoccuparci di come effettivamente avvenga il riconoscimento vocale, ma basta sapere quali comandi utilizzare per avviare il riconoscimento, interromperlo e raccoglierne i risultati. Se il discorso non è chiaro, prendiamo un esempio più familiare: l’interfaccia di un’automobile. Tutte le automobili hanno un freno; premendolo, la velocità diminuirà. Un automobilista non ha strettamente bisogno di sapere i dettagli sull’impianto frenante montato sulla sua auto: per usare il freno, gli è sufficiente conoscere il pedale corrispondente e conoscere il risultato della pressione, ossia un calo della velocità. Allo stesso modo, se vogliamo arricchire la nostra pagina web con un form, che può essere compilato dettando il testo, invece di scriverlo a mano, ci basterà sapere quali funzioni JavaScript dobbiamo invocare, lasciando poi che sia il browser a preoccuparsi per noi di effettuare il riconoscimento vero e proprio. Per le funzioni, possiamo fare riferimento alla pagina di presentazione di questa interfaccia, su cui compaiono anche alcuni esempi di utilizzo. In linea di massima, si comincerà sempre con la verifica del supporto offerto dal browser: se il browser non supporta la Web Speech, è inutile proseguire. Se la supporta, per prima cosa creeremo un nuovo oggetto SpeechRecognition e ne utilizzeremo i metodi principali: start() per avviare la registrazione (magari cliccando su qualche elemento della pagina), stop() per interromperla. Esistono poi diversi attributi da impostare, a seconda del tipo di registrazione che vogliamo: registrazione continua o singola, come deve essere processato il testo, quale sia il linguaggio di riferimento, e così via. Per esempi più completi del suo utilizzo, però, è meglio fare riferimento a quelli proposti nella presentazione della interfaccia, oltre anche a quelli che ci ha offerto Google.

Potrebbero interessarti anche :

Ritornare alla prima pagina di Logo Paperblog

Possono interessarti anche questi articoli :

Dossier Paperblog