Ganyutts es una herramienta VITS + SO-VITS para generar discurso a partir del texto. Originalmente fue hecho para el juego Elite Dangerous, pero lo separé del proyecto principal, por lo que ahora puede funcionar como una herramienta o API de inferencia independiente. Edditts está disponible aquí.
Definitivamente, este es solo un proyecto de juguete, así que no esperes demasiado. Todavía hay muchas cosas codificadas, y el código no está muy limpio. Intentaré limpiarlo en el futuro.
Acabo de hacer este repositorio para mi propia conveniencia, pero no dude en usarlo si lo desea.
Sugiero usar un entorno virtual para este (conda o venv). Además, recomiendo usar Python 3.9 o superior. No se requiere GPU, pero acelerará la inferencia.
pip install -r requirements.txtPara Phonemizer , debe tener instalado Espeak . En Windows, puede descargarlo desde aquí . En Linux, puede instalarlo con su administrador de paquetes.
El programa necesita un archivo de configuración llamado config.json en la carpeta raíz. Se proporciona un archivo de ejemplo. Puede cambiar las rutas a los modelos y las teclas API. Las rutas de Phonemizer solo son relevantes para los usuarios de Windows, puede editar aquí si tiene ESPEAK instalado en una ubicación diferente. Si desea usar el modo interactivo, debe obtener una tecla API de OpenAI. Es súper barato y vale la pena la calidad de las respuestas.
Para iniciar la API, ejecute el siguiente comando:
python main.pyEsta aplicación proporciona una API de frasco simple para texto a voz. Puede enviar una solicitud de publicación al servidor, devolverá el archivo WAV de audio.
Cuerpo de solicitud de ejemplo:
{
"text" : " Hello, world! " ,
"sid1" : " 22 " , # speaker id in the multi-speaker VITS model
"sid2" : " ganyu " # speaker id in the SO-VITS model
}Respuesta:
{
"audio" : " <audio wav> " # base64 encoded raw audio
}Se proporciona un API_client_example.py para probar la API.
Hay dos scripts de inferencia, uno para VITS y otro para la tubería VITS + SO-VITS. Puede usarlos para crear audio simplemente desde CLI.
Solo para vits:
python inference_vits.py -t " Let's get started. I'll be your guide today. "Para VITS + SO-VITS:
python inference_vits_sovits.py -t " Let's get started. I'll be your guide today " Use -h o --help para más información.
Todos los modelos deben estar en la carpeta de modelos, debe descargarla manualmente desde mi repositorio de Facing Face. Además, no olvide descargar el modelo Hubert, es necesario para SO-VITS. Estoy usando "checkpoint_best_legacy_500.pt"