Aplicación para expandir el espectro de frecuencias de un archivo

  • 1
Thor
#1 por Thor el 03/09/2018
Saludos,

Tengo una aplicación que procesa conversaciones con audio a 16 Khz y lo convierte en texto. El problema es que el sonido que necesito procesar es audio telefónico a 8 Khz y necesito convertir el sonido a 16 Khz de verdad, no sirve crear un archivo de 16 Khz y copiar el audio de 8 Khz con silencio en el resto de frecuencias.

Necesito saber si existe algún software que expanda el espectro de frecuencias de manera que del sonido de una voz a 8 Khz genere una nueva voz a 16 Khz que se entienda igual que la voz original. No importa si el tono de la voz cambia y parece el de otra persona, lo único necesario es que la conversación se entienda.

Muchas gracias y un saludo
Subir
OFERTASVer todas
  • Audix FP-7 F9 Drumset 70th Bundle
    584 €
    Ver oferta
  • -25%
    Focusrite Scarlett 18i8 3rd Gen
    298 €
    Ver oferta
  • -7%
    Palmer Monicon L
    167 €
    Ver oferta
vagar
#2 por vagar el 03/09/2018
No es posible expandir un fichero muestreado a 8 kHz porque, sencillamente, la información más allá de 4 kHz se pierde. Se puede remuestrear a 16 kHz, pero la banda de 4 a 8 kHz quedará vacía. Un fichero de 8 kHz es necesariamente menos inteligible y la detección será menos fiable, pero eso no hay forma de solucionarlo. ¿Qué software es?

Thor escribió:
el sonido de una voz a 8 Khz genere una nueva voz a 16 Khz que se entienda igual que la voz original


Imposible, esa información de alta frecuencia es irrecuperable, ya que se filtra al digitalizar a 8 kHz.
Subir
1
Thor
#3 por Thor el 03/09/2018
Gracias por tu respuesta. El software es CMUSphinx: https://cmusphinx.github.io/. Los modelos de voz que utiliza son de 16 Khz y ellos mismos advierten que los de 8 Khz no funcionan.

Lo que me interesa encontrar es un software que cree una voz de 16 Khz basada en una voz grabada a 8 Khz. La información nueva sería inventada, diferente a la original, pero mientras se entienda la conversación sería suficiente.

Un saludo!
Subir
vagar
#4 por vagar el 03/09/2018
Cualquier cosa inventada que le añadas no va a ser más que ruido. No sólo no va a mejorar el reconocimiento, sino que lo va a empeorar, ya que no va a aportar información que mejore la correlación con los modelos de 16 kHz.

https://cmusphinx.github.io/wiki/faq/#q-what-is-sample-rate-and-how-does-it-affect-accuracy

Me temo que no hay nada que se pueda hacer. Todo lo que se pueda hacer para mejorar la precisión de los modelos de 8 kHz, ya lo hará el propio software automáticamente.
Subir
1
Thor
#5 por Thor el 04/09/2018
Entiendo, muchas gracias!
Subir
Thor
#6 por Thor el 04/09/2018
Existe algún software que permita clonar una voz? Utilizando la grabación de una conversación, que genere una nueva voz artificial basada en la voz original, con la misma conversación que la grabación original.
Subir
vagar
#7 por vagar el 04/09/2018
Si lo hubiera, se basaría en un sistema de reconocimiento, para poder sintetizar la voz artificial. Con lo que no tendría sentido volver a pasarlo por otro sistema de reconocimiento.

Si CMUSphinx no te resulta suficientemente preciso para tus ficheros de 8 kHz, supongo que la alternativa es usar un software con mejores prestaciones, probablemente comercial. ¿Has probado la API de reconocimiento de Google?

https://cloud.google.com/speech-to-text/
Subir
1
Thor
#8 por Thor el 04/09/2018
Muchas gracias. Necesitamos un api completamente offline, sin acceso a la nube.
Subir
vagar
#9 por vagar el 04/09/2018
Pues nada, a ver si encontráis algo que funcione mejor. Podéis empezar por aquí:

https://en.wikipedia.org/wiki/List_of_speech_recognition_software

Otra opción sería intentar conseguir grabaciones con mejor calidad, pero si es para integrarlo con un sistema de telefonía está complicado.
Subir
Thor
#10 por Thor el 04/09/2018
Ok, muchas gracias! :)
Subir
pablofcid mod
#11 por pablofcid el 04/09/2018
Por si acaso: parece que sí hay modelos de reconocimiento entrenados con vos de banda estrecha para sphinx
http://www.speech.cs.cmu.edu/sphinx/models/
Subir
vagar
#12 por vagar el 04/09/2018
#11

Sí, si haberlos haylos, pero lo que plantea Thor es que son bastante menos fiables que los de 16 kHz, tal como documentan en las FAQ.
Subir
Thor
#13 por Thor el 04/09/2018
Si encontrara un modelo de Sphinx en español a 8 Khz sería perfecto. El problema es que los que he visto están para inglés, el resto de idiomas solo en 16 Khz.
Subir
vud1
#14 por vud1 el 06/09/2018
No tengo ni idea de como funciona el tema del audio digitalmente... pero intuyo que será parecido a como funcionan digitalmente las imágenes.

En este segundo caso existe la posibilidad de hacer interpolados. Basicamente lo que hace el programa es calcular por pesos (teniendo en cuenta la proximidad y el valor/color de los puntos cercanos) para calcular el valor/color del punto actual.

No hay formas de generar interpolados en los ficheros de audio? Si que es cierto que pasar de 8 a 16 es inventarse datos donde no los hay... pero tienes los datos de 8 que puedes aprovechar para rellenar los que faltan. Intuyo que el resultado sería como un sonido más... plano o con menos matices.. pero debería oirse.
Subir
1
vagar
#15 por vagar el 06/09/2018
vud1 escribió:

En este segundo caso existe la posibilidad de hacer interpolados. Basicamente lo que hace el programa es calcular por pesos (teniendo en cuenta la proximidad y el valor/color de los puntos cercanos) para calcular el valor/color del punto actual.


Lo cual no aporta absolutamente nada nuevo a la imagen, simplemente aumenta su tamaño, pero esa información derivada no tendría ninguna utilidad para un sistema OCR o de reconocimiento facial.

Lo mismo con el audio.

vud1 escribió:
Intuyo que el resultado sería como un sonido más... plano o con menos matices.. pero debería oirse.


Ni más ni menos plano, suena exactamente igual, a sonido telefónico, los puntos interpolados no afectan en nada a la reconstrucción analógica de la onda.

Lo que puedes hacer es intentar entrenar un modelo en español para Sphinx a 8 kHz, necesitarías una base grande de locuciones.

https://cmusphinx.github.io/wiki/tutorialam/
Subir
1
Hilos similares
Nuevo post

Regístrate o para poder postear en este hilo