install.md 6.1 KB

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:

apt install portaudio19-dev libsox-dev ffmpeg

Conda

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:

# 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:

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.

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:

# 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:

# 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:

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