Inglês README | Projeto de dicas do Discord |
Uma interface web local simples que usa ChatTTS para sintetizar texto em fala, 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
Baixe o pacote compactado em Releases, descompacte-o e clique duas vezes em app.exe para usá-lo
Alguns softwares de segurança podem relatar vírus, saia ou use a implantação do código-fonte
Se a placa gráfica NVIDIA for maior que a memória de vídeo 4G e o CUDA11.8+ estiver instalado, a aceleração da GPU será habilitada.
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. Existem vários arquivos pt nesta pasta. 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 Baidu Netdisk: https://pan.baidu.com/s/1yGDZM9YNN7kW9e7SFo8lLw?pwd=ct5x
Puxe o repositório do projeto
Clone o projeto em qualquer caminho, por exemplo:
clone git 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:
versão gpu docker compose -f docker-compose.gpu.yaml up -d versão da CPU docker compose -f docker-compose.cpu.yaml up -d docker compor logs -f --no-log-prefix
Visite ChatTTS WebUI
启动:['0.0.0.0', '9966']
, ou seja, acesse IP:9966
do dispositivo de implantação, por exemplo:
Esta máquina: http://127.0.0.1:9966
Servidor: http://192.168.1.100:9966
Obtenha o código mais recente do branch principal:
git checkout principal git pull origem principal
Vá para a próxima etapa e atualize para a imagem mais recente:
docker compor versão gpu docker compose -f docker-compose.gpu.yaml up -d --build versão da CPU docker compose -f docker-compose.cpu.yaml up -d --build docker compor 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
Consulte https://rocm.docs.amd.com/projects/install-on-linux/en/latest/tutorial/quick-start.html para instalar o driver AMD GPU e ROCm.
Em seguida, instale a versão PyTorch_ROCm através de https://pytorch.org/.
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:
Se este arquivo existir 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 uma, ou se passar em qualquer voz, a 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
Clique em Menu-Settings-ChatTTS, preencha o endereço da solicitação, o padrão deve ser http://127.0.0.1:9966
Após o teste não apresentar problemas, selecione ChatTTS
na interface principal