Il s'agit d'un cadre de texte vocale modularisé visant à soutenir les recherches rapides et les développements de produits. Les caractéristiques principales incluent
Les contributions sont les bienvenues.
Découvrez la démo ici
git clone https://github.com/ranchlai/mandarin-tts.git
cd mandarin-tts
git submodule update --force --recursive --init --remote
pip install -e . f
Deux exemples sont fournis ici: Biaobei et Aishell3.
Pour former vos propres modèles, faites d'abord une copie à partir d'exemples existants, puis préparez les fonctionnalités de MelsPectrogram à l'aide de wav2mel.py par
cd examples
python wav2mel.py -c ./aishell3/config.yaml -w < aishell3_wav_folder > -m < mel_folder > -d cpuPréparez les fichiers SCP nécessaires à la formation,
cd examples/aishell3
python prepare.py --wav_folder < aishell3_wav_folder > --mel_folder < mel_folder > --dst_folder ./train/Cela générera des fichiers SCP requis par config.yaml (dans la section DataSet / Train). Vous auriez également besoin de vérifier que tout va bien dans le fichier de configuration. Habituellement, vous n'avez pas besoin de modifier le code.
Maintenant, vous pouvez commencer votre formation en
cd examples/aishell3
python ../../mtts/train.py -c config.yaml -d cudaPour l'ensemble de données Biaobei, le workflow est le même, sauf qu'il n'y a pas d'incorporation de haut-parleurs, mais vous pouvez ajouter de l'intégration de la prosodie.
Plus d'exemples seront ajoutés. Veuillez rester.
Actuellement, deux exemples sont fournis et les points de contrôle / configuration correspondants sont résumés comme suit.
| ensemble de données | point de contrôle | configurer |
|---|---|---|
| Aishell3 | lien | lien |
| biaobei | lien | lien |
Les vocodeurs jouent le rôle de la conversion des mélpectrogrammes en formes d'onde. Ils sont ajoutés sous forme de sous-modules et seront formés à ce projet. Vous devez donc télécharger les points de contrôle avant de synthétiser. Dans la formation, les vocodeurs ne sont pas nécessaires, car vous pouvez surveiller le processus de formation à partir de mélpectrogrammes générés et également de la courbe de perte. Actuel, nous soutenons les vocodeurs suivants,
| Vocodeur | point de contrôle | github |
|---|---|---|
| Lueur | lien | lien |
| Hifi-gan | lien | lien |
| Vocgan | lien lien | lien |
| Melgan | lien | lien |
Tous les vocoders seront prêts après avoir exécuté git submodule update --force --recursive --init --remote . Cependant, vous devez télécharger le point de contrôle manuellement et correctement définir le chemin d'accès dans le fichier config.yaml.
L'INFOR.TXT doit être cohérent avec votre paramètre d'Emb_Type1 sur EMB_TYPE_N dans le fichier de configuration, c'est-à-dire, même type, même ordre.
Pour faciliter la transcription de Hanzi à Pinyin, vous pouvez essayer:
cd examples/aishell3/
python ../../mtts/text/gp2py.py -t "为适应新的网络传播方式和读者阅读习惯"
>> sil wei4 shi4 ying4 xin1 de5 wang3 luo4 chuan2 bo1 fang1 shi4 he2 du2 zhe3 yue4 du2 xi2 guan4 sil|sil 为 适 应 新 的 网 络 传 播 方 式 和 读 者 阅 读 习 惯 sil
Vous ne pouvez pas copier le texte sur entrée.txt, et n'oubliez pas de déposer le nom et l'ID du haut-parleur autodéfinis, séparés par '|'.
Avec les points de contrôle et le texte ci-dessus prêts, vous pouvez enfin exécuter le processus de synthèse,
python ../../mtts/synthesize.py -d cuda --c config.yaml --checkpoint ./checkpoints/checkpoint_1240000.pth.tar -i input.txtVeuillez vérifier le fichier config.yaml pour les paramètres de vocodeur.
Si chanceux, des exemples audio peuvent être trouvés dans le dossier de sortie.