- Požadované komponenty
- Schéma zapojenia
- Pripojenie reproduktora k Arduinu
- Programovanie Arduina pre TTS (prevod textu na reč)
Systém prevodu textu na reč alebo TTS prevádza normálny text na reč. Táto technológia umožňuje systému hovoriť text ľudským hlasom. Existuje veľa príkladov prevodu textu na reč, ako sú oznámenia vo verejnej doprave, hovory týkajúce sa starostlivosti o zákazníka, hlasoví asistenti vo vašich smartfónoch alebo navigačné menu ľubovoľného zariadenia. TTS dokonca nájdete v programe Microsoft Word, kde nastavíte jeho hlasový prejav na text napísaný v dokumente.
Dnes v tomto výučbe sa naučíme, ako vytvoriť prevodník textu na reč pomocou Arduina. Predtým sme hovorili s budíkom pomocou TTS s Raspberry pi a pomocou hlasovej klávesnice Google sme tiež konvertovali reč na text v maline pi.
Prvým krokom v TTS je predbežné spracovanie alebo normalizácie. Tento krok zahŕňa prevod symbolov, čísel a skratiek na slová, ktoré sú strojmi čitateľné, ako napríklad „?“ budú prevedené na „otáznik“.
Druhý krok zahŕňa konverziu normalizovaného textu do foném alebo fonetické prepisy. Fonémy sú malé časti hovorených slov, tj sú to zvuky, ktoré vytvárajú vety. Tento krok je skutočne nevyhnutný, aby stroj mohol hovoriť slová ako ľudia.
Posledným krokom je syntéza hlások do hovoreného hlasu. Tento krok je možné dosiahnuť rôznymi metódami, napríklad nahrávaním ľudského hlasu pre rôzne slová / frázy alebo generovaním základných zvukových frekvencií a ich hromadením do fonémov alebo kopírovaním ľudského hovoriaceho mechanizmu.
Požadované komponenty
- Doska Arduino
- Hovorca
- Obvod zosilňovača
- Regulovaný napájací zdroj
- Pripojenie drôtov
Schéma zapojenia
Tu v tomto prevodníkovi textu na reč sme použili obvod zosilňovača na zníženie šumu a získanie čistého zvuku. Obvodu zosilňovača sa vykonáva pomocou IC LM386. Schéma zapojenia je uvedená nižšie:
Na nastavenie zvuku sa používa 100K hrniec. Upravte ho tak, aby získal čistý zvuk. Ak máte v tomto obvode nejaké nejasnosti, pozrite sa na obvod zosilňovača zvuku založený na LM386. Ak nemáte presnú hodnotu rezistorov a kondenzátorov, použite blízku hodnotu.
Pripojenie reproduktora k Arduinu
Pripojenia sú veľmi jednoduché, akonáhle vytvoríte obvod zosilňovača.
Pripojte napájací zdroj k obvodu zosilňovača a pripojte digitálny pin 3 vášho Arduina k 10K odporu a uzemnite Arduino k zemi obvodu. Teraz pripojte reproduktor pripojením zápornej svorky k zemi a kladnej svorky ku kondenzátoru 220µF a zapojte napájací zdroj.
Programovanie Arduina pre TTS (prevod textu na reč)
Program pre tento TTS založený na Arduine je tiež veľmi jednoduchý, pretože na to je k dispozícii knižnica. Táto knižnica sa nazýva Talkie a môže ju pridať správca knižnice. Ak chcete pridať knižnicu, choďte na Skica-> Zahrnúť knižnicu-> Správa knižníc .
Teraz sa na vašej obrazovke zobrazí Správca knižnice. Do vyhľadávacieho panela zadajte Talkie a kliknite na tlačidlo inštalácie. Knižnica sa nainštaluje.
Táto knižnica je veľmi praktická a obsahuje viac ako 1 000 slov a príkazov. Má niekoľko príkladov, môžete ich vyskúšať všetky, ale na vysvetlenie fungovania používame jednoduchý kód.
Môžete tiež vyskúšať iné príkazy uvedené v knižnici. Ak chcete získať tieto príkazy, prejdite do priečinka Documents \ Arduino \ libraries \ Talkie \ src, potom otvorte hlavičkové súbory a získajte niekoľko príkazov, ktoré je možné použiť pre rôzne upozornenia. Existuje mnoho ďalších knižníc TTS, napríklad knižnica jscrane TTS, knižnica google TTS atď. Môžete ich tiež vyskúšať.
Takže začnime programovať. Najskôr zahrňte niekoľko hlavičkových súborov. Talkie.h sa používa na inicializáciu tejto knižnice a nastavenie digitálneho kolíka 3 Arduina ako výstupného kolíka. Vocab_US_Large.h ich používali k záznamom Použili sme aj Vocab_Special.h ich používali pauzy sme pomocou.
#include "Talkie.h" #include "Vocab_US_Large.h" #include "Vocab_Special.h"
Teraz definujte „hodnotu“ objektu na použitie príkazov:
Hlas vysielačky;
Tu sa bude rovnaká správa opakovať v reproduktore, takže nechajte funkciu nastavenia prázdnu a vložte príkazy do funkcie slučky. Prvým príkazom voice.say (spPAUSE2) je krátka pauza pri opakovaní výstražnej správy. A ďalšie príkazy sú len jednoduché slová, ktoré naznačujú: NEBEZPEČENSTVO NEBEZPEČNÁ BÚRKA NA SEVERE.
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); }
Nakoniec nahrajte kód do Arduina a pripojte k nemu napájací zdroj. Hneď ako zapnete obvod, začnete počuť výstrahy! Pokiaľ nedosiahnete čistý zvuk, skúste nastaviť gombík potu alebo skontrolovať, či má Arduino správne napájanie a uistite sa, že je GND Arduina pripojený k zemi obvodu.
Skontrolujte celý kód pomocou ukážky Video je uvedené nižšie.