CoolFace
Modelpublic

nsosu/demucs-onnx

sourceHugging Facemitupdated 3mo agoView on Hugging Face
1likes33downloads
Model Card

Open-Unmix UMX-L — ONNX Stem Separation Models

4 source-specific ONNX models for stem separation, exported from Open-Unmix UMX-L.

Models

FileSourceSizeFormat
umxl_vocals.onnxVocals~108 MBONNX opset 17
umxl_drums.onnxDrums~108 MBONNX opset 17
umxl_bass.onnxBass~108 MBONNX opset 17
umxl_other.onnxOther~108 MBONNX 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. 1.STFT: n_fft=4096, n_hop=1024, sample rate 44100 Hz
  2. 2.Magnitude: Compute |STFT(audio)|(1, 2, 2049, frames)
  3. 3.Model: Run each source model on the magnitude spectrogram
  4. 4.Reconstruct: Multiply masked spectrogram with complex STFT phase
  5. 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.