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, Novembar
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 fraze u govornom jeziku i pretvori ih u tekst koji se može čitati. Koristi se u nekoliko aplikacija kao što su sistemi glasovnog asistenta, kućna automatizacija, glasovni chatboti, roboti u interakciji s glasom, umjetna inteligencija itd.

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

  • CMU Sphinx
  • Google 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 Google biblioteku za prepoznavanje govora na Pythonu uz pomoć vanjskog mikrofona poput ReSpeaker USB 4-Mic Array iz Seeed Studija. Iako nije obavezno koristiti vanjski mikrofon, čak se može koristiti i ugrađeni mikrofon prijenosnog računala.

Korak 1: Ponovni zvučnik USB 4-mikrofonski niz

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 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. ReSpeaker USB mikrofon podržava Linux, macOS i Windows operativne sisteme. Detalje možete pronaći ovdje.

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

  • Korisnički vodič
  • ReSpeaker USB Mic Array
  • Kabel za mikro USB na USB

Dakle, spremni smo za početak.

Korak 2: Instalirajte potrebne biblioteke

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

Instalirajmo biblioteke:

pip3 install SpeechRecognition

Za macOS, prvo morate instalirati PortAudio sa Homebrew -om, a zatim instalirati PyAudio sa pip3:

brew install portaudio

Pokrećemo naredbu ispod da instaliramo pyaudio

pip3 instalirajte pyaudio

Za Linux možete instalirati PyAudio sa apt:

sudo apt-get install python-pyaudio python3-pyaudio

Za Windows možete instalirati PyAudio sa pipom:

pip install pyaudio

Kreirajte novu python datoteku

nano get_index.py

Zalijepite na get_index.py ispod isječka koda:

import 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 ('maxIn. '))> 0: print ("ID ulaznog uređaja", i, " -", p.get_device_info_by_host_api_device_index (0, i).get (' ime '))

Pokrenite sljedeću naredbu:

python3 get_index.py

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

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

Ulazni ID uređaja 2 - MacBook Air mikrofon

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

uvozi govor_prepoznavanje kao sr

r = sr. = 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 Niz mikrofona biti glavni izvor.

Korak 3: Pretvaranje teksta u govor u Pythonu sa 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.

Instalirajte paket Za instaliranje paketa koristite pip.

pip install pyttsx3

Ako koristite Windows, bit će vam potreban dodatni paket, pypiwin32 koji će mu trebati za pristup izvornom Windows API -ju za govor.

pip install pypiwin32

Pretvorite tekst u govor python skripta Niže je isječak koda za tekst u govor pomoću pyttsx3:

import pyttsx3

engine = pyttsx3.init ()

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

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

engine.say ("Zdravo, svijete!")

engine.runAndWait ()

Korak 4: Sve zajedno: Izgradnja prepoznavanja govora pomoću Pythona pomoću Google API -ja za prepoznavanje govora i biblioteke Pyttsx3

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

uvozi govor_prepoznavanje kao sr

import pyttsx3 engine = pyttsx3.init () engine.setProperty ('rate', 200) engine.setProperty ('volume', 0.9) r = sr. Recognizer () govor = sr. Mikrofon (device_index = 1) sa 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 ()

Štampa izlaz na terminalu. Takođe će se pretvoriti u govor.

Rekli ste: London je glavni grad Velike Britanije

Nadam se da ste sada bolje razumjeli kako prepoznavanje govora funkcionira općenito 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 s nama!

Preporučuje se: