- Nödvändiga komponenter
- Kretsschema
- Ansluter högtalare till Arduino
- Programmering av Arduino för TTS (text till tal)
Text-till-tal eller TTS-system omvandlar normal text till tal. Denna teknik gör det möjligt för systemet att tala ut texten med en mänsklig röst. Det finns många exempel på text-till-tal-omvandlingar som tillkännagivanden vid kollektivtrafik, kundtjänstsamtal, röstassistenter i dina smartphones eller navigationsmenyn på vilken maskin som helst. Du kan till och med hitta TTS i Microsoft Word där du ställer in den för att tala ut texten skriven i dokumentet.
Idag i denna handledning lär vi oss hur man gör Text To Speech-omvandlare med Arduino. Vi använde tidigare TTS med Raspberry pi för att tala väckarklocka och konverterade också tal till text i hallon pi med hjälp av Googles rösttangentbord.
Det första steget i TTS är förbehandling eller normalisering. Detta steg innefattar konvertering av symboler, siffror och förkortningar till ord som kan läsas av maskinerna som '?' omvandlas till ”frågetecken”.
Det andra steget innefattar konvertering av normaliserad text till fonem eller fonetiska transkript. Fonemen är de små delarna av talade ord, det vill säga det här är de ljud som gör meningar. Detta steg är verkligen viktigt så att maskinen kan tala ord som människor gör.
Det sista steget är syntesen av fonem till talad röst. Detta steg kan uppnås med olika metoder som genom att spela in den mänskliga rösten för olika ord / fraser eller genom att generera grundläggande ljudfrekvenser och stapla dem som fonem eller genom att kopiera mänsklig talmekanism.
Nödvändiga komponenter
- Arduino styrelse
- En talare
- En förstärkarkrets
- Reglerad strömförsörjning
- Anslutande ledningar
Kretsschema
Här i denna Text to Speech-omvandlare har vi använt en förstärkarkrets för att minska bullret och få ett tydligt ljud. Den förstärkarkretsen är gjord med hjälp av IC LM386. Kretsschema för det visas nedan:
En 100K-kruka används för att justera ljudet. Justera den för att få ett tydligt ljud. Om du har någon förvirring kring den här kretsen, kolla in LM386-baserad ljudförstärkarkrets. Om du inte har det exakta värdet på motstånd och kondensatorer, använd sedan de nära värdena.
Ansluter högtalare till Arduino
Anslutningarna är superlätta när du gör förstärkarkretsen.
Anslut strömförsörjningen till förstärkarkretsen och anslut den digitala stift 3 på din Arduino till 10K-motstånd och anslut jordens Arduino till kretsens jord. Anslut nu högtalaren genom att ansluta dess negativa terminal till jord och positiv terminal till 220 µF kondensatorn och anslut strömförsörjningen.
Programmering av Arduino för TTS (text till tal)
Programmet för denna Arduino-baserade TTS är också väldigt enkelt eftersom biblioteket är tillgängligt för detta. Detta bibliotek kallas för Talkie och det kan läggas till av bibliotekschefen. För att lägga till biblioteket, gå till Skiss-> Inkludera bibliotek-> Mange bibliotek .
Nu kommer Library Manager att finnas på din skärm. Skriv Talkie i sökfältet och klicka på installationsknappen. Biblioteket installeras.
Detta bibliotek är väldigt praktiskt och har över 1000 ord och kommandon. Det har flera exempel, du kan prova dem alla men här använder vi en enkel kod för att förklara arbetet.
Du kan också prova andra kommandon som ges i biblioteket. För att få dessa kommandon, gå till Dokument \ Arduino \ bibliotek \ Talkie \ src och öppna sedan rubrikfilerna och få flera kommandon som kan användas för olika varningar. Det finns många andra TTS-bibliotek som jscrane TTS-bibliotek, google TTS-bibliotek etc. Du kan också prova dem.
Så låt oss börja koda. Först inkludera några rubrikfiler. Talkie.h används för att initialisera detta bibliotek och ställa in Digital pin 3 i Arduino som utgångsstift. Den Vocab_US_Large.h används för att använda varningar vi använder och Vocab_Special.h används för att använda paus vi använder.
#include "Talkie.h" #include "Vocab_US_Large.h" #include "Vocab_Special.h"
Definiera nu ett objekt 'värde' för att använda kommandona:
Talkie röst;
Här kommer samma meddelande att upprepas i högtalaren, så håll inställningsfunktionen tom och sätt kommandona i loopfunktionen. Det första kommandot voice.say (spPAUSE2) är att ta en kort paus medan du upprepar varningsmeddelandet. Och nästa kommando är bara enkla ord som antyder: FARA FARSTORM I NORDEN.
ogiltig installation () { } ogiltig slinga () { 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); }
Slutligen ladda upp koden i Arduino och anslut strömförsörjningen till den. Så snart du startar kretsen börjar du höra varningarna! Om du inte får ett tydligt ljud, försök justera vredet på potten eller kontrollera om Arduino får rätt strömförsörjning och se till att Arduinos GND är ansluten till kretsens jord.
Kontrollera hela koden med en demonstrationsvideo nedan.