En esta parte, voy a compartir con ustedes un pequeño programa para crear un convertidor de voz a texto en python usando el módulo Speech Recognition de Google.
A continuación el código:
1 2 3 4 5 6 7 8 9 10 11 12 13 | import speech_recognition as sr r = sr.Recognizer() with sr.Microphone() as source: print('Speak Anything : ') audio = r.listen(source) try: text = r.recognize_google(audio) print('You said: {}'.format(text)) except: print('Sorry could not hear') |
Explicación:
- Línea 1: Realizamos el import de speech_recognition como sr
- Línea 3: Asignamos el objeto Recognizer a r
- Línea 5 a 7: Utilizamos el objeto Microphone para escuchar el audio
- Línea 9 a 13: Utilizamos el bloque try-catch para convertir el audio en texto.
Consideraciones:
A fin de que este pequeño bloque de código funcione, se debe considerar lo siguiente:
- Se debe instalar SpeechRecognition, es en base a esta librería que se utilizar el import de speech_recognition
- La librería SpeechRecognition utiliza PyAudio para obtener la información del microfono, por lo cual también debe tener instalada esta librería.
- Al instalar la librería de PyAudio inicialmente se presento un error:
- error: Setup script exited with error: command ‘x86_64-linux-gnu-gcc’ failed with exit status 1
- En mi caso, la solución la encontre en setup-script-exited-with-error en stackoverflow.
- Considerar la versión de Python que estan utilizando, en mi caso, sirvio el siguiente comendo: $ sudo apt-get install python3.7-dev
- Este código fuente es un extracto de otra más completo microphone_recognition.py.
- Finalmente, el programa funciona, lo probe en varias ocasiones, la mayoría de veces me dío en texto lo que había ingresado en el micrófono, pero en ocasiones omitio palabras o presento palabras distintas.
Este artículo se encuentra basado en Simple Speech to Text Converter Using Speech Recognization in Python, más las consideraciones son propias del resultado de la ejecución del código por mi parte.
Si tienen dudas o consultas al ejecutar este bloque de código, no duden en escribirnos.
Conversor simple de voz a texto usando SpeechRecognition de Python
Si yo pongo ese codigo va a convertir texto en culaquier idioma o solo en ingles?. Y si es solo ingles, como hago para pasarlo a español?
El código por defecto da las respuesta en inglés, de acuerdo a la documentación, la librería de SpeechRecognition en su versión 3.2.0 soporta además Francés y Chino Mandarín ( https://pypi.org/project/SpeechRecognition/3.2.0/ ). Si deseas utilizar español, se podrían utilizar otros servicios, por mencionar uno Amazon Transcribe (https://aws.amazon.com/es/transcribe/).
?como haces para lo que dictas se copie por ejemplo en un word? …. osea, no solo en el programa python sino que al estar abierto cualquier editor de texto se copie lo que digo ahi.
Gracias.
Saludos.
En ese caso, tendrías que hacer que tu programa guarde el texto en un documento en word, una vez tengas el texto, las posibilidades son ilimitadas.
hola, como estas? consulta, como podría hacer que ponga puntos o comas según corresponda en el texto?
Que opción tengo para identificar múltiples oradores en un.mismo archivo de audio
Alguna alguna de que por ejemplo sea un audio en idioma x y que en automático se escuche en otro idioma? y que salgan subtítulos en el idioma que seleccione la persona?