Innholdsfortegnelse:

Talegjenkjenning ved hjelp av Google Speech API og Python: 4 trinn
Talegjenkjenning ved hjelp av Google Speech API og Python: 4 trinn

Video: Talegjenkjenning ved hjelp av Google Speech API og Python: 4 trinn

Video: Talegjenkjenning ved hjelp av Google Speech API og Python: 4 trinn
Video: Как создать приложение голосового переводчика в MIT App Inventor 2024, November
Anonim
Talegjenkjenning ved hjelp av Google Speech API og Python
Talegjenkjenning ved hjelp av Google Speech API og Python

Talegjenkjenning

Talegjenkjenning er en del av Natural Language Processing som er et underfelt til kunstig intelligens. For å si det enkelt, er talegjenkjenning evnen til en dataprogramvare til å identifisere ord og uttrykk i talespråk og konvertere dem til lesbar tekst for mennesker. Den brukes i flere applikasjoner som stemmeassistentsystemer, hjemmeautomatisering, stemmebaserte chatbots, stemmeinteragerende robot, kunstig intelligens og etc.

Det finnes forskjellige APIer (Application Programming Interface) for å gjenkjenne tale. De tilbyr tjenester enten gratis eller betalt. Disse er:

  • CMU Sfinx
  • Google talegjenkjenning
  • Google Cloud Speech API
  • Wit.ai
  • Microsoft Bing -talegjenkjenning
  • Houndify API
  • IBM tale til tekst
  • Snowboy Hotword Detection

Vi bruker Google talegjenkjenning her, siden det ikke krever noen API -nøkkel. Denne opplæringen tar sikte på å gi en introduksjon om hvordan du bruker Google Speech Recognition-bibliotek på Python ved hjelp av ekstern mikrofon som ReSpeaker USB 4-Mic Array fra Seeed Studio. Selv om det ikke er obligatorisk å bruke ekstern mikrofon, kan til og med innebygd mikrofon på bærbar datamaskin brukes.

Trinn 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 firemikrofonenhet designet for AI- og stemmeapplikasjoner, som ble utviklet av Seeed Studio. Den har 4 høyytelses, innebygde omnidireksjonelle mikrofoner designet for å fange opp stemmen din fra hvor som helst i rommet og 12 programmerbare RGB LED-indikatorer. ReSpeaker USB -mikrofonen støtter operativsystemene Linux, macOS og Windows. Detaljer finner du her.

ReSpeaker USB Mic kommer i en fin pakke som inneholder følgende ting:

  • En brukerveiledning
  • ReSpeaker USB Mic Array
  • Micro USB til USB -kabel

Så vi er klare til å komme i gang.

Trinn 2: Installer nødvendige biblioteker

For denne opplæringen antar jeg at du bruker Python 3.x.

La oss installere bibliotekene:

pip3 installere SpeechRecognition

For macOS må du først installere PortAudio med Homebrew, og deretter installere PyAudio med pip3:

brygge installer portaudio

Vi kjører under kommandoen for å 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 installer pyaudio

Opprett en ny python -fil

nano get_index.py

Lim inn på get_index.py under kodebiten:

importer 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). '))> 0: print ("Input Device ID", i, " -", p.get_device_info_by_host_api_device_index (0, i).get (' name '))

Kjør følgende kommando:

python3 get_index.py

I mitt tilfelle gir kommandoen følgende utgang til skjermen:

Inndataenhets -ID 1 - ReSpeaker 4 Mic Array (UAC1.0)

Inndataenhets -ID 2 - MacBook Air -mikrofon

Endre device_index til indeksnummer etter eget valg i kodebiten nedenfor.

importere tale_gjenkjenning som sr

r = sr. Recognizer () tale = sr. Mikrofon (device_index = 1) med tale som kilde: print ("si noe! …") audio = r.adjust_for_ambient_noise (kilde) audio = r.listen (kilde) prøv: recog = r.recognize_google (lyd, språk = 'no-US') print ("Du sa:" + recog) unntatt sr. UnknownValueError: print ("Google talegjenkjenning kunne ikke forstå lyd") unntatt sr. RequestError som e: print ("Kunne ikke be om resultater fra Google talegjenkjenningstjeneste; {0}". Format (e))

Enhetsindeks ble valgt 1 på grunn av ReSpeaker 4 Mic Array vil være som hovedkilde.

Trinn 3: Tekst-til-tale i Python With Pyttsx3 Library

Det er flere APIer tilgjengelig for å konvertere tekst til tale i python. En av slike APIer er pyttsx3, som er den beste tilgjengelige tekst-til-tale-pakken etter min mening. Denne pakken fungerer i Windows, Mac og Linux. Sjekk den offisielle dokumentasjonen for å se hvordan dette gjøres.

Installer pakken Bruk pip til å installere pakken.

pip installer pyttsx3

Hvis du er i Windows, trenger du en ekstra pakke, pypiwin32, som den trenger for å få tilgang til det opprinnelige Windows -tale -API -et.

pip installer pypiwin32

Konverter tekst til tale python -script Herunder er kodebiten for tekst til tale ved hjelp av pyttsx3:

import pyttsx3

motor = pyttsx3.init ()

engine.setProperty ('rate', 150) # Hastighetsprosent

engine.setProperty ('volum', 0,9) # Volum 0-1

engine.say ("Hei, verden!")

engine.runAndWait ()

Trinn 4: Sett alt sammen: Bygg talegjenkjenning med Python ved hjelp av Google Speech Recognition API og Pyttsx3 Library

Koden nedenfor er ansvarlig for å gjenkjenne menneskelig tale ved hjelp av Google talegjenkjenning, og konvertere teksten til tale ved hjelp av pyttsx3 -biblioteket.

importere tale_gjenkjenning 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 ("You said:" + recog) engine.say (" Du sa: " + recog) engine.runAndWait () unntatt sr. UnknownValueError: engine.say (" Google talegjenkjenning kunne ikke forstå lyd ") engine.runAndWait () unntatt sr. RequestError som e: engine.say (" Kunne ikke be om resultater fra Google talegjenkjenningstjeneste; {0} ". format (e)) engine.runAndWait ()

Den skriver ut utdata på terminalen. Det vil også bli konvertert til tale også.

Du sa: London er hovedstaden i Storbritannia

Jeg håper du nå har bedre forståelse for hvordan talegjenkjenning fungerer generelt og viktigst av alt, hvordan du implementerer det ved hjelp av Google Speech Recognition API med Python.

Hvis du har spørsmål eller tilbakemeldinger? Legg igjen en kommentar nedenfor. Følg med!

Anbefalt: