INHOUDSOPGAWE:

Spraakherkenning met behulp van Google Speich API en Python: 4 stappe
Spraakherkenning met behulp van Google Speich API en Python: 4 stappe

Video: Spraakherkenning met behulp van Google Speich API en Python: 4 stappe

Video: Spraakherkenning met behulp van Google Speich API en Python: 4 stappe
Video: Learning with Google 2021 2024, Desember
Anonim
Spraakherkenning met behulp van Google Speich API en Python
Spraakherkenning met behulp van Google Speich API en Python

Spraakherkenning

Spraakherkenning is 'n deel van Natural Language Processing, wat 'n subveld van kunsmatige intelligensie is. Om dit eenvoudig te stel, spraakherkenning is die vermoë van 'n rekenaarprogrammatuur om woorde en frases in gesproke taal te identifiseer en om te skakel in menslike leesbare teks. Dit word gebruik in verskillende toepassings, soos stemassistentstelsels, tuisautomatisering, stemgebaseerde chatbots, stem -interaksie -robot, kunsmatige intelligensie, ens.

Daar is verskillende API's (Application Programming Interface) om spraak te herken. Hulle bied gratis of betaalde dienste aan. Hierdie is:

  • CMU Sfinx
  • Spraakherkenning deur Google
  • Google Cloud Speech API
  • Wit.ai
  • Microsoft Bing -stemherkenning
  • Houndify API
  • IBM spraak tot teks
  • Snowboy Hotword Detection

Ons sal Google spraakherkenning hier gebruik, aangesien dit geen API -sleutel benodig nie. Hierdie handleiding is daarop gemik om 'n inleiding te gee oor hoe u die Google Speech Recognition-biblioteek op Python kan gebruik met behulp van 'n eksterne mikrofoon, soos ReSpeaker USB 4-Mic Array van Seeed Studio. Alhoewel dit nie verpligtend is om 'n eksterne mikrofoon te gebruik nie, kan selfs 'n ingeboude mikrofoon van 'n skootrekenaar gebruik word.

Stap 1: 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

Die ReSpeaker USB Mic is 'n viermikrofoon-toestel wat ontwerp is vir AI- en spraaktoepassings, wat deur Seeed Studio ontwikkel is. Dit het 4 hoëprestasie, ingeboude omnidirectionele mikrofone wat ontwerp is om u stem vanaf enige plek in die kamer op te neem en 12 programmeerbare RGB LED-aanwysers. Die ReSpeaker USB -mikrofoon ondersteun Linux-, macOS- en Windows -bedryfstelsels. Besonderhede kan hier gevind word.

Die ReSpeaker USB Mic kom in 'n mooi pakket met die volgende items:

  • 'N Gebruikersgids
  • ReSpeaker USB -mikrofoonreeks
  • Mikro -USB na USB -kabel

Ons is dus gereed om te begin.

Stap 2: Installeer vereiste biblioteke

Vir hierdie tutoriaal neem ek aan dat u Python 3.x gebruik.

Kom ons installeer die biblioteke:

pip3 installeer SpeechRecognition

Vir macOS moet u eers PortAudio met Homebrew installeer en dan PyAudio met pip3 installeer:

brou installeer portaudio

Ons loop onder die opdrag om pyaudio te installeer

pip3 installeer pyaudio

Vir Linux kan u PyAudio installeer met apt:

sudo apt-get install python-pyaudio python3-pyaudio

Vir Windows kan u PyAudio met pip installeer:

pip installeer pyaudio

Skep 'n nuwe python -lêer

nano get_index.py

Plak op get_index.py onder die kodefragment:

invoer pyaudio

p = pyaudio. PyAudio () info = p.get_host_api_info_by_index (0) numdevices = info.get ('deviceCount') vir i in range (0, numdevices): if (p.get_device_info_by_host_api_device_index (0, i). '))> 0: druk ("Invoertoestel -ID", i, " -", p.get_device_info_by_host_api_device_index (0, i).get (' naam '))

Voer die volgende opdrag uit:

python3 get_index.py

In my geval gee die opdrag die volgende uitvoer na die skerm:

Invoertoestel -ID 1 - ReSpeaker 4 Mic Array (UAC1.0)

Invoertoestel -ID 2 - MacBook Air -mikrofoon

Verander device_index na indeksnommer volgens u keuse in die onderstaande kodefragment.

voer spraakherkenning in as sr

r = sr. Recognizer () speech = sr. Microphone (device_index = 1) met toespraak as bron: druk ("sê iets! …") audio = r.adjust_for_ambient_noise (bron) audio = r.listen (bron) probeer: herhaal = r.recognize_google (klank, taal = 'en-US') druk ("U het gesê:" + herken) behalwe sr. UnknownValueError: print ("Google spraakherkenning kon nie klank verstaan nie") behalwe sr. RequestError as e: print ("Kon nie resultate van Google Spraakherkenningsdiens aanvra nie; {0}". Formaat (e))

Toestelindeks is 1 gekies as gevolg van ReSpeaker 4 Mic Array sal die hoofbron wees.

Stap 3: Teks-na-spraak in Python With Pyttsx3 Library

Daar is verskeie API's beskikbaar om teks na spraak in python om te skakel. Een van sulke API's is die pyttsx3, wat na my mening die beste teks-na-spraak pakket is. Hierdie pakket werk in Windows, Mac en Linux. Gaan die amptelike dokumentasie na om te sien hoe dit gedoen word.

Installeer die pakket Gebruik die pip om die pakket te installeer.

pip installeer pyttsx3

As u in Windows is, benodig u 'n ekstra pakket, pypiwin32, wat u benodig om toegang te verkry tot die inheemse Windows -spraak -API.

pip installeer pypiwin32

Skakel teks na spraak python script Hieronder is die kodefragment vir teks na spraak met behulp van pyttsx3:

voer pyttsx3 in

enjin = pyttsx3.init ()

engine.setProperty ('koers', 150) # Spoedpersentasie

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

engine.say ("Hallo, wêreld!")

engine.runAndWait ()

Stap 4: Alles saamvoeg: Spraakherkenning bou met Python met behulp van Google Speech Recognition API en Pyttsx3 Library

Die onderstaande kode is verantwoordelik vir die herkenning van menslike spraak met behulp van Google spraakherkenning en die omskakeling van die teks in spraak met behulp van die pyttsx3 -biblioteek.

voer spraakherkenning in as sr

invoer pyttsx3 engine = pyttsx3.init () engine.setProperty ('rate', 200) engine.setProperty ('volume', 0.9) r = sr. Recognizer () speech = sr. Microphone (device_index = 1) met spraak as bron: audio = r.adjust_for_ambient_noise (bron) audio = r.listen (bron) probeer: recog = r.recognize_google (klank, taal = 'en-US') druk ("Jy het gesê:" + herken) engine.say (" U het gesê: " + herken) engine.runAndWait () behalwe sr. UnknownValueError: engine.say (" Google spraakherkenning kon nie klank verstaan nie ") engine.runAndWait () behalwe sr. RequestError as e: engine.say (" Kon nie versoek resultate van Google Spraakherkenningsdiens; {0} ". formaat (e)) engine.runAndWait ()

Dit druk die uitvoer op die terminaal uit. Dit sal ook in spraak omskep word.

U het gesê: Londen is die hoofstad van Groot -Brittanje

Ek hoop dat u nou 'n beter begrip het van hoe spraakherkenning in die algemeen werk, en die belangrikste is hoe u dit kan implementeer met behulp van Google Speech Recognition API met Python.

As u enige vrae of terugvoer het? Gee 'n opmerking hieronder. Bly ingeskakel!

Aanbeveel: