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

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.
- Cette fonction nécessite au moins un Nvidia GPU Graphics .
- son cibleLes données sont essentielles! Les exigences détaillées seront fournies dans la section suivante.
- 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.
- 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.
- 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
- 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.
- 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.
- 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.
- Ensuite, vous obtenez un fichier appelé
data directory
qui contient deux sous-répertoires, le répertoiretrain
répondre en chantantvalid
. 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é :
- 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]
- 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
- 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. - 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 suivantetorchrun --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 ! - 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/text
Le 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 pagedemo_page_databaker.py
pour découvrir l'effet du ton après le clonage avec DataBaker. - 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 thunderbolt cloud drive
Installation en un clic pour Mac
Le mot de passe du zip unzip est jian27 ou jian27.com
© déclaration de droits d'auteur
文章版权归 Cercle de partage de l'IA 所有,未经允许请勿转载。
Articles connexes
Pas de commentaires...