Ganyutts est un outil VITS + SO-vits pour générer une parole à partir de texte. Il a été initialement conçu pour le jeu Elite Dangerous, mais je l'ai séparé du projet principal, donc maintenant il peut fonctionner comme un outil d'inférence ou une API autonome. Edditts est disponible ici.
C'est certainement juste un projet de jouets, alors n'attendez pas trop. Il y a beaucoup de choses encore codées, et le code n'est pas très propre. Je vais essayer de le nettoyer à l'avenir.
Je viens de faire ce dépôt pour ma propre commodité, mais n'hésitez pas à l'utiliser si vous le souhaitez.
Je suggère d'utiliser un environnement virtuel pour cela (conda ou venv). De plus, je recommande d'utiliser Python 3.9 ou plus. Le GPU n'est pas requis, mais il accélérera l'inférence.
pip install -r requirements.txtPour le phonémizer, vous devez faire installer ESPEAK . Sur Windows, vous pouvez le télécharger à partir d' ici . Sur Linux, vous pouvez l'installer à l'aide de votre gestionnaire de packages.
Le programme a besoin d'un fichier de configuration nommé config.json dans le dossier racine. Un exemple de fichier est fourni. Vous pouvez changer les chemins des modèles et des touches API. Les chemins de phonémizer ne sont pertinents que pour les utilisateurs de Windows, vous pouvez modifier ici si EspEak est installé dans un endroit différent. Si vous souhaitez utiliser le mode interactif, vous devez obtenir une clé API à partir d'OpenAI. C'est super bon marché et vaut la qualité des réponses.
Pour démarrer l'API, exécutez la commande suivante:
python main.pyCette application fournit une API de ballon simple pour le texte vocal. Vous pouvez envoyer une demande de poste au serveur, il renverra le fichier audio wav.
Exemple de corps de demande:
{
"text" : " Hello, world! " ,
"sid1" : " 22 " , # speaker id in the multi-speaker VITS model
"sid2" : " ganyu " # speaker id in the SO-VITS model
}Réponse:
{
"audio" : " <audio wav> " # base64 encoded raw audio
}Une API_Client_Example.py est fournie pour tester l'API.
Il y a deux scripts d'inférence, un pour les VITS et un pour le pipeline VITS + SO-vits. Vous pouvez les utiliser pour créer de l'audio simplement à partir de CLI.
Pour les vites uniquement:
python inference_vits.py -t " Let's get started. I'll be your guide today. "Pour VITS + SO-VITS:
python inference_vits_sovits.py -t " Let's get started. I'll be your guide today " Utilisez -h ou --help pour plus d'informations.
Tous les modèles doivent être dans le dossier Modèles, vous devez le télécharger manuellement à partir de mon repo Huggingface. N'oubliez pas non plus de télécharger le modèle Hubert, il est nécessaire pour les So-Vits. J'utilise "Checkpoint_best_Legacy_500.pt"