Audio#Music generation

YuE2: open-source music generation that writes an editable score first

YuE2 is an open-source music generation model for creators who edit melodies before rendering vocals. Code is Apache-2.0; weights are CC BY-NC 4.0.

Project facts

GitHub Ecosystem
Repositorygithub.com/multimodal-art-projection/YuE
License
Apache-2.0
Language
Python
Stars
12,278
Data checked
2026-10-19

Snapshot figures reflect the check date and may change over time.

YuE2 architecture: style and lyrics become an ABC score, then semantic tokens, acoustic latents and a VAE decoder produce 48 kHz audio

YuE2 is an open-source music generation model from researchers at M-A-P (Multimodal Art Projection), HKUST, Stanford and several other labs. Give it lyrics and a style description, and it first writes a melody-and-chord score, then renders a song with sung vocals and accompaniment. The GitHub repository multimodal-art-projection/YuE dates from January 2025 and now leads with YuE2. It had 12,278 stars on October 19, 2026. The WeChat account 逛逛 GitHub recently recommended it.

YuE2 architecture: style and lyrics become an ABC score, then semantic tokens, acoustic latents and a VAE decoder produce 48 kHz audio

The step that matters is the ABC score in the top-left corner of the diagram. It is a symbolic layer that a person can read and edit, and an agent can edit too, before the acoustic model renders any sound.

Core features

  • Score first, then sound: The default mode (cot="full") writes a melody-and-chord plan before any audio exists. You can pass your own score with abc=..., or export score.abc, change it by hand and render again.
  • Zero-shot covers: SheetSage2 transcribes a recording into a melody score, and you supply new lyrics and a new style. The README recommends cot="melody" for covers and a score without chord symbols, so the accompaniment can follow the new style.
  • Agentic editing: The README’s demo takes “The Last Train” through 9 steps and 14 versions, from Mandarin pop to English jazz with new harmony and a saxophone solo. Each version can be played, and the conversation, score and lyrics behind it can be inspected.
  • Two-stage generation: An AR–NAR mixture-of-transformers predicts the score and semantic tokens autoregressively. Flow matching then generates acoustic latents, and a VAE decodes them into 48 kHz stereo audio.
  • Supporting tools: SheetSage2 turns audio into a score, and MERT2 provides music representations. The repository also ships skills/yue2-music, an agent skill for songs, instrumentals, covers and ABC score edits.

Typical use cases

  • Songwriters with lyrics and a style in mind who want to check the melody and chords before rendering, then change the harmony and render again.
  • Remix and cover makers who want to keep a melody from a recording and move it into another style. The README’s Mandarin-to-jazz demo shows the kind of change this supports.
  • Researchers and evaluators who want to check the authors’ numbers. The repository links the WildSongBench benchmark and the SheetSage2 paper.
  • Creators who plan to release the songs on streaming platforms: YouTube Music began labeling AI-generated and AI-altered songs on October 14, 2026, so check the platform’s rules before you publish. See YouTube Music’s AI labels.

Benchmarks

The figures below come from the authors’ automatic evaluation on WildSongBench: 192 prompts, dated September 12, 2026. The table is copied from the README, and we have not reproduced it.

System / settingSongBench Avg ↑AudioBox PQ ↑MuLan ↑PER ↓
YuE2 (best-of-8)6.96328.27140.50519.79%
Suno v56.87218.16980.54288.10%
YuE2 (standard)6.73168.25980.50688.44%
Suno v5.56.71508.19550.50895.96%
Suno v66.55628.12960.49167.58%
YuE 14.91657.86830.262336.38%

Standard YuE2 picks from two candidates, and best-of-8 picks from eight. The authors say the gap between the top systems is too small to establish statistical significance. For zero-shot covers, the README reports a CLEWS mAP of 0.647 across 948 works when a score is provided, against 0.006 without one.

Quick start

The install and first-run commands from the README, copied as written:

git clone https://github.com/multimodal-art-projection/YuE.git
cd YuE
python3.12 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install .
python examples/generate.py --output outputs/first-song

We did not run these commands on a machine that meets those requirements. The README requires Linux, Python 3.12 and an NVIDIA GPU with BF16 support and 24 GB of VRAM. Model files download from Hugging Face on the first run. The result is outputs/first-song/audio.flac, and the same folder keeps the score, semantic tokens, acoustic latents and generation settings.

Summary

YuE2 suits people who have Linux and a large NVIDIA GPU and want to edit a song’s melody or harmony, along with cover makers and researchers. It does not suit anyone who wants to run it on a Mac or Windows machine, because the README lists neither platform. A WeChat article’s author says they generated about 20 seconds of audio on an M1 Pro laptop, but that sits outside the official support.

Read the license in two parts. Code, documentation and the agent skill are Apache-2.0. The model weights are CC BY-NC 4.0, plus an extra creator permission: individual creators and musicians can use the weights free of charge and can sell or license what they generate, without owing the authors fees, subject to the responsible-use terms. Companies that want commercial use must contact the authors for a commercial license.

Two more points. The benchmark numbers are the authors’ own, and we have not reproduced them. Search results for YuE2 also include third-party sites and repositories with similar names that the README does not list, so this entry relies only on the official repository, the README and the Hugging Face model page. The repository was last pushed on October 6, 2026, and its primary language is Python.