Sadržaj:

Prepoznavanje govora pomoću Google Speech API -ja i Pythona: 4 koraka
Prepoznavanje govora pomoću Google Speech API -ja i Pythona: 4 koraka

Video: Prepoznavanje govora pomoću Google Speech API -ja i Pythona: 4 koraka

Video: Prepoznavanje govora pomoću Google Speech API -ja i Pythona: 4 koraka
Video: Учим ИИ чатбота слушать и говорить 2024, Studeni
Anonim
Prepoznavanje govora pomoću Google Speech API -ja i Pythona
Prepoznavanje govora pomoću Google Speech API -ja i Pythona

Prepoznavanje govora

Prepoznavanje govora dio je obrade prirodnog jezika koje je potpolje umjetne inteligencije. Jednostavno rečeno, prepoznavanje govora je sposobnost računalnog softvera da identificira riječi i izraze u govornom jeziku i pretvori ih u tekst koji se može čitati. Koristi se u nekoliko aplikacija kao što su sustavi glasovnog asistenta, kućna automatizacija, glasovni chatboti, roboti u interakciji s glasom, umjetna inteligencija itd.

Za prepoznavanje govora postoje različiti API -ji (Application Programming Interface). Oni nude besplatne ili plaćene usluge. Ovi su:

  • CMU Sfinga
  • Googleovo prepoznavanje govora
  • Google Cloud Speech API
  • Wit.ai
  • Microsoft Bing prepoznavanje glasa
  • Houndify API
  • IBM govor u tekst
  • Snowboy Hotword Detekcija

Ovdje ćemo koristiti Google prepoznavanje govora jer ne zahtijeva nikakav API ključ. Ovaj vodič ima za cilj pružiti uvod u to kako koristiti Googleovu biblioteku za prepoznavanje govora na Pythonu uz pomoć vanjskog mikrofona poput ReSpeaker USB 4-Mic Array iz Seeed Studija. Iako nije obvezno koristiti vanjski mikrofon, čak se može koristiti i ugrađeni mikrofon prijenosnog računala.

Korak 1: ReSpeaker USB 4-Mic niz

USB zvučnik 4-mikrofonski zvučnik
USB zvučnik 4-mikrofonski zvučnik
USB zvučnički 4-mikrofonski zvučnik
USB zvučnički 4-mikrofonski zvučnik
USB zvučnički 4-mikrofonski zvučnik
USB zvučnički 4-mikrofonski zvučnik

ReSpeaker USB mikrofon je četvero-mikrofonski uređaj dizajniran za AI i glasovne aplikacije, koji je razvio Seeed Studio. Ima 4 ugrađena svesmjerna mikrofona visokih performansi dizajnirana za hvatanje vašeg glasa s bilo kojeg mjesta u prostoriji i 12 programabilnih RGB LED indikatora. USB mikrofon ReSpeaker podržava operacijske sustave Linux, macOS i Windows. Pojedinosti se mogu pronaći ovdje.

ReSpeaker USB mikrofon dolazi u lijepom pakiranju koje sadrži sljedeće stavke:

  • Korisnički vodič
  • Raspored USB mikrofona
  • Kabel za mikro USB na USB

Dakle, spremni smo za početak.

Korak 2: Instalirajte potrebne knjižnice

Za ovaj vodič pretpostavljam da koristite Python 3.x.

Instalirajmo knjižnice:

pip3 instalirajte SpeechRecognition

Za macOS, prvo ćete morati instalirati PortAudio s Homebrewom, a zatim instalirati PyAudio s pip3:

brew instalirajte portaudio

Pokrećemo naredbu ispod da instaliramo pyaudio

pip3 instalirajte pyaudio

Za Linux možete instalirati PyAudio s apt:

sudo apt-get install python-pyaudio python3-pyaudio

Za Windows možete instalirati PyAudio s pipom:

pip install pyaudio

Napravite novu python datoteku

nano get_index.py

Zalijepite na get_index.py ispod isječka koda:

uvoz pyaudio

p = pyaudio. PyAudio () info = p.get_host_api_info_by_index (0) numdevices = info.get ('deviceCount') za i u rasponu (0, numdevices): if (p.get_device_info_by_host_api_device_index (0, i).get ('maxInput '))> 0: print ("ID ulaznog uređaja", i, " -", p.get_device_info_by_host_api_device_index (0, i).get (' name '))

Pokrenite sljedeću naredbu:

python3 get_index.py

U mom slučaju, naredba daje sljedeći izlaz na zaslon:

ID ulaznog uređaja 1 - niz mikrofona za ponovni zvučnik (UAC1.0)

ID ulaznog uređaja 2 - MacBook Air mikrofon

Promijenite device_index u indeksni broj prema vašem izboru u donjem isječku koda.

uvesti govor_prepoznavanje kao sr

r = sr. Recognizer () govor = sr. Mikrofon (device_index = 1) s govorom kao izvorom: ispis ("reci nešto! …") audio = r.prilagodi_za_obučnu_šumu (izvor) audio = r.slušaj (izvor) pokušaj: prepoznavanje = r.recognize_google (audio, language = 'en-US') print ("Rekli ste:" + prepoznati) osim sr. UnknownValueError: print ("Google prepoznavanje govora nije mogao razumjeti zvuk") osim sr. RequestError kao e: print ("Nije moguće zatražiti rezultate od Googleove usluge prepoznavanja govora; {0}". Format (e))

Indeks uređaja odabran je 1 jer će ReSpeaker 4 Mic Array biti glavni izvor.

Korak 3: Pretvaranje teksta u govor u Pythonu s bibliotekom Pyttsx3

Dostupno je nekoliko API -ja za pretvaranje teksta u govor u pythonu. Jedan od takvih API-ja je pyttsx3, koji je po mom mišljenju najbolji dostupni paket pretvaranja teksta u govor. Ovaj paket radi u sustavima Windows, Mac i Linux. Provjerite službenu dokumentaciju kako biste vidjeli kako se to radi.

Instaliranje paketa Za instaliranje paketa koristite pip.

pip install pyttsx3

Ako ste u sustavu Windows, trebat će vam dodatni paket, pypiwin32 koji će mu trebati za pristup izvornom Windows API -ju za govor.

pip install pypiwin32

Pretvorba teksta u govor python skripta Dolje je isječak koda za tekst u govor pomoću pyttsx3:

uvoz pyttsx3

engine = pyttsx3.init ()

engine.setProperty ('rate', 150) # Postotak brzine

engine.setProperty ('volume', 0.9) # Volumen 0-1

engine.say ("Zdravo, svijete!")

engine.runAndWait ()

Korak 4: Spajanje svega: izgradnja prepoznavanja govora s Pythonom pomoću Google API -ja za prepoznavanje govora i biblioteke Pyttsx3

Kod u nastavku odgovoran je za prepoznavanje ljudskog govora pomoću Googleovog prepoznavanja govora i pretvaranje teksta u govor pomoću biblioteke pyttsx3.

uvesti govor_prepoznavanje kao sr

uvoz pyttsx3 engine = pyttsx3.init () engine.setProperty ('rate', 200) engine.setProperty ('volumen', 0.9) r = sr. Recognizer () govor = sr. Mikrofon (device_index = 1) s govorom kao izvorom: audio = r.adjust_for_ambient_noise (izvor) audio = r.listen (izvor) pokušaj: prepoznati = r.recognize_google (audio, jezik = 'en-US') print ("Rekli ste:" + prepoznati) engine.say (" Rekli ste: " + prepoznati" engine.runAndWait () osim sr. UnknownValueError: engine.say ("Google prepoznavanje govora nije mogao razumjeti zvuk") engine.runAndWait () osim sr. RequestError kao e: engine.say ("Ne mogu zatražiti rezultate od Googleove usluge prepoznavanja govora; {0} ". format (e)) engine.runAndWait ()

Ispisuje izlaz na terminalu. Također, bit će pretvoren i u govor.

Rekli ste: London je glavni grad Velike Britanije

Nadam se da ste sada bolje razumjeli kako prepoznavanje govora općenito funkcionira i što je najvažnije, kako to implementirati pomoću Google API -ja za prepoznavanje govora s Pythonom.

Imate li pitanja ili povratnih informacija? Ostavite komentar ispod. Ostanite uz nas!

Preporučeni: