EmotiVoice : moteur de synthèse vocale avec contrôle des voix multiples et des émotions

Introduction générale

EmotiVoice est un moteur de synthèse vocale (TTS) doté de plusieurs voix et d'un contrôle des indices émotionnels, développé par NetEaseYoudao. Ce moteur TTS open source prend en charge l'anglais et le chinois, possède plus de 2000 voix différentes et dispose de capacités de synthèse des émotions pour créer des voix avec des émotions multiples telles que la joie, l'excitation, la tristesse et la colère. Il fournit une interface WEB facile à utiliser et des résultats de génération par lots de l'interface de script.

Hébergé à l'adresse de démonstration de Replicate

EmotiVoice(易魔声):多声音与情感提示控制的文本转语音引擎

 

Liste des fonctions

Fournir une interface WEB et une interface de traitement par lots de scripts
Aide à la synthèse des émotions
Plusieurs options sonores
Prise en charge de la synthèse en chinois et en anglais

 

 

Utiliser l'aide

Consultez le dépôt GitHub pour les instructions d'installation et d'utilisation.
Exécuter une image Docker pour essayer EmotiVoice
Se référer à la page Wiki pour télécharger des informations supplémentaires telles que des modèles pré-entraînés.
Rejoindre le groupe WeChat pour échanger des informations

 

 

En réponse à la demande de la communauté, nous sommes heureux de publier laFonction de clonage du sonet fournit deux exemples de tutoriels !

Notes.

 

  1. Cette fonction nécessite au moins un Nvidia GPU Graphics .
  2. son cibleLes données sont essentielles! Les exigences détaillées seront fournies dans la section suivante.
  3. Actuellement, cette fonction n'est disponible qu'en chinois et en anglais, ce qui signifie que vous pouvez vous entraîner avec des données chinoises ou anglaises.Obtenir un modèle de timbre qui parle deux langues.
  4. Bien qu'EmotiVoice prenne en charge le contrôle émotionnel, les données d'entraînement doivent également être émotionnelles si vous voulez que votre voix transmette des émotions.
  5. Après une formation utilisant uniquement vos données, l'EmotiVoice de laLe son original est modifié. Cela signifie que le nouveau modèle sera entièrement adapté à vos données. Si vous souhaitez utiliser les plus de 2000 voix originales d'EmotiVoice, il est recommandé d'utiliser le modèle original pré-entraîné.

Exigences détaillées pour les données de formation

 

  1. Les données audio doivent être de haute qualité et doivent être claires et sans distorsion pour la voix d'une seule personne. La durée ou le nombre de phrases n'est pas obligatoire pour le moment, quelques phrases suffisent, mais plus de 100 phrases sont recommandées.
  2. Le texte correspondant à chaque audio doit correspondre strictement au contenu du discours. Avant l'entraînement, le texte brut est converti en phonèmes à l'aide de G2P. Il convient de prêter attention aux pauses (sp*) et les résultats de la conversion polyphonique, ils ont un impact significatif sur la qualité de la formation.
  3. Si vous voulez que votre voix transmette une émotion, les données d'entraînement doivent également être émotionnelles. En outre, le contenu de l'étiquette "prompt "** doit être modifié pour chaque audio. Le contenu de l'invite peut inclure toute forme de description textuelle de l'émotion, du débit de parole et du style d'élocution.
  4. Ensuite, vous obtenez un fichier appelé data directory qui contient deux sous-répertoires, le répertoire train répondre en chantant valid. Chaque sous-répertoire possède undatalist.jsonl et chaque ligne est formatée : {"key": "LJ002-0020", "wav_path": "data/LJspeech/wavs/LJ002-0020.wav", "speaker": "LJ", "text": ["<sos/eos>", "[IH0]", "[N]", "engsp1", "[EY0]", "[T]", "[IY1]", "[N]", "engsp1", "[TH]", "[ER1]", "[T]", "[IY1]", "[N]", ".", "<sos/eos>"], "original_text": "In 1813", "prompt": "common"} .

Distribution des étapes de formation.

 

Pour le chinois, veuillez vous référer à Recette DataBakerVeuillez vous référer à la version anglaise :Recette LJSpeech. En voici un résumé :

  1. Préparer l'environnement de formation - il ne doit être configuré qu'une seule fois.
    # create conda enviroment
    conda create -n EmotiVoice python=3.8 -y
    conda activate EmotiVoice
    # then run:
    pip install EmotiVoice[train]
    # or
    git clone https://github.com/netease-youdao/EmotiVoice
    pip install -e .[train]
  2. consultation Exigences détaillées pour les données de formation Préparation des données, exemples de référence recommandésRecette DataBaker répondre en chantant Recette LJSpeechdans les méthodes et les scripts de la
  3. Ensuite, exécutez la commande suivante pour créer un répertoire pour la formation :python prepare_for_training.py --data_dir <data directory> --exp_dir <experiment directory>. Remplacement <data directory> pour le chemin réel du répertoire de données préparé. <experiment directory> est le chemin souhaité vers le répertoire expérimental.
  4. Peut être modifié en fonction de la configuration du serveur et des données <experiment directory>/config/config.py . Après avoir effectué les modifications, lancez le processus de formation en exécutant la commande suivante torchrun --nproc_per_node=1 --master_port 8018 train_am_vocoder_joint.py --config_folder <experiment directory>/config --load_pretrained_model True. (Cette commande lance le processus d'apprentissage en utilisant le dossier de configuration spécifié et charge les modèles pré-entraînés spécifiés). Cette méthode est actuellement disponible pour Linux, Windows peut rencontrer des problèmes !
  5. Après avoir effectué certaines étapes de la formation, sélectionnez un point de contrôle et exécutez la commande suivante pour confirmer que les résultats sont conformes aux attentes : python inference_am_vocoder_exp.py --config_folder exp/DataBaker/config --checkpoint g_00010000 --test_file data/inference/text. N'oubliez pas de modifierdata/inference/textLe contenu du champ de l'orateur dans le Si vous êtes satisfait du résultat, n'hésitez pas à l'utiliser ! Une version modifiée de la page de démonstration est fournie : la page demo_page_databaker.pypour découvrir l'effet du ton après le clonage avec DataBaker.
  6. Si les résultats ne sont pas satisfaisants, vous pouvez continuer la formation ou vérifier vos données et votre environnement. Bien entendu, n'hésitez pas à en discuter au sein de la communauté ou à soumettre un problème !

Informations de référence sur le temps d'exécution.

 

Nous fournissons les informations suivantes sur la durée d'utilisation et la configuration du matériel à titre de référence :

  • Versions des paquets Pip : Python 3.8.18, torch 1.13.1, cuda 11.7
  • Modèle de carte GPU : NVIDIA GeForce RTX 3090, NVIDIA A40
  • L'entraînement prend du temps : il faut environ 1 à 2 heures pour entraîner 10 000 pas.

Il peut même être entraîné sans carte graphique GPU, en utilisant uniquement le CPU. Attendez les bonnes nouvelles !

Adresse de téléchargement du paquet d'installation en un clic

windows UC netbook

Windows thunderbolt cloud drive

windows quark.com

Installation en un clic pour Mac

Le mot de passe du zip unzip est jian27 ou jian27.com

© déclaration de droits d'auteur

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...