宅中地 - 每日更新
宅中地 - 每日更新

贊助商廣告

X

新加坡科技設計大學研究:音樂相似度不該只有一個分數,這個AI框架能同時聽出旋律、節奏、音色三個維度

2026年06月09日 首頁 » 熱門科技

這項由新加坡科技設計大學(Singapore University of Technology and Design)研究團隊完成的工作,以預印本形式發布於2026年5月,論文編號為arXiv:2605.27346,有興趣深入了解的讀者可以通過這個編號在arXiv平台上查閱完整論文。

**當你說"這首歌和那首歌很像",你說的是哪種像?**

每個愛聽音樂的人大概都有過這樣的經歷:有人向你推薦一首歌,說"這首跟你喜歡的那首很像",結果你一聽,發現確實有點像——但哪裡像,卻很難一句話說清楚。是旋律像?是鼓點的感覺像?還是整體的樂器音色像?

這個看起來有點哲學的問題,其實是音樂資訊檢索領域長期面臨的真實挑戰。目前幾乎所有的音樂推薦系統、相似度搜索工具,給出的都是一個單一的數字——"這兩首歌的相似度是0.82"。但問題在於,這個0.82究竟是旋律像、節奏像還是音色像,完全黑盒,用戶無從得知,也無法針對某一個維度去搜索。

新加坡科技設計大學的研究團隊提出了一個叫做MERIT的框架,核心想法是:既然音樂相似度天然是多維度的,為什麼不讓AI同時給出三個分數——旋律相似度、節奏相似度、音色相似度——而不是把它們混成一鍋?這個聽起來直觀的想法,背後涉及相當複雜的技術挑戰,而研究團隊用了一套頗具創意的方法來解決它。

一、為什麼"一個分數"會成為問題

先來理解這個"一鍋粥"的問題有多嚴重。以一個經典的音樂場景為例:一個鋼琴手翻奏了一首重金屬搖滾名曲。這個鋼琴版和原版之間,旋律和和聲結構幾乎完全相同,但樂器從電吉他和架子鼓變成了鋼琴,節奏也從重金屬的猛烈節拍變成了鋼琴演奏的舒緩律動。這時候,旋律維度上它們高度相似,音色維度上幾乎天壤之別,節奏維度上也大相徑庭。

一個只給出單一分數的系統,面對這個例子會非常為難。它可能給出0.4的相似度(因為音色和節奏都差太遠),也可能給出0.7(因為旋律太像了)。但無論給出什麼數字,都沒法告訴你"旋律層面高度相似,其他層面差異很大"這個對音樂推薦真正有價值的資訊。

類似的情況無處不在。同一個藝人的不同歌曲,往往有非常一致的音色風格(同樣的嗓音、同樣的製作習慣),但旋律和節奏可以截然不同。電子舞曲里的不同曲目,可能共享幾乎完全相同的鼓機節拍模式,但旋律和音色各有特色。傳統的單一相似度分數,把這些有意義的區別都抹平了。

MERIT的研究團隊意識到,要解決這個問題,需要訓練三個"專科醫生":一個只看旋律,一個只看節奏,一個只看音色。但麻煩在於,訓練數據從哪裡來?

二、最難的問題:訓練數據的"純度"

訓練一個"只看旋律"的AI模型,你需要大量這樣的音頻對:兩段音樂,旋律完全相同,但節奏和音色都不同。現實世界裡的音樂錄音幾乎不存在這種純粹的情況。即使是翻唱,也往往在旋律、節奏、音色多個維度同時發生變化。

這就是MERIT最核心的創新:研究團隊設計了一套數據生成流水線,人工製造出"只有一個維度發生變化"的音頻對。整套方案的基礎是一個叫做MoisesDB的數據集,這個數據集提供了多首歌的逐個樂器分軌(例如單獨的人聲軌、鼓軌、鋼琴軌等),以及一個叫做JASCO的AI音樂生成模型,這個模型能夠接受條件約束來生成音樂。

旋律維度的訓練數據是這樣製造的:先從MoisesDB里取出一段音樂的旋律軌,用算法分析出這段音樂的音高輪廓(就是旋律走向,哪個時間點唱的是哪個音),然後把這個音高輪廓作為約束條件輸入給JASCO。JASCO會根據這個旋律輪廓生成新的音樂,同時用一段隨機抽取的文字描述(比如"帶有手風琴和原聲吉他的民謠")來決定音色和風格。這樣生成出來的新音樂,旋律走向和原始音樂一樣,但樂器、風格、節奏完全不同。

節奏維度的數據生成邏輯類似,但換了約束條件:這次不是旋律輪廓,而是原曲的鼓軌。JASCO拿到鼓軌作為節奏骨架,然後用隨機文字描述來決定旋律和音色。生成出來的音樂,節拍和律動跟原曲一致,但旋律和音色完全是另一回事。

音色維度則不需要生成模型。研究團隊直接從MoisesDB里找同種樂器的不同分軌:比如兩首不同歌曲里的鋼琴軌,放在一起就是音色相同(都是鋼琴)但旋律和節奏各不相同的一對。負樣本則是同一首歌里不同樂器的分軌,比如鋼琴軌和鼓軌配一對,音色截然不同。

最終,旋律和節奏各產生了5000個訓練組、125000個訓練三元組(錨定樣本、正樣本、負樣本的三件套),音色產生了1855個訓練組、46241個三元組。這套數據製造方案的創意在於,它不需要人工標註,完全依靠生成模型和已有分軌,批量製造出了現實錄音里根本找不到的"純度極高"的對比樣本。研究團隊還把這套數據集開放了出來,供其他研究者使用。

三、聽音樂的AI大腦是怎麼搭建的

有了數據,下一步是搭建模型。MERIT的骨架是一個叫做MERT的已有模型,你可以把它理解成一個"音樂理解通才"——它在大約16萬小時的音樂上做過大規模預訓練,對音樂的音高、節拍、音色等各方面都有相當豐富的理解。這個模型有3.3億個參數,是個體量不小的模型。

MERIT的做法是把MERT的權重完全凍住——也就是說,MERT的所有參數在訓練過程中都不會變化。這樣做的好處是訓練速度快,而且不會破壞MERT原本積累的音樂知識。在MERT之上,MERIT添加了三個輕量級的"專科投影頭",每個投影頭就是一個兩層的小型神經網路。旋律頭只負責旋律,節奏頭只負責節奏,音色頭只負責音色,三者相互獨立,互不干擾。

MERT內部有23層,每層對音樂的理解側重不同。MERIT並不只取最後一層的輸出,而是把第3、4、5、6層和第23層的輸出一起拼起來用。這樣設計是因為淺層(3-6層)更擅長捕捉低級的聲學特徵,比如節拍的律動感;深層(第23層)更擅長理解高級的語義資訊,比如旋律的走向和曲調特點。把五層的輸出拼在一起,形成一個5120維的向量,再分別送入三個投影頭,最終每個頭輸出一個128維的向量,代表該音頻在對應維度上的"坐標"。兩段音樂在某個維度的相似度,就是它們在該頭輸出空間裡的餘弦相似度。

訓練時用的是"圓損失"(Circle Loss)這種損失函數。它的工作原理可以用一個比喻來理解:正樣本對(應該靠近的一對)和負樣本對(應該遠離的一對),各自根據"當前距離離目標還有多遠"來動態分配訓練力度。距離目標最近的難樣本會獲得最大的訓練注意力,而已經明顯滿足要求的容易樣本則被忽略,從而讓訓練效率更高。

一個有趣的細節是,由於MERT是凍住的,所有音頻的MERT特徵可以事先一次性提取並緩存下來,三個投影頭的訓練直接在這些緩存特徵上進行,速度相當快。

四、人工聽感驗證:訓練數據真的"純"嗎?

在匯報模型效果之前,研究團隊先做了一件重要的事:讓真人來驗證這套合成訓練數據是否真的達到了"單維度變化"的效果。

他們邀請了15位音樂專家,給每位專家聽取音頻對,然後分別在旋律、節奏、音色三個滑條上評分(0到100)。測試樣本包括10對旋律正樣本(應該旋律最相似)、10對節奏正樣本(應該節奏最相似)和10對音色正樣本(應該音色最相似)。

結果相當令人滿意:旋律正樣本對在旋律維度上獲得了60分的平均評分,節奏正樣本對在節奏維度上獲得了65.8分,音色正樣本對在音色維度上獲得了57.3分——每種類型的樣本對,都在對應的維度上獲得了最高分,符合設計初衷。

不過有一個值得注意的細節:旋律正樣本對的節奏評分(53.4分)和旋律評分(60分)非常接近。這其實是可以理解的——旋律本身也包含節奏資訊,因為旋律里每個音的時值(長短)就是一種節奏模式。這種"維度之間的滲漏"在真實音樂里難以完全消除,但旋律維度仍然是旋律正樣本對的主導因素,這就足夠了。

信度評估方面,使用Cronbach's α係數來衡量15位專家之間的一致性:音色維度的α值為0.757(一致性較高),旋律為0.615(可接受),節奏為0.493(中等)。節奏維度的一致性相對較低,這也符合音樂感知的普遍規律——節奏的判斷往往比音色更主觀,不同聽眾對"什麼算節奏相似"有更大的個體差異。

五、模型到底分得清嗎?內部測試結果

模型訓練完之後,研究團隊做了一張非常直觀的測試表格:三個頭分別在三類測試集上的表現。如果模型真的實現了維度分離,對角線(旋律頭測旋律、節奏頭測節奏、音色頭測音色)應該都接近100%,而非對角線位置應該接近50%(隨機猜測的水平)。

結果完全符合預期,甚至超出預期。旋律頭在旋律測試集上達到99.9%的準確率,在節奏測試集上只有58.4%,在音色測試集上只有60.4%。節奏頭在節奏測試集上達到100%,在旋律測試集上只有47.7%,在音色測試集上71.6%。音色頭在音色測試集上達到99.6%,在旋律測試集上55.3%,在節奏測試集上69.5%。

對比之下,基礎的MERT模型(不加任何投影頭,直接用餘弦相似度)在三類測試集上的表現都在79%到87%之間,差距不大。CLAP(另一個著名的音頻-語言預訓練模型)也類似,在78%到94%之間徘徊。這說明這兩個"通才"模型雖然對各維度都有感知,但沒有分離——對任何一個維度測試,它們的表現都差不多,說明它們的嵌入空間是多因素混合的。

最有意思的數字是節奏頭在旋律測試集上的47.7%——這個數字低於隨機猜測的50%。這意味著節奏頭不是簡單地"對旋律不敏感",而是學到了一種主動排斥旋律資訊的表示方式:在節奏頭的坐標空間裡,旋律相似的兩段音樂實際上比旋律不相似的兩段音樂坐標還要更遠一些。這種主動抑制,才是真正意義上的維度解耦。

研究團隊還做了一個有趣的深層分析:看每個投影頭的第一層權重,哪一部分對應MERT的哪一層最重要。結果發現,旋律頭對MERT第23層(最深層)的依賴稍高,而節奏頭對第3-6層(淺層)的依賴相對更強。這與此前對自監督音頻模型的研究發現一致——淺層更擅長捕捉低級節奏紋理,深層更擅長編碼高級音高和旋律語義。沒有人告訴模型該用哪一層,這種分工完全是從數據中自然湧現出來的。

六、真實世界的考驗:三個完全獨立的零樣本測試

內部測試做得再好,也可能只是因為訓練數據和測試數據來自同一個生成流水線。真正有說服力的是:把這三個頭拿到完全不相關的真實錄音數據集上,看結果是否依然符合預期。

研究團隊選了三個外部數據集,它們和訓練數據沒有任何重疊,也沒有經過任何生成模型處理。

第一個是MUSDB18-HQ,這是一個專業音樂分軌數據集,包含人聲、鼓、貝斯、其他樂器四類純淨分軌。測試設計是:同類樂器的兩段分軌為正樣本對(比如兩首不同歌的鼓軌),不同類樂器為負樣本(比如同一首歌的鼓軌和人聲軌)。這是一個純粹的音色測試。結果是音色頭以78.9%的準確率成為三個頭中最強的,節奏頭最弱(63.1%),差距超過15個百分點。原始MERT模型在這個測試上達到79.8%,和音色頭幾乎一樣——但這裡的關鍵不是音色頭贏過了MERT,而是另外兩個頭雖然用同樣的MERT基礎,卻主動把樂器類別資訊甩掉了,比音色頭低了很多。這說明訓練信號確實讓各頭形成了差異化的資訊偏好。

第二個是Ballroom Dataset,這是一個舞蹈音樂數據集,包含探戈、華爾茲、倫巴等八種舞蹈類型的錄音。不同舞蹈類型之間的區別主要在節奏特徵(拍號、速度範圍、切分音模式),而所有錄音都是大樂隊風格,音色差異較小。這是一個幾乎"純粹節奏"的測試。節奏頭在這裡達到88.0%,是所有三個測試中所有頭的最高單頭準確率。旋律頭只有55.2%,差距高達32.8個百分點。更重要的是,節奏頭比原始MERT模型(78.0%)高出了整整10個百分點——雖然底層模型完全相同,但節奏維度的專門訓練讓節奏頭能夠把MERT已經有但混雜在一起的節奏資訊提取放大,超越了MERT自身的水平。

深入分析各舞種的準確率,可以看到更細膩的規律。節奏頭在探戈(97.0%)、維也納華爾茲(94.4%)和標準華爾茲(94.0%)上準確率極高,因為這三種舞蹈的節奏特徵非常鮮明、彼此區分度大。而在倫巴-國際式上只有65.4%,因為數據集裡有三種倫巴子類型,它們的切分音模式高度重疊,即使對人類而言也難以區分,節奏頭的表現退化發生在節奏本身就模糊的地方,而非模型本身的問題。

第三個是Covers80,這是一個翻唱歌曲數據集,包含80首歌的原版和翻唱版各一首。翻唱的本質是多維度混合:旋律按定義保留,節奏在大多數翻唱中也相當程度地保留(因為大多數翻唱是改編而非完全重新詮釋),但音色往往大幅改變(因為翻唱者換了樂器和演唱風格)。這個測試沒有單一"正確答案"的維度,是一個多維度交叉的壓力測試。

結果與預期完全吻合:節奏頭(69.9%)和旋律頭(63.4%)都超過了原始MERT(66.1%),而音色頭(61.3%)低於MERT。這說明翻唱識別的信號主要來自旋律和節奏,而不是音色,三個頭的表現排序準確地反映了翻唱這種音樂現象的本質。

節奏頭略微超過旋律頭,乍看有些奇怪,但仔細想想:MERIT的旋律頭被訓練成對樂器和節奏變化不敏感,這恰恰去掉了翻唱識別依賴的部分線索;而翻唱中節奏(速度、律動感)往往比具體旋律走向保留得更穩定。這不是模型的缺陷,而是它確實學到了"旋律"的純粹含義,去掉了和旋律捆綁在一起的節奏資訊。

七、把三個分數合併用,效果更好嗎?

既然有了三個維度的分數,一個自然的問題是:把它們合併成一個分數,是否比任何單一頭都更好?研究團隊測試了四種合併方式:簡單平均、加權平均、L2歸一化拼接(把三個頭的128維向量直接拼成384維)、逐元素乘積。

在MUSDB18-HQ(音色測試)和Covers80(多維度測試)上,L2歸一化拼接的效果和最佳單頭相當甚至略有超越,這說明三個頭提供的資訊是互補的。在Ballroom(節奏測試)上,最佳單頭(節奏頭)已經很強,合併後沒有明顯提升。逐元素乘積表現最差,原因是只要有一個維度的相似度接近零,乘積就會趨近於零,把其他維度的有效資訊都湮沒了。

八、具體案例:每對翻唱都有自己的"因子指紋"

除了統計數字,研究團隊還分析了Covers80里六對具體翻唱的三維度分數,展示了MERIT的解釋能力。

披頭士《Let It Be》的錄音室版和現場版,三個維度分數幾乎完全相同(旋律0.97,節奏0.97,音色0.96),這完全符合常識:同一藝人現場翻唱自己的作品,編曲幾乎沒有變化。

Extreme和Westlife翻唱的《More Than Words》,旋律(0.93)和節奏(0.95)都很高,但音色(0.79)明顯偏低,反映了Westlife的流行人聲組合風格和Extreme的原聲搖滾風格在音色上的巨大差異。

而CCR的《Lodi》和Tesla的原聲版翻唱則呈現了完全反轉的模式:音色相似度最高(0.95),旋律相似度最低(0.71)。這捕捉到了一個音樂愛好者能夠辨認的事實:Tesla的翻唱版保留了CCR標誌性的原聲搖滾音色質感,但在旋律處理上加入了大量即興演繹,偏離了原曲的音高走向。一個單一的相似度數字,無法區分這三種截然不同的翻唱關係,而MERIT的三維度畫像準確地還原了每對翻唱背後的音樂事實。

九、這個框架的局限和未來方向

研究團隊在論文裡誠實地列出了幾個現有局限。當前的分解只覆蓋旋律、節奏、音色三個維度,和聲(和弦進行)和力度(動態變化)還沒有被獨立建模,需要設計新的生成條件才能引入。音色維度目前是以"樂器類別"來定義的,兩把不同錄音條件下的原聲吉他被當作音色相同,但它們實際上聽起來可能差別挺大,這種粒度不夠細的問題還有待解決。此外,JASCO的生成質量本身會給旋律和節奏的訓練數據帶來上限——如果生成模型沒能完美重現旋律或節奏,訓練數據的"純度"就會打折扣。

研究團隊提出了兩個值得期待的未來方向:一是通過和弦條件生成來加入和聲作為第四個因子;二是用一個多頭Transformer來取代現在三個獨立的投影頭,讓三個頭共享中間層的計算,同時保持各自的監督目標,可能在參數效率和泛化能力上更優。

歸根結底,MERIT做的事情可以用一句話描述:它把"這兩首歌有多像"這個問題,拆解成了"旋律有多像""節奏有多像""音色有多像"三個更具體的問題,並且給出了有實驗支撐的、能泛化到真實錄音的答案。這不是說單一相似度分數沒有用,而是在需要精細控制的場景下,三個維度的分數顯然比一個混合分數包含更多可用資訊。

對於普通用戶來說,這意味著未來的音樂搜索可能會支持這樣的操作:"給我找旋律和這首歌像,但音色要完全不同的歌"或者"找同樣節奏感,但完全不同曲風的音樂"。這種精準的、可解釋的音樂檢索,是現有系統暫時無法做到的。

Q&A

Q1:MERIT框架訓練數據是怎麼來的,為什麼不直接用真實錄音?

A:MERIT的訓練數據主要是通過AI音樂生成模型JASCO"製造"出來的,而非直接使用真實錄音。原因是真實錄音里旋律、節奏、音色總是同時變化,無法做到"只改變一個維度"。研究團隊通過把原曲的旋律輪廓或鼓軌輸入JASCO,同時隨機指定文字描述來控制其他方面,從而批量生成出旋律相同但音色節奏不同、或節奏相同但旋律音色不同的音頻對。音色維度則直接利用多軌數據集裡不同歌曲的同類樂器分軌配對,無需生成模型。

Q2:MERIT的三個頭是否可以用於音樂推薦系統?

A:從技術角度看是可行的。MERIT在推理時,對於一段查詢音頻只需經過一次MERT編碼,然後分別經過三個輕量投影頭,就能得到三個維度的128維向量。在實際系統中可以預先為音樂庫建立三個獨立的近似最近鄰索引,查詢時分別檢索,返回結果帶有旋律、節奏、音色三個獨立相似度分數,用戶可以按照自己關注的維度篩選或排序。目前代碼和預訓練模型已經開源,感興趣的開發者可以在GitHub上的AMAAI-Lab/MERIT項目中獲取。

Q3:MERIT的旋律頭為什麼在翻唱檢測(Covers80)上的表現反而不如節奏頭?

A:這個現象有兩方面原因。一方面,MERIT的旋律頭被專門訓練成對樂器音色和節奏模式不敏感,而傳統翻唱識別系統通常會利用共同的節奏框架作為輔助線索,MERIT的旋律頭主動去掉了這部分資訊。另一方面,Covers80數據集裡大多數翻唱是致敬版或現場版,演唱者往往在節奏和速度上高度忠實於原曲,但在旋律裝飾音和走向上有較多個人發揮,所以節奏保留的穩定性反而更高。這恰恰證明了MERIT的旋律頭學到了"純旋律"的概念,而非混有節奏資訊的綜合特徵。

宅中地 - Facebook 分享 宅中地 - Twitter 分享 宅中地 - Whatsapp 分享 宅中地 - Line 分享
相關內容
Copyright ©2026 | 服務條款 | DMCA | 聯絡我們
宅中地 - 每日更新