„Instructable“, pravarde Utsource, autorius pasakoja, kaip naudotis „Talkie“ biblioteka, kuri leidžia sintetinti kalbą su Arduino. Tai nėra kalbos sintezatorius, kurį galite naudoti savo išmaniajame telefone, planšetiniame kompiuteryje ar asmeniniame kompiuteryje ir kuris gali balsuoti bet kokį tekstą. Žodžių rinkinys čia yra fiksuotas, tačiau jų yra daugiau nei tūkstantis (tai yra iš viso, pateikiami keli sujungti žodynai). Ši biblioteka įgyvendina programinės įrangos sintezės algoritmą, vienu metu įgyvendinamą TI mikroschemų aparatinėje įrangoje.
Talkie biblioteka guli čia, ją taip pat galima atsisiųsti per bibliotekos tvarkyklę, įvedus jos pavadinimą į paieškos juostą. Vedlys tai rodo ekrano kopijoje:
Biblioteka nereikalauja RAM, ROM išplėtimo, jokių aparatūros sintezatorių papildymo. Kalbos sintezė yra visiškai programinė, garso signalas perduodamas naudojant PWM, kad būtų galima išvesti 3. Čia galite tiesiog prijungti dinaminę galvutę per rezistorių arba naudoti papildomą stiprintuvą. Antruoju atveju pageidautina žemo dažnio filtras tarp „Arduino“ ir stiprintuvo, tačiau meistras apsieina be jo. Turėdamas galingą stiprintuvą, žemų dažnių filtras tampa privalomas. Stiprintuvą galima atlikti ant bet kurio elemento pagrindo, meistras pasirenka LM386 lustą. Jis perjungimo grandinę priima kaip standartinį, akivaizdu, kad ant jo parodytas mikrofonas ir apkrovos rezistorius jam nebus reikalingi - signalo šaltinis bus Arduino.
Jis modeliuoja šią grandinę Fritzing programoje:
Ir ji pastatyta ant duonos lentelės, kaip ant lentos:
Norėdami išbandyti biblioteką, vedlys atidaro eskizų rengyklę „Arduino IDE“:
Jis surenka šį kodą:
#include „Talkie.h“ //Talkie.h yra naudojama inicijuoti šią biblioteką ir nustatyti „Arduino“ 3 skaitmeninį kaištį kaip išvesties PIN kodą
#include „Vocab_US_Large.h“ //Vocab_US_Large.h naudojamas įspėjimams naudoti
#include „Vocab_Special.h“ //Vocab_Special.h naudojamas pauzei naudoti
Talki balsas // apibrėžkite objekto reikšmę, kad galėtumėte naudoti komandas
negaliojanti sąranka () {
}
tuščia kilpa () {
balsas.say (spPAUSE2);
balsas.say (sp2_DANGER);
balsas.say (sp2_DANGER);
balsas.say (sp3_STORM);
balsas.say (sp3_IN);
balsas.say (sp3_THE);
balsas.say (sp3_NORTH);
/ * Pirmoji komandos „voice.say“ („spPAUSE2“) komanda turi padaryti trumpą pauzę, kartodama perspėjimo pranešimą. O kitos komandos yra tik paprasti žodžiai, reiškiantys: PAVOJUS PAVOJUS STORM ŠIAURĖJE. * /
}
Programa sujungia anksčiau įdiegtą „Talkie“ biblioteką ir du žodynus, iš kurių vienas reikalingas norint padaryti pertrauką tarp žodžių. Šis kalbos sintezatorius nesupranta jokių skyrybos ženklų ar santrumpų, tokių kaip PST ir PST. Pradėjęs programą jis monotoniškai pasakys frazę „pavojus, pavojus, audra iš šiaurės“.
Biblioteka tinka arduino vartotojams, kurie nenori įsigyti gana brangių vitrinų. Užėmę tik dinaminę galvutę, be stiprintuvo ar su stiprintuvu, tik vieną „koją“, galite išgauti gana ilgą frazę kalbėjimo forma ir, jei mygtukais pasiimsite dar keletą „kojų“, tada meniu, įskaitant daugiapakopis.