Quando l’informazione si basa sulla voce

TECNOLOGIE VOCALI –

La tecnologia vocale è ormai matura per essere introdotta sia a livello consumer, sia a livello professionale, nell’interazione tra uomo e macchina e in generale nell’interazione tra uomo e sistema.

La voce è un mezzo di comunicazione ad elevato contenuto informativo che consente di comunicare in maniera rapida ed efficace informazioni di varia natura oltre che semantica, in particolare di natura emotiva e di natura biologica. Comparata ad altri mezzi di comunicazione, la voce risulta estremamente più efficace, comportando costi implementativi molto ridotti se comparati con quelli richiesti per l’utilizzo di altri mezzi informativi, per esempio le immagini. La voce è un segnale di natura monodimensionale, mentre le immagini sono segnali multidimensionali. I sistemi di cattura e riproduzione della voce (microfono e altoparlante) sono decisamente più economici di quelli richiesti dalle immagini (telecamera e display) ed economica è anche l’architettura di computing necessaria ad eseguire gli algoritmi di elaborazione numerica richiesti dalle varie applicazioni. La voce permette l’operatività a mani libere e allo stesso tempo non richiede l’attenzione diretta del soggetto, in quanto è di natura omnidirezionale. Anche questa peculiarità rende la voce il mezzo di interazione più efficace in ambiti particolarmente complessi come quello automotive oppure quello dell’autenticazione personale.
La comunicazione vocale ha numerosi vantaggi anche rispetto a forme di comunicazione molto economiche, in particolare quella basata sul testo. Con la voce, non solo non si usano le mani, ma non si usano nemmeno gli occhi (si parla e si ascolta invece che scrivere e leggere). Inoltre, con la comunicazione vocale è possibile comunicare emozioni e altre informazioni non rappresentabili attraverso il testo (urgenza, umore, rigore, ecc.). Questo livello di comunicazione è fondamentale quando l’interazione non è solo di natura uomo-macchina ma anche quando è di natura uomo-uomo tramite macchina (per esempio i sistemi di messaggistica basati su testo). Grazie alla tecnologia vocale, la voce può essere trasformata in testo e il testo può essere trasformato in voce, ottenendo in tal modo funzionalità aggiuntive come l’integrazione della voce con il testo, la ricerca di informazioni nel testo con input vocale, ecc.
La possibilità di riconoscere informazioni non verbali nel segnale vocale, per esempio l’identità del parlatore, la sua provenienza geografica, le sue emozioni, ecc., apre un ampio scenario di possibilità applicative. Queste informazioni, oltre ad essere trascritte in termini di testo, possono essere codificate anche in termini di linguaggi ad icone (emoticon).
Le tecnologie vocali si sono rapidamente sviluppate negli ultimi anni, coadiuvate dal contemporaneo sviluppo dei sistemi di elaborazione di uso personale e soprattutto di natura embedded. Grazie a questa evoluzione, la tecnologia vocale si è resa disponibile in numerose applicazioni a costi limitati e soprattutto in modo efficace relativamente a riconoscimento vocale, sintesi vocale e identificazione vocale. Queste sono le tre principali tecnologie vocali da cui derivano numerose applicazioni, tra cui l’interazione vocale con i sistemi, rappresenta il livello di maggiore complessità.

Il riconoscimento vocale
Il riconoscimento vocale consente di convertire il segnale audio-vocale in testo leggibile dal computer o dai sistemi digitali in generale. E’ la più complessa delle tecnologie vocali in quanto si tratta di un’applicazione di pattern matching in cui devono essere superate efficacemente problematiche come la separazione dei pattern da riconoscere (end-point-detection, EPD), l’elevata variabilità dinamica (automatic gain control, AGC), la dilatazione-contrazione temporale (dynamic-time warping, DTW), ecc. Ciò ha un elevato costo computazionale che comunque è ormai alla portata dei processori Risc su cui si basano molte delle applicazioni embedded di ultima generazione, quindi non è strettamente necessario utilizzare Dsp come coprocessori a supporto di queste applicazioni. Il riconoscimento vocale si implementa in varie applicazioni in funzione degli obiettivi che si vogliono perseguire. Il riconoscimento di parole isolate relative a un singolo parlatore è l’applicazione più semplice, mentre il riconoscimento di qualsiasi parola indipendentemente dal parlatore è il caso applicativo più complesso. Il riconoscimento vocale è anche sensibile alla natura della lingua. In particolare, il processo di trascrizione da voce a testo indipendente dalla lingua, basato sul riconoscimento fonetico (i foni, cioè fonemi e allofoni) piuttosto che sul riconoscimento della parola intera, è la più complessa delle applicazioni di riconoscimento vocale, ma offre numerosi vantaggi per le applicazioni embedded.

La sintesi vocale
La sintesi vocale è una tecnologia meno complessa rispetto al riconoscimento vocale, ma implica problematiche applicative non banali per le applicazioni embedded, in particolare relativamente ai requisiti di memoria. La sintesi è una funzionalità di interfaccia uomo-macchina complementare a quella di riconoscimento vocale, in quanto, combinata a quest’ultima, consente di operare a mani libere e senza imporre una posizione rispetto al sistema con cui si svolge la comunicazione (il soggetto che dialoga con il sistema può rivolgere lo sguardo verso una scena o un sistema diverso da quello con interagisce). Le tecnologie di sintesi sono molteplici ed hanno tutte come obiettivo primario l’intellegibilità. La naturalezza ovviamente è un fattore importante, ma non essenziale alla funzionalità di un sistema embedded. La naturalezza implica una notevole ridondanza di dati (di segnale e/o di codifica fonetica), e ciò conduce ad una notevole occupazione di memoria. Un altro fattore di complessità per la sintesi vocale è la natura del vocabolario e la natura del parlatore. Il vocabolario può essere limitato o illimitato. La tecnologia di sintesi vocale nei due casi è differente. La prima può basarsi su tecnologie semplici come la banale riproduzione di parole e/o frasi memorizzate sotto forma campionata, la seconda richiede un vero e proprio meccanismo di sintesi della voce pilotato da un sistema di trascrizione da testo a unità fonetiche. Questa tecnologia, detta Tts (Text-To-Speech), è l’unica soluzione per disporre di una funzionalità di sintesi vocale a vocabolario (virtualmente) illimitato, ma non risolve il problema dell’indipendenza dal parlatore, nel senso che, per ogni parlatore è necessario comunque disporre del campionamento (esaustivo) della voce (per esempio, per disporre di una voce maschile adulta, di una voce femminile adulta, di una voce maschile di bambino e di una voce femminile di bambina, è necessario tenere nel sistema il database fonetico di quattro parlatori).

L’identificazione vocale
L’identificazione vocale è una tecnologia simile a quella del riconoscimento vocale nella componente computazionale di base (estrazione delle caratteristiche e pattern matching), ma molto differente relativamente ai requisiti di sistema, soprattutto di memoria. Lo scopo dell’identificazione vocale è quello di riconoscere il parlatore relativamente alla sua identità (biologica). Infatti, nell’identificazione vocale l’informazione da riconoscere è l’”impronta vocale”, cioè l’equivalente dell’impronta digitale. L’identificazione vocale è infatti una tecnologia biometrica particolarmente attrattiva in quanto, rispetto ad altre tecnologie biometriche, per esempio l’impronta digitale, non richiede dispositivi specifici per la cattura dell’impronta, ma utilizza dispositivi di uso generale come il microfono, normalmente in dotazione al sistema indipendentemente dalla natura dell’applicazione. L’identificazione vocale, rispetto alle altre tecniche biometriche, offre il vantaggio dell’integrazione con le altre funzionalità vocali, in particolare la sintesi e il riconoscimento, ottenendo in tal modo una notevole ottimizzazione delle risorse di sistema (molte funzionalità di calcolo sono comuni) e un livello di affidabilità dell’identificazione che può raggiungere il 100%. Per esempio: il sintetizzatore vocale propone una domanda, il soggetto risponde con una frase contenente una parola chiave; la parola chiave viene riconosciuta e isolata dalle altre parole della frase; la parola chiave viene analizzata per estrarre l’impronta vocale e confrontarla con quella del soggetto autorizzato ad accedere al sistema. Questo processo, apparentemente artificioso e complesso, di fatto è naturale e anche semplice, oltre ad essere particolarmente affidabile. Questa tecnologia è infatti alla base della definizione dell’interfaccia uomo-macchina della terza generazione, la cosiddetta natural user interface.

L’integrazione della tecnologia vocale
nei sistemi embedded

Integrare la tecnologia vocale nei sistemi embedded implica la disponibilità di librerie di funzioni di elaborazione del segnale vocale che consentono allo sviluppatore di tenere sotto controllo tutte le problematiche funzionali legate al collegamento tra l’applicazione e la funzionalità vocale. Il riconoscimento vocale per esempio è particolarmente sensibile alla catena microfonica e al rumore ambientale. La sintesi vocale richiede la costruzione di vocabolari, di meccanismi espressivi, di variabilità dei parlatori, ecc. I sistemi embedded non possono essere integrati con la funzionalità vocale semplicemente istallando un codice eseguibile. Essi richiedono la progettazione della funzionalità vocale partendo da librerie di funzioni e da un ambiente di sviluppo. Inoltre, necessitano di conoscenze specifiche relative allo speech processing da parte dello sviluppatore/integratore, tali da consentire a questo di implementare nel sistema embedded la funzionalità voluta. I fornitori di tecnologia vocale per l’embedding sono in parte gli stessi produttori di sistemi embebbed (per esempio i produttori di chip o di sistemi microelettronici), in parte società specializzate nello sviluppo di tecnologia vocale.

Una libreria per l’elaborazione
del segnale vocale

Un esempio interessante di contributo tecnologico dalla parte dei produttori di microelettronica è di Mitsubishi. Questo produttore, nel contesto del suo programma di ricerca Merl, ha sviluppato una libreria di funzioni, denominata Voicelib, per l’embedding di funzionalità di elaborazione del segnale vocale e in particolare di riconoscimento vocale per applicazioni come l’home entertainment, gli in-vehicle information systems, i sistemi di personal communication e l’elettronica di consumo in generale. In questi settori applicativi embedded, la tecnologia vocale è considerata uno dei principali fattori di differenziazione dei prodotti per i prossimi dieci anni. Voicelib consente la prototipazione rapida di interfacce vocali e di sistemi di interazione vocale nei sistemi embedded.
I produttori di microelettronica non hanno come obiettivo primario lo sviluppo della tecnologia vocale, quindi mettono a disposizione degli integratori funzionalità vocali di base particolarmente ottimizzate per le piattaforme di computing cui fanno riferimento. In questo caso le conoscenze delle problematiche dello speech processing, incluse quelle del signal processing, sono determinanti per un approccio dal basso alle applicazioni vocali su piattaforme embedded.

Il riconoscimento vocale in auto
Loquendo è un esempio di produttore specializzato nello svilluppo di tecnologia vocale con capacità di indirizzare tale tecnologia verso i sistemi embedded. La tecnologia vocale sia di riconoscimento, sia di sintesi, è disponibile per l’integrazione in sistemi embedded come Pda, Smatphones, navigatori, sistemi auto motive, ecc.
I produttori di tecnologia vocale come Loquendo sono focalizzati principalmente sulla tecnologia vocale e quindi sono in grado di fornire agli integratori funzionalità molto avanzate, anche se non particolarmente ottimizzate su una specifica piattaforma di computing, ma di facile e rapida integrazione sui sistemi embedded.
Loquendo, per l’embedding, offre la tecnologia vocale che copre le tre aree applicative fondamentali, il riconoscimento vocale automatico, la sintesi vocale da testo e la verifica del parlatore tramite impronta vocale. Un esempio di ottimizzazione che un produttore di tecnologia vocale può produrre è l’ASR for Automotive di Loquendo. Questo è la versione del riconoscitore embedded ottimizzata per l'uso in auto per garantire elevate prestazioni e reattività nei tempi di risposta su qualunque tipologia di hardware. Il riconoscitore di Loquendo per l'ambiente automotive possiede tutte le caratteristiche delle versioni server ed embedded, ma è specificamente studiato per ottenere i migliori risultati di riconoscimento anche in presenza di rumorosità tipica dell'ambiente automotive (motore, rumori del traffico, condizionatore, …). Loquendo ASR for Automotive supporta tutti i principali sistemi operativi per i device mobili: Microsoft Auto, Windows Embedded CE, Windows Embedded Standard, VxWorks, Embedded Linux (incluso GENIVI), QNX, Android.

Pubblica i tuoi commenti