DiffRhythm 2: Efficient and High Fidelity Song Generation via Block Flow Matching

Anonymous Author(s)

Abstract

Generating full-length, high-quality songs is challenging, as it requires maintaining long-term coherence across text and music modalities. Existing non-autoregressive (NAR) frameworks, while capable of producing high-quality songs, often struggle with the alignment between lyrics and vocal. Concurrently, catering to diverse musical preferences necessitates reinforcement learning from human feedback (RLHF). However, existing methods often rely on merging multiple models during multi-preference optimization, which results in significant performance degradation. To address these challenges, we introduce DiffRhythm 2, an end-to-end framework designed for high-fidelity, controllable song generation. To tackle the lyric alignment problem, DiffRhythm 2 employs a semi-autoregressive architecture based on block flow matching. This design enables precise alignment of lyrics to singing vocals without relying on external labels and constraints, all while preserving the high generation quality and efficiency of flow-based models. To make this framework computationally tractable for long sequences, we develop a music variational autoencoder (VAE) that achieves a low frame rate of 5 Hz while still enabling high-fidelity audio reconstruction. In addition, to overcome the limitations of multi-preference optimization in RLHF, we propose cross-pair preference optimization. This method effectively mitigates the performance drop typically associated with model merging, allowing for more robust optimization across diverse human preferences. We further enhance musicality and structural coherence by introducing stochastic block representation alignment loss. Experimental results demonstrate that DiffRhythm 2 can generate complete songs up to 210 seconds in length, consistently outperforming existing open-source models in both subjective and objective evaluations, while maintaining efficient generation speed.

overview

The overview of DiffRhythm 2.

train_detail

The training details of DiffRhythm 2.

Our code will be released soon

Song Generation

Prompt Lyrics DiffRhythm+ ACE-Step LeVo DiffRhythm 2
Vocal, Indieie, Pop, Synthesizer, Piano, Electric Guitar, Rock, Happy, Romantic

Lyrics

[start]

[intro]

[verse]

彷佛在害怕什么

擦身而过太多寂寞

每当你说你也想我

像钻进心里的弹孔

情绪醖酿着在滚烫 在等待绽放

若这注定是我的爱 无论多短暂

[chorus]

爱就像火山 彷佛就要爆发

炙热的岩浆 深刻的烙进在心上

爱要像火山 即便半刻绚烂

看灰烬之后 爱情真实的模样

[verse]

彷佛在闪躲什么

不断放手太多假设

每当我因为你快乐

却也压抑那些感受

情绪醖酿着在滚烫 在等待绽放

若这注定是我的爱 无论多短暂

[chorus]

爱就像火山 桔红色的融化

这燃烧火花 照亮你和我的承诺

爱要像火山 即便瞬间灿烂

冷却了之后 千年万载的等待

爱就像火山 彷佛就要爆发

炙热的岩浆 深刻的烙进在心上

爱要像火山 即便半刻绚烂

看灰烬之后 爱情真实的模样

[end]

Passionate, Piano, Romantic, Electric Guitar, Bass Guitar, Blues, Rock, Drums

Lyrics

[intro]

[verse]

I should have known better

Than to let you go alone

It's times like these

I can't make it on my own

Wasted days, and sleepless nights

And I can't wait to see you again

I find I spend my time

Waiting on your call

How can I tell you, baby

My back's against the wall

I need you by my side

To tell me it's alright

[chorus]

'Cos I don't think I can take anymore

Is this love, that I'm feeling

Is this the love, that I've been searching for

Is this love, or am I dreaming

This must be love

'Cos it's really got a hold on me

A hold on me

[verse]

I can't stop the feeling

I've been this way before

But, with you I've found the key

To open any door

I can feel my love for you

Growing stronger day by day

And I can't wait to see you again

So I can hold you in my arms

[chorus]

Is this love, that I'm feeling

Is this the love, that I've been searching for

Is this love, or am I dreaming

This must be love

'Cos it's really got a hold on me

[solo]

A hold on me

[outro]

Chinese, Folk, Pipa, Flute, Piano, Strings, Guitar, Nostalgic, Romantic

Lyrics

[start]

[intro]

[verse]

一年过去一川雪无尘

一年又来一江春水流

长长悠悠林海涛声依旧

那个相约的人啊挥挥衣袖

一抹红霞金满三峡秋

[chorus]

一轮江月醉在太平沟

等候相留在时光的尽头

这条梦中的江啊

岁月好人长久

你像条巨龙在流淌

静静地环抱我家乡

两岸春去秋来

多年容颜不改

我会在龙江三峡等你来

[inst]

[verse]

乘风而行风来染松香

踏歌而上歌中见宽广

星光莹莹点缀江影峡光

相约多年的情啊

就请留在心上

[chorus]

你像条巨龙在流淌

静静地环抱我家乡

两岸春去秋来

多年容颜不改

我会在这与你相约

龙江三峡等花开

你像条巨龙在流淌

静静地环抱我家乡

两岸春去秋来

多年容颜不改

我会在龙江三峡等你来

[outro]

Classical, Melancholic, Piano, Violin, Cello, Strings, Romantic

Lyrics

[start]

[verse]

雨后有车驶来

驶过暮色苍白

旧铁皮往南开 恋人已不在

收听浓烟下的

诗歌电台

不动情的咳嗽 至少看起来

归途也还可爱

琴弦少了姿态

再不见那夜里

听歌的小孩

时光匆匆独白

将颠沛磨成卡带

已枯卷的情怀

踏碎成年代

就老去吧 孤独别醒来

你渴望的离开

只是无处停摆

[chorus]

就歌唱吧 眼睛眯起来

而热泪的崩坏

只是没抵达的存在

[inst]

[verse]

青春又醉倒在

籍籍无名的怀

靠嬉笑来虚度

聚散得慷慨

辗转却去不到

对的站台

如果漂泊是成长

必经的路牌

你迷醒岁月中

那贫瘠的未来

像遗憾季节里

未结果的爱

弄脏了每一页诗

吻最疼痛的告白

而风声吹到这

已不需要释怀

[chorus]

就老去吧 孤独别醒来

你渴望的离开

只是无处停摆

就歌唱吧 眼睛眯起来

而热泪的崩坏

[end]

Dance, Pop, Synthesizer, Exciting, Piano, Uplifting, Electric Guitar, Electronic, Happy, Drums

Lyrics

[start]

[intro]

[verse]

彷佛在害怕什么

擦身而过太多寂寞

每当你说你也想我

像钻进心里的弹孔

情绪醖酿着在滚烫 在等待绽放

若这注定是我的爱 无论多短暂

[chorus]

爱就像火山 彷佛就要爆发

炙热的岩浆 深刻的烙进在心上

爱要像火山 即便半刻绚烂

看灰烬之后 爱情真实的模样

[verse]

彷佛在闪躲什么

不断放手太多假设

每当我因为你快乐

却也压抑那些感受

情绪醖酿着在滚烫 在等待绽放

若这注定是我的爱 无论多短暂

[chorus]

爱就像火山 桔红色的融化

这燃烧火花 照亮你和我的承诺

爱要像火山 即便瞬间灿烂

冷却了之后 千年万载的等待

爱就像火山 彷佛就要爆发

炙热的岩浆 深刻的烙进在心上

爱要像火山 即便半刻绚烂

看灰烬之后 爱情真实的模样

[end]

Dance, Upbeat, Mellow, Strings, Cello

Lyrics

[start]

[intro]

[verse]

Tired and frozen

I'm under your spell

I thought I knew you

But now I know you well

I wake up beside you

Move across your killing floor

I need my freedom and I see an open door

The room is getting smaller and the walls are closin' in

No one's leavin' and nobody's gettin' in

[chorus]

I try to run

I try to hide

I try to tell you what I'm feelin' inside

Should I stay

Should I go

You know I wanna touch you

But there's nothing left to hold

Don't chain my heart

Don't chain my soul

Don't chain my heart

'Cause you got to let it go

[verse]

Looks like trouble

The signs are everywhere

I bend a little but you take more than your share

Crimes of passion

Crimes of mortal men

It's a deadly attraction and I won't be fooled again, baby

The storm is coming

The winds begin to rise

Please release me from this house of compromise

All day

All night

Your love is like an outlaw waiting till the time is right

Nobody's wrong

No one's to blame

Maybe it's just too hot because we're standin' in the flame

[chorus]

Don't chain my heart

Don't chain my soul

Don't chain my heart

'Cause you got to let it go

I'm a victim of your pain and jealousy

I feel like a prisoner and you hold the lock and key

We lost our vision

We lost our paradise

But there's still a part of me I refuse to sacrifice

[bridge]

[inst]

[outro]

Pop, Piano, Electric Guitar, Bass, Drums, Synthesizer, Romantic, Heartfelt

Lyrics

[intro]

[verse]

差不多同一个年纪离开家

离开家几里就可以叫天涯

学别人巧舌如簧 在书里找各种榜样

随时准备着各式各样的悲壮

差不多同一个年纪遇见他

遇见他几天就以为要出嫁

看不懂人走茶凉 在歌里找各种药方

深夜回忆着五颜六色的旧账

[chorus]

我敬你满身伤痕还如此认真

山水迢迢还奋不顾身

我敬你万千心碎还深藏一吻

乌云滚滚还走马上任

我敬你泪流成河还如此诚恳

生死茫茫还心怀分寸

我敬你人去楼空还有刀有盾

落叶纷纷还独自上阵

[solo]

[outro]

[end]

Blues, Uplifting, Love, Bass Guitar, Strings

Lyrics

[start]

[intro]

[verse]

Thought I heard your voice yesterday

When I turned around to say

That I loved you baby

I realize it was juss my mind

Played tricks on me

And it seems colder lately at night

And I try to sleep with the lights on

Every time the phone rings

I pray to God it's you

And I just can't believe

That we're through

[chorus]

I miss you

There's no other way to say it

And I can't deny it

I miss you

It's so easy to see

I miss you and me

[verse]

Is it turning over this time

Have we really changed our minds about each other's love

All the feelings that we used to share

I refuse to believe

That you don't care

[chorus]

I miss you

There's no other way to say it

And I and I can't deny it

I miss you

[verse]

It's so easy to see

I've got to gather myself as together

I've been through worst kinds of weather

If it's over now

[outro]

Pop, Heartbroken, Romantic, Bass Guitar, Guitar

Lyrics

[start]

[intro]

[verse]

她 消失在 人海中

风 吹醒了 一场梦

你听说她有多感动

她和他深情相拥

回忆那么重 还来不及清空

[chorus]

你遗憾吗

陪她共度余生的不是你啊

你心酸吗

现在你只是她 口中的笑话

还放不下

也许她现在 过的很好啊

就别说话

幻想她为你 穿上婚纱

[inst]

[verse]

你听说她有多感动

她和他深情相拥

回忆那么重 还来不及清空

你遗憾吗

陪她共度余生的不是你啊

你心酸吗

现在你只是她 口中的笑话

[chorus]

还放不下

也许她现在 过的还好啊

就别说话

幻想她为你 穿上婚纱

[outro]

Lyrics

[intro]

[verse]

Hang me strong like a burning whiskey

Hang me sweet like Tennessee honey, honey

Pretty as a daisy,

careful if you pick me

This wildflower can get a little crazy, baby

[chorus]

If you're running around,

you better run from me

Pack up your bags and get gone, get gone

You wreck my heart,

wreck everything

And anything I can get my hands on

If you lie-lie-lie look who's wandering eyes

Better find one hell of a place to hide

If you mess with me,

you best believe

That you're gonna be

asking for trouble

[verse]

Oooh

You got too many holes in your story

And I-I-I'll get down to

the truth don't you worry, worry

Piece by piece I'll put it all together

And if you cross that line,

you cross me forever, baby

[chorus]

If you're runnin' around,

you better run from me

Pack up your bags and get gone

get gone

You wreck my heart,

wreck everything

And anything I can get my hands on

If you lie-lie-lie look

who's wandering eyes

Better find one hell of a place to hide

If you mess with me,

you best believe

That you're gonna be asking for trouble

[bridge]

Oooh oh oooh oh oh

Oooh oh oooh oh oh

[chorus]

If you're running around,

you better run from me

Pack up your bags and get gone,

get gone

You wreck my heart,

wreck everything

And anything I can get my hands on

If you lie-lie-lie look

who's wandering eyes

Better find one hell of a place to hide

If you mess with me,

you best believe

You best believe, yeah yeah

If you running around,

you ain't foolin me

Pack up your shit

and get gone, get gone

You wreck my heart,

wreck everything

And anything I can get my hands on

Lie-lie-lie look who's wandering eyes

Better find one hell of a place to hide

If you mess with me,

you best believe

That you're gonna be asking for trouble

[outro]

-

Lyrics

[start]

[verse]

Let me hold you for the last time

It's the last chance to feel again

But you broke me, now I can't feel anything

When I love you, it's so untrue

I can't even convince myself

When I'm speaking it's the voice of someone else

Oh, it tears me up

I tried to hold on but it hurts too much

I tried to forgive but it's not enough

To make it all okay

[chorus]

You can't play on broken strings

You can't feel anything

That your heart don't want to feel

I can't tell you something that ain't real

Oh, the truth hurts and lies worse

How can I give anymore

When I love you a little less than before?

Oh, what are we doing?

[verse]

We are turning into dust

Playing house in the ruins of us

Running back through the fire

When there's nothing left to save

It's like chasing the very last train

When it's too late

Oh, it tears me up

I tried to hold on but it hurts too much

I tried to forgive but it's not enough

To make it all okay

[chorus]

You can't play on broken strings

[outro]

-

Lyrics

[start]

[intro]

[verse]

梦想是铅笔 现实是橡皮

橡皮擦去了铅笔的字迹

快乐是沙砾 悲伤是潮汐

潮汐淹没了沙砾的领地

生活是呼吸 日子是叹息

为何我的心苍白又无力

寂寞藏抽屉 钥匙就是你

每天每一刻 为我开启

[chorus]

爱到知已知彼 反而心存芥蒂

莫非美只能产生于距离

恨到势不两立 心痛到最彻底

想不通我到底错在哪里

[inst]

[verse]

相处是猜谜 分手是谜底

超出我习惯 的思维分析

就像是下棋 当局者最迷

其实我早已 是身不由已

你爱我什么 你恨我什么

到现在我还是 漫无头绪

昨天的默契 如今的分歧

爱情真是教我 伤透了心

[chorus]

爱到如胶似漆 最后貌合神离

谁都成为不了谁的 唯一

[outro]

-

Lyrics

[start]

[verse]

It's so hard to figure out

Which way to turn

There's no going back now

All your bridges burned

The stars are gonna shine on you

If you can get through the day

Storm clouds all around you

But a blue skies on the way.

[chorus]

And we're all just passengers tonight

And we're all just travelling through our lives

We will reach our destination

So just hang on for the ride

Say a prayer and close your eyes

It's just a little turbulence.

[verse]

Take a look around you

Look how far you've come

Your whole life in front of you

You've only just begun

We've all got our problems

But they're just bumps in the road

If you only keep on fighting

There's no where you can't go.

[chorus]

And we're all just passengers tonight

And we're all just travelling through our lives

We will reach our destination

So just hang on for the ride

So say a prayer and close your eyes

It's just a little turbulence.

[bridge]

This life can be so crazy

It can spin out of control

But I hope that all your dreams come true

'Cause you know that you're amazing

And no matter where you go

I'll be there for you

We can make it through.

[outro]

-

Lyrics

[start]

[intro]

快乐他和我走散

只剩寂寞与我作伴

我走在无人的街

感受寂寞的夜

[verse]

生活总是太多羁绊

让我走的如此艰难

让内心变的简单

去拥抱这个世界

我不过想 穿过这片海洋

去远方 去拥抱太阳

我不过想 大声的唱

用最后 力量

去完成我一生的梦想

[solo]

[verse]

你总是有太多幻想

在幻想里迷失了方向

逆着风的方向

就是你要去的地方

我不过想 穿过这片海洋

去远方 去拥抱太阳

我不过想 大声的唱

用最后 力量

去完成我一生的梦想

穿过这片海洋

[chorus]

去远方 去拥抱太阳

[outro]

-

Ethics-Statement

DiffRhythm 2 enables the creation of original music across diverse genres, supporting applications in artistic creation, education, and entertainment. While designed for positive use cases, potential risks include unintentional copyright infringement through stylistic similarities, inappropriate blending of cultural musical elements, and misuse for generating harmful content. To ensure responsible deployment, users must implement verification mechanisms to confirm musical originality, disclose AI involvement in generated works, and obtain permissions when adapting protected styles.