Anglais README | Projet Astuce | Groupe de discussion Discord
Une interface Web locale simple qui utilise ChatTTS pour synthétiser du texte en parole sur la page Web, prend en charge le chinois, l'anglais et les nombres mixtes et fournit une interface API.
Projet ChatTTS original. À partir de la version 0.96, le déploiement du code source doit d'abord installer ffmpeg. Les fichiers de timbre précédents csv et pt ne sont plus disponibles. Veuillez remplir les valeurs du timbre et régénérer le timbre.
[Parrainer]
302.AI est un supermarché d'IA qui rassemble les plus grandes marques mondiales, avec un paiement à l'utilisation, aucun frais mensuel et aucun seuil d'utilisation de différents types d'IA.
Fonctionnalités complètes, simples et faciles à utiliser, seuil zéro pour le paiement à la demande, séparation des gestionnaires et des utilisateurs
Aperçu de l'interface
Effet mixte de caractère de contrôle de symbole alphanumérique
Pour la première fois, téléchargez le modèle depuis huggingface.co ou github dans le répertoire des ressources. Si le réseau est instable, le téléchargement peut échouer. S'il échoue, veuillez le télécharger séparément.
Après le téléchargement et la décompression, vous verrez le dossier d'actifs, qui contient plusieurs fichiers pt. Copiez tous les fichiers pt dans le répertoire d'actifs, puis redémarrez le logiciel.
Adresse de téléchargement GitHub : https://github.com/jianchang512/ChatTTS-ui/releases/download/v1.0/all-models.7z
Adresse de téléchargement du disque réseau Baidu : https://pan.baidu.com/s/1yGDZM9YNN7kW9e7SFo8lLw?pwd=ct5x
Extraire le référentiel du projet
Clonez le projet dans n'importe quel chemin, par exemple :
git clone https://github.com/jianchang512/ChatTTS-ui.git chat-tts-ui
Démarrer le coureur
Entrez le répertoire du projet :
cd chat-tts-ui
Démarrez le conteneur et affichez le journal d'initialisation :
gpu版本
docker compose -f docker-compose.gpu.yaml up -d
cpu版本
docker compose -f docker-compose.cpu.yaml up -d
docker compose logs -f --no-log-prefix
Visitez l'interface Web ChatTTS
启动:['0.0.0.0', '9966']
, c'est-à-dire accéder IP:9966
, par exemple :
http://127.0.0.1:9966
http://192.168.1.100:9966
Obtenez le dernier code de la branche principale :
git checkout main
git pull origin main
Passez à l'étape suivante et mettez à jour vers la dernière image :
docker compose down
gpu版本
docker compose -f docker-compose.gpu.yaml up -d --build
cpu版本
docker compose -f docker-compose.cpu.yaml up -d --build
docker compose logs -f --no-log-prefix
Configurez l'environnement python3.9-3.11 et installez ffmpeg. yum install ffmpeg
ou apt-get install ffmpeg
etc.
Créez un répertoire vide /data/chattts
et exécutez la commande cd /data/chattts && git clone https://github.com/jianchang512/chatTTS-ui .
Créer un environnement virtuel python3 -m venv venv
Activer source ./venv/bin/activate
Installer les dépendances pip3 install -r requirements.txt
Si l'accélération CUDA n'est pas requise, exécutez
pip3 install torch==2.2.0 torchaudio==2.2.0
Si l'accélération CUDA est requise, exécutez
pip install torch==2.2.0 torchaudio==2.2.0 --index-url https://download.pytorch.org/whl/cu118
pip install nvidia-cublas-cu11 nvidia-cudnn-cu11
Vous devez également installer CUDA11.8+ ToolKit, veuillez rechercher vous-même la méthode d'installation ou vous référer à https://juejin.cn/post/7318704408727519270
En plus de CUDA, les GPU AMD peuvent également être utilisés pour l'accélération, ce qui nécessite l'installation des versions ROCm et PyTorch_ROCm. Le GPU AMG utilise ROCm prêt à l'emploi dans PyTorch sans modifications de code supplémentaires.
pip3 install torch==2.2.0 torchaudio==2.2.0 --index-url https://download.pytorch.org/whl/rocm6.0
Une fois l'installation terminée, vous pouvez utiliser la commande rocm-smi pour afficher le GPU AMD dans le système. Vous pouvez également utiliser le code Torch suivant (query_gpu.py) pour interroger le périphérique GPU AMD actuel.
import torch
print(torch.__version__)
if torch.cuda.is_available():
device = torch.device("cuda") # a CUDA device object
print('Using GPU:', torch.cuda.get_device_name(0))
else:
device = torch.device("cpu")
print('Using CPU')
torch.cuda.get_device_properties(0)
En utilisant le code ci-dessus, en prenant AMD Radeon Pro W7900 comme exemple, interrogez l'appareil comme suit.
$ python ~/query_gpu.py
2.4.0.dev20240401+rocm6.0
Using GPU: AMD Radeon PRO W7900
Exécutez python3 app.py
pour démarrer et la fenêtre du navigateur s'ouvrira automatiquement avec l'adresse par défaut http://127.0.0.1:9966
(Remarque : le modèle est téléchargé par défaut à partir de la tour magique modelscope et le téléchargement par proxy ne peut pas être utilisé. Veuillez désactiver le proxy)
Configurez l'environnement python3.9-3.11, installez git et exécutez la commande brew install libsndfile git [email protected]
pour continuer l'exécution.
brew install ffmpeg
export PATH="/usr/local/opt/[email protected]/bin:$PATH"
source ~/.bash_profile
source ~/.zshrc
Créez un répertoire vide /data/chattts
et exécutez la commande cd /data/chattts && git clone https://github.com/jianchang512/chatTTS-ui .
Créer un environnement virtuel python3 -m venv venv
Activer source ./venv/bin/activate
Installer les dépendances pip3 install -r requirements.txt
Installer la torche pip3 install torch==2.2.0 torchaudio==2.2.0
Exécutez python3 app.py
pour démarrer et la fenêtre du navigateur s'ouvrira automatiquement avec l'adresse par défaut http://127.0.0.1:9966
(Remarque : le modèle est téléchargé par défaut à partir de la tour magique modelscope et le téléchargement par proxy ne peut pas être utilisé. Veuillez désactiver le proxy)
Téléchargez python3.9-3.11, assurez-vous de sélectionner Add Python to environment variables
lors de l'installation.
Téléchargez ffmpeg.exe et placez-le dans le dossier ffmpeg du répertoire du logiciel
Téléchargez et installez git, https://github.com/git-for-windows/git/releases/download/v2.45.1.windows.1/Git-2.45.1-64-bit.exe
Créez un dossier vide D:/chattts
et saisissez-le. Entrez cmd
dans la barre d'adresse et appuyez sur Entrée. Dans la fenêtre contextuelle cmd, exécutez la commande git clone https://github.com/jianchang512/chatTTS-ui .
Créez un environnement virtuel et exécutez la commande python -m venv venv
Pour activer l'environnement virtuel, exécutez .venvscriptsactivate
Pour installer les dépendances, exécutez pip install -r requirements.txt
Si l'accélération CUDA n'est pas requise,
Exécuter pip install torch==2.2.0 torchaudio==2.2.0
Si l'accélération CUDA est requise, exécutez
pip install torch==2.2.0 torchaudio==2.2.0 --index-url https://download.pytorch.org/whl/cu118
Vous devez également installer CUDA11.8+ ToolKit, veuillez rechercher vous-même la méthode d'installation ou vous référer à https://juejin.cn/post/7318704408727519270
Exécutez python app.py
pour démarrer et la fenêtre du navigateur s'ouvrira automatiquement avec l'adresse par défaut http://127.0.0.1:9966
(Remarque : le modèle est téléchargé par défaut à partir de la tour magique modelscope et le téléchargement par proxy ne peut pas être utilisé. Veuillez désactiver le proxy)
Si la mémoire GPU est inférieure à 4G, le CPU sera obligé d'être utilisé.
Sous Windows ou Linux, si la mémoire vidéo est supérieure à 4G et qu'il s'agit d'une carte graphique NVIDIA, mais que le CPU est toujours utilisé après le déploiement du code source, vous pouvez essayer de désinstaller pip uninstall -y torch torchaudio
d'abord puis de le réinstaller. pip uninstall -y torch torchaudio
et réinstallez la version cuda de torch. pip install torch==2.2.0 torchaudio==2.2.0 --index-url https://download.pytorch.org/whl/cu118
. CUDA11.8+ doit être installé
Par défaut, il détecte si modelscope peut être connecté. Si c'est le cas, téléchargez le modèle depuis modelscope, sinon téléchargez le modèle depuis huggingface.co.
Après la version 0.96, en raison de la mise à jour du noyau ChatTTS, il n'est plus possible d'utiliser directement le fichier pt téléchargé depuis ce site (https://modelscope.cn/studios/ttwwaaa/ChatTTS_Speaker)
Par conséquent, en ajoutant le script de conversion cover-pt.py, le package d'intégration Win peut directement télécharger le fichier cover-pt.exe et le placer dans le même répertoire que app.exe et double-cliquer pour l'exécuter.
Après avoir exécuté python cover-pt.py
, le fichier commençant par seed_
et se terminant par _emb.pt
dans speaker
, c'est-à-dire le nom de fichier par défaut pt après le téléchargement, sera converti dans un format d'encodage disponible. Le pt converti sera. renommé Se terminant par _emb-covert.pt
.
exemple:
Si ce fichier existe dans speaker/seed_2155_restored_emb.pt
, il sera converti en speaker/seed_2155_restored_emb-cover.pt
, puis le fichier pt d'origine sera supprimé, ne laissant que le fichier converti.
L'adresse par défaut est http://127.0.0.1:9966
. Si vous souhaitez la modifier, vous pouvez ouvrir le fichier .env
dans le répertoire et remplacer WEB_ADDRESS=127.0.0.1:9966
par l'adresse IP et le port appropriés, tels que WEB_ADDRESS=192.168.0.10:9966
pour qu'il soit accessible par le LAN
Méthode de requête : POST
Adresse de la demande : http://127.0.0.1:9966/tts
Paramètres de la requête :
text : str| Obligatoire, le texte à synthétiser en discours
voix : facultatif, la valeur par défaut est 2222, le numéro qui détermine la voix, 2222 | 6653 | 5099, vous pouvez en choisir une, ou n'importe quelle voix sera utilisée de manière aléatoire.
invite : str| facultatif, vide par défaut, définissez le rire et la pause, par exemple [oral_2][laugh_0][break_6]
température : float| facultatif, par défaut 0,3
top_p : float| facultatif, par défaut 0,7
top_k : int| facultatif, par défaut 20
skip_refine : int| Facultatif, par défaut 0, 1=ignorer le texte raffiné, 0=ne pas ignorer
custom_voice : int| Facultatif, 0 par défaut, valeur de départ personnalisée lors de l'obtention de la valeur du timbre, nécessite un entier supérieur à 0, si défini, cela prévaudra, voice
sera ignorée
Retour : données json
Retour réussi : {code:0,msg:ok,audio_files:[dict1,dict2]}
其中 audio_files 是字典数组,每个元素dict为 {filename:wav文件绝对路径,url:可下载的wav网址}
Retour sur échec :
{code:1,msg:错误原因}
# API调用代码
import requests
res = requests.post('http://127.0.0.1:9966/tts', data={
"text": "若不懂无需填写",
"prompt": "",
"voice": "3333",
"temperature": 0.3,
"top_p": 0.7,
"top_k": 20,
"skip_refine": 0,
"custom_voice": 0
})
print(res.json())
#ok
{code:0, msg:'ok', audio_files:[{filename: E:/python/chattts/static/wavs/20240601-22_12_12-c7456293f7b5e4dfd3ff83bbd884a23e.wav, url: http://127.0.0.1:9966/static/wavs/20240601-22_12_12-c7456293f7b5e4dfd3ff83bbd884a23e.wav}]}
#error
{code:1, msg:"error"}
Mettez à niveau pyVideoTrans vers 1.82+ https://github.com/jianchang512/pyvideotrans
ChatTTS
dans l'interface principale