StyleTTS2 – tecnología open source de conversión de texto a voz con calidad de ElevenLabs
(github.com/yl4579)Modelo de texto a voz de nivel humano, StyleTTS 2
- StyleTTS 2 logra síntesis de texto a voz (TTS) de nivel humano mediante aprendizaje adversarial con difusión de estilo y modelos de lenguaje de voz a gran escala.
- Este modelo consigue una difusión latente eficiente al modelar el estilo como una variable aleatoria latente mediante un modelo de difusión para generar el estilo más adecuado para el texto sin necesidad de voz de referencia.
- Mejora la naturalidad de la voz al usar un modelo de lenguaje de voz preentrenado a gran escala como discriminador y al entrenar de extremo a extremo con un nuevo modelado diferenciable de duración.
Requisitos previos
- Se requiere Python versión 3.7 o superior.
- Clonar el repositorio de StyleTTS 2 e instalar los requisitos necesarios de Python.
- Descargar el dataset LJSpeech, remuestrearlo a 24 kHz y descomprimirlo en la carpeta de datos.
- Si se usa el dataset LibriTTS, hay que combinar
train-clean-360ytrain-clean-100y cambiar el nombre de la carpeta atrain-clean-460.
Entrenamiento
- Es posible ejecutar secuencialmente el entrenamiento de la primera y la segunda etapa, y el modelo se guarda en un formato específico.
- El formato de la lista de datos debe ser
filename.wav|transcription|speakery, en el caso de modelos multihablante, se requiere muestreo de audio de referencia para entrenar el modelo de difusión de estilo.
Configuración importante
- El archivo
config.ymlincluye configuraciones importantes como la ruta del texto OOD (out-of-distribution) para el aprendizaje adversarial con SLM, la longitud mínima y máxima para el entrenamiento, si se entrenará un modelo multihablante y el porcentaje de lote para evitar problemas de OOM (out-of-memory).
Módulos preentrenados
- La carpeta ASR contiene un alineador de texto preentrenado, la carpeta JDC contiene un extractor de tono preentrenado y la carpeta PLBERT contiene un modelo PL-BERT preentrenado.
Problemas comunes
- Se presentan soluciones para el problema de pérdida en NaN y para los problemas de memoria insuficiente, como ajustar el tamaño del lote o reducir el valor de
max_len.
Fine-tuning
- Se proporciona un script de fine-tuning que usa DP modificando el script
train_second.py, y DDP actualmente no funciona.
Inferencia
- Consultar los archivos de notebook para la inferencia con los datasets LJSpeech y LibriTTS; para LibriTTS se requiere un archivo de audio de referencia.
- Se puede descargar un modelo StyleTTS 2 preentrenado y, antes de usarlo, se debe informar a quienes escuchen que las muestras de voz sintetizadas fueron generadas por el modelo StyleTTS 2, o usar una voz para la que se tenga autorización.
Opinión de GN⁺
Lo más importante de este texto es que StyleTTS 2 logró síntesis TTS de nivel humano, lo que muestra el potencial del aprendizaje adversarial con difusión de estilo y modelos de lenguaje de voz a gran escala. Esta tecnología puede tener un gran impacto en la evolución de las interfaces basadas en voz y los asistentes digitales al mejorar de forma significativa la naturalidad de la síntesis de voz y ofrecer la capacidad de generar diversos estilos incluso sin voz de referencia.
1 comentarios
Comentarios de Hacker News
Experiencia desarrollando un chatbot de voz 100% local con StyleTTS2
Opinión personal sobre la calidad de voz de StyleTTS2
Compartiendo experiencia de instalación y uso de StyleTTS2
Experiencia con la instalación y funcionamiento de StyleTTS2
Comparación entre ejemplos de voz de StyleTTS2 y voces reales
Evaluación de la calidad de audio de StyleTTS2
Opinión sobre el título y el contenido de StyleTTS2
Pregunta sobre el tiempo de inferencia de StyleTTS2
Pregunta sobre la licencia de StyleTTS2
Perspectiva de marketplace para modelos de texto a voz