- Componenti richiesti
- Schema elettrico
- Collegamento dell'altoparlante ad Arduino
- Programmazione di Arduino per TTS (Text To Speech)
Il sistema di sintesi vocale o TTS converte il testo normale in parlato. Questa tecnologia consente al sistema di pronunciare il testo con una voce umana. Ci sono molti esempi di conversioni da testo a voce come gli annunci sui trasporti pubblici, le chiamate dell'assistenza clienti, gli assistenti vocali negli smartphone o il menu di navigazione di qualsiasi macchina. Puoi anche trovare il TTS in Microsoft Word dove lo imposti per pronunciare il testo scritto nel documento.
Oggi in questo tutorial impareremo come creare un convertitore Text To Speech usando Arduino. In precedenza abbiamo utilizzato TTS con Raspberry pi per parlare con Sveglia e abbiamo anche convertito il parlato in testo in Raspberry Pi utilizzando la tastiera vocale di Google.
Il primo passaggio in TTS è la pre-elaborazione o la normalizzazione. Questo passaggio comporta la conversione di simboli, numeri e abbreviazioni in parole che possono essere lette dalle macchine come "?" sarà convertito in "punto interrogativo".
La seconda fase prevede la conversione del testo normalizzato in fonemi o trascrizioni fonetiche. I fonemi sono le piccole parti delle parole pronunciate, ovvero questi sono i suoni che compongono le frasi. Questo passaggio è davvero essenziale affinché la macchina possa pronunciare le parole come fanno gli umani.
L' ultimo passaggio è la sintesi dei fonemi nella voce parlata. Questo passaggio può essere ottenuto con metodi diversi, ad esempio registrando la voce umana per parole / frasi diverse o generando frequenze sonore di base e accumulandole come fonemi o copiando il meccanismo del linguaggio umano.
Componenti richiesti
- Scheda Arduino
- Un altoparlante
- Un circuito amplificatore
- Alimentazione regolata
- Collegamento dei cavi
Schema elettrico
Qui in questo convertitore di sintesi vocale, abbiamo utilizzato un circuito amplificatore per ridurre il rumore e ottenere un suono chiaro. Il circuito dell'amplificatore è realizzato utilizzando l'IC LM386. Lo schema del circuito è mostrato di seguito:
Un potenziometro da 100K viene utilizzato per regolare il suono. Regola per ottenere un suono chiaro. Se hai qualche confusione su questo circuito, controlla il circuito dell'amplificatore audio basato su LM386. Se non si dispone del valore esatto di resistori e condensatori, utilizzare quelli con valore vicino.
Collegamento dell'altoparlante ad Arduino
I collegamenti sono semplicissimi una volta realizzato il circuito dell'amplificatore.
Collega l'alimentatore al circuito dell'amplificatore e collega il pin digitale 3 del tuo Arduino al resistore da 10K e collega la massa di Arduino alla massa del circuito. Ora collega l'altoparlante collegando il suo terminale negativo a massa e il terminale positivo al condensatore da 220µF e collega l'alimentatore.
Programmazione di Arduino per TTS (Text To Speech)
Anche il programma per questo TTS basato su Arduino è molto semplice in quanto la libreria è disponibile per questo. Questa libreria è chiamata Talkie e può essere aggiunta dal gestore della libreria. Per aggiungere la libreria, vai su Schizzo-> Includi libreria-> Gestisci librerie .
Ora il Gestore libreria sarà sullo schermo. Nella barra di ricerca digita Talkie e fai clic sul pulsante di installazione. La libreria verrà installata.
Questa libreria è molto utile e ha oltre 1000 parole e comandi. Ha diversi esempi, puoi provarli tutti ma qui stiamo usando un semplice codice per spiegare il funzionamento.
Puoi anche provare altri comandi forniti nella libreria. Per ottenere questi comandi, vai a Documents \ Arduino \ libraries \ Talkie \ src, quindi apri i file di intestazione e ottieni diversi comandi che possono essere utilizzati per diversi avvisi. Ci sono molte altre librerie TTS come la libreria TTS jscrane, la libreria TTS di Google ecc. Puoi anche provarle.
Quindi iniziamo a programmare. Innanzitutto includi alcuni file di intestazione. Talkie.h viene utilizzato per inizializzare questa libreria e impostare il pin 3 digitale di Arduino come pin di uscita. Il Vocab_US_Large.h viene utilizzato per utilizzare le segnalazioni che stiamo usando e Vocab_Special.h viene utilizzato per utilizzare la pausa che stiamo usando.
#include "Talkie.h" #include "Vocab_US_Large.h" #include "Vocab_Special.h"
Ora definisci un oggetto 'valore' per utilizzare i comandi:
Voce talkie;
Qui lo stesso messaggio verrà ripetuto nell'altoparlante quindi mantieni vuota la funzione setup e metti i comandi in funzione loop. Il primo comando voice.say (spPAUSE2) consiste nel fare una breve pausa durante la ripetizione del messaggio di avviso. E i comandi successivi sono solo semplici parole che implicano: PERICOLO PERICOLO TEMPESTA NEL NORD.
void setup () { } void loop () { voice.say (spPAUSE2); voice.say (sp2_DANGER); voice.say (sp2_DANGER); voice.say (sp3_STORM); voice.say (sp3_IN); voice.say (sp3_THE); voice.say (sp3_NORTH); }
Infine carica il codice su Arduino e collega l'alimentatore ad esso. Non appena accendi il circuito inizierai a sentire gli avvisi! Se non ottieni un suono chiaro, prova a regolare la manopola del potenziometro o controlla se Arduino riceve una corretta alimentazione e assicurati che il GND di Arduino sia collegato alla massa del circuito.
Controllare il codice completo con un video dimostrativo di seguito.