cd /news/generative-ai/heartmula-open-source-music-generati… · home topics generative-ai article
[ARTICLE · art-19136] src=github.com pub= topic=generative-ai verified=true sentiment=↑ positive

HeartMuLa – Open-Source Music Generation Model

The HeartMuLa project released a family of open-source music foundation models, including a music language model that generates songs from lyrics and tags with multilingual support, a high-fidelity music codec, and a lyrics transcription model. The project's latest HeartMuLa-oss-3B-happy-new-year version is currently the best open-source model for lyrics controllability and music quality, while the internal 7B version achieves performance comparable to Suno. All model weights are now available under the Apache 2.0 license, with online demo spaces launched on Hugging Face and ModelScope.

read6 min publishedMay 31, 2026

Demo 🎶 | 📑 Paper

HeartMuLa-oss-3B-happy-new-year 🤗 | HeartMuLa-oss-3B-happy-new-year

HeartMuLa is a family of open sourced music foundation models including:

  • HeartMuLa: a music language model that generates music conditioned on lyrics and tags with multilingual support covering almost all languages.
  • HeartCodec: a 12.5 hz music codec with high reconstruction fidelity;
  • HeartTranscriptor: a whisper-based model specifically tuned for lyrics transcription; Check this pagefor its usage. - HeartCLAP: an audio–text alignment model that establishes a unified embedding space for music descriptions and cross-modal retrieval.

Below shows the experiment result of our oss-3B version compared with other baselines.

Our latest internal version of HeartMuLa-7B achieves comparable performance with Suno in terms of musicality, fidelity and controllability.

🚀

10 Apr. 2026 We launched online demo spaces on

Hugging FaceandModelScope. - 🚀

13 Feb. 2026 We released our

HeartMuLa-oss-3B-happy-new-year version. This version is currently the best open-sourced model in terms of lyrics controllability and music quality. We recommend usingHeartMuLa-oss-3B-happy-new-year andHeartCodec-oss-20260123 for music generation. - ⚖️

03 Feb. 2026 We have released our

HeartMuLa-Benchmark(referred to asHeartBeats Benchmark in our paper) as introduced in ourpaper. This benchmark comprises heterogeneous AI-generated lyrics and tags across diverse languages and genres, providing a rigorous and fair evaluation framework. - 🚀

23 Jan. 2026 By leveraging Reinforcement Learning, we have continuously refined our model and are proud to officially release

HeartMuLa-RL-oss-3B-20260123. This version is designed to achieve more precise control over styles and tags. Simultaneously, we are launching** HeartCodec-oss-20260123**, which optimizes audio decoding quality. - 🫶

20 Jan. 2026Benjihas created a wonderfulComfyUI custom nodefor HeartMuLa. Thanks Benji! - ⚖️

20 Jan. 2026 License update: We update the license of this repo and all related model weights to

Apache 2.0. - 🚀

14 Jan. 2026

The official release ofHeartTranscriptor-oss and the firstHeartMuLa-oss-3B version along with ourHeartCodec-oss.

  • ⏳ Release scripts for inference acceleration and streaming inference. The current inference speed is around RTF $\approx 1.0$ . - ⏳ Support reference audio conditioning,** fine-grained controllable music generation**,** hot song generation**. - ⏳ Release the HeartMuLa-oss-7B version. - ✅ Release inference code and pretrained checkpoints of

HeartCodec-oss, HeartMuLa-oss-3B, and HeartTranscriptor-oss.

We recommend using python=3.10

for local deployment.

Clone this repo and install locally.

git clone https://github.com/HeartMuLa/heartlib.git
cd heartlib
pip install -e .

Download our pretrained checkpoints from huggingface or modelscope using the following command:

hf download --local-dir './ckpt' 'HeartMuLa/HeartMuLaGen'
hf download --local-dir './ckpt/HeartMuLa-oss-3B' 'HeartMuLa/HeartMuLa-oss-3B-happy-new-year'
hf download --local-dir './ckpt/HeartCodec-oss' HeartMuLa/HeartCodec-oss-20260123

modelscope download --model 'HeartMuLa/HeartMuLaGen' --local_dir './ckpt'
modelscope download --model 'HeartMuLa/HeartMuLa-oss-3B-happy-new-year' --local_dir './ckpt/HeartMuLa-oss-3B'
modelscope download --model 'HeartMuLa/HeartCodec-oss-20260123' --local_dir './ckpt/HeartCodec-oss'

After down, the ./ckpt

subfolder should structure like this:

./ckpt/
├── HeartCodec-oss/
├── HeartMuLa-oss-3B/
├── gen_config.json
└── tokenizer.json

To generate music, run:

python ./examples/run_music_generation.py --model_path=./ckpt --version="3B"

By default this command will generate a piece of music conditioned on lyrics and tags provided in ./assets

folder. The output music will be saved at ./assets/output.mp3

.

How to specify lyrics and tags?

The model will load lyrics from the txt file

--lyrics

link to (by default./assets/lyrics.txt

). If you would like to use your own lyrics, just modify the content in./assets/lyrics.txt

. If you would like to save your lyrics to another path, e.g.my_awesome_lyrics.txt

, remember to input arguments--lyrics my_awesome_lyrics.txt

.For tags it's basically the same.

CUDA out of memory?

If you have multi-GPUs (e.g. 2 4090s), we recommend placing the params of HeartMuLa and HeartCodec separately on different devices. You can do it by typing

--mula_device cuda:0 --codec_device cuda:1

If you are running on a single GPU, use

--lazy_load true

so that modules will be loaded on demand and deleted once inference completed to save GPU memory.

All parameters:

--model_path

(required): Path to the pretrained model checkpoint--lyrics

: Path to lyrics file (default:./assets/lyrics.txt

)--tags

: Path to tags file (default:./assets/tags.txt

)--save_path

: Output audio file path (default:./assets/output.mp3

)--max_audio_length_ms

: Maximum audio length in milliseconds (default: 240000)--topk

: Top-k sampling parameter for generation (default: 50)--temperature

: Sampling temperature for generation (default: 1.0)--cfg_scale

: Classifier-free guidance scale (default: 1.5)--version

: The version of HeartMuLa, choose between [3B

,7B

]. (default:3B

) #7B

version not released yet.--mula_device/--codec_device

: The device where params will be placed. Both are set tocuda

by default. You can use--mula_device cuda:0 --codec_device cuda:1

to explicitly place different modules to different devices.--mula_dtype/--codec_dtype

: Inference dtype. By default isbf16

for HeartMuLa andfp32

for HeartCodec. Settingbf16

for HeartCodec may result in the degradation of audio quality.--lazy_load

: Whether or not to use lazy (default: false). If turned on, modules will be loaded on demand to save GPU usage. Recommended format of lyrics and tags:

[Intro]

[Verse]
The sun creeps in across the floor
I hear the traffic outside the door
The coffee pot begins to hiss
It is another morning just like this

[Prechorus]
The world keeps spinning round and round
Feet are planted on the ground
I find my rhythm in the sound

[Chorus]
Every day the light returns
Every day the fire burns
We keep on walking down this street
Moving to the same steady beat
It is the ordinary magic that we meet

[Verse]
The hours tick deeply into noon
Chasing shadows,chasing the moon
Work is done and the lights go low
Watching the city start to glow

[Bridge]
It is not always easy,not always bright
Sometimes we wrestle with the night
But we make it to the morning light

[Chorus]
Every day the light returns
Every day the fire burns
We keep on walking down this street
Moving to the same steady beat

[Outro]
Just another day
Every single day

Regarding tags, check this issue for reference. Our different tags are comma-separated without spaces as illustrated below:

piano,happy,wedding,synthesizer,romantic

This repository is licensed under the Apache 2.0 License.

@misc{yang2026heartmulafamilyopensourced,
      title={HeartMuLa: A Family of Open Sourced Music Foundation Models}, 
      author={Dongchao Yang and Yuxin Xie and Yuguo Yin and Zheyu Wang and Xiaoyu Yi and Gongxi Zhu and Xiaolong Weng and Zihan Xiong and Yingzhe Ma and Dading Cong and Jingliang Liu and Zihang Huang and Jinghan Ru and Rongjie Huang and Haoran Wan and Peixu Wang and Kuoxi Yu and Helin Wang and Liming Liang and Xianwei Zhuang and Yuanyuan Wang and Haohan Guo and Junjie Cao and Zeqian Ju and Songxiang Liu and Yuewen Cao and Heming Weng and Yuexian Zou},
      year={2026},
      eprint={2601.10547},
      archivePrefix={arXiv},
      primaryClass={cs.SD},
      url={https://arxiv.org/abs/2601.10547}, 
}

If you are interested in HeartMuLa, feel free to reach us at heartmula.ai@gmail.com

Welcome to join us through discord or Wechat group.

Scan the QR code on the left to join our Wechat group. If it expires, feel free to raise an issue to remind us of updating.

If the number of group members exceeds 200, joining the group via directly scanning the QR code is restricted by WeChat. In this case, scan our team member's QR code on the right and send a request writing HeartMuLa Group Invite. We will invite you into the group manually.

── more in #generative-ai 4 stories · sorted by recency
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/heartmula-open-sourc…] indexed:0 read:6min 2026-05-31 ·