CLaMP 3:音乐搜索AI革命!多模态AI能听懂乐谱/MIDI/音频,用27国语言搜索全球音乐

本文涉及的产品
图像搜索,任选一个服务类型 1个月
简介: CLaMP 3是由清华大学团队开发的多模态、多语言音乐信息检索框架,支持27种语言,能够进行跨模态音乐检索、零样本分类和音乐推荐等任务。

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!

🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦


🚀 「音乐检索进入「多模态对齐」时代!清华CLaMP 3突破三大极限:零样本分类、跨语言泛化、多模态语义桥」

大家好,我是蚝油菜花。当ChatGPT还在处理文字时,音乐AI已经学会「看见乐谱、听懂旋律、理解文化」!

CLaMP 3 的三大维度突破:

  • 🎯 模态无界:乐谱特征(ABC符号)+音频特征(MERT)+MIDI文本 → 统一语义空间
  • 🌐 语言无疆:基于XLM-R模型,训练27语→泛化100语,维吾尔语搜雷鬼不是梦
  • 🔥 零样本飞跃:无需标注数据,直接根据语义完成音乐分类/推荐/检索

依托 231万音乐-文本对 构建的M4-RAG数据集,这项发表于ICML的研究正在重塑音乐科技版图——点击体验Hugging Face Demo,感受多模态检索如何打破音乐认知边界!

🚀 快速阅读

CLaMP 3 是一个支持多模态、多语言的音乐信息检索框架,适用于跨模态音乐检索和零样本分类等任务。

  • 核心功能:文本到音乐检索、图像到音乐检索、跨模态音乐检索、零样本音乐分类、音乐推荐。
  • 技术原理:基于对比学习,将不同模态的音乐数据(如乐谱、MIDI、音频)与多语言文本统一到一个共享的语义空间中。

CLaMP 3 是什么

CLaMP 3

CLaMP 3 是清华大学人工智能学院朱文武教授团队推出的一个多模态、多语言音乐信息检索框架。它基于对比学习,能够将乐谱(如ABC符号)、音频(如MERT特征)和表演信号(如MIDI文本格式)与多种语言的文本描述对齐到一个共享的表示空间中。CLaMP 3 支持27种语言,并能够泛化到100种语言,适用于跨模态检索任务,如文本到音乐、图像到音乐检索,零样本音乐分类和音乐语义相似性评估。

CLaMP 3 的主要优势在于其强大的多模态支持和多语言处理能力。通过对不同形式的音乐数据进行统一表示,CLaMP 3 可以实现高效、准确的音乐检索和分类任务,极大地提升了音乐信息检索的灵活性和实用性。

CLaMP 3 的主要功能

  • 文本到音乐检索:根据文本描述(支持100种语言)检索与之语义匹配的音乐。
  • 图像到音乐检索:通过图像生成的描述(如BLIP模型生成的caption)检索与之匹配的音乐。
  • 跨模态音乐检索:在不同音乐表示形式(如乐谱、MIDI、音频)之间进行检索。例如,用音频检索乐谱或用乐谱检索音频。
  • 零样本音乐分类:无需标注数据,基于语义相似性将音乐分类到特定类别(如风格、情绪等)。
  • 音乐推荐:基于语义相似性进行音乐推荐,支持同一模态内的推荐(如音频到音频)。

CLaMP 3 的技术原理

clamp3-framework

  • 多模态数据对齐:将不同模态的音乐数据(如乐谱、MIDI、音频)和多语言文本统一到一个共享的语义空间。基于对比学习,模型学习将不同模态的数据映射到相似的向量表示,实现跨模态检索。
  • 对比学习框架:用对比学习(如CLIP的变体)训练模型。模型通过正样本对(如音乐与对应文本)和负样本对(随机配对的样本)学习区分语义相关和不相关的数据,优化表示空间。
  • 多语言支持:基于XLM-R(一种多语言预训练模型)实现多语言文本嵌入,支持27种语言的训练,并泛化到100种语言。
  • 大规模数据集训练:模型在大规模数据集(如M4-RAG)上进行训练,包含231万对高质量的音乐-文本对,覆盖27种语言和194个国家。

如何运行 CLaMP 3

1. 环境设置

要设置 CLaMP 3 的运行环境,请运行以下命令:

conda env create -f environment.yml
conda activate clamp3
AI 代码解读

2. 数据准备

2.1 将 MusicXML 文件转换为 Interleaved ABC 格式

CLaMP 3 需要使用 Interleaved ABC 格式的乐谱。首先,将 MusicXML 文件(.mxl, .xml, .musicxml)转换为标准 ABC 格式:

python batch_xml2abc.py
AI 代码解读

然后,将标准 ABC 文件转换为 Interleaved ABC 格式:

python batch_interleaved_abc.py
AI 代码解读

2.2 将 MIDI 文件转换为 MTF 格式

CLaMP 3 处理性能信号时使用 MIDI 文本格式(MTF)。将 MIDI 文件(.mid, .midi)转换为 MTF 格式:

python batch_midi2mtf.py
AI 代码解读

2.3 提取音频特征

CLaMP 3 使用 MERT-extracted 特征处理音频。从原始音频(.mp3, .wav)中提取 MERT 特征:

python extract_mert.py --input_path <input_path> --output_path <output_path> --model_path m-a-p/MERT-v1-95M --mean_features
AI 代码解读

3. 训练和特征提取

3.1 训练模型

修改 config.py 中的超参数和数据路径后,可以使用以下命令训练模型:

python -m torch.distributed.launch --nproc_per_node=<GPUs> --use_env train_clamp3_symbolic.py
AI 代码解读

对于音频数据,使用:

python -m torch.distributed.launch --nproc_per_node=<GPUs> --use_env train_clamp3_audio.py
AI 代码解读

3.2 使用预训练模型

建议直接使用预训练模型权重,下载链接如下:

3.3 提取特征

使用预训练模型提取特征:

accelerate launch extract_clamp3.py --epoch <epoch> <input_dir> <output_dir> --get_global
AI 代码解读

4. 语义搜索

使用 semantic_search.py 进行语义搜索:

python semantic_search.py <query_file> <reference_folder> [--top_k TOP_K]
AI 代码解读

5. 分类

训练线性分类器:

python train_cls.py --train_folder <path> --eval_folder <path> [--num_epochs <int>] [--learning_rate <float>] [--balanced_training]
AI 代码解读

运行推理:

python inference_cls.py <weights_path> <feature_folder> <output_file>
AI 代码解读

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!

🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦

目录
打赏
0
2
1
0
343
分享
相关文章
健康监测设备的技术革命:AI+物联网如何让你随时掌握健康数据?
健康监测设备的技术革命:AI+物联网如何让你随时掌握健康数据?
67 19
ReCamMaster:视频运镜AI革命!单镜头秒变多机位,AI重渲染颠覆创作
ReCamMaster 是由浙江大学与快手科技联合推出的视频重渲染框架,能够根据用户指定的相机轨迹重新生成视频内容,广泛应用于视频创作、后期制作、教育等领域,提升创作自由度和质量。
129 0
AudioX:颠覆创作!多模态AI一键生成电影级音效+配乐,耳朵的终极盛宴
AudioX 是香港科技大学和月之暗面联合推出的扩散变换器模型,能够从文本、视频、图像等多种模态生成高质量音频和音乐,具备强大的跨模态学习能力和泛化能力。
106 36
AudioX:颠覆创作!多模态AI一键生成电影级音效+配乐,耳朵的终极盛宴
MedRAG:医学AI革命!知识图谱+四层诊断,临床准确率飙升11.32%
MedRAG是南洋理工大学推出的医学诊断模型,结合知识图谱与大语言模型,提升诊断准确率11.32%,支持多模态输入与智能提问,适用于急诊、慢性病管理等多种场景。
107 32
MedRAG:医学AI革命!知识图谱+四层诊断,临床准确率飙升11.32%
Agent TARS:一键让AI托管电脑!字节开源PC端多模态AI助手,无缝集成浏览器与系统操作
Agent TARS 是一款开源的多模态AI助手,能够通过视觉解析网页并无缝集成命令行和文件系统,帮助用户高效完成复杂任务。
1543 3
Agent TARS:一键让AI托管电脑!字节开源PC端多模态AI助手,无缝集成浏览器与系统操作
MM-StoryAgent:交大阿里联合开源!多模态AI一键生成儿童故事绘本+配音
MM-StoryAgent 是上海交通大学与阿里巴巴联合推出的开源多模态、多智能体框架,用于生成沉浸式的有声故事绘本视频,支持文本、图像、语音等多种模态的生成与对齐。
84 7
MM-StoryAgent:交大阿里联合开源!多模态AI一键生成儿童故事绘本+配音
一键部署谷歌最新开源多模态AI模型 Gemma 3:单GPU性能碾压Llama!支持35+种语言
Gemma 3 是谷歌最新推出的开源多模态AI模型,支持超过35种语言,具备文本、图像及短视频处理能力,提供四种模型尺寸,优化单GPU性能,适用于多种AI应用场景。
247 8
一键部署谷歌最新开源多模态AI模型 Gemma 3:单GPU性能碾压Llama!支持35+种语言
OpenBioMed:开源生物医学AI革命!20+工具链破解药物研发「死亡谷」
OpenBioMed 是清华大学智能产业研究院(AIR)和水木分子共同推出的开源平台,专注于 AI 驱动的生物医学研究,提供多模态数据处理、丰富的预训练模型和多样化的计算工具,助力药物研发、精准医疗和多模态理解。
45 1
OpenBioMed:开源生物医学AI革命!20+工具链破解药物研发「死亡谷」
NotaGen:中央音乐学院联合清华推出AI音乐生成模型,古典乐谱一键生成,音乐性接近人类!
NotaGen 是由中央音乐学院、北京航空航天大学、清华大学等机构联合推出的音乐生成模型,基于模仿大型语言模型的训练范式,能够生成高质量的古典乐谱。该模型通过预训练、微调和强化学习相结合的方式,显著提升了符号音乐生成的艺术性和可控性。
267 15
NotaGen:中央音乐学院联合清华推出AI音乐生成模型,古典乐谱一键生成,音乐性接近人类!
OmniAlign-V:20万高质量多模态数据集开源,让AI模型真正对齐人类偏好
OmniAlign-V 是由上海交通大学、上海AI Lab等机构联合推出的高质量多模态数据集,旨在提升多模态大语言模型与人类偏好的对齐能力。该数据集包含约20万个多模态训练样本,涵盖自然图像和信息图表,结合开放式问答对,支持知识问答、推理任务和创造性任务。
65 10
OmniAlign-V:20万高质量多模态数据集开源,让AI模型真正对齐人类偏好

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等