Kazalo:

Prepoznavanje govora z uporabo Google Speech API in Python: 4 koraki
Prepoznavanje govora z uporabo Google Speech API in Python: 4 koraki

Video: Prepoznavanje govora z uporabo Google Speech API in Python: 4 koraki

Video: Prepoznavanje govora z uporabo Google Speech API in Python: 4 koraki
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Julij
Anonim
Prepoznavanje govora z uporabo Google Speech API in Python
Prepoznavanje govora z uporabo Google Speech API in Python

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 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 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!

Priporočena: