logo SBA

ETD

Archivio digitale delle tesi discusse presso l’Università di Pisa

Tesi etd-06032021-204749


Tipo di tesi
Tesi di laurea magistrale
Autore
CASALINI, IACOPO
URN
etd-06032021-204749
Titolo
Progettazione e implementazione su FPGA di un sistema embedded configurabile per l'estrazione di feature vocali (Filterbanks e MFCC) funzionale al riconoscimento del parlato disartrico
Dipartimento
INGEGNERIA DELL'INFORMAZIONE
Corso di studi
INGEGNERIA ELETTRONICA
Relatori
relatore Prof. Fanucci, Luca
relatore Ing. Marini, Marco
Parole chiave
  • asr
  • audio
  • audio processing
  • automatic speech recognition
  • caratteristiche vocali
  • disartria
  • dysarthric speech
  • elaborazione
  • embedded
  • embedded system
  • feature
  • filterbanks
  • fpga
  • kaldi
  • mfcc
  • parlato disartrico
  • riconoscimento del parlato
  • segnale
  • signal processing
  • sistema embedded
  • vitis
  • vivado
  • vocal features
  • voce
  • voice
  • xilinx
Data inizio appello
21/06/2021
Consultabilità
Non consultabile
Data di rilascio
21/06/2091
Riassunto
Negli ultimi anni è andata crescendo la richiesta, da parte degli utenti, di poter interagire con i dispositivi digitali tramite comando vocale (hands free interface). Tale paradigma può risultare molto utile e comodo in scenari anche quotidiani, come durante la guida di un veicolo, dove la voce rappresenta il mezzo più sicuro per utilizzare i dispositivi smart.
Questo tipo di tecnologia risulta essere ancora più interessante ed utile nel caso in cui a sfruttarla siano utenti che, a causa di handicap o difficoltà motorie, avrebbero un utilizzo nullo o quantomeno limitato di tali dispositivi. Si può quindi dire che l'interfaccia vocale rappresenta una funzionalità che rompe la barriera che si frappone tra le persone con particolari disabilità motorie e l'uso della tecnologia. Che cosa accade, però, se la disabilità causa un eloquio poco intellegibile? L'interfaccia vocale è in grado di capire l'utente? È in questa direzione che la ricerca sta avanzando nel campo dell'Automatic Speech Recognition (ASR).
Il processo di ASR, su qualsiasi tipo di architettura, necessita come primo passo dell'estrazione di parametri numerici (detti vocal features, caratteristiche vocali) dal segnale in arrivo da un microfono o dal file audio oggetto dell'analisi.
I sistemi di ASR sono in generale composti da tre macroblocchi principali: Speech Analysis, Acoustic Model e Language Model. Dei tre, il primo si occupa dell'estrazione delle feature, il secondo dell'estrazione di parole (intese come sequenze di fonemi) dalle feature, mentre l'ultimo utilizza le regole grammaticali e semantiche della lingua in uso al fine di rendere il processo di trascrizione più affidabile e robusto. La tesi in oggetto farà riferimento al primo di questi macroblocchi, relativo all'estrazione delle feature dai campioni audio.
A livello commerciale molti produttori hanno reso disponibili, nel corso degli anni, diverse implementazioni di speech recognition sotto forma di assistenti vocali di qualche tipo (ad esempio Google Assistant, Siri di Apple, Cortana di Microsoft, Alexa di Amazon ed altri). Il problema di fondo comune a tutti questi, essendo essi proprietari e chiusi, è l'assenza di qualsivoglia tipo di setting riguardante i parametri dell'estrazione delle feature utilizzate. Per la maggior parte degli utenti finali questo non rappresenta minimamente un problema; nel campo della ricerca, tuttavia, ciò pone una grande limitazione.
In particolare, nell'ambito della ricerca sull'ASR per utenti con difficoltà di eloquio, per i quali i sistemi commerciali disponibili non risultano avere performance accettabili, è spesso necessario testare e confrontare impostazioni di estrazione delle feature diverse tra loro: precedenti studi hanno infatti dimostrato la possibilità di raggiungere, variando i parametri utilizzati per effettuare l'estrazione delle feature, performance nettamente migliori in caso di utenti affetti da disturbi del linguaggio come la disartria.
In questo campo di studi, i riferimenti sono framework o software creati appositamente per la ricerca (ad esempio Kaldi, usato come strumento per lo sviluppo di questa tesi), i quali però hanno diversi svantaggi: sono computazionalmente pesanti, hanno una curva di apprendimento piuttosto ripida (risultando quindi impegnativi per l'utente che si approcci ad essi per la prima volta) e sono spesso costruiti per lavorare off-line con audio pre-registrati per allenare e testare il sistema che dovrà poi essere usato nel caso reale. Ciò significa che non è molto comodo, anche laddove possibile, effettuare test in tempo reale; per l'analisi dei file audio off-line vi è invece la necessità innanzitutto di procurarsi la registrazione, dovendo successivamente creare (o modificare) manualmente alcuni file di configurazione.
L'obiettivo di questa tesi è quindi quello di progettare su scheda FPGA un sistema embedded di audio feature extraction, dotato del proprio microfono, che sia il più possibile configurabile ed adattabile, che sia possibilmente semplice da utilizzare e che faciliti il lavoro del ricercatore in questo campo dal punto di vista dell'efficienza, soprattutto nell'esecuzione di test multipli ed in tempo reale.
Nella trattazione verrà quindi data un'introduzione a proposito dell'anatomia di tratto vocale ed uditivo, propedeutica alla descrizione dell'algoritmo di estrazione delle feature principali, dopodiché verranno descritti sia quest'ultimo, sia l'implementazione che ne è stata fatta su FPGA. In seguito, saranno riportati i risultati dei test effettuati sul prototipo.
File