- Mga Kinakailangan na Bahagi
- Diagram ng Circuit
- Kumokonekta sa Speaker kay Arduino
- Programming Arduino para sa TTS (Text To Speech)
Ang sistemang Text-to-speech o TTS ay nagko-convert ng normal na teksto sa pagsasalita. Pinapayagan ng teknolohiyang ito ang system na magsalita ng teksto sa isang boses ng tao. Maraming mga halimbawa ng mga conversion sa Text to Speech tulad ng mga anunsyo sa pampublikong transportasyon, mga tawag sa pangangalaga sa customer, mga katulong sa boses sa iyong mga smartphone, o ang menu ng nabigasyon ng anumang makina. Maaari mo ring makita ang TTS sa Microsoft Word kung saan mo ito itinakda upang ipahayag ang teksto na nakasulat sa dokumento.
Ngayon sa tutorial na ito, matututunan natin kung paano gumawa ng Text To Speech converter gamit ang Arduino. Ginamit namin dati ang TTS gamit ang Raspberry pi sa pagsasalita ng Alarm na orasan at ginawang din ang teksto sa teksto sa raspberry pi sa pamamagitan ng paggamit ng keyboard ng boses ng Google.
Ang unang hakbang sa TTS ay pre-processing o normalisasyon. Ang hakbang na ito ay nagsasangkot ng pagbabago ng mga simbolo, numero at daglat sa mga salitang mababasa ng mga machine tulad ng '?' ay gagawing "marka ng tanong".
Ang pangalawang hakbang ay nagsasangkot ng pagbabago ng normalisadong teksto sa mga ponema o transcript ng phonetic. Ang mga ponema ay ang maliliit na bahagi ng mga salitang binibigkas ie ie ang mga tunog na gumagawa ng mga pangungusap. Ang hakbang na ito ay talagang mahalaga upang ang machine ay maaaring magsalita ng mga salita tulad ng ginagawa ng mga tao.
Ang huling hakbang ay ang pagbubuo ng mga ponema sa binibigkas na tinig. Ang hakbang na ito ay maaaring makamit ng iba't ibang mga pamamaraan tulad ng pagtatala ng boses ng tao para sa iba't ibang mga salita / parirala o sa pamamagitan ng pagbuo ng mga pangunahing mga frequency ng tunog at i-stack ito bilang mga ponema o sa pagkopya ng mekanismo ng pagsasalita ng tao.
Mga Kinakailangan na Bahagi
- Board ng Arduino
- Isang tagapagsalita
- Isang Amplifier Circuit
- Naayos ang Power Supply
- Mga Koneksyon sa Mga Wires
Diagram ng Circuit
Dito sa converter ng Text to Speech na ito, gumamit kami ng isang amplifier circuit upang mabawasan ang ingay at makakuha ng isang malinaw na tunog. Ang amplifier circuit ay ginawa sa pamamagitan ng paggamit ng IC LM386. Ang diagram ng circuit para dito ay ipinapakita sa ibaba:
Ginagamit ang isang pot na 100K upang ayusin ang tunog. Ayusin ito upang makakuha ng isang malinaw na tunog. Kung mayroon kang anumang pagkalito tungkol sa circuit na ito pagkatapos suriin ang LM386 Batay sa Audio Amplifier Circuit. Kung wala kang eksaktong halaga ng mga resistors at capacitor pagkatapos ay gamitin ang mga malapit na halaga.
Kumokonekta sa Speaker kay Arduino
Ang mga koneksyon ay napakadali kapag ginawa mo ang amplifier circuit.
Ikonekta ang suplay ng kuryente sa amplifier circuit at ikonekta ang digital pin 3 ng iyong Arduino sa 10K risistor at ikonekta ang lupa ng Arduino sa lupa ng circuit. Ikonekta ngayon ang nagsasalita sa pamamagitan ng pagkonekta sa negatibong terminal nito sa ground at positibong terminal sa 220µF capacitor at ikonekta ang power supply.
Programming Arduino para sa TTS (Text To Speech)
Ang programa para sa Arduino based TTS ay napakadali din dahil magagamit ang library para dito. Ang library na ito ay tinawag bilang Talkie at maaari itong idagdag ng manager ng library. Upang idagdag ang library, pumunta sa Sketch-> Isama ang Library-> Mange Library .
Ngayon ang Library Manager ay nasa iyong screen. Sa uri ng search bar i-type ang Talkie at mag-click sa pindutan ng pag-install. Ang library ay mai-install.
Ang silid-aklatan na ito ay napaka madaling gamiting at mayroon itong higit sa 1000 mga salita at utos. Mayroon itong maraming mga halimbawa, maaari mong subukan ang lahat ngunit narito gumagamit kami ng isang simpleng code upang ipaliwanag ang gumagana.
Maaari mo ring subukan ang iba pang mga utos na ibinigay sa library. Upang makuha ang mga utos na iyon, pumunta sa Documents \ Arduino \ libraries \ Talkie \ src at pagkatapos buksan ang mga file ng header at kumuha ng maraming mga utos na maaaring magamit para sa iba't ibang mga alerto. Maraming iba pang mga aklatan ng TTS tulad ng jscrane TTS library, google TTS library atbp Maaari mo ring subukan ang mga ito.
Kaya't magsimula tayong mag-coding. Una isama ang ilang mga file ng header. Ginagamit ang Talkie.h upang simulan ang library na ito at itakda ang Digital pin 3 ng Arduino bilang output pin. Ang Vocab_US_Large.h ay ginagamit upang gamitin ang mga alerto na ginagamit namin at Vocab_Special.h ay ginagamit upang gamitin ang i-pause namin ginagamit.
# isama ang "Talkie.h" # isama ang "Vocab_US_Large.h" # isama ang "Vocab_Spesyal.h"
Tukuyin ngayon ang isang 'halaga' ng isang bagay upang magamit ang mga utos:
Boses ng Talkie;
Narito ang parehong mensahe ay paulit-ulit sa speaker kaya't panatilihing walang laman ang pagpapaandar ng pag- setup at ilagay ang mga utos sa pagpapaandar ng loop. Ang unang utos ng boses.say (spPAUSE2) ay kumuha ng isang maikling pause habang inuulit ang alerto na mensahe. At ang mga susunod na utos ay simpleng mga salita lamang na nagpapahiwatig: PELIGRONG PELIGRONG PAMAMALIT SA LUPA.
void setup () { } void loop () { voice.say (spPAUSE2); boses.say (sp2_DANGER); boses.say (sp2_DANGER); voice.say (sp3_STORM); boses.say (sp3_IN); boses.say (sp3_THE); boses.say (sp3_NORTH); }
Panghuli i-upload ang code sa Arduino at ikonekta ang suplay ng kuryente dito. Sa sandaling mapalakas mo ang circuit magsisimula ka ng marinig ang mga alerto! Kung hindi ka nakakakuha ng isang malinaw na tunog pagkatapos subukang ayusin ang knob ng palayok o suriin kung ang Arduino ay nakakakuha ng wastong suplay ng kuryente at siguraduhin na ang GND ng Arduino ay konektado sa lupa ng circuit.
Suriin ang kumpletong code sa isang pagpapakita Ang video ay ibinibigay sa ibaba.