Autor Instructables pod pseudonimem Utsource mówi, jak korzystać z biblioteki Talkie, która pozwala syntezować mowę za pomocą Arduino. To nie jest syntezator mowy, którego można używać na smartfonie, tablecie lub komputerze i który może wypowiadać dowolny tekst. Zestaw słów tutaj jest ustalony, ale jest ich ponad tysiąc (łącznie jest to kilka powiązanych słowników). Ta biblioteka implementuje algorytm syntezy oprogramowania, zaimplementowany jednorazowo sprzętowo w układach TI.
Biblioteka talkie kłamie tutaj, można go również pobrać przez menedżera biblioteki, wpisując jego nazwę w pasku wyszukiwania. Kreator pokazuje to na zrzucie ekranu:
Biblioteka nie wymaga rozszerzenia pamięci RAM, ROM, dodawania jakichkolwiek syntezatorów sprzętowych. Synteza mowy jest w pełni programowa, sygnał audio jest wyprowadzany za pomocą PWM na wyjście 3. Tam można po prostu podłączyć głowicę dynamiczną przez rezystor lub użyć dodatkowego wzmacniacza. W drugim przypadku pożądany jest filtr dolnoprzepustowy między Arduino i wzmacniaczem, ale master nie ma go. W przypadku potężnego wzmacniacza filtr dolnoprzepustowy staje się obowiązkowy. Wzmacniacz może być wykonany na dowolnym elemencie podstawy, master wybiera układ LM386. Obejmuje obwód przełączający jako standard, jasne jest, że pokazany na nim mikrofon i rezystor obciążenia nie będą mu potrzebne - źródłem sygnału będzie Arduino.
Modeluje ten obwód w programie Fritzing:
I opiera się na desce do krojenia takiej jak płyta:
Aby przetestować bibliotekę w akcji, kreator otwiera edytor szkiców w Arduino IDE:
I wybiera ten kod:
#include „Talkie.h” //Talkie.h służy do inicjalizacji tej biblioteki i ustawia Pin cyfrowy 3 Arduino jako pin wyjściowy
#include „Vocab_US_Large.h” //Vocab_US_Large.h służy do korzystania z alertów
#include „Vocab_Special.h” //Vocab_Special.h służy do korzystania z pauzy
Głos talkie // zdefiniuj „wartość” obiektu, aby użyć poleceń
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);
/ * Pierwsze polecenie voice.say (spPAUSE2) polega na krótkiej przerwie podczas powtarzania komunikatu ostrzegawczego. Kolejne polecenia to proste słowa, które sugerują: NIEBEZPIECZEŃSTWO NIEBEZPIECZEŃSTWO W PÓŁNOCIE. * /
}
Program łączy wcześniej zainstalowaną bibliotekę Talkie i dwa słowniki, z których jeden jest potrzebny do uzyskania przerwy między słowami. Ten syntezator mowy nie rozpoznaje żadnych znaków interpunkcyjnych ani skrótów takich jak PST i PST. Kiedy program się rozpocznie, wypowie monotonnie zdanie „niebezpieczeństwo, niebezpieczeństwo, burza od strony północnej”.
Biblioteka jest odpowiednia dla użytkowników arduino, którzy nie chcą kupować dość drogich wyświetlaczy. Po zajęciu się dynamiczną głową, bez wzmacniacza lub tylko z jedną „nogą”, możliwe jest zrealizowanie wyjścia w postaci mowy raczej długich fraz, a jeśli weźmiesz kilka „nóg” za pomocą przycisków, to menu, w tym wielopoziomowy.