Downloads · 30 days
0
multimodalart/resemble-enhance-mlx
resemble-enhance-mlx is a audio-to-audio model from multimodalart. Use it for the audio-to-audio task on the model card, and read the license before you ship it in a product. It is set up for mlx. The card lists the license as mit.
Apple MLX port of resemble-enhance (speech denoising + enhancement). Runs entirely on the MLX runtime — no PyTorch dependency at inference time.
Downloads · 30 days
0
Access
Public
Updated Jun 16, 2026
Repo size
710 MB
Likes
1
Public
Click a slice to open those files.
.safetensors710 MB · 100%
From the Hugging Face model README
Apple MLX port of resemble-enhance (speech denoising + enhancement). Runs entirely on the MLX runtime — no PyTorch dependency at inference time.
The weights are converted from the original resemble-enhance checkpoint and stored
as a single fp16 safetensors (710 MB). Every component (mel frontend, spectral
denoiser UNet, latent conditional-flow-matching enhancer, UnivNet/LVCNet vocoder) was
ported op-by-op and validated against the PyTorch reference.
pip install mlx numpy scipy soundfile huggingface_hub
import soundfile as sf
from huggingface_hub import hf_hub_download
import resemble_enhance_mlx as re
ckpt = hf_hub_download("multimodalart/resemble-enhance-mlx", "resemble-enhance-mlx.safetensors")
model = re.load(ckpt, lambd=0.5) # lambd in [0,1]: denoiser strength
wav, sr = sf.read("noisy.wav", dtype="float32")
out, out_sr = re.enhance(model, wav, sr) # resamples to 44.1 kHz, chunks long audio
sf.write("clean.wav", out, out_sr)
Place resemble_enhance_mlx/ (the package) next to your script, or add this repo to
PYTHONPATH.
Validated against the PyTorch reference (max abs diff, random-weight and full-model):
| Component | vs PyTorch |
|---|---|
| Mel frontend | 2.8e-5 |
| UnivNet / LVCNet vocoder | 7.2e-7 |
| Denoiser (STFT + 2D UNet + ISTFT) | 1.6e-4 |
| Latent CFM enhancer (IRMAE + WN + ODE) | 9.2e-6 |
| End-to-end waveform | corr 0.99999 |
fp16 storage vs fp32 compute: corr 1.000000, mean diff 4.5e-5 (inaudible).
On an M4 Max, a 6.5 s clip enhances in ~1.7 s (nfe=64), ~7.5× faster than the PyTorch reference on CPU.
sinc_interp_kaiser, so non-44.1 kHz input is
not bit-identical to the reference.lambd=0 skips the denoiser (enhancement only); lambd=0.5 is the default.Original model and method: Resemble AI. This repository only re-packages the weights for MLX.