O autor de Instructables sob o apelido Utsource informa como usar a biblioteca Talkie, que permite sintetizar fala com Arduino. Este não é um sintetizador de fala que você pode usar no seu smartphone, tablet ou PC e que pode expressar qualquer texto. O conjunto de palavras aqui é fixo, mas existem mais de mil (no total, são fornecidos vários dicionários conectados). Esta biblioteca implementa um algoritmo de síntese de software, implementado ao mesmo tempo em hardware em chips de TI.
Mentiras da biblioteca Talkie aqui, também pode ser baixado pelo gerenciador da biblioteca, digitando seu nome na barra de pesquisa. O assistente mostra isso na captura de tela:
A biblioteca não requer a expansão da RAM, ROM, nem a adição de nenhum sintetizador de hardware. A síntese da fala é totalmente programática, um sinal de áudio é emitido usando PWM para a saída 3. Lá você pode simplesmente conectar uma cabeça dinâmica através de um resistor ou pode usar um amplificador adicional. No segundo caso, o filtro passa-baixo entre o Arduino e o amplificador é desejável, mas o mestre não utiliza. Com um amplificador potente, o filtro passa-baixo se torna obrigatório. O amplificador pode ser executado em qualquer base de elemento, o mestre seleciona o chip LM386. Ele toma o circuito de comutação como padrão, é claro que o microfone e o resistor de carga mostrados nele não serão necessários para ele - a fonte de sinal será o Arduino.
Ele modela esse circuito no programa Fritzing:
E ele se baseia em uma tábua de pão como a tábua de pão:
Para testar a biblioteca em ação, o assistente abre o editor de esboço no IDE do Arduino:
E ele disca esse código:
#include "Talkie.h" //Talkie.h é usado para inicializar esta biblioteca e definir o pino digital 3 do Arduino como pino de saída
#include "Vocab_US_Large.h" //Vocab_US_Large.h é usado para usar os alertas
#include "Vocab_Special.h" //Vocab_Special.h é usado para usar a pausa
Voz Talkie // define um 'valor' de objeto para usar os comandos
configuração nula () {
}
loop vazio () {
voz.say (spPAUSE2);
voz.say (sp2_DANGER);
voz.say (sp2_DANGER);
voz.say (sp3_STORM);
voz.say (sp3_IN);
voz.say (sp3_THE);
voice.say (sp3_NORTH);
/ * O primeiro comando voice.say (spPAUSE2) é fazer uma pequena pausa enquanto repete a mensagem de alerta. E os próximos comandos são apenas palavras simples que implicam: PERIGO TEMPESTADE DE PERIGO NO NORTE. * /
}
O programa conecta uma biblioteca Talkie instalada anteriormente e dois dicionários, um dos quais é necessário para fazer uma pausa entre as palavras. Este sintetizador de voz não entende sinais de pontuação nem abreviações como PST e PST. Quando o programa inicia, ele pronuncia monotonamente a frase "perigo, perigo, tempestade do lado norte".
A biblioteca é adequada para usuários do arduino que não desejam comprar monitores caros. Tendo ocupado com a cabeça dinâmica, sem ou com um amplificador, apenas uma "perna", pode-se perceber a fala na forma de fala de frases bastante longas, e se você pegar mais algumas "pernas" com os botões, o menu, incluindo multi-nível.