音乐生成的武器库
这篇文章是之后系列文章的汇总集中目录。
首先做个小宣传。因为很多想做这一块的同行本科生们不是很清楚国内外的院校列表。有一位前辈在GitHub上整理了大部分的院校列表出来,我也对这个列表做了一点贡献。点击查看
Python整理的Python库有这些:链接
基础组件
Python-MIDI
项目:github/vishnubob/python-midi/tree/feature/python3
很多库的前置库,安装时记得选择其Python 3的branch。
乐谱生成
相关的知乎问题:链接
LilyPond
项目:
LilyPond是GNU Project的一部分,是免费的乐谱生成软件。生成的乐谱质量很高,支持从xml/mxl以及从midi转化成lilypond格式源代码(.ly),并且可以使用类LaTeX语言编写。
可以用两个方法通过Python代码调用LilyPond库:
1.Python-ly库,其GitHub地址在这里
2.mingus的lilypond模块,GitHub地址在这里
MuseScore
项目:
社区和乐谱集:
MuseScore的特点在于其有充分活跃的社区。这个软件和LilyPond都可以通过XML和MIDI
进行数据传送,所以在接口方面很灵活。
音乐的符号化表示
music21
项目:
对Python3的支持很好,也是目前为止最完善的一个Python库、武器库。包括音乐的乐谱显示、音乐合成、矩阵分析、语料库、符号表达等。
ABC格式
项目:
ABC格式是一种复杂而古早的模式,很多早期的数据集使用了这种标注。ABC格式可以转化为music21,或者被其他方法解析。
Pretty_MIDI表示的Piano Roll
项目:github/craffel/pretty-midi
我以前写的文章:wwwblogs/ldzhangyx/p/7789939.html
一个方便将MIDI文件转化为Piano Roll的库。这个库被用在Google Magenta里,我自己的项目也要使用它。master分支现在已经支持了Python3。
mingus
项目:
Python 3版本:github/edudobay/python-mingus
作者很久没有维护过了,但是从快速上手来看是一个不错的Python库。Python 3版本已经给出。
音乐合成
PySynth
项目:
主要用处就是将midi或ABC格式的文件转化为wav文件,有多种合成方法可选,十分方便好用。
pyfluidsynth3
项目:github/tea2code/pyfluidsynth3
Pretty-MIDI的前置库,用于合成音乐。这里推荐的是Python 3的重写版本。
项目
数据集
Nottingham Dataset
地址:github/jukedeck/nottingham-dataset
特别有名的数据集,音乐界的MNIST。ABC格式可以被上面一些库直接解析,MIDI格式也
可以转换。数据预处理的办法一般是shift到12个大调或者小调,速度调整至120bpm。
Lakh Dataset
地址:
GitHub:github/craffel/midi-dataset
Lakh MIDI数据集是176,581个独特MIDI文件的集合,其中45,129个已匹配并与Million Song Dataset中的条目对齐。
Lakh Pianoroll
地址:
上面数据集的转化版本,但是表示使用了Pianoroll。
Million Songs
地址:
不是midi文件而是波形文件,特点在于数据量极大。
SALAMI Dataset
地址:github/DDMAL/salami-data-public
非常完整的标注数据集,值得一提的是可以从中提取和弦标注进行学习。
MAESTRO Piano Dataset
地址:
Google Magenta一直在用的钢琴演奏数据集。有文字标注版和音乐原版,数据量极为庞大。
IMSLP Music Library
地址:
国际上最大的乐谱典藏数据库。其亮点在于录音和乐谱非常全,也许可以用于图像识别领
域。有些乐谱似乎是收费的。
the Classical piano MIDI database
地址:
需要自己爬下来整理,钢琴MIDI数据集。
The Largest MIDI Dataset
地址:
可以说是很神奇了,在Reddit上贡献了出来。是我看到的最大的MIDI数据集(3.65Gb),没有之一。
MuseData
地址:
也是需要自己爬,但是这里的数据是根据流派做好划分的,非常一目了然。
JSB Chorales
地址:github/czhuang/JSB-Chorales-dataset
四声部众赞歌数据集。源地址挂掉了,这个GitHub提供了pickle包,很好用。
FMA Dataset
地址:github/mdeff/fma
这是一个音乐分析用的数据集,其亮点在于对流派、ID等数据的详尽标注。具体可以阅读readme。
Midi Archive
地址:
罗切斯特大学维护的一个数据集。
The Session
地址:
非常非常完备的一个ABC格式的数据集,虽然需要自己爬,但是非常齐全。数据仍在不断增加中。
MusicNet
地址:
这个数据集是raw的音频格式,大约10GB,提供了丰富的形式,标注详尽全面,甚至还做了PyTorch接口。
the Symbolic Music dataset by Walder
地址:
清洗过的MIDI文件,作者目前还活跃在音乐研究一线。
TheoryTab
地址:
严格来说这不算是一个数据集,但是很多人在论文中用过它(比如MidiNet)。最出彩的地方在于其和弦标注。我觉得应该是网络上和弦标注最为全面的一个数据集了。这个网站现代化、可交互,非常值得看一看。
J.S. Bach Series
地址:
地址:
emm,他们真的很喜欢巴赫。
The Josquin Research Project
地址:
斯坦福的一个网站,好像也不能直接下载,但是数据整理得非常漂亮,提供了MIDI、XML等多种格式,收录了1420-1520年的复调音乐,并且支持在线搜索和试听。
Drum Dataset
地址:
音乐 试听虽然数据很小只有800k,但是这是我见过的第一个专用于鼓点的数据集。
Video Game Datasets
地址:
收录了游戏的背景音乐,而且真的非常非常齐全。