ChatTTS - Texto a Voz para Escenarios Conversacionales
Optimizado para texto a voz natural y conversacional
20K+ Star on Github
ChatTTS en línea y gratuito
Prueba ChatTTS con los siguientes ejemplos.
¿Qué es ChatTTS?
ChatTTS es un modelo de generación de voz diseñado para escenarios conversacionales, específicamente para las tareas de diálogo de asistentes de modelos de lenguaje grandes (LLM), así como aplicaciones como introducciones de audio y video conversacionales. Admite tanto el chino como el inglés, y a través del uso de aproximadamente 100,000 horas de datos de entrenamiento en chino e inglés, ChatTTS demuestra alta calidad y naturalidad en la síntesis del habla.
Funciones de ChatTTS
Retoque
Utiliza las herramientas de selección de Krita para marcar un área y eliminar o reemplazar el contenido existente en la imagen. Se pueden usar simples indicaciones de texto para guiar la generación.
Extrapolar
Extiende tu lienzo, selecciona un área en blanco y automáticamente llénalo con contenido que se integre de forma perfecta en la imagen existente.
Generar
Crea nuevas imágenes desde cero describiéndolas con palabras o imágenes existentes. Compatible con SD1.5 y SDXL.
Refinar
Utiliza el control deslizante de intensidad para refinar el contenido de la imagen existente en lugar de reemplazarlo por completo. ¡Esto también funciona muy bien para agregar cosas nuevas a una imagen pintando una aproximación (rudimentaria) y refinando con alta intensidad!
Pintura en Vivo
Permite que la IA interprete tu lienzo en tiempo real para obtener retroalimentación inmediata. Ver video
Control
Dirige la creación de imágenes directamente con bocetos o arte lineal. Utiliza mapas de profundidad o normales de imágenes existentes o escenas en 3D. Transfiere la postura de un personaje desde instantáneas. Controla la composición con mapas de segmentación.
Resoluciones
Trabaja eficientemente en cualquier resolución. El complemento utilizará automáticamente resoluciones apropiadas para el modelo de IA y las escalará para ajustarse a la región de tu imagen.
Ampliación
Amplía y enriquece imágenes a 4k, 8k y más allá sin quedarte sin memoria.
Cola de Trabajos
Dependiendo del hardware, la generación de imágenes puede llevar algo de tiempo. El complemento te permite encolar y cancelar trabajos mientras trabajas en tu imagen.
Historial
No todas las imágenes resultarán ser obras maestras. Previsualiza los resultados y navega entre generaciones y indicaciones anteriores en cualquier momento.
Predeterminados Potentes
Los versátiles ajustes predeterminados de estilo permiten una interfaz de usuario sencilla que abarca muchos escenarios.
Personalización
Crea tus propios ajustes preestablecidos: selecciona un punto de control de Difusión Estable, agrega LoRA, ajusta samplers y más.
Cómo usar ChatTTS
Comencemos con ChatTTS en solo unos simples pasos.
Descargar desde GitHub
Descarga el código desde GitHub.
git clone https://github.com/2noise/ChatTTS
Descargar ChatTTSInstalar Dependencias
Antes de comenzar, asegúrate de tener instalados los paquetes necesarios. Necesitarás torch y ChatTTS. Si aún no los has instalado, puedes hacerlo usando pip:
pip install torch ChatTTS
Importar Bibliotecas Requeridas
Importa las bibliotecas necesarias para tu script. Necesitarás torch, ChatTTS y Audio de IPython.display
import torch
import ChatTTS
from IPython.display import Audio
Inicializar ChatTTS
Crea una instancia de la clase ChatTTS y carga los modelos pre-entrenados.
chat = ChatTTS.Chat()
chat.load_models()
Preparar Tu Texto
Define el texto que deseas convertir en voz. Reemplaza <YOUR TEXT HERE> con tu texto deseado.
texts = ["¡Hola, bienvenido a ChatTTS!",]
Generar Voz
Utiliza el método infer para generar voz a partir del texto. Establece use_decoder=True para habilitar el decodificador.
wavs = chat.infer(texts, use_decoder=True)
Reproducir el Audio
Utiliza la clase Audio de IPython.display para reproducir el audio generado. Establece la tasa de muestreo en 24,000 Hz y habilita la reproducción automática.
Audio(wavs[0], rate=24_000, autoplay=True)
Script Completo
Aquí tienes el script completo como referencia:
import torch
import ChatTTS
from IPython.display import Audio
# Inicializar ChatTTS
chat = ChatTTS.Chat()
chat.load_models()
# Definir el texto a convertir en voz
texts = ["¡Hola, bienvenido a ChatTTS!",]
# Generar voz
wavs = chat.infer(texts, use_decoder=True)
# Reproducir el audio generado
Audio(wavs[0], rate=24_000, autoplay=True)
Preguntas Frecuentes
¿Tienes una pregunta? Consulta algunas de las preguntas comunes a continuación.
¿Cómo pueden los desarrolladores integrar ChatTTS en sus aplicaciones?
Los desarrolladores pueden integrar ChatTTS en sus aplicaciones utilizando la API y SDKs proporcionados. El proceso de integración normalmente implica inicializar el modelo de ChatTTS, cargar los modelos pre-entrenados y llamar a las funciones de texto a voz para generar audio a partir del texto. Se dispone de documentación detallada y ejemplos para guiar a los desarrolladores a través del proceso de integración.
¿Para qué se puede utilizar ChatTTS?
ChatTTS se puede utilizar para diversas aplicaciones, incluyendo pero no limitándose a: Tareas conversacionales para asistentes basados en modelos de lenguaje extenso Generación de discursos de diálogo Presentaciones de video Síntesis de voz para contenido educativo y de entrenamiento Cualquier aplicación o servicio que requiera funcionalidad de texto a voz
¿Cómo se entrena a ChatTTS?
ChatTTS se entrena con aproximadamente 100,000 horas de datos en chino e inglés. Este extenso conjunto de datos ayuda al modelo a aprender a producir un habla natural de alta calidad. Además, el equipo del proyecto planea hacer de código abierto un modelo base entrenado con 40,000 horas de datos para facilitar futuras investigaciones y desarrollos en los ámbitos académico y de desarrollo.
¿ChatTTS admite múltiples idiomas?
Sí, ChatTTS admite tanto el chino como el inglés. Al entrenar con un gran conjunto de datos en estos idiomas, ChatTTS puede generar una síntesis de habla de alta calidad tanto en chino como en inglés, lo que lo hace adecuado para su uso en entornos multilingües y para satisfacer las necesidades de usuarios de diversos idiomas.
¿Qué hace que ChatTTS sea único en comparación con otros modelos de texto a voz?
ChatTTS está optimizado específicamente para escenarios de diálogo, lo que lo hace particularmente efectivo para aplicaciones conversacionales. Admite tanto el chino como el inglés, y se entrena en un amplio conjunto de datos para garantizar una síntesis de habla natural de alta calidad. Además, el plan de hacer de código abierto un modelo base entrenado con 40,000 horas de datos lo diferencia, fomentando la investigación y desarrollo adicionales en el campo.
¿Qué tipo de datos se utilizan para entrenar a ChatTTS?
ChatTTS se entrena con aproximadamente 100,000 horas de datos en chino e inglés. Este conjunto de datos incluye una amplia variedad de contenido hablado para ayudar al modelo a aprender a generar un habla natural y de alta calidad. La diversidad y el volumen de los datos de entrenamiento aseguran que ChatTTS pueda manejar diversas tareas de síntesis de habla de manera efectiva.
¿Hay una versión de ChatTTS de código abierto disponible para desarrolladores e investigadores?
Sí, el equipo del proyecto planea lanzar una versión de ChatTTS de código abierto que está entrenada con 40,000 horas de datos. Este modelo de código abierto permitirá a desarrolladores e investigadores explorar y ampliar las capacidades de ChatTTS, fomentando la innovación y el desarrollo en el dominio de texto a voz.
¿Cómo garantiza ChatTTS la naturalidad del habla sintetizada?
ChatTTS garantiza la naturalidad del habla sintetizada al entrenar con un extenso y diverso conjunto de datos de aproximadamente 100,000 horas de habla en chino e inglés. Este entrenamiento exhaustivo permite que el modelo capture varios patrones de habla, entonaciones y matices, lo que resulta en un habla de alta calidad y natural. También se emplean técnicas avanzadas de aprendizaje automático para ajustar el modelo y mejorar su rendimiento en escenarios conversacionales.
¿Se puede personalizar ChatTTS para aplicaciones o voces específicas?
Sí, ChatTTS se puede personalizar para aplicaciones o voces específicas. Los desarrolladores pueden ajustar el modelo utilizando sus propios conjuntos de datos para adaptarlo mejor a casos de uso particulares o para desarrollar perfiles de voz únicos. Esta personalización permite una mayor flexibilidad y adaptabilidad en diferentes contextos de aplicación.
¿Con qué plataformas y entornos es compatible ChatTTS?
ChatTTS está diseñado para ser compatible con diversas plataformas y entornos. Se puede integrar en aplicaciones web, aplicaciones móviles, software de escritorio y sistemas integrados. Los SDKs y APIs proporcionados admiten múltiples lenguajes de programación, asegurando que los desarrolladores puedan implementar ChatTTS fácilmente en diferentes plataformas.
¿Existen limitaciones al usar ChatTTS?
Aunque ChatTTS es un modelo de texto a voz potente y versátil, existen algunas limitaciones a considerar. Por ejemplo, la calidad del habla sintetizada puede variar según la complejidad y longitud del texto de entrada. Además, el rendimiento del modelo puede verse influenciado por los recursos computacionales disponibles, ya que generar habla de alta calidad en tiempo real puede requerir una potencia de procesamiento significativa. Se están realizando actualizaciones y mejoras continuas para abordar estas limitaciones y mejorar las capacidades del modelo.
¿Cómo pueden los usuarios proporcionar comentarios o informar problemas con ChatTTS?
Los usuarios pueden proporcionar comentarios o informar problemas con ChatTTS a través de varios canales. El equipo del proyecto generalmente ofrece un sistema de soporte, que puede incluir soporte por correo electrónico, un portal de soporte dedicado o un foro comunitario. Proporcionar información detallada sobre el problema o comentario, incluyendo registros o ejemplos relevantes, ayudará al equipo a abordar las inquietudes de manera más efectiva y mejorar el modelo de ChatTTS. Además, los usuarios pueden contribuir al repositorio de GitHub del proyecto si es de código abierto, enviando problemas o solicitudes de extracción.