¡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
Leer Más
Curso de Python Básico Gratis
Leer Más
Sistemas Expertos: ¿Qué son y para qué sirven?
Leer Más
La Historia de la Inteligencia Artificial contada en Años
Leer Más
¿Qué es el meta-aprendizaje?
Leer Más