Taula de continguts:

Reconeixement de veu mitjançant l'API de Google Speech i Python: 4 passos
Reconeixement de veu mitjançant l'API de Google Speech i Python: 4 passos

Vídeo: Reconeixement de veu mitjançant l'API de Google Speech i Python: 4 passos

Vídeo: Reconeixement de veu mitjançant l'API de Google Speech i Python: 4 passos
Vídeo: 3000+ Common Spanish Words with Pronunciation 2024, De novembre
Anonim
Reconeixement de veu mitjançant l'API de Google Speech i Python
Reconeixement de veu mitjançant l'API de Google Speech i Python

Reconeixement de veu

El reconeixement de la parla és una part del processament del llenguatge natural que és un subcamp de la intel·ligència artificial. Per dir-ho d’una manera senzilla, el reconeixement de veu és la capacitat d’un programari informàtic per identificar paraules i frases en llenguatge parlat i convertir-les en text llegible per humans. S'utilitza en diverses aplicacions com ara sistemes d'assistent de veu, domòtica, chatbots basats en la veu, robot d'interacció amb veu, intel·ligència artificial, etc.

Hi ha diferents API (Application Programming Interface) per reconèixer la veu. Ofereixen serveis gratuïts o de pagament. Aquests són:

  • CMU Esfinx
  • Reconeixement de veu de Google
  • API de Google Cloud Speech
  • Wit.ai
  • Reconeixement de veu de Microsoft Bing
  • API Houndify
  • IBM Speech To Text
  • Snowboy Hotword Detection

Utilitzarem el reconeixement de veu de Google aquí, ja que no requereix cap clau d'API. Aquest tutorial té com a objectiu proporcionar una introducció sobre com utilitzar la biblioteca de reconeixement de veu de Google a Python amb l'ajut de micròfons externs com ReSpeaker USB 4-Mic Array de Seeed Studio. Tot i que no és obligatori fer servir un micròfon extern, fins i tot es pot utilitzar un micròfon incorporat per a un portàtil.

Pas 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

El ReSpeaker USB Mic és un dispositiu de quatre micròfons dissenyat per a aplicacions d’intel·ligència artificial i de veu, desenvolupat per Seeed Studio. Té 4 micròfons omnidireccionals integrats d’alt rendiment dissenyats per captar la veu des de qualsevol lloc de la sala i 12 indicadors LED RGB programables. El micro USB ReSpeaker admet sistemes operatius Linux, macOS i Windows. Els detalls es poden trobar aquí.

El micròfon USB ReSpeaker ve en un bon paquet que conté els elements següents:

  • Una guia de l'usuari
  • ReSpeaker USB Mic Array
  • Cable micro USB a USB

Així que estem preparats per començar.

Pas 2: instal·leu les biblioteques necessàries

Per a aquest tutorial, suposo que utilitzeu Python 3.x.

Instal·lem les biblioteques:

pip3 instal·la SpeechRecognition

Per a macOS, primer haureu d’instal·lar PortAudio amb Homebrew i després instal·lar PyAudio amb pip3:

brew install portaudio

Executem l'ordre següent per instal·lar pyaudio

pip3 instal·la pyaudio

Per a Linux, podeu instal·lar PyAudio amb apt:

sudo apt-get install python-pyaudio python3-pyaudio

Per a Windows, podeu instal·lar PyAudio amb pip:

pip instal·lar pyaudio

Creeu un fitxer python nou

nano get_index.py

Enganxeu get_index.py a sota del fragment de codi:

importa pyaudio

p = pyaudio. PyAudio () info = p.get_host_api_info_by_index (0) numdevices = info.get ('deviceCount') for i in range (0, numdevices): if (p.get_device_info_by_host_api_device_index (0, i).get ('maxInput '))> 0: print ("Identificador de dispositiu d'entrada", i, "-", p.get_device_info_by_host_api_device_index (0, i).get (' name '))

Executeu l'ordre següent:

python3 get_index.py

En el meu cas, l'ordre dóna la següent sortida a la pantalla:

Identificador de dispositiu d'entrada 1: matriu ReSpeaker 4 Mic (UAC1.0)

Identificador de dispositiu d'entrada 2: micròfon MacBook Air

Canvieu device_index per número d’índex segons el que vulgueu a sota del fragment de codi.

importar reconeixement de veu com a sr

r = sr. Recognizer () speech = sr. Microphone (device_index = 1) with speech as source: print ("say something! …") audio = r.adjust_for_ambient_noise (source) audio = r.listen (source) try: recog = r.recognize_google (audio, language = 'ca-US') print ("Heu dit:" + recog) excepte sr. UnknownValueError: print ("El reconeixement de veu de Google no ha pogut entendre l'àudio") excepte sr. RequestError com a e: print ("No s'han pogut sol·licitar resultats al servei de reconeixement de veu de Google; {0}". Format (e))

Es va triar l'índex del dispositiu 1 perquè ReSpeaker 4 Mic Array serà la font principal.

Pas 3: Text a veu a Python amb la biblioteca Pyttsx3

Hi ha diverses API disponibles per convertir text a veu en python. Una d’aquestes API és el pyttsx3, que al meu entendre és el millor paquet de text a veu disponible. Aquest paquet funciona a Windows, Mac i Linux. Consulteu la documentació oficial per veure com es fa.

Instal·leu el paquet Utilitzeu pip per instal·lar el paquet.

pip instal·la pyttsx3

Si sou a Windows, necessitareu un paquet addicional, pypiwin32, al qual necessitarà per accedir a l'API de veu nativa de Windows.

pip instal·la pypiwin32

A continuació, es converteix el fragment de codi del text en veu mitjançant pyttsx3:

importació de pyttsx3

motor = pyttsx3.init ()

engine.setProperty ("taxa", 150) # Percentatge de velocitat

engine.setProperty ("volum", 0,9) # Volum 0-1

engine.say ("Hola, món!")

engine.runAndWait ()

Pas 4: unir-ho tot: crear reconeixement de veu amb Python mitjançant l'API de reconeixement de veu de Google i la biblioteca Pyttsx3

El codi següent s’encarrega de reconèixer la parla humana mitjançant Google Speech Recognition i de convertir el text en veu mitjançant la biblioteca pyttsx3.

importa reconeixement de veu com a sr

import pyttsx3 engine = pyttsx3.init () engine.setProperty ('rate', 200) engine.setProperty ('volume', 0.9) r = sr. Recognizer () speech = sr. Microphone (device_index = 1) with speech as source: audio = r.adjust_for_ambient_noise (source) audio = r.listen (source) try: recog = r.recognize_google (audio, language = 'en-US') print ("Has dit:" + recog) engine.say (" Heu dit: "+ recog) engine.runAndWait () excepte sr. UnknownValueError: engine.say (" El reconeixement de veu de Google no ha pogut entendre l'àudio ") engine.runAndWait () excepte sr. RequestError com a e: engine.say (" No s'ha pogut sol·liciteu resultats al servei de reconeixement de veu de Google; {0} ". format (e)) engine.runAndWait ()

Imprimeix la sortida al terminal. A més, també es convertirà en parla.

Vostè va dir: Londres és la capital de Gran Bretanya

Espero que tingueu una millor comprensió de com funciona el reconeixement de veu en general i, sobretot, de com implementar-lo mitjançant l'API de reconeixement de veu de Google amb Python.

Si teniu cap pregunta o comentari? Deixa un comentari a continuació. Estigueu atents!

Recomanat: