Introdução
Warning
Não nos responsabilizamos por qualquer uso ilegal do código-fonte. Consulte as leis locais sobre DMCA (Digital Millennium Copyright Act) e outras leis relevantes em sua região.
Este repositório de código e os modelos são distribuídos sob a licença CC-BY-NC-SA-4.0.
Requisitos
- Memória da GPU: 4GB (para inferência), 8GB (para ajuste fino)
- Sistema: Linux, Windows
Configuração do Windows
Usuários profissionais do Windows podem considerar o uso do WSL2 ou Docker para executar a base de código.
# Crie um ambiente virtual Python 3.10, também é possível usar o virtualenv
conda create -n fish-speech python=3.10
conda activate fish-speech
# Instale o pytorch
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
# Instale o fish-speech
pip3 install -e .
# (Ativar aceleração) Instalar triton-windows
pip install https://github.com/AnyaCoder/fish-speech/releases/download/v0.1.0/triton_windows-0.1.0-py3-none-any.whl
Usuários não profissionais do Windows podem considerar os seguintes métodos básicos para executar o projeto sem um ambiente Linux (com capacidades de compilação de modelo, ou seja, torch.compile
):
- Extraia o pacote do projeto.
- Clique em
install_env.bat
para instalar o ambiente. - Se você quiser ativar a aceleração de compilação, siga estas etapas:
- Baixe o compilador LLVM nos seguintes links:
- LLVM-17.0.6 (Download do site oficial)
- LLVM-17.0.6 (Download do site espelho)
- Após baixar o
LLVM-17.0.6-win64.exe
, clique duas vezes para instalar, selecione um local de instalação apropriado e, o mais importante, marque a opçãoAdd Path to Current User
para adicionar a variável de ambiente. - Confirme que a instalação foi concluída.
- Baixe e instale o Microsoft Visual C++ Redistributable para resolver possíveis problemas de arquivos .dll ausentes:
- Baixe e instale o Visual Studio Community Edition para obter as ferramentas de compilação do MSVC++ e resolver as dependências dos arquivos de cabeçalho do LLVM:
- Download do Visual Studio
- Após instalar o Visual Studio Installer, baixe o Visual Studio Community 2022.
- Conforme mostrado abaixo, clique no botão
Modificar
, encontre a opçãoDesenvolvimento de área de trabalho com C++
e selecione para fazer o download.
- Baixe e instale o CUDA Toolkit 12.x
- Baixe o compilador LLVM nos seguintes links:
- Clique duas vezes em
start.bat
para abrir a interface de gerenciamento WebUI de inferência de treinamento. Se necessário, você pode modificar asAPI_FLAGS
conforme mostrado abaixo.
Opcional
Você quer iniciar o WebUI de inferência?
Edite o arquivo API_FLAGS.txt
no diretório raiz do projeto e modifique as três primeiras linhas como segue:
Opcional
Você quer iniciar o servidor de API?
Edite o arquivo API_FLAGS.txt
no diretório raiz do projeto e modifique as três primeiras linhas como segue:
Opcional
Clique duas vezes em run_cmd.bat
para entrar no ambiente de linha de comando conda/python deste projeto.
Configuração para Linux
# Crie um ambiente virtual python 3.10, você também pode usar virtualenv
conda create -n fish-speech python=3.10
conda activate fish-speech
# Instale o pytorch
pip3 install torch torchvision torchaudio
# Instale o fish-speech
pip3 install -e .[stable]
# Para os Usuário do Ubuntu / Debian: Instale o sox + ffmpeg
apt install libsox-dev ffmpeg
Configuração para macos
Se você quiser realizar inferências no MPS, adicione a flag --device mps
.
Para uma comparação das velocidades de inferência, consulte este PR.
Aviso
A opção compile
não é oficialmente suportada em dispositivos Apple Silicon, então não há garantia de que a velocidade de inferência irá melhorar.
# create a python 3.10 virtual environment, you can also use virtualenv
conda create -n fish-speech python=3.10
conda activate fish-speech
# install pytorch
pip install torch torchvision torchaudio
# install fish-speech
pip install -e .[stable]
Configuração do Docker
-
Instale o NVIDIA Container Toolkit:
Para usar a GPU com Docker para treinamento e inferência de modelos, você precisa instalar o NVIDIA Container Toolkit:
Para usuários Ubuntu:
# Adicione o repositório remoto curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \ && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \ sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \ sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list # Instale o nvidia-container-toolkit sudo apt-get update sudo apt-get install -y nvidia-container-toolkit # Reinicie o serviço Docker sudo systemctl restart docker
Para usuários de outras distribuições Linux, consulte o guia de instalação: NVIDIA Container Toolkit Install-guide.
-
Baixe e execute a imagem fish-speech
-
Baixe as dependências do modelo
Certifique-se de estar no terminal do contêiner Docker e, em seguida, baixe os modelos necessários
vqgan
ellama
do nosso repositório HuggingFace. -
Configure as variáveis de ambiente e acesse a WebUI
No terminal do contêiner Docker, digite
export GRADIO_SERVER_NAME="0.0.0.0"
para permitir o acesso externo ao serviço gradio dentro do Docker. Em seguida, no terminal do contêiner Docker, digitepython tools/webui.py
para iniciar o serviço WebUI.Se estiver usando WSL ou MacOS, acesse http://localhost:7860 para abrir a interface WebUI.
Se estiver implantando em um servidor, substitua localhost pelo IP do seu servidor.
Histórico de Alterações
- 10/09/2024: Fish-Speech atualizado para a versão 1.4, aumentado o tamanho do conjunto de dados, quantizer n_groups 4 -> 8.
- 02/07/2024: Fish-Speech atualizado para a versão 1.2, removido o Decodificador VITS e aprimorado consideravelmente a capacidade de zero-shot.
- 10/05/2024: Fish-Speech atualizado para a versão 1.1, implementado o decodificador VITS para reduzir a WER e melhorar a similaridade de timbre.
- 22/04/2024: Finalizada a versão 1.0 do Fish-Speech, modificados significativamente os modelos VQGAN e LLAMA.
- 28/12/2023: Adicionado suporte para ajuste fino
lora
. - 27/12/2023: Adicionado suporte para
gradient checkpointing
,causual sampling
eflash-attn
. - 19/12/2023: Atualizada a interface web e a API HTTP.
- 18/12/2023: Atualizada a documentação de ajuste fino e exemplos relacionados.
- 17/12/2023: Atualizado o modelo
text2semantic
, suportando o modo sem fonemas. - 13/12/2023: Versão beta lançada, incluindo o modelo VQGAN e um modelo de linguagem baseado em LLAMA (suporte apenas a fonemas).