Az Utas forrás becenév alatt található Instructables szerző elmondja, hogyan kell használni a Talkie könyvtárat, amely lehetővé teszi a beszéd szintetizálását a Arduino. Ez nem egy beszédszintetizátor, amelyet okostelefonján, táblagépén vagy PC-jén használhat, és amely bármilyen szöveget képes hangolni. A szavak halmaza itt rögzített, de több mint ezer van (ez összesen több kapcsolódó szótárt tartalmaz). Ez a könyvtár egy szoftverszintézis algoritmust valósít meg, amelyet egyszerre a TI chipek hardverében valósítottak meg.
Talkie könyvtár fekszik itt, a könyvtárkezelőn keresztül is letölthető, ha nevét beírja a keresősávba. A varázsló ezt megmutatja a képernyőképen:
A könyvtár nem igényli a RAM, a ROM bővítését, a hardveres szintetizátorok hozzáadását. A beszédszintézis teljesen programozott, az audiojelet a PWM segítségével továbbítja a 3. kimenetre. Egyszerűen csatlakoztathat egy dinamikus fejet egy ellenálláson keresztül, vagy használhat egy további erősítőt. A második esetben kívánatos az Arduino és az erősítő közötti aluláteresztő szűrő, de a mester nélkül marad. Erős erősítővel az aluláteresztő szűrő kötelezővé válik. Az erősítő bármilyen elem alapon végrehajtható, a master kiválasztja az LM386 chipet. Alapértelmezés szerint a kapcsolási áramkört választja, egyértelmű, hogy a rajta látható mikrofonra és terhelési ellenállásra nincs szükség neki - a jelforrás Arduino lesz.
Ezt az áramkört modellezi a Fritzing programban:
És olyan kenyérdeszkára épül, mint a kenyérlemez:
A könyvtár működésének teszteléséhez a varázsló megnyitja a vázlatszerkesztőt az Arduino IDE-ben:
És tárcsázza ezt a kódot:
#include "Talkie.h" //Talkie.h arra szolgál, hogy inicializálja ezt a könyvtárat, és az Arduino 3. digitális pin-jét kimeneti pin-ként állítsa be.
#include "Vocab_US_Large.h" //Vocab_US_Large.h használható a riasztásokhoz
#include "Vocab_Special.h" //Vocab_Special.h a szünet használatához
Talkie hang // definiáljon egy objektum „értéket” a parancsok használatához
érvénytelen beállítás () {
}
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);
/ * A voice.say (spPAUSE2) első parancsának rövid szünetet kell tartania a riasztási üzenet megismétlése közben. És a következő parancsok csak egyszerű szavak, amelyek azt sugallják: VESZÉLY VESZÉLY TORM AZ ÉSZAKBAN. * /
}
A program összekapcsolja a korábban telepített Talkie könyvtárat és két szótárt, amelyek közül az egyikre szükség van a szavak közötti szünet eléréséhez. Ez a beszédszintetizátor nem ért semmilyen központozási jelet, sem olyan rövidítéseket, mint a PST és a PST. A program elindulásakor monoton módon mondani fogja: "veszély, veszély, vihar északról".
A könyvtár olyan arduino felhasználók számára alkalmas, akik nem akarnak meglehetősen drága kirakatot vásárolni. Ha a dinamikus fejjel, erősítővel vagy erősítővel csak egy „lábat” foglal el, akkor a kimenet meglehetősen hosszú mondatok beszéd formájában valósítható meg, és ha még néhány „lábot” vesz a gombokkal, akkor a menü, beleértve a többszintű.