- Nødvendige komponenter
- Kretsdiagram
- Koble høyttaler til Arduino
- Programmering av Arduino for TTS (tekst til tale)
Tekst-til-tale- eller TTS-system konverterer normal tekst til tale. Denne teknologien gjør det mulig for systemet å uttale teksten med en menneskelig stemme. Det er mange eksempler på tekst-til-tale-konverteringer, som kunngjøringer i offentlig transport, kundeserviceanrop, stemmeassistenter på smarttelefonene dine eller navigasjonsmenyen på en hvilken som helst maskin. Du kan til og med finne TTS i Microsoft Word der du setter den til å uttale teksten som er skrevet i dokumentet.
I dag i denne opplæringen vil vi lære hvordan du lager Text To Speech-omformer ved hjelp av Arduino. Vi brukte tidligere TTS med Raspberry pi i å snakke vekkerklokke og konverterte også tale til tekst i bringebær pi ved hjelp av Google taletastatur.
Det første trinnet i TTS er forbehandling eller normalisering. Dette trinnet innebærer konvertering av symboler, tall og forkortelser til ord som kan leses av maskinene som '?' konverteres til “spørsmålstegn”.
Det andre trinnet innebærer konvertering av normalisert tekst til fonemer eller fonetiske transkripsjoner. Fonemene er de små delene av talte ord, det vil si lydene som gir setninger. Dette trinnet er veldig viktig, slik at maskinen kan snakke ordene slik mennesker gjør.
Det siste trinnet er syntesen av fonemer til den talte stemmen. Dette trinnet kan oppnås ved forskjellige metoder, for eksempel ved å spille inn menneskestemmen for forskjellige ord / setninger eller ved å generere grunnleggende lydfrekvenser og pile dem sammen som fonemer eller ved å kopiere menneskelig talemekanisme.
Nødvendige komponenter
- Arduino-brett
- En høyttaler
- En forsterkerkrets
- Regulert strømforsyning
- Koble ledninger
Kretsdiagram
Her i denne tekst til tale-omformeren har vi brukt en forsterkerkrets for å redusere støyen og få en klar lyd. Den Forsterkerkretsen er laget ved hjelp av IC-LM386. Kretsskjema for det er vist nedenfor:
En 100K-pott brukes til å justere lyden. Juster den for å få en klar lyd. Hvis du har forvirring om denne kretsen, kan du sjekke ut LM386-basert lydforsterkerkrets. Hvis du ikke har den nøyaktige verdien av motstander og kondensatorer, så bruk de nærverdiene.
Koble høyttaler til Arduino
Tilkoblingene er superenkle når du først forsterker kretsen.
Koble strømforsyningen til forsterkerkretsen og koble den digitale pinnen 3 på Arduino til 10K motstand og koble bakken til Arduino til bakken på kretsen. Koble nå høyttaleren ved å koble den negative terminalen til bakken og den positive terminalen til 220µF kondensatoren, og koble strømforsyningen.
Programmering av Arduino for TTS (tekst til tale)
Programmet for denne Arduino-baserte TTS er også veldig enkelt ettersom biblioteket er tilgjengelig for dette. Dette biblioteket kalles som Talkie, og det kan legges til av biblioteksjefen. For å legge til biblioteket, gå til Skisse-> Inkluder bibliotek-> Mange biblioteker .
Nå vil Library Manager være på skjermen din. Skriv Talkie i søkefeltet og klikk på installasjonsknappen. Biblioteket blir installert.
Dette biblioteket er veldig praktisk og har over 1000 ord og kommandoer. Den har flere eksempler, du kan prøve dem alle, men her bruker vi en enkel kode for å forklare arbeidet.
Du kan også prøve andre kommandoer gitt i biblioteket. For å få disse kommandoene, gå til Documents \ Arduino \ libraries \ Talkie \ src og åpne deretter headerfilene og få flere kommandoer som kan brukes til forskjellige varsler. Det er mange andre TTS-biblioteker som jscrane TTS-bibliotek, google TTS-bibliotek osv. Du kan også prøve dem.
Så la oss begynne å kode. Først inkluderer du noen headerfiler. Talkie.h brukes til å initialisere dette biblioteket og sette Digital Pin 3 av Arduino som output pin. Den Vocab_US_Large.h brukes til å bruke varsler vi bruker, og Vocab_Special.h brukes til å bruke pausen vi bruker.
#include "Talkie.h" #include "Vocab_US_Large.h" #include "Vocab_Special.h"
Definer nå et objekt 'verdi' for å bruke kommandoene:
Talkie stemme;
Her blir den samme meldingen gjentatt i høyttaleren, så hold oppsettfunksjonen tom og sett kommandoene i loop-funksjonen. Den første kommandoen voice.say (spPAUSE2) er å ta en kort pause mens du gjentar varselmeldingen. Og de neste kommandoene er bare enkle ord som innebærer: FARE FARE STORM IN THE NORTH.
ugyldig oppsett () { } ugyldig sløyfe () { 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 last opp koden i Arduino og koble strømforsyningen til den. Så snart du slår på kretsen, begynner du å høre varslene! Hvis du ikke får en klar lyd, kan du prøve å justere knotten til potten eller sjekke om Arduino får riktig strømforsyning og sørg for at GND av Arduino er koblet til bakken i kretsen.
Sjekk den komplette koden med en demonstrasjonsvideo gitt nedenfor.