L'autor de les instruccions sota el sobrenom d'Utsource explica com utilitzar la biblioteca Talkie, que permet sintetitzar un discurs amb Arduino. Aquest no és un sintetitzador de veu que podeu utilitzar al vostre telèfon intel·ligent, a la vostra tauleta o al vostre PC, i que pot fer arribar qualsevol text. El conjunt de paraules aquí és fix, però n'hi ha més d'un miler (en total es proporcionen diversos diccionaris connectats). Aquesta biblioteca implementa un algorisme de síntesi de programari, implementat alhora en maquinari en xips TI.
La biblioteca de Talkie es troba aquí, també es pot descarregar a través del gestor de biblioteques introduint el seu nom a la barra de cerca. L’assistent ho mostra a la captura de pantalla:
La biblioteca no requereix l’expansió de memòria RAM, ROM, ni l’addició de cap sintetitzador de maquinari. La síntesi de veu és totalment programàtica, es produeix un senyal d’àudio amb PWM a la sortida 3. Allà només podeu connectar un capçal dinàmic mitjançant una resistència o bé podeu utilitzar un amplificador addicional. En el segon cas, el filtre de pas baix entre l'Arduino i l'amplificador és desitjable, però el mestre no en queda. Amb un potent amplificador, el filtre de pas baix es torna obligatori. L’amplificador es pot realitzar a qualsevol base d’elements, el mestre selecciona el xip LM386. Ell pren el circuit de commutació com a estàndard, està clar que el micròfon i la resistència de càrrega que hi apareixen no seran necessaris per a ell; la font del senyal serà Arduino.
Modelitza aquest circuit dins del programa Fritzing:
I es basa en un taulell de pa com:
Per provar la biblioteca en acció, l'assistent obre l'editor d'esbossos a l'ID Arduino:
I marca aquest codi:
#include "Talkie.h" //Talkie.h s'utilitza per inicialitzar aquesta biblioteca i configurar el pin digital 3 d'Arduino com a pin de sortida
#include "Vocab_US_Large.h" //Vocab_US_Large.h s'utilitza per utilitzar les alertes
#include "Vocab_Special.h" //Vocab_Special.h s'utilitza per utilitzar la pausa
Veu parlada // definir un "valor" d'objecte per utilitzar les ordres
void setup () {
}
void loop () {
voice.say (spPAUSE2);
voice.say (sp2_DANGER);
voice.say (sp2_DANGER);
voice.say (sp3_STORM);
veu.say (sp3_IN);
veu.say (sp3_THE);
voice.say (sp3_NORTH);
/ * El primer comandament voice.say (spPAUSE2) és fer una breu pausa mentre es repeteix el missatge d'alerta. I les ordres següents són simples paraules que impliquen: ESTÀNGRA DE PERILL DANGER AL NORD. * /
}
El programa connecta una biblioteca Talkie instal·lada prèviament i dos diccionaris, un dels quals és necessari per fer una pausa entre les paraules. Aquest sintetitzador de veu no entén signes de puntuació ni abreviatures com PST i PST. Quan el programa comenci, pronunciarà de manera monòtona la frase "perill, perill, tempesta des del costat nord".
La biblioteca és adequada per a usuaris arduino que no volen comprar pantalles bastant cares. Després d’haver ocupat amb el cap dinàmic, sense o amb un amplificador, només una “pota”, és possible adonar-se de la sortida en forma de discurs de frases força llargues, i si es prenen unes quantes més “potes” amb els botons, el menú, inclòs multi-nivell.