| ## Requisitos |
|
|
| * Memoria GPU: 24GB (Inferencia) |
| * Sistema: Linux, WSL |
|
|
| ## Configuración del sistema |
|
|
| Fish Audio S2 admite múltiples métodos de instalación. Elige el que mejor se adapte a tu entorno de desarrollo. |
|
|
| **Prerrequisitos**: Instala las dependencias del sistema para el procesamiento de audio: |
|
|
| ```bash |
| apt install portaudio19-dev libsox-dev ffmpeg |
| ``` |
|
|
| ### Conda |
|
|
| ```bash |
| conda create -n fish-speech python=3.12 |
| conda activate fish-speech |
| |
| # Instalación con GPU (elige tu versión de CUDA: cu126, cu128, cu129) |
| pip install -e .[cu129] |
| |
| # Instalación solo CPU |
| pip install -e .[cpu] |
| |
| # Instalación por defecto (usa el índice por defecto de PyTorch) |
| pip install -e . |
| |
| # Si encuentras un error durante la instalación debido a pyaudio, considera usar el siguiente comando: |
| # conda install pyaudio |
| # Luego ejecuta pip install -e . nuevamente |
| ``` |
|
|
| ### UV |
|
|
| UV proporciona una resolución de dependencias e instalación más rápida: |
|
|
| ```bash |
| # Instalación con GPU (elige tu versión de CUDA: cu126, cu128, cu129) |
| uv sync --python 3.12 --extra cu129 |
| |
| # Instalación solo CPU |
| uv sync --python 3.12 --extra cpu |
| ``` |
|
|
| ### Soporte para Intel Arc XPU |
|
|
| Para usuarios de GPU Intel Arc, instala con soporte XPU: |
|
|
| ```bash |
| conda create -n fish-speech python=3.12 |
| conda activate fish-speech |
| |
| # Instalar la biblioteca estándar de C++ requerida |
| conda install libstdcxx -c conda-forge |
| |
| # Instalar PyTorch con soporte Intel XPU |
| pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/xpu |
| |
| # Instalar Fish Speech |
| pip install -e . |
| ``` |
|
|
| !!! warning |
| La opción `compile` no es compatible con Windows ni macOS. Si quieres ejecutar con compile, necesitas instalar Triton manualmente. |
|
|
| ## Configuración con Docker |
|
|
| El modelo de la serie Fish Audio S2 ofrece múltiples opciones de despliegue con Docker para adaptarse a diferentes necesidades. Puedes usar imágenes preconstruidas desde Docker Hub, construir localmente con Docker Compose o crear imágenes personalizadas manualmente. |
|
|
| Proporcionamos imágenes Docker tanto para WebUI como para el servidor API en GPU (CUDA126 por defecto) y CPU. Puedes usar imágenes preconstruidas desde Docker Hub, construir localmente con Docker Compose o crear imágenes personalizadas manualmente. Si quieres construir localmente, sigue las instrucciones a continuación. Si solo quieres usar imágenes preconstruidas, sigue la [guía de inferencia](inference.md). |
|
|
| ### Prerrequisitos |
|
|
| * Docker y Docker Compose instalados |
| * Runtime de NVIDIA Docker (para soporte GPU) |
| * Al menos 24GB de memoria GPU para inferencia con CUDA |
|
|
| # Usar docker compose |
|
|
| Para desarrollo o personalización, puedes usar Docker Compose para construir y ejecutar localmente: |
|
|
| ```bash |
| # Clonar el repositorio primero |
| git clone https://github.com/fishaudio/fish-speech.git |
| cd fish-speech |
| |
| # Iniciar WebUI con CUDA |
| docker compose --profile webui up |
| |
| # Iniciar WebUI con optimización compile |
| COMPILE=1 docker compose --profile webui up |
| |
| # Iniciar servidor API |
| docker compose --profile server up |
| |
| # Iniciar servidor API con optimización compile |
| COMPILE=1 docker compose --profile server up |
| |
| # Para despliegue solo CPU |
| BACKEND=cpu docker compose --profile webui up |
| ``` |
|
|
| #### Variables de entorno para Docker Compose |
|
|
| Puedes personalizar el despliegue usando variables de entorno: |
|
|
| ```bash |
| # Ejemplo de archivo .env |
| BACKEND=cuda # o cpu |
| COMPILE=1 # Habilitar optimización compile |
| GRADIO_PORT=7860 # Puerto de WebUI |
| API_PORT=8080 # Puerto del servidor API |
| UV_VERSION=0.8.15 # Versión del gestor de paquetes UV |
| CUDA_VER=12.9.0 # Versión base de imagen CUDA (ej. 12.6.0 para drivers más antiguos) |
| UV_EXTRA=cu129 # Variante CUDA de PyTorch (cu126, cu128, cu129) — debe coincidir con CUDA_VER |
| ``` |
|
|
| El comando construirá la imagen y ejecutará el contenedor. Puedes acceder a la WebUI en `http://localhost:7860` y al servidor API en `http://localhost:8080`. |
|
|
| ### Construcción manual con Docker |
|
|
| Para usuarios avanzados que quieran personalizar el proceso de build: |
|
|
| ```bash |
| # Construir imagen WebUI con soporte CUDA |
| docker build \ |
| --platform linux/amd64 \ |
| -f docker/Dockerfile \ |
| --build-arg BACKEND=cuda \ |
| --build-arg CUDA_VER=12.9.0 \ |
| --build-arg UV_EXTRA=cu129 \ |
| --target webui \ |
| -t fish-speech-webui:cuda . |
| |
| # Construir imagen del servidor API con soporte CUDA |
| docker build \ |
| --platform linux/amd64 \ |
| -f docker/Dockerfile \ |
| --build-arg BACKEND=cuda \ |
| --build-arg CUDA_VER=12.9.0 \ |
| --build-arg UV_EXTRA=cu129 \ |
| --target server \ |
| -t fish-speech-server:cuda . |
| |
| # Construir imágenes solo CPU (soporta múltiples plataformas) |
| docker build \ |
| --platform linux/amd64,linux/arm64 \ |
| -f docker/Dockerfile \ |
| --build-arg BACKEND=cpu \ |
| --target webui \ |
| -t fish-speech-webui:cpu . |
| |
| # Construir imagen de desarrollo |
| docker build \ |
| --platform linux/amd64 \ |
| -f docker/Dockerfile \ |
| --build-arg BACKEND=cuda \ |
| --target dev \ |
| -t fish-speech-dev:cuda . |
| ``` |
|
|
| #### Argumentos de build |
|
|
| * `BACKEND`: `cuda` o `cpu` (por defecto: `cuda`) |
| * `CUDA_VER`: versión de CUDA (por defecto: `12.6.0`) |
| * `UV_EXTRA`: extra de UV para CUDA (por defecto: `cu126`) |
| * `UBUNTU_VER`: versión de Ubuntu (por defecto: `24.04`) |
| * `PY_VER`: versión de Python (por defecto: `3.12`) |
|
|
| ### Montajes de volumen |
|
|
| Ambos métodos requieren montar estos directorios: |
|
|
| * `./checkpoints:/app/checkpoints` - Directorio de pesos del modelo |
| * `./references:/app/references` - Directorio de archivos de audio de referencia |
|
|
| ### Variables de entorno |
|
|
| * `COMPILE=1` - Habilitar torch.compile para inferencia más rápida (~10x de mejora) |
| * `GRADIO_SERVER_NAME=0.0.0.0` - Host del servidor WebUI |
| * `GRADIO_SERVER_PORT=7860` - Puerto del servidor WebUI |
| * `API_SERVER_NAME=0.0.0.0` - Host del servidor API |
| * `API_SERVER_PORT=8080` - Puerto del servidor API |
|
|
| !!! note |
| Los contenedores Docker esperan que los pesos del modelo estén montados en `/app/checkpoints`. Asegúrate de descargar los pesos del modelo necesarios antes de iniciar los contenedores. |
|
|
| !!! warning |
| El soporte GPU requiere el runtime de NVIDIA Docker. Para despliegues solo CPU, elimina el flag `--gpus all` y usa imágenes de CPU. |
|
|