Veuillez utiliser nos canaux dédiés pour les questions et les discussions. L'aide est bien plus précieuse si elle est partagée publiquement afin que davantage de personnes puissent en bénéficier.
Taper | Plateformes |
---|---|
Rapports de bogues | Suivi des problèmes GitHub |
? Demandes et idées de fonctionnalités | Suivi des problèmes GitHub |
? Questions d'utilisation | Discussions sur GitHub |
? Discussion générale | Discussions GitHub ou Discorde |
Taper | Links |
---|---|
Documentation | LireLesDocuments |
? Installation | TTS/README.md |
? Contribuer | CONTRIBUER.md |
? Carte routière | Principaux plans de développement |
Modèles publiés | Versions TTS et modèles expérimentaux |
? Papiers | Documents TTS |
Les « TTS* » et « Judy* » soulignés sont des modèles ?TTS internes qui ne sont pas publiés en open source. Ils sont là pour montrer le potentiel. Les modèles préfixés par un point (.Jofish .Abe et .Janice) sont de véritables voix humaines.
Trainer API
complète.dataset_analysis
.Vous pouvez également nous aider à mettre en œuvre davantage de modèles.
?TTS est testé sur Ubuntu 18.04 avec python >= 3.9, < 3.12. .
Si vous souhaitez uniquement synthétiser la parole avec les modèles ?TTS publiés, l'installation à partir de PyPI est l'option la plus simple.
pip install TTS
Si vous envisagez de coder ou d'entraîner des modèles, clonez ?TTS et installez-le localement.
git clone https://github.com/coqui-ai/TTS
pip install -e .[all,dev,notebooks] # Select the relevant extras
Si vous utilisez Ubuntu (Debian), vous pouvez également exécuter les commandes suivantes pour l'installation.
$ make system-deps # intended to be used on Ubuntu (Debian). Let us know if you have a different OS.
$ make install
Si vous êtes sous Windows, ?@GuyPaddock a écrit les instructions d'installation ici.
Vous pouvez également essayer TTS sans installation avec l'image Docker. Exécutez simplement la commande suivante et vous pourrez exécuter TTS sans l'installer.
docker run --rm -it -p 5002:5002 --entrypoint /bin/bash ghcr.io/coqui-ai/tts-cpu
python3 TTS/server/server.py --list_models # To get the list of available models
python3 TTS/server/server.py --model_name tts_models/en/vctk/vits # To start a server
Vous pouvez ensuite profiter du serveur TTS ici. Plus de détails sur les images Docker (comme la prise en charge GPU) peuvent être trouvés ici
import torch
from TTS . api import TTS
# Get device
device = "cuda" if torch . cuda . is_available () else "cpu"
# List available ?TTS models
print ( TTS (). list_models ())
# Init TTS
tts = TTS ( "tts_models/multilingual/multi-dataset/xtts_v2" ). to ( device )
# Run TTS
# ❗ Since this model is multi-lingual voice cloning model, we must set the target speaker_wav and language
# Text to speech list of amplitude values as output
wav = tts . tts ( text = "Hello world!" , speaker_wav = "my/cloning/audio.wav" , language = "en" )
# Text to speech to a file
tts . tts_to_file ( text = "Hello world!" , speaker_wav = "my/cloning/audio.wav" , language = "en" , file_path = "output.wav" )
# Init TTS with the target model name
tts = TTS ( model_name = "tts_models/de/thorsten/tacotron2-DDC" , progress_bar = False ). to ( device )
# Run TTS
tts . tts_to_file ( text = "Ich bin eine Testnachricht." , file_path = OUTPUT_PATH )
# Example voice cloning with YourTTS in English, French and Portuguese
tts = TTS ( model_name = "tts_models/multilingual/multi-dataset/your_tts" , progress_bar = False ). to ( device )
tts . tts_to_file ( "This is voice cloning." , speaker_wav = "my/cloning/audio.wav" , language = "en" , file_path = "output.wav" )
tts . tts_to_file ( "C'est le clonage de la voix." , speaker_wav = "my/cloning/audio.wav" , language = "fr-fr" , file_path = "output.wav" )
tts . tts_to_file ( "Isso é clonagem de voz." , speaker_wav = "my/cloning/audio.wav" , language = "pt-br" , file_path = "output.wav" )
Conversion de la voix de source_wav
en voix de target_wav
tts = TTS ( model_name = "voice_conversion_models/multilingual/vctk/freevc24" , progress_bar = False ). to ( "cuda" )
tts . voice_conversion_to_file ( source_wav = "my/source.wav" , target_wav = "my/target.wav" , file_path = "output.wav" )
De cette façon, vous pouvez cloner des voix en utilisant n'importe quel modèle dans ?TTS.
tts = TTS ( "tts_models/de/thorsten/tacotron2-DDC" )
tts . tts_with_vc_to_file (
"Wie sage ich auf Italienisch, dass ich dich liebe?" ,
speaker_wav = "target/speaker.wav" ,
file_path = "output.wav"
)
Pour les modèles Fairseq, utilisez le format de nom suivant : tts_models/<lang-iso_code>/fairseq/vits
. Vous pouvez trouver les codes ISO des langues ici et en savoir plus sur les modèles Fairseq ici.
# TTS with on the fly voice conversion
api = TTS ( "tts_models/deu/fairseq/vits" )
api . tts_with_vc_to_file (
"Wie sage ich auf Italienisch, dass ich dich liebe?" ,
speaker_wav = "target/speaker.wav" ,
file_path = "output.wav"
)
tts
en ligne de commandeSynthétisez la parole en ligne de commande.
Vous pouvez soit utiliser votre modèle formé, soit choisir un modèle dans la liste fournie.
Si vous ne spécifiez aucun modèle, il utilise le modèle anglais basé sur LJSpeech.
Liste des modèles fournis :
$ tts --list_models
Obtenez des informations sur le modèle (pour tts_models et vocodeur_models) :
Requête par type/nom : model_info_by_name utilise le nom tel qu'il provient de --list_models.
$ tts --model_info_by_name "<model_type>/<language>/<dataset>/<model_name>"
Par exemple:
$ tts --model_info_by_name tts_models/tr/common-voice/glow-tts
$ tts --model_info_by_name vocoder_models/en/ljspeech/hifigan_v2
Requête par type/idx : Le model_query_idx utilise l'idx correspondant de --list_models.
$ tts --model_info_by_idx "<model_type>/<model_query_idx>"
Par exemple:
$ tts --model_info_by_idx tts_models/3
Rechercher des informations sur le modèle par nom complet :
$ tts --model_info_by_name "<model_type>/<language>/<dataset>/<model_name>"
Exécutez TTS avec les modèles par défaut :
$ tts --text "Text for TTS" --out_path output/path/speech.wav
Exécutez TTS et extrayez les données du fichier wav TTS généré :
$ tts --text "Text for TTS" --pipe_out --out_path output/path/speech.wav | aplay
Exécutez un modèle TTS avec son modèle de vocodeur par défaut :
$ tts --text "Text for TTS" --model_name "<model_type>/<language>/<dataset>/<model_name>" --out_path output/path/speech.wav
Par exemple:
$ tts --text "Text for TTS" --model_name "tts_models/en/ljspeech/glow-tts" --out_path output/path/speech.wav
Exécutez avec des modèles TTS et vocodeur spécifiques de la liste :
$ tts --text "Text for TTS" --model_name "<model_type>/<language>/<dataset>/<model_name>" --vocoder_name "<model_type>/<language>/<dataset>/<model_name>" --out_path output/path/speech.wav
Par exemple:
$ tts --text "Text for TTS" --model_name "tts_models/en/ljspeech/glow-tts" --vocoder_name "vocoder_models/en/ljspeech/univnet" --out_path output/path/speech.wav
Exécutez votre propre modèle TTS (en utilisant Griffin-Lim Vocoder) :
$ tts --text "Text for TTS" --model_path path/to/model.pth --config_path path/to/config.json --out_path output/path/speech.wav
Exécutez vos propres modèles TTS et Vocoder :
$ tts --text "Text for TTS" --model_path path/to/model.pth --config_path path/to/config.json --out_path output/path/speech.wav
--vocoder_path path/to/vocoder.pth --vocoder_config_path path/to/vocoder_config.json
Listez les intervenants disponibles et choisissez un <speaker_id> parmi eux :
$ tts --model_name "<language>/<dataset>/<model_name>" --list_speaker_idxs
Exécutez le modèle TTS multi-haut-parleurs avec l'ID du haut-parleur cible :
$ tts --text "Text for TTS." --out_path output/path/speech.wav --model_name "<language>/<dataset>/<model_name>" --speaker_idx <speaker_id>
Exécutez votre propre modèle TTS multi-haut-parleurs :
$ tts --text "Text for TTS" --out_path output/path/speech.wav --model_path path/to/model.pth --config_path path/to/config.json --speakers_file_path path/to/speaker.json --speaker_idx <speaker_id>
$ tts --out_path output/path/speech.wav --model_name "<language>/<dataset>/<model_name>" --source_wav <path/to/speaker/wav> --target_wav <path/to/reference/wav>
|- notebooks/ (Jupyter Notebooks for model evaluation, parameter selection and data analysis.)
|- utils/ (common utilities.)
|- TTS
|- bin/ (folder for all the executables.)
|- train*.py (train your target model.)
|- ...
|- tts/ (text to speech models)
|- layers/ (model layer definitions)
|- models/ (model definitions)
|- utils/ (model specific utilities.)
|- speaker_encoder/ (Speaker Encoder models.)
|- (same)
|- vocoder/ (Vocoder models.)
|- (same)