YuE2-3B-bf16 (MLX)

Non-commercial weights (CC BY-NC 4.0). Songs made with this model may not be sold, licensed or used in paid work, except under M-A-P's individual-creator permission (MODEL_LICENSE, 2026-09-16): personal users, content creators and musicians acting in an individual capacity may publish, sell and license songs they make with it. Companies may not use the model commercially without a licence from M-A-P (ryuanab@connect.ust.hk), and a hosted service making songs for paying users is commercial use. Responsible use is a condition of the permission. Covers and supplied lyrics may need the original song's rights; this licence doesn't grant them.

The backbone of m-a-p/YuE2-3B (M-A-P; code multimodal-art-projection/YuE) for mlx-yue2-swift, a Swift-MLX port for Apple Silicon. YuE2 turns lyrics and a style prompt into a song with vocals: it plans a chord-annotated ABC score, then sings it (48 kHz stereo, up to 6 minutes). The score is editable and can be supplied back to re-render.

This repository is the 3.58 B Mixture-of-Transformers backbone. Its tensors are bf16 and bit-equal to the release. The VAE decoder is mlx-community/YuE2-Vae-fp32.

file size
model.safetensors (628 tensors, bf16) 7.26 GB
qwen.tiktoken (tokenizer, as shipped by m-a-p) 2.6 MB
config.json (+ an mlx_yue2 section: dtype, source pin, generation defaults) 1.6 KB
LICENSE (HF, CC BY-NC 4.0), MODEL_LICENSE (GitHub, with the individual-creator permission), NOTICE, THIRD_PARTY_NOTICES.md, licenses/ β€”

Use (Swift, MLXEngine)

// Package.swift: .package(url: "https://github.com/xocialize/mlx-yue2-swift", from: "0.1.0") β†’ product "MLXYuE2"
import MLXServeCore, MLXToolKit, MLXYuE2

let engine = MLXServeEngine()   // CC-BY-NC-4.0 is outside the permissive policy: it registers with a licence advisory
let id = try await engine.register(YuE2Package.registration,
                                   configuration: YuE2Configuration(tier: .bf16, modelsRootDirectory: modelsRoot),
                                   id: "yue2-3b")
try await engine.prepare(.music, package: id)   // downloads this repo and YuE2-Vae-fp32 on first use
let song = try await engine.run(MusicRequest(caption: "English, warm piano pop, expressive female voice, 88 BPM",
                                             lyrics: "[Verse]\n…\n\n[Chorus]\n…", seed: 831001), package: id) as! MusicResponse
// song.audio: 48 kHz stereo WAV; song.score: the ABC plan (edit it, pass it back as MusicRequest.score)

Tiers are quantised at load from this bf16 repo: .bf16, .ar8 (the AR path 8-bit), .int8 (the AR and NAR paths 8-bit). Memory (phys_footprint at the 6-minute worst case, M5 Max): bf16 7.6 GB resident / 14.6 GB peak, ar8 6.4 / 13.3, int8 5.1 / 11.9. An English 58 s song renders in 41 s at bf16 on an M5 Max. Planning modes full and off; melody is not offered.

Parity

The Swift port is gated against an fp32 PyTorch oracle of the release: tokenizer id-exact; AR logits argmax 100 % (relL2 ≀ 1.8e-6); NAR velocity ≀ 1.6e-5; VAE ≀ 4.6e-6; end-to-end audio ≀ 1.7e-4. bf16 and 8-bit tiers sit 1.2–1.6e-2 from fp32 in velocity, where the release itself runs. Details: MEASUREMENTS.md.

Attribution

YuE2, YuE2-3B, https://huggingface.co/m-a-p/YuE2-3B, by M-A-P, under CC BY-NC 4.0. The weights here are unmodified apart from serialisation; NOTICE lists exactly what changed. Not endorsed by M-A-P.

Downloads last month
19
Safetensors
Model size
4B params
Tensor type
BF16
Β·
MLX
Hardware compatibility
Log In to add your hardware

Quantized

Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for mlx-community/YuE2-3B-bf16

Base model

m-a-p/YuE2-3B
Finetuned
(7)
this model