Ir para o conteúdo

Instalação

Requisitos

  • Memória da GPU: 12GB (Inferência)
  • Sistema: Linux, WSL

Configuração do Sistema

O OpenAudio suporta múltiplos métodos de instalação. Escolha o que melhor se adapta ao seu ambiente de desenvolvimento.

Pré-requisitos: Instale as dependências de sistema para processamento de áudio:

apt install portaudio19-dev libsox-dev ffmpeg

Conda

conda create -n fish-speech python=3.12
conda activate fish-speech

# Instalação com GPU (escolha a sua versão do CUDA: cu126, cu128, cu129)
pip install -e .[cu129]

# Instalação apenas para CPU
pip install -e .[cpu]

# Instalação padrão (usa o índice padrão do PyTorch)
pip install -e .

UV

O UV oferece uma resolução e instalação de dependências mais rápidas:

# Instalação com GPU (escolha a sua versão do CUDA: cu126, cu128, cu129)
uv sync --python 3.12 --extra cu129

# Instalação apenas para CPU
uv sync --python 3.12 --extra cpu

Suporte para Intel Arc XPU

Para utilizadores de GPUs Intel Arc, instale o suporte XPU da seguinte forma:

conda create -n fish-speech python=3.12
conda activate fish-speech

# Instalar a biblioteca padrão C++ necessária
conda install libstdcxx -c conda-forge

# Instalar o PyTorch com suporte para Intel XPU
pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/xpu

# Instalar o Fish Speech
pip install -e .

Warning

A opção compile não é suportada no Windows e macOS. Se desejar executar com compilação, terá de instalar o Triton manualmente.

Configuração do Docker

O modelo da série OpenAudio S1 oferece múltiplas opções de implementação com Docker para satisfazer diferentes necessidades. Pode usar imagens pré-construídas do Docker Hub, construir localmente com o Docker Compose, ou construir manualmente imagens personalizadas.

Fornecemos imagens Docker para a WebUI e o servidor API, tanto para GPU (CUDA 12.6 por defeito) como para CPU. Pode usar as imagens pré-construídas do Docker Hub, construir localmente com o Docker Compose, ou construir manualmente imagens personalizadas. Se quiser construir localmente, siga as instruções abaixo. Se apenas quiser usar as imagens pré-construídas, siga diretamente o guia de inferência.

Pré-requisitos

  • Docker e Docker Compose instalados
  • NVIDIA Docker runtime instalado (para suporte de GPU)
  • Pelo menos 12GB de memória de GPU para inferência com CUDA

Usar o Docker Compose

Para desenvolvimento ou personalização, pode usar o Docker Compose para construir e executar localmente:

# Primeiro, clone o repositório
git clone https://github.com/fishaudio/fish-speech.git
cd fish-speech

# Iniciar a WebUI com CUDA
docker compose --profile webui up

# Iniciar a WebUI com otimização de compilação
COMPILE=1 docker compose --profile webui up

# Iniciar o servidor API
docker compose --profile server up

# Iniciar o servidor API com otimização de compilação
COMPILE=1 docker compose --profile server up

# Implementação apenas com CPU
BACKEND=cpu docker compose --profile webui up

Variáveis de Ambiente para o Docker Compose

Pode personalizar a implementação usando variáveis de ambiente:

# Exemplo de ficheiro .env
BACKEND=cuda              # ou cpu
COMPILE=1                 # Ativar otimização de compilação
GRADIO_PORT=7860         # Porta da WebUI
API_PORT=8080            # Porta do servidor API
UV_VERSION=0.8.15        # Versão do gestor de pacotes UV

O comando irá construir a imagem e executar o contentor. Pode aceder à WebUI em http://localhost:7860 e ao servidor API em http://localhost:8080.

Construção Manual com Docker

Para utilizadores avançados que desejam personalizar o processo de construção:

# Construir imagem da WebUI com suporte CUDA
docker build \
    --platform linux/amd64 \
    -f docker/Dockerfile \
    --build-arg BACKEND=cuda \
    --build-arg CUDA_VER=12.6.0 \
    --build-arg UV_EXTRA=cu126 \
    --target webui \
    -t fish-speech-webui:cuda .

# Construir imagem do servidor API com suporte CUDA
docker build \
    --platform linux/amd64 \
    -f docker/Dockerfile \
    --build-arg BACKEND=cuda \
    --build-arg CUDA_VER=12.6.0 \
    --build-arg UV_EXTRA=cu126 \
    --target server \
    -t fish-speech-server:cuda .

# Construir imagem apenas para CPU (suporta multiplataforma)
docker build \
    --platform linux/amd64,linux/arm64 \
    -f docker/Dockerfile \
    --build-arg BACKEND=cpu \
    --target webui \
    -t fish-speech-webui:cpu .

# Construir imagem de desenvolvimento
docker build \
    --platform linux/amd64 \
    -f docker/Dockerfile \
    --build-arg BACKEND=cuda \
    --target dev \
    -t fish-speech-dev:cuda .

Argumentos de Construção

  • BACKEND: cuda ou cpu (padrão: cuda)
  • CUDA_VER: Versão do CUDA (padrão: 12.6.0)
  • UV_EXTRA: Pacote extra do UV para CUDA (padrão: cu126)
  • UBUNTU_VER: Versão do Ubuntu (padrão: 24.04)
  • PY_VER: Versão do Python (padrão: 3.12)

Montagem de Volumes

Ambos os métodos requerem a montagem dos seguintes diretórios:

  • ./checkpoints:/app/checkpoints - Diretório dos pesos do modelo
  • ./references:/app/references - Diretório dos ficheiros de áudio de referência

Variáveis de Ambiente

  • COMPILE=1 - Ativa o torch.compile para uma inferência mais rápida (cerca de 10x)
  • GRADIO_SERVER_NAME=0.0.0.0 - Anfitrião do servidor WebUI
  • GRADIO_SERVER_PORT=7860 - Porta do servidor WebUI
  • API_SERVER_NAME=0.0.0.0 - Anfitrião do servidor API
  • API_SERVER_PORT=8080 - Porta do servidor API

Note

Os contentores Docker esperam que os pesos do modelo sejam montados em /app/checkpoints. Certifique-se de que descarregou os pesos do modelo necessários antes de iniciar os contentores.

Warning

O suporte para GPU requer o NVIDIA Docker runtime. Para implementações apenas com CPU, remova a flag --gpus all e use as imagens de CPU.