Kazalo:
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
Prepoznavanje govora
Prepoznavanje govora je del obdelave naravnega jezika, ki je podpolje umetne inteligence. Preprosto povedano, prepoznavanje govora je sposobnost računalniške programske opreme, da prepozna besede in besedne zveze v govorjenem jeziku in jih pretvori v besedilo, ki ga lahko bere človek. Uporablja se v več aplikacijah, kot so sistemi glasovnih asistentov, avtomatizacija doma, glasovni klepetalniki, glasovno interaktivni robot, umetna inteligenca itd.
Za prepoznavanje govora obstajajo različni API -ji (Application Programming Interface). Ponujajo brezplačne ali plačljive storitve. To so:
- CMU Sfinga
- Googlovo prepoznavanje govora
- Google Cloud Speech API
- Wit.ai
- Prepoznavanje glasu Microsoft Bing
- Houndify API
- IBM -ov govor v besedilo
- Snowboy Hotword Detection
Tukaj bomo uporabljali Googlovo prepoznavanje govora, saj ne potrebuje nobenega ključa API. Namen te vadnice je predstaviti, kako uporabljati knjižnico Google za prepoznavanje govora na Pythonu s pomočjo zunanjega mikrofona, kot je ReSpeaker USB 4-Mic Array iz Seeed Studio. Čeprav uporaba zunanjega mikrofona ni obvezna, lahko uporabite tudi vgrajen mikrofon prenosnika.
Korak: ReSpeaker USB 4-Mic Array
ReSpeaker USB Mic je štiri-mikrofonska naprava, zasnovana za AI in glasovne aplikacije, ki jo je razvil Seeed Studio. Ima 4 visokozmogljive, vgrajene vsesmerne mikrofone, namenjene pobiranju vašega glasu od koder koli v sobi in 12 programabilnih LED indikatorjev RGB. Mikrofon ReSpeaker USB podpira operacijske sisteme Linux, macOS in Windows. Podrobnosti najdete tukaj.
USB mikrofon ReSpeaker je v lepi embalaži, ki vsebuje naslednje elemente:
- Navodila za uporabo
- Polje mikrofona za zvočnik USB
- Kabel mikro USB v USB
Tako smo pripravljeni na začetek.
2. korak: Namestite potrebne knjižnice
Za to vadbo predvidevam, da uporabljate Python 3.x.
Namestimo knjižnice:
pip3 namestite SpeechRecognition
Za macOS morate najprej namestiti PortAudio z Homebrew, nato pa namestiti PyAudio s pip3:
brew namestite portaudio
Zaženemo spodnji ukaz za namestitev pyaudio
pip3 namestite pyaudio
Za Linux lahko namestite PyAudio z apt:
sudo apt-get install python-pyaudio python3-pyaudio
Za Windows lahko PyAudio namestite s pipom:
pip namestite pyaudio
Ustvarite novo datoteko python
nano get_index.py
Prilepite na get_index.py pod delček kode:
uvoz pyaudio
p = pyaudio. PyAudio () info = p.get_host_api_info_by_index (0) numdevices = info.get ('deviceCount') za i v obsegu (0, numdevices): if (p.get_device_info_by_host_api_device_index (0, i). Cent ('max '))> 0: print ("ID vhodne naprave", i, " -", p.get_device_info_by_host_api_device_index (0, i).get (' ime '))
Zaženite naslednji ukaz:
python3 get_index.py
V mojem primeru ukaz na zaslon prikaže naslednje rezultate:
ID vhodne naprave 1 - niz mikrofonov ReSpeaker 4 (UAC1.0)
ID vhodne naprave 2 - MacBook Air mikrofon
Spremenite device_index v indeksno številko po vaši izbiri v spodnjem delčku kode.
uvoz govora_prepoznavanje kot sr
r = sr. Recognizer () govor = sr. Mikrofon (device_index = 1) z govorom kot virom: print ("recite nekaj! …") audio = r.adjust_for_ambient_noise (vir) audio = r.listen (vir) poskusite: prepoznati = r.recognize_google (audio, language = 'en-US') print ("Rekli ste:" + prepoznati), razen sr. UnknownValueError: print ("Google Prepoznavanje govora ni razumelo zvoka"), razen sr. RequestError kot e: print ("Ni mogoče zahtevati rezultatov od Googlove storitve za prepoznavanje govora; {0}". Format (e))
Indeks naprave je bil izbran 1, ker bo glavni vir ReSpeaker 4.
3. korak: Pretvorba besedila v govor v Pythonu s knjižnico Pyttsx3
Za pretvorbo besedila v govor v pythonu je na voljo več API -jev. Eden takih API-jev je pyttsx3, ki je po mojem mnenju najboljši razpoložljivi paket za pretvorbo besedila v govor. Ta paket deluje v sistemih Windows, Mac in Linux. Kako se to naredi, preverite v uradni dokumentaciji.
Namestitev paketa Za namestitev paketa uporabite pip.
pip namestite pyttsx3
Če uporabljate Windows, boste potrebovali dodaten paket pypiwin32, ki ga bo potreboval za dostop do domačega API -ja za govor Windows.
pip namestite pypiwin32
Pretvorite besedilo v govor python script Spodaj je delček kode za besedilo v govor z uporabo pyttsx3:
uvoz pyttsx3
engine = pyttsx3.init ()
engine.setProperty ('rate', 150) # Odstotek hitrosti
engine.setProperty ('volume', 0.9) # zvezek 0-1
engine.say ("Pozdravljeni, svet!")
engine.runAndWait ()
4. korak: Združite vse: ustvarjanje prepoznavanja govora s Pythonom z uporabo Googlovega API -ja za prepoznavanje govora in knjižnice Pyttsx3
Spodnja koda je odgovorna za prepoznavanje človeškega govora z Google Prepoznavanjem govora in pretvorbo besedila v govor s knjižnico pyttsx3.
uvoz govora_prepoznavanje kot sr
uvoz pyttsx3 engine = pyttsx3.init () engine.setProperty ('rate', 200) engine.setProperty ('volume', 0.9) r = sr. Recognizer () govor = sr. Mikrofon (device_index = 1) z govorom kot virom: audio = r.adjust_for_ambient_noise (vir) audio = r.listen (vir) poskus: priznanje = r.recognize_google (zvok, jezik = 'en-ZDA') print ("Rekel si:" + prepoznati) engine.say (" Rekli ste: " + prepoznati" engine.runAndWait () razen sr. UnknownValueError: engine.say ("Google Prepoznavanje govora ne more razumeti zvoka") engine.runAndWait () razen sr. RequestError kot e: engine.say ("Ne morem zahtevajte rezultate od Googlove storitve za prepoznavanje govora; {0} ". format (e)) engine.runAndWait ()
Natisne izhod na terminalu. Prav tako se bo pretvoril v govor.
Rekli ste: London je glavno mesto Velike Britanije
Upam, da ste zdaj bolje razumeli, kako prepoznavanje govora deluje na splošno in kar je najpomembneje, kako to implementirati z Googlovim API -jem za prepoznavanje govora s Pythonom.
Če imate kakršna koli vprašanja ali povratne informacije? Spodaj pustite komentar. Ostani na vezi!