- Zahtevane komponente
- Shema vezja
- Povezovanje zvočnika z Arduinom
- Programiranje Arduina za TTS (pretvorba besedila v govor)
Sistem pretvorbe besedila v govor ali sistem TTS pretvori običajno besedilo v govor. Ta tehnologija sistemu omogoča, da besedilo izgovarja s človeškim glasom. Obstaja veliko primerov pretvorbe besedila v govor, kot so obvestila v javnem prevozu, klici za pomoč uporabnikom, glasovni pomočniki v pametnih telefonih ali navigacijski meni katere koli naprave. TTS lahko celo najdete v programu Microsoft Word, kjer ga nastavite tako, da izgovarja besedilo, zapisano v dokumentu.
Danes bomo v tej vadnici izvedeli, kako narediti pretvornik besedila v govor z uporabo Arduina. Pred tem smo pri govorni budilki uporabljali TTS z Raspberry pi, govor pa smo pretvorili tudi v besedilo v Raspberry pi z Googlovo glasovno tipkovnico.
Prvi korak v TTS je predhodno obdelavo ali normalizacija. Ta korak vključuje pretvorbo simbolov, številk in okrajšav v besede, ki jih stroji lahko preberejo, na primer '?' bo pretvorjen v "vprašaj".
Drugi korak vključuje pretvorbo normalizirane besedila v fonemov ali fonetične prepise. Fonemi so majhni deli izgovorjenih besed, to so zvoki, ki tvorijo stavke. Ta korak je resnično pomemben, da lahko stroj govori besede kot ljudje.
Zadnji korak je sinteza fonemov v govorjenem glas. Ta korak je mogoče doseči z različnimi metodami, na primer s snemanjem človeškega glasu za različne besede / besedne zveze ali z ustvarjanjem osnovnih zvočnih frekvenc in kopičenjem kot fonemi ali s kopiranjem človeškega govornega mehanizma.
Zahtevane komponente
- Arduino plošča
- Zvočnik
- Ojačevalno vezje
- Regulirano napajanje
- Povezovanje žic
Shema vezja
Tu v tem pretvorniku besedila v govor smo uporabili ojačevalno vezje, da smo zmanjšali šum in dobili jasen zvok. Ojačevalnik vezje je narejen z uporabo IC LM386. Shema vezja zanj je prikazana spodaj:
Za nastavitev zvoka se uporablja lonec 100K. Prilagodite ga, da dobite jasen zvok. Če imate kakršno koli zmedo glede tega vezja, si oglejte vezje zvočnega ojačevalnika, ki temelji na LM386. Če nimate natančne vrednosti uporov in kondenzatorjev, uporabite tiste z bližnjo vrednostjo.
Povezovanje zvočnika z Arduinom
Ko naredite ojačevalno vezje, so povezave zelo enostavne.
Priključite napajalnik na ojačevalno vezje in priključite digitalni zatič 3 vašega Arduina na upor 10K in ozemljitev Arduina priključite na maso vezja. Zdaj priključite zvočnik tako, da negativni priključek priključite na maso in pozitivni priključek na kondenzator 220µF in priključite napajalnik.
Programiranje Arduina za TTS (pretvorba besedila v govor)
Program za ta TTS, ki temelji na Arduinu, je prav tako zelo preprost, saj je knjižnica za to na voljo. Ta knjižnica se imenuje Talkie in jo lahko doda upravitelj knjižnice. Če želite dodati knjižnico, pojdite na Skica-> Vključi knjižnico-> Mange knjižnice .
Zdaj bo upravitelj knjižnic na vašem zaslonu. V iskalno vrstico vnesite Talkie in kliknite gumb za namestitev. Knjižnica bo nameščena.
Ta knjižnica je zelo priročna in vsebuje več kot 1000 besed in ukazov. Ima več primerov, vse lahko preizkusite, vendar tukaj za razlago dela uporabimo preprosto kodo.
Preizkusite lahko tudi druge ukaze v knjižnici. Če želite dobiti te ukaze, pojdite na Documents \ Arduino \ libraries \ Talkie \ src in nato odprite datoteke z glavo in dobite več ukazov, ki jih lahko uporabite za različna opozorila. Obstaja veliko drugih knjižnic TTS, kot so knjižnica jscrane TTS, google knjižnica TTS itd. Lahko jih tudi preizkusite.
Začnimo s kodiranjem. Najprej vključite nekaj datotek z glavo. Talkie.h se uporablja za inicializacijo te knjižnice in nastavitev digitalnega zatiča 3 Arduina kot izhodnega zatiča. Vocab_US_Large.h se uporablja za uporabo opozorila, ki jih uporabljamo, in Vocab_Special.h se uporabljajo za uporabo pavze smo uporabo.
#include "Talkie.h" #include "Vocab_US_Large.h" #include "Vocab_Special.h"
Zdaj določite vrednost predmeta za uporabo ukazov:
Talkie glas;
Tu se bo isto sporočilo ponovilo v zvočniku, zato naj bo nastavitvena funkcija prazna in ukaze postavite v funkcijo zanke. Prvi ukaz voice.say (spPAUSE2) je med ponovitvijo opozorilnega sporočila narediti kratek premor. Naslednji ukazi pa so le preproste besede, ki pomenijo: NEVARNA NEVARNA nevihta na severu.
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); }
Končno naložite kodo v Arduino in nanjo priključite napajalnik. Takoj, ko vklopite vezje, boste začeli slišati opozorila! Če ne dobite jasnega zvoka, poskusite prilagoditi gumb lonca ali preverite, ali Arduino dobiva pravilno napajanje, in se prepričajte, da je GND Arduina povezan z maso vezja.
Preverite celotno kodo s predstavitvenim videoposnetkom, ki je naveden spodaj.