Tabla de contenido:

Reconocimiento de voz con la API de Google Speech y Python: 4 pasos
Reconocimiento de voz con la API de Google Speech y Python: 4 pasos

Video: Reconocimiento de voz con la API de Google Speech y Python: 4 pasos

Video: Reconocimiento de voz con la API de Google Speech y Python: 4 pasos
Video: Conversión de voz a texto con la API de Google Cloud Speech | Google Cloud Platform 2024, Noviembre
Anonim
Reconocimiento de voz mediante la API de Google Speech y Python
Reconocimiento de voz mediante la API de Google Speech y Python

Reconocimiento de voz

El reconocimiento de voz es parte del procesamiento del lenguaje natural, que es un subcampo de la inteligencia artificial. En pocas palabras, el reconocimiento de voz es la capacidad de un software de computadora para identificar palabras y frases en el lenguaje hablado y convertirlas en texto legible por humanos. Se utiliza en varias aplicaciones, como sistemas de asistente de voz, automatización del hogar, chatbots basados en voz, robot de interacción de voz, inteligencia artificial, etc.

Existen diferentes API (Interfaz de programación de aplicaciones) para reconocer el habla. Ofrecen servicios gratuitos o de pago. Estos son:

  • Esfinge de CMU
  • Reconocimiento de voz de Google
  • API de Google Cloud Speech
  • Wit.ai
  • Reconocimiento de voz de Microsoft Bing
  • API de Houndify
  • IBM Speech To Text
  • Detección de palabras clave de Snowboy

Usaremos el reconocimiento de voz de Google aquí, ya que no requiere ninguna clave API. Este tutorial tiene como objetivo proporcionar una introducción sobre cómo usar la biblioteca de reconocimiento de voz de Google en Python con la ayuda de un micrófono externo como ReSpeaker USB 4-Mic Array de Seeed Studio. Aunque no es obligatorio usar un micrófono externo, incluso se puede usar el micrófono incorporado de la computadora portátil.

Paso 1: Matriz ReSpeaker USB de 4 micrófonos

Matriz ReSpeaker USB de 4 micrófonos
Matriz ReSpeaker USB de 4 micrófonos
Matriz ReSpeaker USB de 4 micrófonos
Matriz ReSpeaker USB de 4 micrófonos
Matriz ReSpeaker USB de 4 micrófonos
Matriz ReSpeaker USB de 4 micrófonos

El micrófono USB ReSpeaker es un dispositivo de cuatro micrófonos diseñado para aplicaciones de voz e inteligencia artificial, que fue desarrollado por Seeed Studio. Tiene 4 micrófonos omnidireccionales integrados de alto rendimiento diseñados para captar su voz desde cualquier lugar de la habitación y 12 indicadores LED RGB programables. El micrófono USB ReSpeaker es compatible con los sistemas operativos Linux, macOS y Windows. Detalles pueden ser encontrados aqui.

El micrófono USB ReSpeaker viene en un bonito paquete que contiene los siguientes elementos:

  • Una guía de usuario
  • Matriz de micrófono USB ReSpeaker
  • Cable micro USB a USB

Así que estamos listos para empezar.

Paso 2: instalar las bibliotecas necesarias

Para este tutorial, asumiré que estás usando Python 3.x.

Instalemos las bibliotecas:

pip3 instalar SpeechRecognition

Para macOS, primero deberá instalar PortAudio con Homebrew y luego instalar PyAudio con pip3:

brew instalar portaudio

Ejecutamos el siguiente comando para instalar pyaudio

pip3 instalar pyaudio

Para Linux, puede instalar PyAudio con apt:

sudo apt-get install python-pyaudio python3-pyaudio

Para Windows, puede instalar PyAudio con pip:

pip instalar pyaudio

Crea un nuevo archivo de Python

nano get_index.py

Pegue get_index.py debajo del fragmento de código:

importar pyaudio

p = pyaudio. PyAudio () info = p.get_host_api_info_by_index (0) numdevices = info.get ('deviceCount') para i en el rango (0, numdevices): if (p.get_device_info_by_host_api_device_index (0, i).get ('maxInputChannels '))> 0: print ("Id. Del dispositivo de entrada", i, "-", p.get_device_info_by_host_api_device_index (0, i).get (' nombre '))

Ejecute el siguiente comando:

python3 get_index.py

En mi caso, el comando da la siguiente salida a la pantalla:

Id. De dispositivo de entrada 1 - ReSpeaker 4 Mic Array (UAC1.0)

Id. Del dispositivo de entrada 2 - Micrófono MacBook Air

Cambie device_index al número de índice según su elección en el fragmento de código a continuación.

importar speech_recognition como sr

r = sr. Recognizer () speech = sr. Microphone (device_index = 1) con el habla como fuente: print ("¡di algo! …") audio = r.adjust_for_ambient_noise (fuente) audio = r.listen (fuente) prueba: recog = r.recognize_google (audio, language = 'en-US') print ("Dijiste:" + recog) excepto sr. UnknownValueError: print ("Google Speech Recognition no pudo entender el audio") excepto sr. RequestError como e: print ("No se pudieron solicitar los resultados del servicio de reconocimiento de voz de Google; {0}". Formato (e))

El índice de dispositivo se eligió 1 debido a que ReSpeaker 4 Mic Array será como fuente principal.

Paso 3: conversión de texto a voz en Python con la biblioteca Pyttsx3

Hay varias API disponibles para convertir texto a voz en Python. Una de esas API es pyttsx3, que, en mi opinión, es el mejor paquete de conversión de texto a voz disponible. Este paquete funciona en Windows, Mac y Linux. Consulte la documentación oficial para ver cómo se hace.

Instalar el paquete Utilice pip para instalar el paquete.

pip instalar pyttsx3

Si está en Windows, necesitará un paquete adicional, pypiwin32, que necesitará para acceder a la API de voz nativa de Windows.

pip instalar pypiwin32

Convertir texto a voz en Python Script A continuación se muestra el fragmento de código para texto a voz usando pyttsx3:

importar pyttsx3

motor = pyttsx3.init ()

engine.setProperty ('rate', 150) # Porcentaje de velocidad

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

engine.say ("¡Hola, mundo!")

engine.runAndWait ()

Paso 4: Todo junto: creación de reconocimiento de voz con Python mediante la API de reconocimiento de voz de Google y la biblioteca Pyttsx3

El siguiente código es responsable de reconocer el habla humana mediante el reconocimiento de voz de Google y de convertir el texto en voz mediante la biblioteca pyttsx3.

importar speech_recognition como sr

import pyttsx3 engine = pyttsx3.init () engine.setProperty ('rate', 200) engine.setProperty ('volume', 0.9) r = sr. Recognizer () speech = sr. Microphone (device_index = 1) con el habla como fuente: audio = r.adjust_for_ambient_noise (fuente) audio = r.listen (fuente) intente: recog = r.recognize_google (audio, language = 'en-US') print ("Usted dijo:" + recog) engine.say (" Dijo: "+ recog) engine.runAndWait () excepto sr. UnknownValueError: engine.say (" Google Speech Recognition no pudo entender el audio ") engine.runAndWait () excepto sr. RequestError como e: engine.say (" No se pudo solicitar resultados del servicio de reconocimiento de voz de Google; {0} ". formato (e)) engine.runAndWait ()

Imprime la salida en el terminal. Además, también se convertirá en habla.

Dijiste: Londres es la capital de Gran Bretaña.

Espero que ahora comprenda mejor cómo funciona el reconocimiento de voz en general y, lo que es más importante, cómo implementarlo utilizando la API de reconocimiento de voz de Google con Python.

Si tiene alguna pregunta o comentario? Deja un comentario a continuación. ¡Manténganse al tanto!

Recomendado: