Voice Assistant With Arduino

Introduction: Voice Assistant With Arduino

About: Electrical engineer

Ciao a tutti!

Con questo progetto si affronta il tema dell'intelligenza artificiale. E' possibile realizzare un assistente vocale con Arduino? La risposta è si! Ma scopriremo che da solo non può gestire tutto il compito. Con assistente vocale infatti intendo tutte e tre le fasi caratteristiche:

• Riconoscimento vocale

• Elaborazione del linguaggio naturale

• Sintesi vocale

L'obiettivo è quello di costruire un'architettura che copra questi compiti, quindi deve poter convertire il parlato in testo, elaborarlo e quindi rispondere eseguendo ciò che è stato chiesto a voce. Per fare questo sfrutteremo le porte HW di Arduino.

Supplies

Arduino uno

Arduino IDE

microfono

BitvoicerServer



Step 1: Costruire Il Circuito

Per poter verificare il corretto funzionamento ho posizionato dei LED diversi sulle porte di output. In questo modo sarà possibile verificare visivamente il corretto comportamento, Ho predisposto un collegamento seriale con il PC ma avrei potuto anche costruire una comunicazione Wireless.

La nostra voce (analogica) verrà campionata da Arduino attraverso il suo ADC, dunque invierà i dati a BitvoicerServer il quale cercherà all'interno di un database la composizione vocale più verosimile. Una volta compreso l'anagramma restituirà ad arduino una serie di comandi che lui eseguirà. La sintesi vocale può essere fatta attraverso gli speaker del PC oppure (se predisposto) dallo stesso arduino.

Step 2: BitVoicerServer

BitVoicer Server è un server di

riconoscimento e sintesi vocale per l'automazione vocale. È stato sviluppato per consentire a dispositivi semplici, a bassa potenza di elaborazione, di funzionamento a comando vocale. Eliminiamo dunque il problema della poca memoria a disposizione del microcontrollore.

Configurata la comunicazione si progettano gli anagrammi che costituiranno il database per arduino.

Step 3: Conclusioni

Questa struttura se ottimamente configurata consente un eccezionale punto di partenza per fare automazione vocale completamente offline. Sarà possibile sfruttare lo stato di output a 5V per eccitare una bobina e dunque spostarsi a livelli energetici più significativi.

Una comunicazione wireless non è necessaria ma può presentare ulteriori vantaggi in termini di praticità. Arduino dispone di una significativa affidabilità per gestire questo compito e attraverso le sue numerose porte analogiche e digitali può gestire un gran numero di apparati.

Be the First to Share

    Recommendations

    • Water Speed Challenge

      Water Speed Challenge
    • Summer Fun: Student Design Challenge

      Summer Fun: Student Design Challenge
    • DIY Summer Camp Contest

      DIY Summer Camp Contest

    Comments