El reconocimiento de voz es una característica importante en varias aplicaciones utilizadas, como la automatización del hogar, la inteligencia artificial, etc. Este artículo tiene como objetivo proporcionar una introducción sobre cómo utilizar la biblioteca SpeechRecognition y pyttsx3 de Python.
Instalación requerida:
- Módulo de reconocimiento de voz de Python:
pip install speechrecognition
- PyAudio: use el siguiente comando para usuarios de Linux
sudo apt-get install python3-pyaudio
- Los usuarios de Windows pueden instalar pyaudio ejecutando el siguiente comando en una terminal
pip install pyaudio
- Módulo Python pyttsx3:
pip install pyttsx3
Entrada de voz usando un micrófono y traducción de voz a texto
- Permitir ajuste por ruido ambiental: dado que el ruido ambiental varía, debemos permitir que el programa ajuste el umbral de energía de grabación por un segundo o más para que se ajuste de acuerdo con el nivel de ruido externo.
- Traducción de voz a texto: Esto se hace con la ayuda de Google Speech Recognition. Esto requiere una conexión a Internet activa para funcionar. Sin embargo, hay ciertos sistemas de Reconocimiento fuera de línea como PocketSphinx, pero tienen un proceso de instalación muy riguroso que requiere varias dependencias. El reconocimiento de voz de Google es uno de los más fáciles de usar.
Traducción de voz a texto:
Primero, necesitamos importar la biblioteca y luego inicializarla usando la función init(). Esta función puede tomar 2 argumentos.
init(driverName string, debug bool)
- drivername: [Nombre del controlador disponible] sapi5 en Windows | nsss en macOS
- depuración: para habilitar o deshabilitar la salida de depuración
Después de la inicialización, haremos que el programa hable el texto usando la función say().
Este método también puede tomar 2 argumentos.
say(text unicode, name string)
- texto: Cualquier texto que desee escuchar.
- nombre: Para establecer un nombre para este discurso. (opcional)
Finalmente, para ejecutar el discurso usamos runAndWait() Todos los textos de say() no se dirán a menos que el intérprete encuentre runAndWait().
A continuación se muestra la implementación.
Python
# Python program to translate # speech to text and text to speech import speech_recognition as sr import pyttsx3 # Initialize the recognizer r = sr.Recognizer() # Function to convert text to # speech def SpeakText(command): # Initialize the engine engine = pyttsx3.init() engine.say(command) engine.runAndWait() # Loop infinitely for user to # speak while(1): # Exception handling to handle # exceptions at the runtime try: # use the microphone as source for input. with sr.Microphone() as source2: # wait for a second to let the recognizer # adjust the energy threshold based on # the surrounding noise level r.adjust_for_ambient_noise(source2, duration=0.2) #listens for the user's input audio2 = r.listen(source2) # Using google to recognize audio MyText = r.recognize_google(audio2) MyText = MyText.lower() print("Did you say "+MyText) SpeakText(MyText) except sr.RequestError as e: print("Could not request results; {0}".format(e)) except sr.UnknownValueError: print("unknown error occured")
Input: voice speech (Hi buddy how are you) Output: Did you say hi buddy how are you
Publicación traducida automáticamente
Artículo escrito por hameedkunkanoor y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA