index.md 9.5 KB

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. <br/>
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 para Windows

No Windows, usuários avançados podem considerar usar o WSL2 ou Docker para executar o código.

Para Usuários comuns (não-avançados), siga os métodos abaixo para executar o código sem um ambiente Linux (incluindo suporte para torch.compile):

  1. Extraia o arquivo compactado do projeto.
  2. Prepare o ambiente conda:
    • Abra o install_env.bat para baixar e iniciar a instalação do miniconda.
    • Personalize o download (opcional):
      • **Site espelho:** Para usar um site espelho para downloads mais rápidos, defina USE_MIRROR=true no install_env.bat (padrão). Caso contrário, use USE_MIRROR=false.
      • **Ambiente compilado:** Para baixar a versão de prévia com o ambiente compilado, defina INSTALL_TYPE=preview. Para a versão estável sem ambiente compilado, use INSTALL_TYPE=stable.
  3. Se você escolheu a versão de prévia com ambiente compilado (INSTALL_TYPE=preview), siga para a próxima etapa (opcional):
    1. Baixe o compilador LLVM usando os seguintes links:
    2. Baixe e instale o pacote Microsoft Visual C++ Redistributable para resolver possíveis problemas de .dll ausentes.
    3. Baixe e instale o Visual Studio Community Edition para obter as ferramentas de compilação MSVC++, resolvendo as dependências do arquivo de cabeçalho LLVM.
      • Download do Visual Studio
      • Após instalar o Visual Studio Installer, baixe o Visual Studio Community 2022.
      • Clique no botão Modificar, conforme mostrado abaixo, encontre a opção Desenvolvimento para desktop com C++ e marque-a para download.
    4. Instale o CUDA Toolkit 12
  4. Clique duas vezes em start.bat para entrar na página da WebUI de configuração de inferência de treinamento do Fish-Speech.
    • (Opcional) Se desejar ir direto para a página de inferência, edite o arquivo API_FLAGS.txt no diretório raiz do projeto e modifique as três primeiras linhas da seguinte forma:
      --infer
      # --api
      # --listen ...
      ...
    • (Opcional) Se preferir iniciar o servidor da API, edite o arquivo API_FLAGS.txt no diretório raiz do projeto e modifique as três primeiras linhas da seguinte forma:
      # --infer
      --api
      --listen ...
      ...
  5. (Opcional) Clique duas vezes em run_cmd.bat para entrar na CLI do 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 do Docker

  1. 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.

    1. Baixe e execute a imagem fish-speech
    # Baixe a imagem
    docker pull fishaudio/fish-speech:latest-dev
    # Execute a imagem
    docker run -it \
        --name fish-speech \
        --gpus all \
        -p 7860:7860 \
        fishaudio/fish-speech:latest-dev \
        zsh
    # Se precisar usar outra porta, modifique o parâmetro -p para YourPort:7860
    
  2. 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 e llama do nosso repositório HuggingFace.

    huggingface-cli download fishaudio/fish-speech-1.4 --local-dir checkpoints/fish-speech-1.4
    
    1. 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, digite python 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 e flash-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).

    Agradecimentos