File size: 1,977 Bytes
0870595
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
619a500
1e83e64
 
 
 
be06c80
 
1d5f2e4
619a500
1e83e64
0870595
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
FROM python:3.10-slim

# Install system dependencies
RUN apt-get update && apt-get install -y \
    curl \
    ffmpeg \
    git \
    build-essential \
    && rm -rf /var/lib/apt/lists/*

WORKDIR /code

# Copy requirements and install python packages
COPY ./requirements.txt /code/requirements.txt
RUN pip install --upgrade pip "setuptools<70" wheel && \
    pip install "cython<3.0" "numpy>=1.26.3,<2.0" && \
    pip install --no-build-isolation madmom && \
    pip install --no-cache-dir --upgrade -r /code/requirements.txt

# Pre-descargar pesos del modelo BTC de acordes en la imagen
RUN mkdir -p /code/models && \
    curl -L -o /code/models/btc_chord.pth https://huggingface.co/amaai-lab/music2emo/resolve/main/inference/data/btc_model.pt

# Separación HQ (igual que los workers privados): voz MDX Voc FT, especialistas de htdemucs_ft y karaoke para los coros de 7 pistas.
# Los modelos quedan en la imagen para no descargarlos en cada reinicio del Space.
ENV SEPARACION_HQ=true \
    SEPARATOR_MODELS_DIR=/code/models/separator \
    TORCH_HOME=/code/models/torch
# La config del karaoke va en el repo: audio-separator la baja de GitHub y si falla rompe el build
COPY modelos/ /code/models/separator/
RUN python -c "from demucs.pretrained import get_model; get_model('htdemucs_6s'); [get_model(m) for m in ('f7e0c4bc', 'd12395a8', '92cfc3b6')]" && \
    python -c "from audio_separator.separator import Separator; s = Separator(model_file_dir='/code/models/separator'); s.load_model('UVR-MDX-NET-Voc_FT.onnx'); s.load_model('mel_band_roformer_karaoke_aufr33_viperx_sdr_10.1956.ckpt')"

# Copy application files
COPY . .

# Create writable folders with permissions for Hugging Face user 1000
RUN mkdir -p /code/processed /code/uploads /code/logs /code/models && chmod -R 777 /code

# Grant execution rights to start script (and strip any Windows carriage returns)
RUN sed -i 's/\r$//' /code/start.sh && chmod +x /code/start.sh

# Run start script
CMD ["/code/start.sh"]