Tabla de contenido:
- Paso 1: Matriz ReSpeaker USB de 4 micrófonos
- Paso 2: instalar las bibliotecas necesarias
- Paso 3: conversión de texto a voz en Python con la biblioteca Pyttsx3
- 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
Video: Reconocimiento de voz con la API de Google Speech y Python: 4 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:41
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
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:
Reconocimiento de voz con Arduino (Bluetooth + LCD + Android): 6 pasos
Reconocimiento de voz con Arduino (Bluetooth + LCD + Android): En este proyecto, vamos a hacer un reconocimiento de voz con Arduino, módulo Bluetooth (HC-05) y LCD. construyamos tu propio dispositivo de reconocimiento de voz
Espejo mágico inteligente flotante de una computadora portátil vieja con reconocimiento de voz de Alexa: 6 pasos (con imágenes)
Espejo mágico inteligente flotante de una computadora portátil vieja con reconocimiento de voz de Alexa: Inscríbase en mi curso 'Electrónica en pocas palabras' aquí: https://www.udemy.com/electronics-in-a-nutshell/?couponCode=TINKERSPARK También consulte mi canal de youtube aquí para más proyectos y tutoriales de electrónica: https://www.youtube.com/channel/UCelOO
Cómo conectar la aplicación de Android con AWS IOT y comprender la API de reconocimiento de voz: 3 pasos
Cómo conectar la aplicación de Android con AWS IOT y comprender la API de reconocimiento de voz: este tutorial le enseña al usuario cómo conectar la aplicación de Android al servidor AWS IOT y comprender la API de reconocimiento de voz que controla una máquina de café. La aplicación controla la máquina de café a través de Alexa. Servicio de voz, cada aplicación es c
Robot guía con función de reconocimiento de voz: 7 pasos (con imágenes)
Robot guía con función de reconocimiento de voz: El robot guía es un robot móvil que hicimos para guiar a los visitantes a varios departamentos en nuestro campus universitario. Lo hicimos para decir algunas declaraciones predefinidas y avanzar y retroceder de acuerdo con la voz de entrada. En nuestra universidad tenemos t
Introducción al reconocimiento de voz con Elechouse V3 y Arduino: 4 pasos (con imágenes)
Introducción al reconocimiento de voz con Elechouse V3 y Arduino .: ¡Hola …! La tecnología de reconocimiento de voz ha estado aquí durante los últimos años. Todavía recordamos la gran emoción que tuvimos mientras hablamos con el primer iPhone habilitado para Siri. Desde entonces, los dispositivos de comando de voz han crecido a un nivel muy avanzado más allá de