Reconocimiento de voz con Python y la librería SpeechRecognition

¡Hola a todos! Si estás buscando cómo implementar un programa para reconocimiento de voz en python, estas en el sitio indicado. En este tutorial, te mostraremos cómo usar la librería SpeechRecognition de Python para crear tu propio programa de reconocimiento de voz.

¿Qué es la librería SpeechRecognition?

La librería SpeechRecognition es una herramienta de Python que te permite reconocer la voz humana a través del micrófono o de un archivo de audio y convertir ese sonido en texto legible para la computadora.

Instalación de la librería SpeechRecognition

Para instalar la librería SpeechRecognition en tu computadora, simplemente abre la terminal de comandos de tu sistema operativo y escribe el siguiente comando:


  pip install SpeechRecognition
  

Comenzando con el código

Una vez que tengas la librería instalada en tu computadora, puedes comenzar a trabajar en tu programa. El primer paso es importar la librería SpeechRecognition. Para hacerlo, simplemente escribe la siguiente línea:


  import speech_recognition as sr
  

Así de fácil, ya tienes la librería SpeechRecognition importada en tu programa de Python.

Reconocer la voz desde el micrófono

Lo primero que vamos a enseñarte es cómo usar SpeechRecognition para reconocer la voz desde el micrófono de tu computadora. El código necesario para hacer esto es bastante simple:


  r = sr.Recognizer()

  with sr.Microphone() as source:

     print("Di algo: ")

     audio = r.listen(source)

  try:
     text = r.recognize_google(audio, language='es-ES')
     print("Has dicho: " + text)
  except:
     print("Lo siento, no te he entendido")
  

El código anterior crea una instancia del objeto Recognizer de la librería SpeechRecognition, establece el micrófono como fuente de audio y espera a que el usuario hable. Una vez que el usuario haya hablado, el audio se convierte en texto utilizando la función recognize_google de la librería, que utiliza el servicio de reconocimiento de voz de Google. Si el reconocimiento es exitoso, el programa imprimirá el texto reconocido. Si no es así, el programa imprimirá el mensaje de error.

Reconocer la voz a partir de un archivo de audio

Además de reconocer la voz desde el micrófono de tu computadora, SpeechRecognition también te permite extraer texto de archivos de audio. El siguiente código muestra cómo reconocer la voz a partir de un archivo de audio:


  import os
  from pydub import AudioSegment

  sound = AudioSegment.from_mp3("archivo.mp3")

  sound.export("temp.wav", format="wav")

  r = sr.Recognizer()

  with sr.AudioFile('temp.wav') as source:
      audio = r.record(source)

  try:
      text = r.recognize_google(audio, language='es-ES')
      print("n El texto generado para el archivo es: n"+ text)
  except:
      print("Lo siento, no he podido reconocer la voz del archivo")
  os.remove('temp.wav')

Este código importa la librería os y la librería pydub para manejar el archivo de audio. Luego, carga el archivo mp3 y lo convierte a un archivo wav, ya que SpeechRecognition solo admite archivos wav. Una vez que se convierte el archivo, se crea una instancia de AudioFile y se llama a la función record de Recognizer. Si el reconocimiento es exitoso, el programa imprimirá el texto del archivo.

Reconocimiento con configuraciones previas.

SpeechRecognition incluye varias herramientas de configuración previa que permiten ajustar el reconocimiento de voz para mejorar los resultados de reconocimiento. Una de estas herramientas es la capacidad de ajustar la vanilidad del reconocedor con la función energy_threshold () de la clase Recognizer:


  r = sr.Recognizer()

  with sr.Microphone() as source:

     r.adjust_for_ambient_noise(source)

     print("Di algo: ")

     audio = r.listen(source)

  try:
     text = r.recognize_google(audio, language='es-ES')
     print("Has dicho: " + text)
  except:
     print("Lo siento, no te he entendido")
  

Este código establece la fuente de audio como el micrófono, ajusta la vanilidad del reconocedor para adaptarse al nivel de ruido de fondo y espera a que el usuario hable. Una vez que el usuario ha hablado, el audio se convierte en texto utilizando la función recognize_google(). Si el reconocimiento es exitoso, el programa imprimirá el texto reconocido. Si no es así, el programa imprimirá el mensaje de error.

Otras Funciones útiles que podrás necesitar:


  r = sr.Recognizer()

  #Para identificar micrófonos adjuntos al equipo
  device_list = sr.Microphone.list_microphone_names()
  for i,microphone_name in enumerate(device_list):
    print(f"Microfono {i} -> {microphone_name}")

  #Cargar archivos
  audio_file = sr.AudioFile('mi_audio.wav')
  with audio_file as source:
      audio = r.record(audio_file)

  #Recortar audio
  cropped_audio = audio_file[:5000]


  

Como ves, SpeechRecognition es una herramienta potente y útil para reconocer la voz humana en Python. Con esta librería, puedes crear aplicaciones que permitan a los usuarios interactuar con tu programa a través de comandos de voz. Esperamos que este tutorial haya sido útil y que te ayude a comenzar a crear tus propias aplicaciones de reconocimiento de voz.Gracias por leer este tutorial. Si quieres saber más sobre la librería SpeechRecognition, te recomendamos visitar la documentación oficial en https://pypi.org/project/SpeechRecognition/

No te pierdas los últimos artículos:

Web Scraping con Python y BeautifulSoup para Principiantes

Web Scraping con Python y BeautifulSoup para Principiantes

Bienvenido a esta guía sobre Web Scraping con Python y BeautifulSoup, diseñada especialmente para principiantes. Si estás buscando aprender a extraer datos de sitios web de manera eficiente, seguro que ...
Leer Más
Curso de Python Básico Gratis

Curso de Python Básico Gratis

Módulo 1: Introducción a Python Nuestra meta principal es que, al final de este curso, tengas una sólida comprensión de los fundamentos de Python y estés listo para crear tus ...
Leer Más
Sistemas Expertos: ¿Qué son y para qué sirven?

Sistemas Expertos: ¿Qué son y para qué sirven?

Los sistemas expertos representan una rama fascinante de la inteligencia artificial, diseñada para emular la toma de decisiones de un humano experto en un campo particular. Estas herramientas avanzadas combinan ...
Leer Más
La Historia de la Inteligencia Artificial contada en Años

La Historia de la Inteligencia Artificial contada en Años

¿Cómo comenzó todo? Echemos un ojo a la historia de la IA a lo largo del tiempo. Desde 1950 hasta 2024. El artículo es largo, usa la tabla de contenidos ...
Leer Más
¿Qué es el meta-aprendizaje?

¿Qué es el meta-aprendizaje?

El mundo de la Inteligencia Artificial (IA) está en constante evolución, y una de las áreas más intrigantes y prometedoras es el metaaprendizaje. Pero, ¿qué es exactamente el metaaprendizaje y ...
Leer Más