给AI看一眼图,它就能找到对应音乐。
比如一艘海上航行的海盗船,啪一下,就检索到了加勒比海盗经典配乐。
音乐信息检索(Music Information Retrieval, MIR)一直面临着多模态数据的复杂性和多语言文本理解的挑战。
当前的MIR系统主要关注特定模态对(如文本-音频或文本-乐谱),限制了跨模态理解的潜力。
同时,现有的数据集主要以英语为主,缺乏多语言覆盖,导致MIR在非英语环境下的泛化能力受限。
为此,来自中央音乐学院、清华大学、香港科技大学大学、上海纽约大学等机构的研究者推出CLaMP 3(Contrastive Language-Music Pre-training)——一个跨模态、跨语言的统一音乐信息检索框架。
通过对比学习,CLaMP 3首次实现了乐谱、演奏信号、音频录音等音乐模态与多语言文本的联合对齐,使得不同模态之间可以通过文本桥接进行高效检索。其多语言文本编码器能够适应从未见过的语言,在跨语言检索任务上表现卓越。
CLaMP3基于检索增强生成(Retrieval-Augmented Generation, RAG)策略,构建了规模达到2.31M音乐-文本对的M4-RAG数据集,并结合详细的音乐元数据,覆盖27种语言、194个国家的音乐文化。此外,研究团队还推出了WikiMT-X,一个由乐谱、音频和多样化文本描述组成的1000个样本的基准数据集,推动跨模态音乐理解的研究。
实验结果表明,CLaMP 3在多个MIR任务上取得了当前最优性能,不仅大幅超越已有基线模型,还在跨模态、跨语言的检索任务中展现了卓越的泛化能力。
图1:CLaMP 3展现出强大的跨模态和跨语言泛化能力。监督对齐(实线箭头)连接成对的模态,而涌现对齐(虚线箭头)则弥合未对齐的模态。多语言文本编码器使得在对齐过程中未见(灰色气泡)的语言中也能进行检索。
动机:MIR需要真正的跨模态、跨语言对齐
音乐是全球性的,但MIR的发展仍然面临以下关键问题:
为解决上述问题,CLaMP 3构建了一个通用的跨模态-跨语言检索框架,通过对比学习构建共享表示空间,使得不同模态的音乐数据可以在无配对训练数据的情况下进行检索。
方法:对比学习+检索增强生成,构建统一音乐表示空间
CLaMP 3采用对比学习(Contrastive Learning)作为核心优化目标,通过多阶段训练策略对齐不同模态,并利用检索增强生成(RAG)扩展高质量音乐-文本数据。
图2:CLaMP 3采用对比学习来对齐不同模态的特征。乐谱和演奏信号被分割为单元(小节或MIDI消息),并由符号音乐编码器处理,而音频则被分割为5秒片段,并通过音频特征提取器和音频音乐编码器处理。符号和音频表示均与来自多语言文本编码器的文本表示对齐。
训练策略:多阶段模态对齐
CLaMP 3的训练策略借鉴了ImageBind的思想,采用四阶段跨模态对齐:
这一策略确保了所有模态最终映射到统一的表示空间,避免模态漂移问题。
核心组件:多模态Transformer编码器
CLaMP 3由多个基于Transformer的编码器组成,每个编码器针对不同模态进行处理,以确保跨模态对齐和信息融合。
多语言文本编码器
CLaMP 3的文本编码器基于XLM-R-base,一个预训练于2.5TB CommonCrawl数据的模型,涵盖100种语言。该编码器具有12层Transformer,隐藏维度为768,具备强大的跨语言泛化能力,可用于处理未见语言的数据。
符号音乐编码器
CLaMP 3采用M3作为符号音乐编码器,它是一种自监督学习模型,可处理多轨ABC记谱格式和MIDI。
输入格式:ABC以小节(bar)为单位分割,MIDI以消息(message)为单位分割。
模型结构:12层Transformer,隐藏层大小768。
处理能力:支持512个片段(patches)或32,768个字符,可捕捉复杂的符号音乐模式。
音频音乐编码器
CLaMP 3的音频编码器是一个12层Transformer,隐藏维度同样为768,专为音乐音频处理而训练。
特征提取:利用MERT-v1-95M预训练特征,MERT作为冻结的音频特征提取器。
输入单位:将音频分割为5秒片段,并计算所有MERT层的时间步均值,生成单个嵌入向量。
处理能力:最多支持128个嵌入向量(对应640秒音频),能够建模长时音乐特征。
统一表示空间
所有编码器的输出都经过线性层和平均池化(average pooling)处理,最终生成全局语义特征,确保不同模态数据在共享表示空间中对齐。
数据集:M4-RAG
CLaMP 3的训练依赖于大规模的高质量多模态多语言音乐数据集M4-RAG。
数据来源
CLaMP 3结合符号音乐数据和音频音乐数据以构建多模态学习基础:
符号音乐数据:
WebMusicText(WebMT):1.4M ABC记谱文件。
Million MIDI Dataset(MMD):1.5M MIDI文件。
数据转换:MMD转换为ABC,WebMT转换为MIDI,最终形成3M统一格式的符号音乐数据。
音频音乐数据:
从网络收集1.8M音轨,总计16万小时音频,并预提取音频特征以减少计算成本。
元数据处理
CLaMP 3依赖音乐标题(Title)作为主要检索信号,通过检索增强生成(RAG)从Web获取丰富的元数据,包括风格、标签、背景信息等,最终借助Qwen2.5-72B构建M4-RAG:
数据量:2.31M元数据条目。
音乐-文本对齐:
ABC-文本:0.58M
MIDI-文本:0.17M
音频-文本:1.56M
元数据涵盖短文本(如流派、标签)和长文本(如背景介绍、音乐分析),提供全面的音乐描述信息。
表1:M4-RAG的元数据概览,按基本信息、注释和翻译进行分类。在注释(Annotations)部分,地区(Region)和语言(Language)以英语书写,其他字段遵循对应的语言规范。
语言&地理覆盖
M4-RAG涵盖27种语言,其中大部分元数据原始语言为英语。
翻译增强:使用Qwen2.5-72B进行翻译,增加低资源语言的数据量(如马来语、缅甸语)。
全球覆盖:数据来源于194个国家,涵盖主流音乐市场及多样化的地域音乐风格。
图3:M4-RAG中原始数据和翻译数据的语言分布,覆盖27种语言。
实验:CLaMP 3在跨模态、跨语言检索上超越现有SOTA
CLaMP 3在多个MIR任务上取得了当前最优(SOTA)性能,相比前代CLaMP 2和其他基线模型,如CLAP、TTMR++,有显著提升。
跨模态音乐检索
在文本-音频、文本-乐谱等任务上,CLaMP 3在WikiMT-X、MidiCaps、MusicCaps-Remake等基准数据集上的MRR(Mean Reciprocal Rank)均超越基线:
文本-ABC检索:MRR 0.4498(提升>10%)
文本-音频检索:MRR 0.1985(超越CLAP与TTMR++)
表2:英文文本到音乐检索任务的结果,涵盖多个基准数据集。WikiMT和MidiCaps各包含1,010对样本,Song Describer Dataset(SDD)包含706个音频和1,106条文本描述,MusicCaps-Remake(MC-R)包含2,777对样本。MC-R通过使用完整音频和来自AudioSet评估集的重写文本描述,避免了数据泄漏。
跨语言音乐检索
在非英语文本到音乐的检索任务中,CLaMP 3展现了极强的跨语言泛化能力,即使在训练集中未见过的语言上,依然能取得优异表现。例如:
俄语-乐谱检索:MRR 0.3614
中文-音频检索:MRR 0.1459
芬兰语(未见语言)-音频检索:MRR 0.1770
表3:多语言文本到音乐检索任务的结果,基于WikiMT-X翻译后的背景注释。标有星号(*)的语言未包含在M4-RAG训练数据中。每种语言下方的BLEU分数通过SeamlessM4T模型对文本进行回译,并与原始英语文本进行对比计算。
无配对跨模态检索
在没有配对训练数据的情况下,CLaMP 3依然可以进行跨模态检索,例如:
乐谱→音频(S→A):MRR 0.0578
音频→乐谱(A→S):MRR 0.0492
表4:WikiMT-X不同音乐模态配对的涌现跨模态检索结果。S:乐谱(ABC记谱)、P:演奏信号(MIDI,由ABC转换)、A:音频录音。
结论:CLaMP 3开启跨模态、跨语言MIR新时代
CLaMP 3首次实现了乐谱、演奏信号、音频与多语言文本的统一表示学习,突破了MIR的跨模态与跨语言限制。
项目主页:
在线Demo:
GitHub代码:
本文来自微信公众号“量子位”,作者:CLaMP3团队,36氪经授权发布。
还没有评论,来说两句吧...