- Nødvendige komponenter
- Kredsløbsdiagram
- Tilslutning af højttaler til Arduino
- Programmering af Arduino til TTS (tekst til tale)
Tekst til tale eller TTS-system konverterer normal tekst til tale. Denne teknologi gør det muligt for systemet at udtale teksten med en menneskelig stemme. Der er mange eksempler på konvertering af tekst til tale som meddelelser om offentlig transport, kundeserviceopkald, stemmeassistenter på dine smartphones eller navigationsmenuen på enhver maskine. Du kan endda finde TTS i Microsoft Word, hvor du indstiller den til at udtale teksten skrevet i dokumentet.
I dag i denne vejledning lærer vi, hvordan man laver tekst til tale-konverter ved hjælp af Arduino. Vi har tidligere brugt TTS med Raspberry pi til at tale vækkeur og også konverteret tale til tekst i hindbær pi ved hjælp af Google stemmetastatur.
Det første trin i TTS er forbehandling eller normalisering. Dette trin involverer konvertering af symboler, tal og forkortelser til ord, der kan læses af maskinerne som '?' vil blive konverteret til "spørgsmålstegn".
Det andet trin involverer konvertering af normaliseret tekst til fonemer eller fonetiske udskrifter. Fonemerne er de små dele af talte ord, dvs. disse lyde, der danner sætninger. Dette trin er virkelig vigtigt, så maskinen kan tale ordene som mennesker gør.
Det sidste trin er syntesen af fonemer i den talte stemme. Dette trin kan opnås ved forskellige metoder som ved at optage den menneskelige stemme til forskellige ord / sætninger eller ved at generere grundlæggende lydfrekvenser og samle dem op som fonemer eller ved at kopiere menneskelig talemekanisme.
Nødvendige komponenter
- Arduino bord
- En højttaler
- Et forstærkerkredsløb
- Reguleret strømforsyning
- Tilslutning af ledninger
Kredsløbsdiagram
Her i denne tekst til tale-konverter har vi brugt et forstærkerkredsløb til at reducere støj og få en klar lyd. Den forstærkerkredsløb er lavet ved hjælp af IC LM386. Kredsløbsdiagram for det er vist nedenfor:
En 100K pot bruges til at justere lyden. Juster det for at få en klar lyd. Hvis du har forvirring omkring dette kredsløb, så tjek LM386-baseret lydforstærkerkredsløb. Hvis du ikke har den nøjagtige værdi af modstande og kondensatorer, skal du bruge dem med tæt værdi.
Tilslutning af højttaler til Arduino
Forbindelserne er super lette, når du først har lavet forstærkerkredsløbet.
Tilslut strømforsyningen til forstærkerkredsløbet og tilslut den digitale pin 3 på din Arduino til 10K modstand og tilslut jorden til Arduino til kredsløbets jord. Tilslut nu højttaleren ved at slutte dens negative terminal til jord og positiv terminal til 220 µF kondensatoren og tilslut strømforsyningen.
Programmering af Arduino til TTS (tekst til tale)
Programmet til denne Arduino-baserede TTS er også meget let, da biblioteket er tilgængeligt til dette. Dette bibliotek kaldes som Talkie, og det kan tilføjes af biblioteksadministratoren. For at tilføje biblioteket skal du gå til Skitse-> Inkluder bibliotek-> Mange biblioteker .
Nu vil Library Manager være på din skærm. Skriv Talkie i søgefeltet, og klik på installationsknappen. Biblioteket bliver installeret.
Dette bibliotek er meget praktisk, og det har over 1000 ord og kommandoer. Det har flere eksempler, du kan prøve dem alle, men her bruger vi en simpel kode til at forklare arbejdet.
Du kan også prøve andre kommandoer i biblioteket. For at få disse kommandoer skal du gå til Documents \ Arduino \ biblioteker \ Talkie \ src og derefter åbne headerfiler og få flere kommandoer, der kan bruges til forskellige alarmer. Der er mange andre TTS-biblioteker som jscrane TTS-bibliotek, google TTS-bibliotek osv. Du kan også prøve dem.
Så lad os begynde at kode. For det første omfatter nogle header-filer. Talkie.h bruges til at initialisere dette bibliotek og indstille den digitale pin 3 i Arduino som output pin. Den Vocab_US_Large.h bruges til at anvende de advarsler, vi bruger, og Vocab_Special.h bruges til at bruge pause, vi bruger.
#include "Talkie.h" #include "Vocab_US_Large.h" #include "Vocab_Special.h"
Definer nu et objekt 'værdi' for at bruge kommandoerne:
Talkie stemme;
Her gentages den samme besked i højttaleren, så hold installationsfunktionen tom og sæt kommandoerne i loop-funktionen. Den første kommando voice.say (spPAUSE2) er at tage en kort pause, mens alarmmeddelelsen gentages. Og de næste kommandoer er bare enkle ord, der antyder: FARE FARESTORM I NORDEN.
ugyldig opsætning () { } ugyldig sløjfe () { 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); }
Endelig upload koden i Arduino og tilslut strømforsyningen til den. Så snart du tænder for kredsløbet, vil du begynde at høre advarslerne! Hvis du ikke får en klar lyd, skal du prøve at justere drejeknappen eller kontrollere, om Arduino får den rette strømforsyning, og sørg for, at Arduinos GND er forbundet til kredsløbets jord.
Tjek den komplette kode med en demonstrationsvideo er angivet nedenfor.