- Необходими компоненти
- Електрическа схема
- Свързване на високоговорител с Arduino
- Програмиране на Arduino за TTS (Text To Speech)
Системата за преобразуване на текст в реч или TTS преобразува нормалния текст в реч. Тази технология позволява на системата да изговаря текста с човешки глас. Има много примери за преобразуване на текст в реч, като съобщенията в обществения транспорт, обажданията за обслужване на клиенти, гласовите асистенти във вашите смартфони или навигационното меню на която и да е машина. Можете дори да намерите TTS в Microsoft Word, където сте го настроили да произнася текста, написан в документа.
Днес в този урок ще научим как да направим преобразувател на текст в реч с помощта на Arduino. Преди това използвахме TTS с Raspberry pi в говорещ будилник и също така преобразувахме речта в текст в Raspberry pi с помощта на гласова клавиатура на Google.
В първата стъпка в TTS е предварителна обработка или нормализиране. Тази стъпка включва превръщането на символите, цифрите и съкращенията в думи, които могат да бъдат прочетени от машините като „?“ ще се преобразува във „въпросителна“.
На втория етап включва превръщането на нормализиран текст в фонеми или фонетични преписи. Фонемите са малките части от изговорените думи, т.е. това са звуците, които правят изречения. Тази стъпка е наистина важна, за да може машината да говори думите както хората.
В последната стъпка е синтез на фонеми в говоримия глас. Тази стъпка може да бъде постигната чрез различни методи, като чрез записване на човешкия глас за различни думи / фрази или чрез генериране на основни звукови честоти и натрупването им като фонеми или чрез копиране на човешки говорещ механизъм.
Необходими компоненти
- Дъска Arduino
- Говорител
- Усилвателна схема
- Регулирано захранване
- Свързване на проводници
Електрическа схема
Тук в този преобразувател на текст в реч използвахме усилвателна схема, за да намалим шума и да получим чист звук. Схемата на усилвателя е направена с помощта на IC LM386. Схемата за него е показана по-долу:
За регулиране на звука се използва 100K пот. Настройте го, за да получите чист звук. Ако имате някакво объркване относно тази схема, проверете LM386 Базирана аудио усилвателна схема. Ако нямате точната стойност на резисторите и кондензаторите, използвайте тези с близка стойност.
Свързване на високоговорител с Arduino
Връзките са супер лесни, след като направите усилвателната верига.
Свържете захранването към усилвателната верига и свържете цифровия щифт 3 на вашия Arduino към 10K резистор и свържете земята на Arduino към земята на веригата. Сега свържете високоговорителя, като свържете отрицателния му извод към земята и положителния извод към кондензатора 220µF и свържете захранването.
Програмиране на Arduino за TTS (Text To Speech)
Програмата за този базиран на Arduino TTS също е много лесна, тъй като библиотеката е достъпна за това. Тази библиотека се нарича Talkie и може да бъде добавена от мениджъра на библиотеката. За да добавите библиотеката, отидете на Sketch-> Include Library-> Mange Libraries .
Сега Мениджърът на библиотеки ще бъде на вашия екран. В лентата за търсене напишете Talkie и кликнете върху бутона за инсталиране. Библиотеката ще се инсталира.
Тази библиотека е много удобна и има над 1000 думи и команди. Той има няколко примера, можете да ги изпробвате всички, но тук използваме прост код, за да обясним работата.
Можете също така да опитате други команди, дадени в библиотеката. За да получите тези команди, отворете Documents \ Arduino \ libraries \ Talkie \ src и след това отворете заглавните файлове и вземете няколко команди, които могат да се използват за различни сигнали. Има много други TTS библиотеки като jscrane TTS библиотека, google TTS библиотека и т.н. Можете също да ги изпробвате.
Така че нека започнем да кодираме. Първо включете някои заглавни файлове. Talkie.h се използва за инициализиране на тази библиотека и задаване на цифровия щифт 3 на Arduino като изходен щифт. В Vocab_US_Large.h се използва за използване на сигналите, които използваме и Vocab_Special.h се използва да се използва това време ще използвате.
#include "Talkie.h" #include "Vocab_US_Large.h" #include "Vocab_Special.h"
Сега дефинирайте стойност на обект, за да използвате командите:
Токи глас;
Тук същото съобщение ще се повтори в високоговорителя, така че оставете функцията за настройка празна и поставете командите във функция цикъл. Първата команда voice.say (spPAUSE2) е да направите кратка пауза, докато повтаряте предупредителното съобщение. И следващите команди са просто прости думи, които предполагат: ОПАСНОСТ ОПАСНА БУРМА НА СЕВЕРА.
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); }
Накрая качете кода в Arduino и свържете захранването към него. Веднага след като включите веригата, ще започнете да чувате предупрежденията! Ако не получите ясен звук, опитайте да регулирате копчето на гърнето или проверете дали Arduino получава правилното захранване и се уверете, че GND на Arduino е свързан към земята на веригата.
Проверете пълния код с демонстрационно видео са дадени по-долу.