В гостях у Самоделкина! » Темы » Советы » Синтезатор речи для вашего Arduino

Синтезатор речи для вашего Arduino



Автор Instructables под ником Utsource рассказывает, как пользоваться библиотекой Talkie, позволяющей синтезировать речь при помощи Arduino. Это не тот синтезатор речи, которым вы, возможно, пользуетесь на своём смартфоне, планшете или ПК, и который может озвучить любой текст. Набор слов здесь фиксированный, но их больше тысячи (это в сумме, предусмотрены несколько подключаемых словарей). Данная библиотека реализует программно алгоритм синтеза, реализованный в своё время аппаратно в чипах фирмы TI.

Библиотека Talkie лежит здесь, также её можно скачать через менеджер библиотек, введя её название в строку поиска. Мастер показывает это на скриншоте:



Для работы библиотеки не требуется расширение ОЗУ, ПЗУ, добавление каких-либо аппаратных синтезаторов. Синтез речи полностью программный, звуковой сигнал выводится при помощи ШИМ на выход 3. Туда можно просто подключить динамическую головку через резистор, а можно воспользоваться дополнительным усилителем. Во втором случае желателен ФНЧ между Arduino и усилителем, но мастер обходится без него. При мощном усилителе ФНЧ становится обязательным. Усилитель может быть выполнен на любой элементной базе, мастер выбирает микросхему LM386. Схему включения он берёт стандартную, понятно, что показанные на ней микрофон и нагрузочный резистор для него не понадобятся - источником сигнала будет Arduino.



Эту схему он моделирует в программе Fritzing:



И собирает на макетной плате типа breadboard:



Чтобы проверить библиотеку в действии, мастер открывает в Arduino IDE редактор скетчей:



И набирает такой код:

#include "Talkie.h" //Talkie.h is used to initialize this library and set the Digital pin 3 of Arduino as output pin

#include "Vocab_US_Large.h" //Vocab_US_Large.h is used to use the alerts

#include "Vocab_Special.h" //Vocab_Special.h is used to use the pause

Talkie voice; //define an object ‘value’ to use the commands

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);
/*The first command voice.say(spPAUSE2) is to take a short pause while repeating the alert message. And the next commands are just simple words that imply: DANGER DANGER STORM IN THE NORTH.*/
}


Программа подключает ранее установленную библиотеку Talkie и два словаря, один из которых нужен для получения паузы между словами. Никаких знаков препинания этот синтезатор речи не понимает, как и сокращений вроде ЗПТ и ТЧК. При запуске программы он произнесёт монотонно фразу "опасность опасность буря с северной стороны".

Библиотека подойдёт ардуинщикам, не желающим приобретать довольно дорогие дисплеи. Заняв динамической головкой, без усилителя или с таковым, всего одну "ногу", можно реализовать вывод в виде речи довольно длинных фраз, а если занять ещё несколько "ног" кнопками - то и меню, в т.ч. многоуровневые.

Источник

Заблокировались колеса, причина

Советы по изготовлению фрезерного станка с ЧПУ

Добавить комментарий

    • smilesmilesxaxaokdontknowyahoonea
      bossscratchfoolyesyes-yesaggressivesecret
      sorrydancedance2dance3pardonhelpdrinks
      stopfriendsgoodgoodgoodwhistleswoontongue
      smokeclappingcraydeclarederisivedon-t_mentiondownload
      heatirefullaugh1mdameetingmoskingnegative
      not_ipopcornpunishreadscarescaressearch
      tauntthank_youthisto_clueumnikacuteagree
      badbeeeblack_eyeblum3blushboastboredom
      censoredpleasantrysecret2threatenvictoryyusun_bespectacled
      shokrespektlolprevedwelcomekrutoyya_za
      ya_dobryihelperne_huliganne_othodifludbanclose

Привет, Гость!


Зарегистрируйтесь

Или войдите на сайт, если уже зарегистрированы...

Войти

Добавьте самоделку

Добавьте тему

Онлайн чат

Опрос
А Вы уже рассказали на сайте о своей самоделке?

Последние комментарии

Все комментарии
Новые самоделки на почту

Введите электронную почту и получайте письма с новыми самоделками. Не более одного письма в день.