Demucs Onnx
4 source-specific ONNX models for stem separation, exported from Open-Unmix UMX-L.
Model source
- Kind
- Other
- File size
- 108 MB
- Version
- vRevision 5713104
- Updated
- Oct 25, 2026
- Downloads
- 39
- Source
- Hugging Face
Source description
Open-Unmix UMX-L — ONNX Stem Separation Models
4 source-specific ONNX models for stem separation, exported from Open-Unmix UMX-L.
Models
| File | Source | Size | Format |
|---|---|---|---|
umxl_vocals.onnx | Vocals | ~108 MB | ONNX opset 17 |
umxl_drums.onnx | Drums | ~108 MB | ONNX opset 17 |
umxl_bass.onnx | Bass | ~108 MB | ONNX opset 17 |
umxl_other.onnx | Other | ~108 MB | ONNX opset 17 |
Architecture
Open-Unmix operates in the spectrogram domain (not waveform). Each model:
- Input: Magnitude spectrogram
(batch, 2, 2049, nb_frames)— stereo, 2049 frequency bins - Output: Masked spectrogram
(batch, 2, 2049, nb_frames)— same shape - Internal: Linear → BatchNorm → LSTM (3 layers) → Linear → Output scaling → ReLU masking
Usage
STFT and ISTFT must be performed on-device:
- STFT:
n_fft=4096,n_hop=1024, sample rate44100 Hz - Magnitude: Compute
|STFT(audio)|→(1, 2, 2049, frames) - Model: Run each source model on the magnitude spectrogram
- Reconstruct: Multiply masked spectrogram with complex STFT phase
- ISTFT: Invert back to waveform
Config
config.json contains STFT parameters:
{
"n_fft": 4096,
"n_hop": 1024,
"nb_bins": 2049,
"sample_rate": 44100,
"sources": ["vocals", "drums", "bass", "other"],
"model": "umxl"
}
Verification
All models verified with ONNX Runtime (max absolute diff < 0.00001 vs PyTorch).
For DJNed App
These models are used by the DJNed Android app for on-device stem separation. Download is managed by the app's Model Manager.
Sources
1 source
Sources
1 sourceVerified Oct 25
Download files
Model artifacts
4 artifacts
Model artifacts
4 artifactsSource excerpts
3 excerpts
Source excerpts
3 excerpts--- pipeline_tag: audio-to-audio library_name: onnxruntime tags: - stem-separation - open-unmix - umxl - onnx - on-device - android license: mit --- # Open-Unmix UMX-L — ONNX Stem Separation Models 4 source-specific ONNX models for stem separation, exported from [Open-Unmix UMX-L](https://github.com/sigsep/open-unmix-pytorch). ## Models | File | Source | Size | Format | |------|--------|------|--------| | `umxl_vocals.onnx` | Vocals | ~108 MB | ONNX opset 17 | | `umxl_drums.onnx` | Drums | ~108 MB | ONNX opset 17 | | `umxl_bass.onnx` | Bass | ~108 MB | ONNX opset 17 | | `umxl_other.onnx` | Other | ~108 MB | ONNX opset 17 | ## Architecture Open-Unmix operates in the **spectrogram domain** (not waveform). Each model: - **Input**: Magnitude spectrogram `(batch, 2, 2049, nb_frames)` — stereo, 2049 frequency bins - **Output**: Masked spectrogram `(batch, 2, 2049, nb_frames)` — same shape - **Internal**: Linear → BatchNorm → LSTM (3 layers) → Linear → Output scaling → ReLU masking ## Usage STFT and ISTFT must be performed on-device: 1. **STFT**: `n_fft=4096`, `n_hop=1024`, sample rate `44100 Hz` 2. **Magnitude**: Compute `|STFT(audio)|` → `(1, 2, 2049, frames)` 3. **Model**: Run each source model on the magnitude spectrogram 4. **Reconstruct**: Multiply masked spectrogram with complex STFT phase 5. **ISTFT**: Invert back to waveform ## Config `config.json` contains STFT parameters: ```json { "n_fft": 4096, "n_hop": 1024, "nb_bins": 2049, "sample_rate": 44100, "sources": ["vocals", "drums", "bass", "other"], "model": "umxl" } ``` ## Verification All models verified with ONNX Runtime (max absolute diff < 0.00001 vs PyTorch). ## For DJNed App These models are used by the DJNed Android app for on-device stem separation. Download is managed by the app's Model Manager.
Source context: 39 downloads · 1 likes · Pipeline audio-to-audio · Library onnxruntime · Repo nsosu/demucs-onnx
Source context: 27 downloads · 1 likes · Pipeline audio-to-audio · Library onnxruntime · Repo nsosu/demucs-onnx
