---
title: Cocktail-Fork-MRX
canonical_url: "https://www.modelscope.cn/models/mlx-community/Cocktail-Fork-MRX"
md_url: "https://www.modelscope.cn/models/mlx-community/Cocktail-Fork-MRX.md"
repository: mlx-community/Cocktail-Fork-MRX
last_updated: 2026-06-06
license: mit
model_type:
  - mrx
parameters: 30.6M
tensor_type:
  - F32
library_name:
  - mlx
  - safetensors
  - pytorch
frameworks:
  - pytorch
downloads: 10
stars: 0
tags:
  - mlx
  - audio
  - audio-source-separation
  - speech
  - music
  - apple-silicon
---

# Cocktail-Fork-MRX

> Cocktail-Fork-MRX - mlx-community 在 ModelScope 开源的模型。Cocktail-Fork-MRX (MLX)

mlx-community/Cocktail-Fork-MRX 是 ModelScope 魔搭社区上的 30.6M 参数机器学习模型，采用 mit 许可。

- **Repository**: mlx-community/Cocktail-Fork-MRX
- **License**: mit
- **Parameters**: 30.6M
- **Tags**: mlx, audio, audio-source-separation, speech, music, apple-silicon
- **Downloads**: 10
- **Stars**: 0
- **Last updated**: 2026-06-06

Source: https://www.modelscope.cn/models/mlx-community/Cocktail-Fork-MRX

---

# Cocktail-Fork-MRX (MLX)

Apple **MLX** port of MERL's **MRX** (Multi-Resolution CrossNet) — separates a
soundtrack mixture into three stems: **music**, **speech**, and **sound effects (sfx)**.
Runs natively on Apple Silicon, no PyTorch at inference.

- **Upstream:** [merlresearch/cocktail-fork-separation](https://github.com/merlresearch/cocktail-fork-separation) — *The Cocktail Fork Problem: Three-Stem Audio Separation for Real-World Soundtracks* (ICASSP 2022).
- **Checkpoint:** `default_` (SNR-loss trained — the upstream default inference weights).
- **Variants:** [`-paper`](https://huggingface.co/mlx-community/Cocktail-Fork-MRX-paper) (SI-SNR, ICASSP reproduction) · [`-adapted-loudness`](https://huggingface.co/mlx-community/Cocktail-Fork-MRX-adapted-loudness) · [`-adapted-eq`](https://huggingface.co/mlx-community/Cocktail-Fork-MRX-adapted-eq) (cinematic-tuned for real movie stems).
- **Collection:** [Cocktail-Fork MRX (MLX)](https://huggingface.co/collections/mlx-community/cocktail-fork-mrx-mlx-6a233f3f10f42cd5e654af23).
- **License:** MIT.
- **Parity:** numerically exact vs the PyTorch reference (full-pipeline max_abs ≈ `9e-8`; per-stem SI-SDR 107–139 dB vs torch).

## Usage

```bash
pip install cocktail-fork-mlx   # or: pip install git+https://github.com/xocialize/cocktail-fork-mlx
cocktail-fork-mlx --audio-path soundtrack.wav --out-dir ./out
# -> out/music.wav  out/speech.wav  out/sfx.wav
```

```python
import mlx.core as mx, soundfile as sf, numpy as np
from cocktail_fork_mlx.separate import separate_soundtrack
from cocktail_fork_mlx.weights import from_pretrained

audio, fs = sf.read("soundtrack.wav", always_2d=True)   # 44.1 kHz
model = from_pretrained("mlx-community/Cocktail-Fork-MRX")
stems = separate_soundtrack(mx.array(audio.T.astype("float32")), model)
for name, x in stems.items():
    sf.write(f"{name}.wav", np.array(x).T, 44100)
```

## Model

- 44.1 kHz, any channel count. ~30.6M params, fp32 (122 MB).
- Multi-resolution STFT (windows 1024/2048/8192, hop 256) → per-resolution magnitude
  encoders → 3 parallel bidirectional CrossNet LSTMs → per-source/per-resolution mask
  decoders → masked iSTFT summed across resolutions.
- CPU is the faster device for this LSTM-bound model (default in the CLI).

Ported by MVS Collective (xocialize). MIT, © MERL for the original model/weights.
