MusicScore
收藏Hugging Face2024-06-18 更新2024-12-12 收录
下载链接:
https://huggingface.co/datasets/ZheqiDAI/MusicScore
下载链接
链接失效反馈官方服务:
资源简介:
该数据集采用CC许可证,主要语言为英语,数据集大小介于100K至1M之间。
This dataset is licensed under CC, uses English as its primary language, and its size ranges from 100K to 1M.
创建时间:
2024-06-06
原始信息汇总
MusicScore: A Dataset for Music Score Modeling and Generation
数据集概述
MusicScore是一个大规模的音乐乐谱数据集,从国际乐谱图书馆项目(IMSLP)收集和处理而来。该数据集包含图像-文本对,其中图像是一页乐谱,文本是音乐的元数据。元数据包括作曲家、乐器、作品风格和音乐类型等丰富信息。
数据集子集
MusicScore数据集被分为三个规模的子集:
| 子集 | 图像数量 |
|---|---|
| MusicScore-400 | 403 |
| MusicScore-14k | 14656 |
| MusicScore-200k | 204800 |
- MusicScore-400:包含19首最受欢迎的钢琴和小提琴作品。
- MusicScore-14k 和 -200k:通过颜色深度和内容过滤图像。对于后者,基于ResNet18训练了一个分类模型。
示例
一个示例样本(IMSLP913207_11.jpg来自MusicScore-400),包含图像及其匹配的元数据存储在一个JSON文件中。
json { "Work Title": "Violin Concerto", "Composer": "Mendelssohn, Felix", "Instrumentation": "violin, orchestra", "Piece Style": "Romantic", "Key": "E minor", "Genre": "Concerto" }
数据集使用示例
用户可以使用以下方法在数据集定义中使用MusicScore-400子集:
python from torch.utils.data import Dataset import json
class MusicScore(Dataset): def init(self): self.meta_path = "/path/to/your/metadata" with open(self.meta_path, r) as f: self.meta_json = json.load(f)
def __getitem__(self, index):
example = {}
image_path = self.instance_data_root[index % self.num_instance_images]
score_id = image_path.split("_")[0]
try:
meta = next(item for item in self.meta_json if item[id] == score_id)
except StopIteration:
print(f"Metadata with score_id {score_id} cannot be found")
raise ValueError
composer, instrumentation, piece_style, key, genre = meta["Composer"], meta["Instrumentation"], meta["Piece Style"], meta["key"], meta["genre"]
example["caption"] = (
f"a music score, composer is {composer}, instrumentation is {instrumentation}, piece style is {piece_style}, key is {key}, genre is {genre}"
)
return example
搜集汇总
数据集介绍

构建方式
MusicScore数据集通过从国际乐谱图书馆项目(IMSLP)中收集和处理音乐乐谱图像及其元数据构建而成。该数据集包含图像-文本对,其中图像为乐谱页面,文本为音乐的元数据。元数据从IMSLP页面的通用信息部分提取,涵盖了作曲家、乐器、曲目风格和流派等丰富信息。数据集被细分为400、14k和200k三个规模,分别对应不同多样性的图像-文本对。
特点
MusicScore数据集的特点在于其大规模和多样性,涵盖了从古典到浪漫时期的多种音乐风格和乐器组合。每个乐谱图像都配有详细的元数据,包括作曲家、曲目名称、调性、乐章结构等信息,为音乐生成和建模研究提供了丰富的上下文。此外,数据集的三个子集(400、14k和200k)分别针对不同研究需求,提供了从基础到复杂的多层次数据支持。
使用方法
使用MusicScore数据集时,用户可以通过加载图像和对应的元数据文件进行模型训练和评估。数据集提供了Python代码示例,展示了如何从元数据中提取关键信息并生成描述性文本。用户可以根据需要选择不同规模的子集,结合深度学习框架(如PyTorch)进行音乐生成、风格迁移等任务的实验。数据集的元数据以JSON格式存储,便于解析和扩展。
背景与挑战
背景概述
MusicScore数据集由Yuheng Lin、Zheqi Dai和Qiuqiang Kong等研究人员于2024年创建,旨在为音乐乐谱建模与生成提供大规模数据支持。该数据集基于国际乐谱图书馆项目(IMSLP)构建,涵盖了丰富的乐谱图像及其对应的元数据信息,包括作曲家、乐器、曲目风格和流派等。MusicScore分为400、14k和200k三个不同规模的子集,分别适用于不同复杂度的研究任务。该数据集的发布为音乐信息检索、乐谱生成及音乐风格分析等领域提供了重要的数据基础,推动了音乐计算领域的研究进展。
当前挑战
MusicScore数据集在构建过程中面临多重挑战。首先,乐谱图像的多样性和复杂性使得数据预处理和标注工作极为繁琐,尤其是在处理不同颜色深度和内容覆盖的乐谱时,需借助深度学习模型进行筛选和分类。其次,元数据的提取与对齐也面临挑战,IMSLP中的信息格式多样,需通过自动化脚本和人工干预相结合的方式确保数据的准确性和一致性。此外,乐谱生成任务本身具有较高的技术难度,如何从图像和文本的联合表示中生成高质量的音乐乐谱,仍需进一步探索和优化。
常用场景
经典使用场景
MusicScore数据集在音乐信息检索和音乐生成领域具有广泛的应用。研究者可以利用该数据集中的图像-文本对,训练深度学习模型以识别和生成音乐乐谱。通过结合乐谱图像和丰富的元数据,模型能够学习到音乐的结构、风格和情感表达,进而实现自动化的音乐创作和分析。
解决学术问题
MusicScore数据集解决了音乐信息检索和生成中的关键问题,如乐谱的自动识别、音乐风格的分类以及音乐生成模型的训练。通过提供大规模的乐谱图像和详细的元数据,该数据集为研究者提供了丰富的训练资源,推动了音乐信息处理技术的发展,并为音乐生成模型的性能评估提供了标准化的基准。
衍生相关工作
基于MusicScore数据集,研究者已经开发了多种音乐生成和分析模型。例如,一些工作利用该数据集训练生成对抗网络(GAN)来生成新的乐谱,而另一些研究则专注于音乐风格迁移和情感分析。这些衍生工作不仅扩展了数据集的应用范围,还为音乐信息处理领域提供了新的研究方向和技术突破。
以上内容由遇见数据集搜集并总结生成



