Conversión de voz a texto: una aplicación de PNL

Share on facebook
Share on twitter
Share on linkedin
Share on telegram
Share on whatsapp

Contenidos

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

diagrama de bloques del sistema |  conversión de voz a texto

Fuente

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?

Figura |  conversión de voz a texto |  conversión de voz a texto

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.

Libro de códigos HMM

Fuente

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:

  1. Importar biblioteca de acreditación de voz

  2. Inicializando la clase de reconocedor para reconocer el discurso. Estamos usando el acreditación de voz de Google.

  3. 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.

  4. 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».

  5. 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

salida1 |  conversión de voz a texto

¿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

salida 2

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

salida3

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:

  1. 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

  1. 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

salida4

APLICACIONES

  1. Sistemas en el automóvil

  2. Cuidado de la salud

  3. Militar

  4. Capacitación de controladores de tránsito aéreo

  5. Telefonía y otros dominios

  6. 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.

Suscribite a nuestro Newsletter

No te enviaremos correo SPAM. Lo odiamos tanto como tú.