| ## Requisitos |
|
|
| - Memória da GPU: 24GB (Inferência) |
| - Sistema: Linux, WSL |
|
|
| ## Configuração do Sistema |
|
|
| O Fish Audio S2 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: |
| ``` bash |
| apt install portaudio19-dev libsox-dev ffmpeg |
| ``` |
|
|
| ### Conda |
|
|
| ```bash |
| 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 . |
| |
| # Se encontrar um erro durante a instalação devido ao pyaudio, considere usar o seguinte comando: |
| # conda install pyaudio |
| # De seguida, execute pip install -e . novamente |
| ``` |
|
|
| ### UV |
|
|
| O UV oferece uma resolução e instalação de dependências mais rápidas: |
|
|
| ```bash |
| # 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: |
|
|
| ```bash |
| 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 Fish Audio S2 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](inference.md). |
|
|
| ### Pré-requisitos |
|
|
| - Docker e Docker Compose instalados |
| - NVIDIA Docker runtime instalado (para suporte de GPU) |
| - Pelo menos 24GB 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: |
|
|
| ```bash |
| # 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: |
|
|
| ```bash |
| # 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: |
|
|
| ```bash |
| # 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. |
| |