- Potrebne komponente
- Kružni dijagram
- Spajanje zvučnika na Arduino
- Programiranje Arduina za TTS (pretvaranje teksta u govor)
Sustav pretvaranja teksta u govor ili TTS pretvara normalni tekst u govor. Ova tehnologija omogućuje sustavu da izgovara tekst ljudskim glasom. Postoji mnogo primjera pretvorbe teksta u govor, poput najava u javnom prijevozu, poziva za pomoć kupcima, glasovnih pomoćnika na vašim pametnim telefonima ili navigacijskog izbornika bilo kojeg stroja. TTS možete pronaći čak i u programu Microsoft Word gdje ste ga postavili da izgovara tekst zapisan u dokumentu.
Danas ćemo u ovom vodiču naučiti kako pretvoriti pretvarač teksta u govor koristeći Arduino. Ranije smo koristili TTS s Raspberry pi u govornom budilici, a također smo pretvorili govor u tekst na Raspberry pi pomoću Googleove glasovne tipkovnice.
Prvi korak u TTS je predobrada ili normalizacija. Ovaj korak uključuje pretvaranje simbola, brojeva i kratica u riječi koje strojevi mogu pročitati poput '?' pretvorit će se u "upitnik".
Drugi korak uključuje pretvorbu normalizirani teksta u fonema ili fonetski transkripata. Fonemi su mali dijelovi izgovorenih riječi, tj. To su zvukovi koji čine rečenice. Ovaj je korak zaista važan kako bi stroj mogao izgovarati riječi kao i ljudi.
Zadnji korak je sinteza fonema u izgovorenom. Ovaj se korak može postići različitim metodama, poput snimanja ljudskog glasa za različite riječi / fraze ili generiranjem osnovnih zvučnih frekvencija i skupljanjem u foneme ili kopiranjem mehanizma ljudskog govora.
Potrebne komponente
- Arduino ploča
- Zvučnik
- Pojačalo u krugu
- Regulirano napajanje
- Spajanje žica
Kružni dijagram
Ovdje u ovom pretvaraču teksta u govor koristili smo krug pojačala kako bismo smanjili buku i dobili čist zvuk. Sklop pojačala izrađen je pomoću IC LM386. Shema kruga za njega prikazana je dolje:

Za podešavanje zvuka koristi se lonac od 100.000 kg. Podesite ga da biste dobili čist zvuk. Ako imate bilo kakve zabune oko ovog kruga, pogledajte krug LM386 audio pojačala. Ako nemate točnu vrijednost otpornika i kondenzatora, upotrijebite one bliske vrijednosti.
Spajanje zvučnika na Arduino
Spajanja su vrlo jednostavna nakon što napravite krug pojačala.

Spojite napajanje na krug pojačala i spojite digitalni pin 3 vašeg Arduina na 10K otpornik i spojite masu Arduina na masu kruga. Sada spojite zvučnik spajanjem njegovog negativnog terminala na masu, a pozitivnog terminala na kondenzator 220µF i priključite napajanje.

Programiranje Arduina za TTS (pretvaranje teksta u govor)
Program za ovaj TTS zasnovan na Arduinu također je vrlo jednostavan jer je knjižnica za to dostupna. Ova se knjižnica naziva Talkie i može je dodati upravitelj knjižnice. Da biste dodali knjižnicu, idite na Skica-> Uključi biblioteku-> Mange knjižnice .

Sada će se na vašem zaslonu pojaviti Upravitelj knjižnice. U traku za pretraživanje upišite Talkie i kliknite gumb za instalaciju. Biblioteka će se instalirati.

Ova je knjižnica vrlo zgodna i ima preko 1000 riječi i naredbi. Ima nekoliko primjera, možete ih sve isprobati, ali ovdje koristimo jednostavan kod za objašnjenje rada.
Također možete isprobati druge naredbe dane u knjižnici. Da biste dobili te naredbe, idite na Documents \ Arduino \ libraries \ Talkie \ src, a zatim otvorite datoteke zaglavlja i dobit ćete nekoliko naredbi koje se mogu koristiti za različita upozorenja. Postoje mnoge druge TTS knjižnice poput jscrane TTS knjižnica, google TTS knjižnica itd. Možete ih i isprobati.
Pa krenimo s kodiranjem. Prvo uključite neke datoteke zaglavlja. Talkie.h koristi se za inicijalizaciju ove biblioteke i postavljanje digitalnog pina 3 Arduina kao izlaznog pina. Vocab_US_Large.h koristi koristiti upozorenja da koristite i Vocab_Special.h koristi se koristiti pauze koje smo koristili.
#include "Talkie.h" #include "Vocab_US_Large.h" #include "Vocab_Special.h"
Sada definirajte vrijednost objekta za upotrebu naredbi:
Talki glas;
Ovdje će se ista poruka ponoviti u zvučniku, tako da funkcija za postavljanje neka ostane prazna i naredbe stavite u funkciju petlje. Prva naredba voice.say (spPAUSE2) je napraviti kratku pauzu tijekom ponavljanja poruke upozorenja. A sljedeće naredbe su samo jednostavne riječi koje podrazumijevaju: OPASNOST OPASNOST OLUJA NA SJEVERU.
void setup () { } void loop () { voice.say (spPAUSE2); voice.say (sp2_OPASNOST); voice.say (sp2_OPASNOST); voice.say (sp3_STORM); voice.say (sp3_IN); voice.say (sp3_THE); voice.say (sp3_NORTH); }
Napokon prenesite kod u Arduino i na njega priključite napajanje. Čim uključite strujni krug, počet ćete slušati upozorenja! Ako ne čujete čist zvuk, pokušajte podesiti gumb lonca ili provjerite dobiva li Arduino ispravno napajanje i provjerite je li GND Arduina spojen na masu kruga.

Potpuni kod provjerite demonstracijskim videom koji su navedeni u nastavku.
