Nueva versión del sistema de síntesis de voz Silero

Está disponible una nueva versión pública del sistema de síntesis de voz de red neuronal Silero Text-to-Speech. El objetivo principal del proyecto es crear un sistema de síntesis de voz moderno y de alta calidad que no sea inferior a las soluciones comerciales de las corporaciones y que sea accesible para todos sin el uso de costosos equipos de servidor.

Los modelos se distribuyen bajo la licencia GNU AGPL, pero la empresa que desarrolla el proyecto no revela el mecanismo para entrenar los modelos. Para ejecutarlo, puede utilizar PyTorch y marcos que admitan el formato ONNX. La síntesis de voz en Silero se basa en el uso de algoritmos de redes neuronales modernos profundamente modificados y métodos de procesamiento de señales digitales.

Cabe señalar que el principal problema de las soluciones modernas de redes neuronales para la síntesis de voz es que a menudo solo están disponibles dentro de soluciones pagas en la nube y los productos públicos tienen altos requisitos de hardware, son de menor calidad o no están completos y no están listos para usar. productos. Por ejemplo, para ejecutar una de las nuevas arquitecturas populares de síntesis de extremo a extremo, VITS, sin problemas en modo de síntesis (es decir, no para entrenamiento de modelos), se requieren tarjetas de video con más de 16 gigabytes de VRAM.

Contrariamente a la tendencia actual, las soluciones Silero se ejecutan con éxito incluso en 1 subproceso x86 de un procesador Intel con instrucciones AVX2. En 4 subprocesos del procesador, la síntesis le permite sintetizar de 30 a 60 segundos por segundo en el modo de síntesis de 8 kHz, en el modo de 24 kHz, de 15 a 20 segundos, y en el modo de 48 kHz, aproximadamente 10 segundos.

Características clave de la nueva versión de Silero:

  • El tamaño del modelo se ha reducido 2 veces a 50 megabytes;
  • Los modelos saben cómo hacer una pausa;
  • Están disponibles 4 voces en ruso de alta calidad (y un número infinito de voces aleatorias). Ejemplos de pronunciación;
  • Los modelos se han vuelto 10 veces más rápidos y, por ejemplo, en modo de 24 kHz le permiten sintetizar hasta 20 segundos de audio por segundo en 4 subprocesos del procesador;
  • Todas las opciones de voz para un idioma están empaquetadas en un solo modelo;
  • Los modelos pueden aceptar párrafos completos de texto como entrada, se admiten etiquetas SSML;
  • La síntesis funciona a la vez en tres frecuencias de muestreo para elegir: 8, 24 y 48 kilohercios;
  • Se han solucionado los “problemas de los niños”: inestabilidad y falta de palabras;
  • Se agregaron banderas para controlar la ubicación automática de acentos y la ubicación de la letra “е”.

Actualmente, para la versión más nueva de la síntesis, hay 4 voces en ruso disponibles públicamente, pero en un futuro próximo se publicará la próxima versión con los siguientes cambios:

  • La tasa de síntesis aumentará otras 2-4 veces;
  • Se actualizarán los modelos de síntesis para los idiomas de la CEI: kalmyk, tártaro, uzbeko y ucraniano;
  • Se añadirán modelos para idiomas europeos;
  • Se agregarán modelos para idiomas indios;
  • Se agregarán modelos para inglés.

Algunas de las averías del sistema inherentes a la síntesis de Silero:

  • A diferencia de las soluciones de síntesis más tradicionales como RHVoice, la síntesis de Silero no tiene integración SAPI, clientes fáciles de instalar ni integraciones para Windows y Android;
  • La velocidad, aunque sin precedentes para una solución de este tipo, puede no ser suficiente para la síntesis sobre la marcha en procesadores débiles con alta calidad;
  • La solución de acento automático no maneja homógrafos (palabras como castillo y castillo) y aún comete errores, pero esto se corregirá en versiones futuras;
  • La versión actual de síntesis no funciona en procesadores sin instrucciones AVX2 (o necesita cambiar específicamente la configuración de PyTorch) porque uno de los módulos dentro del modelo está cuantizado;
  • La versión actual de síntesis esencialmente tiene una única dependencia de PyTorch; todo el relleno está "cableado" dentro del modelo y los paquetes JIT. Los códigos fuente de los modelos no se publican, así como el código para ejecutar modelos desde clientes PyTorch para otros lenguajes;
  • Libtorch, disponible para plataformas móviles, es mucho más voluminoso que el tiempo de ejecución ONNX, pero aún no está disponible una versión ONNX del modelo.

Fuente: opennet.ru

Añadir un comentario