Indholdsfortegnelse:
- Trin 1: ReSpeaker USB 4-Mic Array
- Trin 2: Installer påkrævede biblioteker
- Trin 3: Tekst-til-tale i Python With Pyttsx3 Library
- Trin 4: Sæt det hele sammen: Opbygning af talegenkendelse med Python ved hjælp af Google Speech Recognition API og Pyttsx3 Library
Video: Talegenkendelse ved hjælp af Google Speech API og Python: 4 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
Tale genkendelse
Talegenkendelse er en del af Natural Language Processing, som er et underfelt til kunstig intelligens. For at sige det enkelt er talegenkendelse en computersoftwares evne til at identificere ord og sætninger i talesprog og konvertere dem til menneskelig læsbar tekst. Det bruges i flere applikationer såsom stemmeassistentsystemer, hjemmeautomatisering, stemmebaserede chatbots, stemme -interagerende robot, kunstig intelligens og etc.
Der er forskellige API'er (Application Programming Interface) til genkendelse af tale. De tilbyder tjenester enten gratis eller betalt. Disse er:
- CMU Sphinx
- Google talegenkendelse
- Google Cloud Speech API
- Wit.ai
- Microsoft Bing -stemmegenkendelse
- Houndify API
- IBM tale til tekst
- Snowboy Hotword Detection
Vi vil bruge Google talegenkendelse her, da det ikke kræver nogen API -nøgle. Denne vejledning har til formål at give en introduktion til, hvordan du bruger Google Speech Recognition-bibliotek på Python ved hjælp af ekstern mikrofon som ReSpeaker USB 4-Mic Array fra Seeed Studio. Selvom det ikke er obligatorisk at bruge ekstern mikrofon, kan selv indbygget mikrofon på bærbar computer bruges.
Trin 1: ReSpeaker USB 4-Mic Array
ReSpeaker USB Mic er en firemikrofonenhed designet til AI- og stemmeapplikationer, som blev udviklet af Seeed Studio. Den har 4 højtydende, indbyggede omnidirektionelle mikrofoner designet til at opfange din stemme overalt i rummet og 12 programmerbare RGB LED-indikatorer. ReSpeaker USB -mikrofonen understøtter Linux, macOS og Windows -operativsystemer. Detaljer kan findes her.
ReSpeaker USB Mic kommer i en flot pakke, der indeholder følgende ting:
- En brugervejledning
- ReSpeaker USB Mic Array
- Micro USB til USB kabel
Så vi er klar til at komme i gang.
Trin 2: Installer påkrævede biblioteker
Til denne vejledning antager jeg, at du bruger Python 3.x.
Lad os installere bibliotekerne:
pip3 installer SpeechRecognition
For macOS skal du først installere PortAudio med Homebrew og derefter installere PyAudio med pip3:
bryg installer portaudio
Vi kører under kommandoen for at installere pyaudio
pip3 installer pyaudio
For Linux kan du installere PyAudio med apt:
sudo apt-get install python-pyaudio python3-pyaudio
For Windows kan du installere PyAudio med pip:
pip installere pyaudio
Opret en ny python -fil
nano get_index.py
Indsæt på get_index.py under kodestykket:
import pyaudio
p = pyaudio. PyAudio () info = p.get_host_api_info_by_index (0) numdevices = info.get ('deviceCount') for i in range (0, numdevices): if (p.get_device_info_by_host_api_device_index (0, i).ann ('max, i). '))> 0: print ("Input Device id", i, " -", p.get_device_info_by_host_api_device_index (0, i).get (' name '))
Kør følgende kommando:
python3 get_index.py
I mit tilfælde giver kommandoen følgende output til skærmen:
Indgangsenheds -id 1 - ReSpeaker 4 Mic Array (UAC1.0)
Indgangsenheds -id 2 - MacBook Air -mikrofon
Skift device_index til indeksnummer efter dit valg i nedenstående kodestykke.
import tale_genkendelse som sr
r = sr. Recognizer () tale = sr. Mikrofon (device_index = 1) med tale som kilde: print ("sig noget! …") audio = r.adjust_for_ambient_noise (kilde) audio = r.listen (kilde) prøv: genoptag = r.recognize_google (lyd, sprog = 'en-US') print ("Du sagde:" + recog) undtagen sr. UnknownValueError: print ("Google Speech Recognition kunne ikke forstå lyd") undtagen sr. RequestError som e: print ("Kunne ikke anmode om resultater fra tjenesten Google talegenkendelse; {0}". Format (e))
Enhedsindeks blev valgt 1 på grund af ReSpeaker 4 Mic Array vil være som hovedkilde.
Trin 3: Tekst-til-tale i Python With Pyttsx3 Library
Der er flere tilgængelige API'er til at konvertere tekst til tale i python. En af sådanne API'er er pyttsx3, som efter min mening er den bedst tilgængelige tekst-til-tale-pakke. Denne pakke fungerer i Windows, Mac og Linux. Se den officielle dokumentation for at se, hvordan dette gøres.
Installer pakken Brug pip til at installere pakken.
pip installer pyttsx3
Hvis du er i Windows, skal du bruge en ekstra pakke, pypiwin32, som den skal bruge for at få adgang til den indbyggede Windows -tale -API.
pip installer pypiwin32
Konverter tekst til tale python script Herunder er kodestykket til tekst til tale ved hjælp af pyttsx3:
import pyttsx3
motor = pyttsx3.init ()
engine.setProperty ('rate', 150) # Hastighedsprocent
engine.setProperty ('volumen', 0,9) # Volume 0-1
engine.say ("Hej verden!")
engine.runAndWait ()
Trin 4: Sæt det hele sammen: Opbygning af talegenkendelse med Python ved hjælp af Google Speech Recognition API og Pyttsx3 Library
Nedenstående kode er ansvarlig for at genkende menneskelig tale ved hjælp af Google talegenkendelse og konvertere teksten til tale ved hjælp af pyttsx3 -bibliotek.
import tale_genkendelse som sr
import pyttsx3 engine = pyttsx3.init () engine.setProperty ('rate', 200) engine.setProperty ('volume', 0.9) r = sr. Recognizer () speech = sr. Microphone (device_index = 1) med tale som kilde: audio = r.adjust_for_ambient_noise (source) audio = r.listen (source) try: recog = r.recognize_google (audio, language = 'en-US') print ("Du sagde:" + recog) engine.say (" Du sagde: " + genkend) engine.runAndWait () undtagen sr. UnknownValueError: engine.say (" Google Speech Recognition kunne ikke forstå lyd ") engine.runAndWait () undtagen sr. RequestError som e: engine.say (" Kunne ikke anmode om resultater fra Googles talegenkendelsestjeneste; {0} ". format (e)) engine.runAndWait ()
Det udskriver output på terminal. Det vil også blive konverteret til tale også.
Du sagde: London er hovedstaden i Storbritannien
Jeg håber, at du nu har en bedre forståelse af, hvordan talegenkendelse generelt fungerer og vigtigst af alt, hvordan du implementerer det ved hjælp af Google Speech Recognition API med Python.
Hvis du har spørgsmål eller feedback? Efterlad en kommentar herunder. Bliv hængende!
Anbefalede:
DIY -- Sådan laver du en edderkoprobot, der kan kontrolleres ved hjælp af smartphone ved hjælp af Arduino Uno: 6 trin
DIY || Sådan laver du en edderkoprobot, der kan styres ved hjælp af smartphone Brug af Arduino Uno: Mens du laver en edderkoprobot, kan man lære så mange ting om robotik. Ligesom at lave robotter er underholdende såvel som udfordrende. I denne video vil vi vise dig, hvordan du laver en Spider -robot, som vi kan betjene ved hjælp af vores smartphone (Androi
Kontrol ledt over hele verden ved hjælp af internet ved hjælp af Arduino: 4 trin
Kontrol ledt over hele verden ved hjælp af internet ved hjælp af Arduino: Hej, jeg er Rithik. Vi kommer til at lave en internetstyret LED ved hjælp af din telefon. Vi kommer til at bruge software som Arduino IDE og Blynk.Det er enkelt, og hvis det lykkedes dig, kan du styre så mange elektroniske komponenter, du ønskerTing We Need: Hardware:
Sådan laver du en drone ved hjælp af Arduino UNO - Lav en quadcopter ved hjælp af mikrokontroller: 8 trin (med billeder)
Sådan laver du en drone ved hjælp af Arduino UNO | Lav en Quadcopter ved hjælp af mikrokontroller: Introduktion Besøg min Youtube -kanal En Drone er en meget dyr gadget (produkt) at købe. I dette indlæg vil jeg diskutere, hvordan jeg gør det billigt ?? Og hvordan kan du lave din egen sådan til en billig pris … Nå i Indien alle materialer (motorer, ESC'er
RF 433MHZ radiostyring ved hjælp af HT12D HT12E - Lav en RF -fjernbetjening ved hjælp af HT12E & HT12D med 433mhz: 5 trin
RF 433MHZ radiostyring ved hjælp af HT12D HT12E | Oprettelse af en RF -fjernbetjening ved hjælp af HT12E & HT12D med 433mhz: I denne instruktør vil jeg vise dig, hvordan du laver en RADIO -fjernbetjening ved hjælp af 433mhz sendermodtagermodul med HT12E -kode & HT12D -dekoder IC.I denne instruktive kan du sende og modtage data ved hjælp af meget meget billige KOMPONENTER SOM: HT
Trådløs fjernbetjening ved hjælp af 2,4 GHz NRF24L01 -modul med Arduino - Nrf24l01 4 -kanals / 6 -kanals sender modtager til Quadcopter - Rc Helikopter - Rc -fly ved hjælp af Arduino: 5 trin (med billeder)
Trådløs fjernbetjening ved hjælp af 2,4 GHz NRF24L01 -modul med Arduino | Nrf24l01 4 -kanals / 6 -kanals sender modtager til Quadcopter | Rc Helikopter | Rc -fly ved hjælp af Arduino: At betjene en Rc -bil | Quadcopter | Drone | RC -fly | RC -båd, vi har altid brug for en modtager og sender, antag at vi til RC QUADCOPTER har brug for en 6 -kanals sender og modtager, og den type TX og RX er for dyr, så vi laver en på vores