Este post fue difundido como parte del Blogatón de ciencia de datos
Introducción
El habla es que el medio de comunicación más típico y además la mayoría de la población en el mundo se basa en el habla para hablar entre ellos. Un sistema de acreditación de voz traduce los idiomas hablados en texto. Hay varias muestras de la vida real de sistemas de acreditación de voz. a modo de ejemplo, Apple SIRI reconoce el discurso y lo trunca en texto. El sistema Speech-To-Text (STT) toma una emisión de voz humana como entrada y se necesita una cadena de palabras como salida. El único objetivo de este sistema es extraer, caracterizar y reconocer la información sobre el habla.
CONTENIDO
1.Diagrama de bloques del sistema
2.¿Cómo funciona el acreditación de voz?
3.Convertir un archivo de audio en texto
4. ¿Qué tal la conversión a diferentes idiomas de audio?
5.Discurso de micrófono a texto
6.aplicaciones
7. Conclusión
Diagrama de bloques del sistema
1.Modelo acústico
Para reconocer el habla, un motor de acreditación de voz utiliza el modelo acústico. Para crear un modelo acústico, necesitamos tomar grabaciones de audio del habla y sus transcripciones de texto, y usamos software para crear representaciones estadísticas de los sonidos que componen cada palabra.
2.Modelo de idioma
Un modelo de lenguaje es un archivo que incluye las probabilidades de secuencias de palabras. Usamos modelos de lenguaje para aplicaciones de dictado, mientras que las gramáticas se usan en aplicaciones de tipo de respuesta de voz interactiva (IVR) o comando y control de escritorio o telefonía.
3.Motor de voz
Un motor de voz es el corazón del sistema de acreditación de voz. Este es el software que le da a su computadora la capacidad de reproducir texto en voz hablada (comúnmente conocido como texto a voz o TTS).
¿Cómo funciona el acreditación de voz?
Procedimiento de acreditación de voz
Procedimiento de acreditación de voz Modelo de Markov oculto (HMM), los modelos de redes neuronales profundas suelen convertir el audio en texto.
HMM (HIDDEN MARKOV MODEL) es el modelo estadístico que produjo la salida como una secuencia de símbolos o cantidades. El motivo detrás del uso de los HMM como una herramienta de acreditación de voz es su capacidad para tratar el acreditación de voz como una señal estacionaria por partes o una señal estacionaria de corta duración. En una escala de tiempo corta (a modo de ejemplo, 10 milisegundos), el habla se puede aproximar como un procedimiento estacionario.
En este blog, estoy demostrando una forma de convertir voz en texto usando Python. Esto se llevará a cabo con la ayuda de la API «Acreditación de voz» y la biblioteca «PyAudio». La API de acreditación de voz admite varias API, durante este blog utilicé la API de acreditación de voz de Google.
Bibliotecas de Python
!pip install SpeechRecognition
Convertir un archivo de audio en texto
Estos son los siguientes pasos para convertir archivos de audio en texto:
Pasos:
Importar biblioteca de acreditación de voz
Inicializando la clase de reconocedor para reconocer el discurso. Estamos usando el acreditación de voz de Google.
Los archivos de audio que son compatibles con un sistema de acreditación de voz incluyen wav, AIFF, AIFF-C, FLAC. Usé el ‘wav’ para entrar en esta instancia.
Aquí usamos los clips de audio de la película ‘Taken’ que dice «No sé quién eres, no sé qué te interesaría si buscas un rescate. Puedo decirte que no tengo dinero».
De forma predeterminada, el reconocedor de Google lee en inglés.
Código
#import library import speech_recognition as sr # Initialize recognizer class (for recognizing the speech) r = sr.Recognizer() # Reading Audio file as source # listening to the audio file and store in audio_text variable with sr.AudioFile('I-dont-know.wav') as source: audio_text = r.listen(source) # if the API is unreachable, the recoginize_() method will throw a request error, hence using exception handling try: # using google speech recognition text = r.recognize_google(audio_text) print('Converting audio transcripts into text ...') print(text) except: print('Sorry.. run again...')
Producción
¿Qué tal la conversión a diferentes idiomas de audio?
El inglés es uno de los idiomas más comunes. Pero, ¿qué pasa si queremos convertir de diferentes idiomas como, alemán y francés? Desde este sistema Speech-To-Text (STT), puede convertir su voz de cualquier idioma a texto. Vamos a ver como
A modo de ejemplo, si queremos leer un archivo de audio en francés, entonces necesitamos agregar una opción de idioma en recogonize_google. El código restante sigue siendo el mismo.
#Adding french language option text = r.recognize_google(audio_text, language = "fr-FR")
Producción
Nuevamente, la opción de idioma requerida se agrega en Recogn_google () para el acreditación de idioma. Estoy hablando en tamil, idiomas indios y agregando «ta-IN» en la opción de idioma.
# Adding "Tamil language" print(“Text: “+r.recognize_google(audio_text, language = “ta-IN”))
Acabo de decir «cómo estás» en tamil e imprime el texto en tamil con precisión.
Producción
Voz de micrófono en texto
Los micrófonos se usan para recibir audio como entrada de los usuarios. Hay muchas bibliotecas diferentes disponibles para convertir la voz del micrófono en texto. Aquí usamos PyAudio para esta conversión.
Pasos:
Debemos instalar la biblioteca PyAudio que se utiliza para recibir entrada y salida de audio a través del micrófono y el altavoz. Ayuda a extraer nuestra voz a través del micrófono.
! pip instalar PyAudio
Tenemos que utilizar la clase Micrófono, en lugar de una fuente de archivo de audio. Los pasos restantes son los mismos.
Código
#import library import speech_recognition as sr # Initialize recognizer class (for recognizing the speech) r = sr.Recognizer() # Reading Microphone as source # listening to the speech and store in audio_text variable with sr.Microphone() as source: print("Talk") audio_text = r.listen(source) print("Time over, thanks") # recoginize_() method will throw a request error if the API is unreachable, hence using exception handling try: # using google speech recognition print("Text: "+r.recognize_google(audio_text)) except: print("Sorry, I did not get that")
Acabo de hablar «¿Cómo estás?»
Producción
APLICACIONES
Sistemas en el automóvil
Cuidado de la salud
Militar
Capacitación de controladores de tránsito aéreo
Telefonía y otros dominios
Uso en educación y vida diaria.
Conclusión:
La API de acreditación de voz de Google es un método sencillo para convertir voz en texto, pero necesita una conexión en línea para funcionar. En este blog, hemos visto una forma de convertir la voz en texto usando la API de acreditación de voz de Google. Esto puede ser muy útil para proyectos de PNL, especialmente para el manejo de datos de transcripciones de audio. Si tiene algo que señalar, ¡tenga la libertad de dejar un comentario! Gracias por leer. ¡Continúe aprendiendo y permanezca atento para más!
Los medios que se muestran en este post no son propiedad de DataPeaker y se usan a discreción del autor.