#!/usr/bin/env bash
set -euo pipefail
JOB="${1:-}"
[[ "$JOB" =~ ^[a-f0-9]{32}$ ]] || { echo "Invalid job id" >&2; exit 2; }
ROOT="/srv/demucs/jobs/$JOB"
INPUT="$ROOT/input"
OUT="$ROOT/demucs"
python3 -m demucs.separate -n htdemucs_ft -d cuda "$INPUT" -o "$OUT"
BASE="$OUT/htdemucs_ft/input"
for STEM in vocals drums bass other; do
  ffmpeg -hide_banner -loglevel error -y -i "$BASE/$STEM.wav" -af volume=1.0 "$ROOT/$STEM.wav"
done
rm -rf "$OUT" "$INPUT"
