Indholdsfortegnelse:

Talegenkendelse ved hjælp af Google Speech API og Python: 4 trin
Talegenkendelse ved hjælp af Google Speech API og Python: 4 trin

Video: Talegenkendelse ved hjælp af Google Speech API og Python: 4 trin

Video: Talegenkendelse ved hjælp af Google Speech API og Python: 4 trin
Video: Как создать приложение голосового переводчика в MIT App Inventor 2024, Juli
Anonim
Talegenkendelse ved hjælp af Google Speech API og Python
Talegenkendelse ved hjælp af Google Speech API og Python

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 4-Mic Array
ReSpeaker USB 4-Mic Array
ReSpeaker USB 4-Mic Array
ReSpeaker USB 4-Mic Array
ReSpeaker USB 4-Mic Array
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: