Inglês README | Projeto de dicas do Discord |
Uma interface da web local simples que usa ChatTTS para sintetizar texto em fala na página da web, oferece suporte a números em chinês, inglês e mistos e fornece uma interface API.
Projeto ChatTTS original A partir da versão 0.96, a implantação do código-fonte deve primeiro instalar o ffmpeg. Os arquivos de timbre anteriores csv e pt não estão mais disponíveis.
[Patrocinador]
302.AI é um supermercado de IA que reúne as principais marcas do mundo, com pagamento conforme o uso, zero mensalidade e limite zero para uso de vários tipos de IA.
Funções abrangentes, simples e fáceis de usar, limite zero para pagamento sob demanda, separação entre gerentes e usuários
Visualização da interface
Efeito misto de caractere de controle de símbolo alfanumérico
Pela primeira vez, baixe o modelo de huggingface.co ou github para o diretório de ativos. Se a rede estiver instável, o download pode falhar. Se falhar, faça o download separadamente.
Após baixar e descompactar, você verá a pasta de ativos, que contém vários arquivos pt. Copie todos os arquivos pt para o diretório de ativos e reinicie o software.
Endereço de download do GitHub: https://github.com/jianchang512/ChatTTS-ui/releases/download/v1.0/all-models.7z
Endereço de download do disco de rede Baidu: https://pan.baidu.com/s/1yGDZM9YNN7kW9e7SFo8lLw?pwd=ct5x
Puxe o repositório do projeto
Clone o projeto em qualquer caminho, por exemplo:
git clone https://github.com/jianchang512/ChatTTS-ui.git chat-tts-ui
Iniciar corredor
Entre no diretório do projeto:
cd chat-tts-ui
Inicie o contêiner e visualize o log de inicialização:
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
Visite ChatTTS WebUI
启动:['0.0.0.0', '9966']
, ou seja, acesse IP:9966
, por exemplo:
http://127.0.0.1:9966
http://192.168.1.100:9966
Obtenha o código mais recente do branch principal:
git checkout main
git pull origin main
Vá para a próxima etapa e atualize para a imagem mais recente:
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
Configure o ambiente python3.9-3.11 e instale o ffmpeg. yum install ffmpeg
ou apt-get install ffmpeg
etc.
Crie um diretório vazio /data/chattts
e execute o comando cd /data/chattts && git clone https://github.com/jianchang512/chatTTS-ui .
Crie um ambiente virtual python3 -m venv venv
Ativar source ./venv/bin/activate
Instale dependências pip3 install -r requirements.txt
Se a aceleração CUDA não for necessária, execute
pip3 install torch==2.2.0 torchaudio==2.2.0
Se a aceleração CUDA for necessária, execute
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
Você também precisa instalar o CUDA11.8+ ToolKit, procure você mesmo o método de instalação ou consulte https://juejin.cn/post/7318704408727519270
Além do CUDA, as GPUs AMD também podem ser utilizadas para aceleração, o que requer a instalação das versões ROCm e PyTorch_ROCm. A GPU AMG usa ROCm pronto para uso no PyTorch, sem modificações adicionais de código.
pip3 install torch==2.2.0 torchaudio==2.2.0 --index-url https://download.pytorch.org/whl/rocm6.0
Após a conclusão da instalação, você pode usar o comando rocm-smi para visualizar a GPU AMD no sistema. Você também pode usar o seguinte código Torch (query_gpu.py) para consultar o dispositivo GPU AMD atual.
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)
Usando o código acima, tomando o AMD Radeon Pro W7900 como exemplo, consulte o dispositivo da seguinte maneira.
$ python ~/query_gpu.py
2.4.0.dev20240401+rocm6.0
Using GPU: AMD Radeon PRO W7900
Execute python3 app.py
para iniciar e a janela do navegador abrirá automaticamente com o endereço padrão http://127.0.0.1:9966
(Nota: o modelo é baixado da torre mágica do modelscope por padrão e o download de proxy não pode ser usado. Por favor, desligue o proxy)
Configure o ambiente python3.9-3.11, instale o git e execute o comando brew install libsndfile git [email protected]
para continuar a execução.
brew install ffmpeg
export PATH="/usr/local/opt/[email protected]/bin:$PATH"
source ~/.bash_profile
source ~/.zshrc
Crie um diretório vazio /data/chattts
e execute o comando cd /data/chattts && git clone https://github.com/jianchang512/chatTTS-ui .
Crie um ambiente virtual python3 -m venv venv
Ativar source ./venv/bin/activate
Instale dependências pip3 install -r requirements.txt
Instale a tocha pip3 install torch==2.2.0 torchaudio==2.2.0
Execute python3 app.py
para iniciar e a janela do navegador abrirá automaticamente com o endereço padrão http://127.0.0.1:9966
(Nota: o modelo é baixado da torre mágica do modelscope por padrão e o download de proxy não pode ser usado. Por favor, desligue o proxy)
Baixe python3.9-3.11, certifique-se de selecionar Add Python to environment variables
ao instalar.
Baixe ffmpeg.exe e coloque-o na pasta ffmpeg no diretório do software
Baixe e instale o git, https://github.com/git-for-windows/git/releases/download/v2.45.1.windows.1/Git-2.45.1-64-bit.exe
Crie uma pasta vazia D:/chattts
e digite cmd
na barra de endereço e pressione Enter. Na janela pop-up cmd, execute o comando git clone https://github.com/jianchang512/chatTTS-ui .
Crie um ambiente virtual e execute o comando python -m venv venv
Para ativar o ambiente virtual, execute .venvscriptsactivate
Para instalar dependências, execute pip install -r requirements.txt
Se a aceleração CUDA não for necessária,
Execute pip install torch==2.2.0 torchaudio==2.2.0
Se a aceleração CUDA for necessária, execute
pip install torch==2.2.0 torchaudio==2.2.0 --index-url https://download.pytorch.org/whl/cu118
Você também precisa instalar o CUDA11.8+ ToolKit, procure você mesmo o método de instalação ou consulte https://juejin.cn/post/7318704408727519270
Execute python app.py
para iniciar e a janela do navegador abrirá automaticamente com o endereço padrão http://127.0.0.1:9966
(Nota: o modelo é baixado da torre mágica do modelscope por padrão e o download do proxy não pode ser usado. Por favor, desligue o proxy)
Se a memória da GPU for inferior a 4G, a CPU será forçada a ser usada.
No Windows ou Linux, se a memória de vídeo for maior que 4G e for uma placa gráfica NVIDIA, mas a CPU ainda for usada após a implantação do código-fonte, você pode tentar desinstalar a tocha primeiro e depois reinstalá-la. Desinstalar pip uninstall -y torch torchaudio
. pip uninstall -y torch torchaudio
e reinstale a versão cuda do torch. pip install torch==2.2.0 torchaudio==2.2.0 --index-url https://download.pytorch.org/whl/cu118
. CUDA11.8+ deve estar instalado
Por padrão, ele detecta se o modelscope pode ser conectado. Se puder, baixe o modelo do modelscope, caso contrário, baixe o modelo do huggingface.co.
Após a versão 0.96, devido à atualização do kernel ChatTTS, não é mais possível usar diretamente o arquivo pt baixado deste site (https://modelscope.cn/studios/ttwwaaa/ChatTTS_Speaker)
Portanto, ao adicionar o script de conversão cover-pt.py, o pacote de integração Win pode baixar diretamente o arquivo cover-pt.exe e colocá-lo no mesmo diretório que app.exe e clicar duas vezes para executá-lo.
Após executar python cover-pt.py
, o arquivo começando com seed_
e terminando com _emb.pt
no diretório speaker
, ou seja, o nome de arquivo padrão pt após o download, será convertido em um formato de codificação disponível. O pt convertido será. renomeado Terminando com _emb-covert.pt
.
exemplo:
Caso este arquivo exista em speaker/seed_2155_restored_emb.pt
, ele será convertido para speaker/seed_2155_restored_emb-cover.pt
, e então o arquivo pt original será deletado, restando apenas o arquivo convertido.
O endereço padrão é http://127.0.0.1:9966
. Se desejar modificá-lo, você pode abrir o arquivo .env
no diretório e alterar WEB_ADDRESS=127.0.0.1:9966
para o IP e porta apropriados, como WEB_ADDRESS=192.168.0.10:9966
para que possa ser acessado pela LAN
Método de solicitação: POST
Endereço de solicitação: http://127.0.0.1:9966/tts
Parâmetros de solicitação:
text: str| Obrigatório, o texto a ser sintetizado em fala
voz: Opcional, o padrão é 2222, o número que determina a voz, 2222 | 6653 | 4099, você pode escolher um deles, ou qualquer voz será usada aleatoriamente.
prompt: str| opcional, padrão vazio, definir risada e pausa, por exemplo [oral_2][laugh_0][break_6]
temperatura: float | opcional, padrão 0,3
top_p: float| opcional, padrão 0,7
top_k: int| opcional, padrão 20
skip_refine: int| Opcional, padrão 0, 1=pular refinar texto, 0=não pular
custom_voice: int| Opcional, padrão 0, valor inicial personalizado ao obter o valor do timbre, precisa de um número inteiro maior que 0, se definido, prevalecerá, voice
será ignorada
Retorno: dados json
Retorno bem-sucedido: {code:0,msg:ok,audio_files:[dict1,dict2]}
其中 audio_files 是字典数组,每个元素dict为 {filename:wav文件绝对路径,url:可下载的wav网址}
Retorno em caso de falha:
{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"}
Atualize pyVideoTrans para 1.82+ https://github.com/jianchang512/pyvideotrans
ChatTTS
na interface principal