NotaGen
NotaGen簡介
NotaGen 是什么?
NotaGen 是由中央音樂學(xué)院、北京航空航天大學(xué)和清華大學(xué)等機構(gòu)聯(lián)合開發(fā)的一款AI音樂生成模型,專注于生成高質(zhì)量的古典樂譜。它通過模仿大型語言模型(LLM)的訓(xùn)練范式,能夠生成高質(zhì)量的古典樂譜。

NotaGen 核心特點
高質(zhì)量古典樂譜生成
NotaGen 能夠根據(jù)用戶指定的時期(如巴洛克、古典、浪漫)、作曲家(如巴赫、莫扎特、肖邦)和樂器(如鍵盤、弦樂四重奏、管弦樂)生成符合特定風(fēng)格的樂譜。
先進的訓(xùn)練范式
預(yù)訓(xùn)練:在超過160萬首樂曲上進行預(yù)訓(xùn)練,學(xué)習(xí)音樂的基本結(jié)構(gòu)和模式。
微調(diào):基于約9000首高質(zhì)量古典作品進行微調(diào),增強對特定風(fēng)格和作曲家的理解。
強化學(xué)習(xí):通過 CLaMP-DPO 方法優(yōu)化生成音樂的質(zhì)量和可控性,無需人工標(biāo)注或預(yù)定義獎勵。
多模態(tài)數(shù)據(jù)表示
NotaGen 使用 交錯的 ABC 符號表示法(Interleaved ABC Notation),將不同聲部的音符重新排列到一行中,并通過聲部指示符 [V:] 區(qū)分。這種表示法能夠靈活處理多軌音樂和復(fù)雜樂譜。
模型架構(gòu)
NotaGen 采用 Tunesformer 架構(gòu),包含兩個層次的 GPT-2 解碼器:patch-level decoder 和 character-level decoder。通過 patch-level decoder 捕獲 patch 之間的時間關(guān)系,然后將隱藏狀態(tài)傳遞給 character-level decoder,自回歸地預(yù)測下一個 patch 的字符。
生成樣本
NotaGen 提供了多種風(fēng)格的生成樣本,包括鍵盤、室內(nèi)樂、管弦樂、藝術(shù)歌曲、合唱和聲樂管弦樂等。此外,還嘗試了流行音樂風(fēng)格的生成。

NotaGen 技術(shù)
數(shù)據(jù)表示:采用交錯的 ABC 符號表示法,支持多軌音樂和復(fù)雜樂譜。
模型架構(gòu):基于 Tunesformer,包含 patch-level 和 character-level 解碼器。
訓(xùn)練范式:
預(yù)訓(xùn)練:在 160 萬首樂曲上進行預(yù)訓(xùn)練。
微調(diào):在 9000 首高質(zhì)量古典樂譜上進行微調(diào),涵蓋 152 位作曲家。
強化學(xué)習(xí):通過 CLaMP-DPO 方法優(yōu)化生成音樂的質(zhì)量和可控性。
NotaGen 實驗與評估
主觀 A/B 測試:NotaGen 在生成音樂的質(zhì)量上優(yōu)于基線模型,接近人類作曲水平。
CLaMP-DPO 方法:通過對比學(xué)習(xí)模型 CLaMP2 提供的反饋,優(yōu)化生成音樂的質(zhì)量,無需人工標(biāo)注或預(yù)定義獎勵。
NotaGen 使用場景
專業(yè)作曲家:作為靈感工具,快速生成高質(zhì)量樂譜。
音樂愛好者:降低音樂創(chuàng)作門檻,提供個性化創(chuàng)作支持。
音樂教育:作為教學(xué)工具,幫助學(xué)生理解不同風(fēng)格和時期的音樂特點。
項目主頁:https://electricalexis.github.io/notagen-demo
GitHub倉庫:https://github.com/ElectricAlexis/NotaGen
論文:https://arxiv.org/pdf/2502.18008
提交您的產(chǎn)品
Ai應(yīng)用
Ai資訊
AI生圖
AI生視頻
開源AI應(yīng)用平臺






