HTDemucs FT — MLX

The fine-tuned Hybrid Transformer Demucs bag (htdemucs_ft, Rouard et al. 2023): four HTDemucs models, each fine-tuned for one stem (drums / bass / other / vocals), combined with one-hot bag weights. The best-quality 4-stem Demucs variant, converted to MLX for Apple Silicon. Source: facebookresearch/demucs.

Runs with the open schism-mlx package:

from schism_mlx.separate import htdemucs

model = htdemucs.from_pretrained("schism-audio/htdemucs-ft-mlx")
stems = model.separate("song.wav")   # {"drums": (2, L), "bass": ..., ...}

~4× the compute of plain htdemucs (four full models per track): ~1.9 s for 15 s of stereo on an M5 Max (RTF 0.13). For faster separation use schism-audio/htdemucs-mlx.

Conversion & verification

  • All four sub-models' float32 weights (533 tensors each), tensor-renamed and layout-permuted for MLX. No quantization, no finetuning.
  • Verified against the live demucs reference: sub-model forward 6.0e-7 max sample diff; full bagged segmented tracks match apply_model(htdemucs_ft, shifts=0, split=True) to 1.3e-7.
  • A drums-only recording from schism-audio/e-gmd lands 100.0% of output energy in the drums stem.
  • Deterministic (shifts=0); the demucs CLI defaults to --shifts 1, so compare against demucs --shifts 0.

Precision note: on M5-class GPUs, MLX silently runs float32 matmuls at TF32-class precision (ml-explore/mlx#3860). schism_mlx disables this on import; set MLX_ENABLE_TF32=0 if using these weights with your own MLX code.

License

MIT, inherited from facebookresearch/demucs. Model by Simon Rouard, Francisco Massa, and Alexandre Défossez (Meta AI); MLX conversion by schism-audio.

Downloads last month
27
Safetensors
Model size
0.2B params
Tensor type
F32
·
MLX
Hardware compatibility
Log In to add your hardware

Quantized

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Paper for schism-audio/htdemucs-ft-mlx