nubeaudio-mdx — MDX23C InstVoc HQ (Int8 CoreML)
CoreML-converted, Int8-quantized version of MDX23C-8KFFT-InstVoc_HQ.ckpt for on-device vocal/instrumental separation in NubeAudio — an iOS music player.
The .mlpackage runs the mask-prediction core only. STFT/iSTFT are computed in Swift with Accelerate/vDSP so the model stays portable and the spectrogram pipeline is debuggable end-to-end.
File
| File | Size | Format |
|---|---|---|
mdx23c_instvoc_hq.mlpackage.zip |
~40 MB | zipped CoreML mlprogram, weights Int8 |
Unzipped: mdx23c_instvoc_hq.mlpackage ≈ 107 MB.
I/O contract
Input spectrogram — MLMultiArray<Float32>, shape [1, 4, 4096, T]
4= 2 audio channels ×[real, imag]interleaved4096=dim_f(truncated fromn_fft/2 + 1 = 4097)T= time frames; flexible (RangeDim), nominal 256 for a 5.92 s chunk
Output stems — MLMultiArray<Float32>, shape [1, 2, 4, 4096, T]
- Outer
2=[Vocals, Instrumental] - Inner
4,4096,T= same layout as input — the model returns time-domain-equivalent complex spectrograms ready for iSTFT
Spectrogram parameters (must match exactly)
Encoded in user_defined_metadata:
| Param | Value |
|---|---|
sample_rate |
44100 |
n_fft |
8192 |
hop_length |
1024 |
dim_f |
4096 |
chunk_size |
261120 samples (~5.92 s) |
window |
Hann periodic |
instruments |
Vocals,Instrumental |
Inputs at other sample rates must be resampled to 44.1 kHz before STFT.
Conversion source
- Architecture: KUIELab TFC-TDF v3 / MDX23C — code from ZFTurbo/Music-Source-Separation-Training.
- Original checkpoint:
MDX23C-8KFFT-InstVoc_HQ.ckpt(trained by ZFTurbo, distributed via UVR). - Conversion:
torch.jit.traceon a wrapper that exposes encoder→decoder→final_conv (skipping STFT/iSTFT), thencoremltools.convert(convert_to="mlprogram")+linear_quantize_weights(mode="linear_symmetric", dtype="int8"). - Verified
max_abs_diff(traced, eager) == 0.0before quantization.
Credits
- Model: ZFTurbo (architecture and weights), KUIELab (TFC-TDF v3).
- UVR project: Anjok07.
- CoreML packaging: NubeAudio.
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support