HTDemucs β€” GGUF

GGUF conversions of Meta's HTDemucs (Hybrid Transformer Demucs) for use with CrispASR.

HTDemucs is a state-of-the-art music source separation model that splits audio into 4 stems: drums, bass, other, and vocals.

Files

File Quant Size Notes
htdemucs-f16.gguf F16 81 MB Full precision (conv weights F16, norms/biases F32)
htdemucs-q8_0.gguf Q8_0 53 MB Transformer weights quantized, conv weights F16
htdemucs-q4_k.gguf Q4_K 38 MB Aggressive quantization of transformer weights

40 of 533 tensors are quantized (the CrossTransformer attention/FFN projections). Encoder/decoder conv weights remain at F16 (required by the ggml Conv2d kernel). Norms, biases, LayerScale, and frequency embeddings stay at F32.

Usage with CrispASR

# Separate audio into stems
crispasr --separate -m htdemucs-f16.gguf -f input.wav

# Auto-download
crispasr --separate --backend htdemucs --auto-download -f input.wav

# Select specific stems
crispasr --separate -m htdemucs-f16.gguf --stems vocals,drums -f input.wav

Python

import crispasr
s = crispasr.Session("htdemucs-f16.gguf", backend="htdemucs")
stems = s.separate(stereo_pcm_44100hz)
# stems = {"drums": array, "bass": array, "other": array, "vocals": array}

Model Details

  • Architecture: Hybrid Transformer Demucs (HTDemucs)
  • Parameters: 42M
  • Input: Stereo audio at 44100 Hz
  • Output: 4 stereo stems (drums, bass, other, vocals)
  • Segment length: 7.8 seconds (with overlap-add for longer audio)
  • License: MIT (Meta)

Architecture

  • Dual-branch U-Net: frequency (Conv2d on STFT spectrograms) + time (Conv1d on waveforms)
  • 4-layer encoder/decoder with skip connections
  • 5-layer CrossTransformer at the bottleneck (alternating self-attention and cross-attention between freq and time branches)
  • DConv residual blocks (dilated convolutions) in the encoder
  • Complex-as-Channels (CaC) for spectrogram processing
  • Frequency embeddings (ScaledEmbedding with smooth initialization)

Conversion

Converted from the official htdemucs pretrained model using:

python models/convert-htdemucs-to-gguf.py --model htdemucs --output htdemucs-f16.gguf --dtype f16
crispasr-quantize htdemucs-f16.gguf htdemucs-q8_0.gguf q8_0
crispasr-quantize htdemucs-f16.gguf htdemucs-q4_k.gguf q4_k

Provenance and EU AI Act Art. 53 note

  • Upstream model: facebook/htdemucs.
  • Upstream licence: mit. This repository redistributes under the same terms; it grants no rights the upstream licence does not.
  • What was done here: format conversion and/or quantisation only (GGUF). No training, no fine-tuning, no merging, no distillation, no change to architecture, vocabulary or capability. Only the numeric representation of the upstream weights differs.
  • Training data: documented β€” where it is documented at all β€” by the upstream provider; see the upstream model card. No training data was used, added or selected by this repository.
  • Provider status: under Regulation (EU) 2024/1689 the upstream authors remain the provider of this model. Converting the serialisation format does not make this repository the provider of a new general-purpose AI model, and no such claim is made. Questions about training content, copyright policy or model capability belong upstream.
Downloads last month
407
GGUF
Model size
42M params
Architecture
htdemucs
Hardware compatibility
Log In to add your hardware

8-bit

16-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support