El principal medio de comunicación de los seres vivos es a través de los sonidos, dicho sea de paso, la voz es el medio base de la comunicación humana.
A su vez, el ser humano debe poder comunicarse con los equipos electrónicos y de cómputo, con ello se usan los botones, pantallas de visualización, teclados, mouse, etc.
Pero pueden existir situaciones donde sea más rápido y factible entablar una comunicación verbal para dictar órdenes a una computadora o sistema.
Es mucho más sencillo darle la orden de voz a una computadora, por ejemplo, de buscar en Google “Busca recetas de cocina” que tener que abrir el navegador y teclear el comando de búsqueda.
La tecnología de reconocimiento o detección de voz es la encargada de leer datos de audio e identificar frases humanas en ellas, para después convertirlas en texto y comandos leíbles para una computadora.
Diversos sistemas de asistentes virtuales hacen uso de esta tecnología para entender las ordenes que les damos.
Lejano a lo que podrías imaginar, este tipo de tecnología es fácil de implementar en Python, y aquí te decimos como.
Instalación
Primero debemos instalar el módulo de reconocimiento de voz de Python, usando el siguiente comando:
pip install speechrecognition
También debemos instalar otro par de bibliotecas más, encargadas del proceso de escucha del audio:
pip install pyaudio
pip install pyttsx3
Código
A continuación, te presentamos el código completo para convertir voz a texto, incluso a viceversa.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | import speech_recognition as sr import pyttsx3 r = sr.Recognizer() def SpeakText(command): # Inicializamos el proceso de salida de texto a voz engine = pyttsx3.init() engine.say(command) engine.runAndWait() # En este ciclo esperaremos la entrada de audio a convertir while (1): # Añadimos un try-except en caso de surgir errores try: # Usamos el microfono para recuperar voz with sr.Microphone() as source2: # Obtenemos el audio r.adjust_for_ambient_noise(source2, duration=0.2) audio2 = r.listen(source2) # Ahora, usamos speech_recognition para convertir el audio a texto MyText = r.recognize_google(audio2) MyText = MyText.lower() print("Intentaste decir: " + MyText) # Podemos convertir el texto a voz de nueva cuenta. SpeakText(MyText) except sr.RequestError as e: print("No existen resultados; {0}".format(e)) except sr.UnknownValueError: print("Error desconocido") |
Sigue a Facialix en todas sus redes sociales:
- Udemy Gratis: Curso de conceptos básicos de Git y GitHub - 22 abril, 2021
- Udemy Gratis: Curso básico de MongoDB - 22 abril, 2021
- Cupón Udemy: Curso de certificación para HTML, JavaScript y Bootstrap con 100% de descuento - 22 abril, 2021