Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
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 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!