2 votos

¿Cuáles son las buenas funciones de pérdida básicas para la generación de audio? (TTS)

Estoy planeando hacer una NN de generación de audio. Aunque estoy razonablemente bien con las redes neuronales en general, wavenets, etc., hay algo que no me queda muy claro.

¿Cuáles son las buenas funciones de pérdida para el audio, teniendo en cuenta los puntos siguientes?

  • Los datos del patrón pueden tener un silencio inicial variable.
  • El tamaño del silencio de entrada cambia la "fase" de la onda total. (Incluso un pequeño desplazamiento puede arruinar una comparación)
  • El generador es un TTS, por lo que nada en los datos de entrada indica la fase/silencio de entrada
  • Si sólo comparo con cualquier pérdida estándar, la fase puede causar un 100% de error

Debido a lo anterior, me temo que el modelo tendrá muchas dificultades para decidir el tamaño del silencio inicial, especialmente para entradas de texto muy similares. Las ondas tenderán (imagino) a aplanarse debido a la salvaje aleatoriedad de las fases de destino.

¿Existen soluciones que apliquen una pérdida estándar pero desplazando el audio primero de alguna manera? ¿Para que el desplazamiento sea irrelevante?

2voto

user3780835 Puntos 11

Tienes razón en que hacer una comparación en el dominio del tiempo/forma de onda es susceptible de grandes diferencias basadas en cosas que no tienen mucho impacto en el discurso, como pequeños cambios de tiempo o diferencias de fase. Puedes hacerlo un poco mejor operando en el dominio de la frecuencia temporal y descartando la fase, utilizando una resolución temporal de unos 25 ms. Las representaciones típicas son los espectrogramas Melspectrogram y Gammatone, normalmente en escala logarítmica.

Sin embargo, esto está lejos de ser una representación compacta/eficiente de las cosas importantes para la percepción humana del audio o del habla. Por lo tanto, existen muchas propuestas de métricas de audio perceptivas, y en los últimos años se ha trabajado mucho en las diferenciables que se pueden utilizar como función de pérdida en las redes neuronales profundas.

Si se busca en la literatura una combinación de "pérdida perceptiva", "audio", "diferenciable", "generativo" y "texto a voz", se encontrarán decenas de artículos relevantes.

Un artículo muy reciente (enero de 2020) que también tiene un código abierto limpio (usando Tensorflow), es Una métrica perceptiva de audio diferenciable aprendida a partir de diferencias apenas perceptibles por Pranay Manocha y otros. El código puede encontrarse aquí: https://github.com/pranaymanocha/PerceptualAudio

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X