|
|
@@ -1,12 +1,13 @@
|
|
|
## Requisitos
|
|
|
|
|
|
-- Memória GPU: 12GB (Inferência)
|
|
|
+- Memória da GPU: 12GB (Inferência)
|
|
|
- Sistema: Linux, WSL
|
|
|
|
|
|
-## Configuração
|
|
|
+## Configuração do Sistema
|
|
|
|
|
|
-Primeiro você precisa instalar pyaudio e sox, que são usados para processamento de áudio.
|
|
|
+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:
|
|
|
``` bash
|
|
|
apt install portaudio19-dev libsox-dev ffmpeg
|
|
|
```
|
|
|
@@ -17,27 +18,168 @@ apt install portaudio19-dev libsox-dev ffmpeg
|
|
|
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:
|
|
|
+
|
|
|
```bash
|
|
|
-uv sync --python 3.12
|
|
|
-```
|
|
|
+# 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 você quiser executar com compile, precisa instalar o triton por conta própria.
|
|
|
+ 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](inference.md).
|
|
|
+
|
|
|
+### 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:
|
|
|
+
|
|
|
+```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.
|