
NotaGen
NotaGen簡(jiǎn)介
NotaGen 是什么?
NotaGen 是由中央音樂學(xué)院、北京航空航天大學(xué)和清華大學(xué)等機(jī)構(gòu)聯(lián)合開發(fā)的一款AI音樂生成模型,專注于生成高質(zhì)量的古典樂譜。它通過模仿大型語(yǔ)言模型(LLM)的訓(xùn)練范式,能夠生成高質(zhì)量的古典樂譜。
NotaGen 核心特點(diǎn)
高質(zhì)量古典樂譜生成
NotaGen 能夠根據(jù)用戶指定的時(shí)期(如巴洛克、古典、浪漫)、作曲家(如巴赫、莫扎特、肖邦)和樂器(如鍵盤、弦樂四重奏、管弦樂)生成符合特定風(fēng)格的樂譜。
先進(jìn)的訓(xùn)練范式
預(yù)訓(xùn)練:在超過160萬首樂曲上進(jìn)行預(yù)訓(xùn)練,學(xué)習(xí)音樂的基本結(jié)構(gòu)和模式。
微調(diào):基于約9000首高質(zhì)量古典作品進(jìn)行微調(diào),增強(qiáng)對(duì)特定風(fēng)格和作曲家的理解。
強(qiáng)化學(xué)習(xí):通過 CLaMP-DPO 方法優(yōu)化生成音樂的質(zhì)量和可控性,無需人工標(biāo)注或預(yù)定義獎(jiǎng)勵(lì)。
多模態(tài)數(shù)據(jù)表示
NotaGen 使用 交錯(cuò)的 ABC 符號(hào)表示法(Interleaved ABC Notation),將不同聲部的音符重新排列到一行中,并通過聲部指示符 [V:] 區(qū)分。這種表示法能夠靈活處理多軌音樂和復(fù)雜樂譜。
模型架構(gòu)
NotaGen 采用 Tunesformer 架構(gòu),包含兩個(gè)層次的 GPT-2 解碼器:patch-level decoder 和 character-level decoder。通過 patch-level decoder 捕獲 patch 之間的時(shí)間關(guān)系,然后將隱藏狀態(tài)傳遞給 character-level decoder,自回歸地預(yù)測(cè)下一個(gè) patch 的字符。
生成樣本
NotaGen 提供了多種風(fēng)格的生成樣本,包括鍵盤、室內(nèi)樂、管弦樂、藝術(shù)歌曲、合唱和聲樂管弦樂等。此外,還嘗試了流行音樂風(fēng)格的生成。
NotaGen 技術(shù)
數(shù)據(jù)表示:采用交錯(cuò)的 ABC 符號(hào)表示法,支持多軌音樂和復(fù)雜樂譜。
模型架構(gòu):基于 Tunesformer,包含 patch-level 和 character-level 解碼器。
訓(xùn)練范式:
預(yù)訓(xùn)練:在 160 萬首樂曲上進(jìn)行預(yù)訓(xùn)練。
微調(diào):在 9000 首高質(zhì)量古典樂譜上進(jìn)行微調(diào),涵蓋 152 位作曲家。
強(qiáng)化學(xué)習(xí):通過 CLaMP-DPO 方法優(yōu)化生成音樂的質(zhì)量和可控性。
NotaGen 實(shí)驗(yàn)與評(píng)估
主觀 A/B 測(cè)試:NotaGen 在生成音樂的質(zhì)量上優(yōu)于基線模型,接近人類作曲水平。
CLaMP-DPO 方法:通過對(duì)比學(xué)習(xí)模型 CLaMP2 提供的反饋,優(yōu)化生成音樂的質(zhì)量,無需人工標(biāo)注或預(yù)定義獎(jiǎng)勵(lì)。
NotaGen 使用場(chǎng)景
專業(yè)作曲家:作為靈感工具,快速生成高質(zhì)量樂譜。
音樂愛好者:降低音樂創(chuàng)作門檻,提供個(gè)性化創(chuàng)作支持。
音樂教育:作為教學(xué)工具,幫助學(xué)生理解不同風(fēng)格和時(shí)期的音樂特點(diǎn)。
項(xiàng)目主頁(yè):https://electricalexis.github.io/notagen-demo
GitHub倉(cāng)庫(kù):https://github.com/ElectricAlexis/NotaGen
論文:https://arxiv.org/pdf/2502.18008
與NotaGen相關(guān)工具
- 用戶登錄