【Python图像特征的音乐序列生成】解析ABC格式的文件

ABC格式,是一个音乐标准,ABC Plus Project最新的标准是2.x。

ABC格式的音乐长成这样:

 1 X: 2
 2 T:Abacus
 3 % Nottingham Music Database
 4 S:By Hugh Barwell, via Phil Rowe
 5 R: Jig
 6 M:6/8
 7 K:G
 8 "G"g2g B^AB|d2d G3|"Em"GAB "Am"A2A|"D7"ABc "G"BAG|
 9 "G"g2g B^AB|d2d G2G|"Em"GAB "Am"A2G|"D7"FGA "G"G3::
10 "D7"A^GA DFA|"G"B^AB G3|"A7"^c=c^c Ace|"D7"fef def|
11 "G"g2g de=f|"E7"e2e Bcd|"Am"c2c "D7"Adc| [1"G"B2A G3:|
12  [2"G"B2A G2F||"Em"E2E G2G|B2B e2e|"Am"c2A "B7"FBA|"Em"G2F E3|"Em"EFG "Am"ABc|
13 "B7"B^c^d "Em"e2e|"F#7"f2f f2e|"B7"^def BAF|"Em"E2E G2G|B2B e2e|
14 "Am"c2A "B7"FBA|"Em"G2F E3|"Em"EFG "Am"ABc|"B7"B^c^d "Em"e2e|
15 "F#7"f2e "B7"^def |[1"Em"e3 "D7"d3:|[2"Em"e3 "E7"e3||

对应的五线谱是这样的:

我找到了一个自动转换的网址(http://colinhume.com/music.aspx),可以图形化地将ABC转成MIDI和五线谱,这证明轮子是存在的,那么我们能做的就很简单了:

1,找到这个轮子,直接调用库。

2,逆向这个轮子,然后自己造一个。

ABC项目的原始网页提供了一个轮子,现在被这两个地方收录:

https://www.file-extensions.org/convert-abc-to-midi

https://github.com/leesavide/abcmidi

时间: 2024-08-27 17:34:23

【Python图像特征的音乐序列生成】解析ABC格式的文件的相关文章

【Python图像特征的音乐序列生成】关于音乐生成的思路转变

在前几天的讨论会上,有师兄指出原来的方法实在是很难训练,所以我改进了音乐生成的思路. 首先,我用LSTM生成的一定是一段音乐的序列化表达,那么我就可以用成型的一些数据集去训练LSTM.为了避免生成的音乐与现有的音乐有大量重复,我们可以考虑更改LSTM使其更加"健忘",这样应该能解决一部分问题.接下来肯定还会暴露出更多的问题,我会持续阐述我的思路. 首先找到一个合适的数据集.打开 http://www.mln.io/resources/datasets/ 之后我讲解一下这些数据集的用法:

【Python图像特征的音乐序列生成】关于mingus一个bug的修复,兼改进情感模型

mingus在输出midi文件的时候,使用这样的函数: 1 from mingus.containers import NoteContainer 2 from mingus.midi import midi_file_out 3 4 nc = NoteContainer(["A", "C", "E"]) 5 midi_file_out.write_NoteContainer("test.mid", nc) 在输出时会报错:

【Python图像特征的音乐序列生成】关于小样本的一些思考

我之前就注意到,深度学习和音乐结合,尤其是从乐理出发进行结合(而不是纯粹的进行音乐生成),是一个尚未被深度挖掘的全新领域.可想而知,这个方向符合我要求的数据肯定是要自己搜集了. 自己搜集的数据,在量上就已经输了,只是考虑到我们要做的任务并不复杂,准确的说只是一个分类器,再加一个LSTM而已.对于这个分类器,甚至不需要用卷积神经网络,可以使用一些其他的网络:而LSTM的样本本来就蕴含了很明确的规律,变化并不是很大. 那么我们就要开始思考,除了一些常规的训练方法,还有什么训练适合小样本数据吗? 1.

【Python图像特征的音乐序列生成】如何生成旋律(大纲),以及整个项目的全部流程

今天连看三篇论文,不是很细致地看,也没有具体去实现,只是大概明白了一些新思路.这三篇论文,一篇概述了Decoder-Encoder模型,一篇延伸这个模型,首次提出了Attention机制,最后一篇详细阐述了LSTM和GRU的工作机理.读完之后,我对机器翻译这个领域,还有LSTM的应用,有了更深的认识. 言归正传,说一下生成旋律的原理. 在之前的乐理部分,我们知道了和弦级数和走向的问题,有很多和弦组合在一起能发挥良好的作用.这些好的和弦连接在一起的音序就被成为进行.流行音乐的和弦进行倾向于从根和弦

【Python图像特征的音乐序列生成】如何标记照片的特征

目前我能想到的办法是这样的: 1,提取照片中的实体特征,借用某个pre-trained model进行tag标记. 2,将特征组合起来,形成一个bag-of-word model,然后将这个向量作为输入.进入CNN. 3,手动对照片贴标签,主要是对情感进行分类(如:安静.快乐,这样可以直观调节旋律) 4,将图片本身的这个特征向量,与情感标签一起作为旋律的生成参数. 首先要做的是提取照片中的实体特征.这是一个非常庞大的工程,需要很多的预训练.但是幸运地是,我手上的Azure付费订阅,可以支撑微软的

【Python图像特征的音乐序列生成】深度卷积网络,以及网络核心

这个项目主要涉及到两个网络,其中卷积神经网络用来提取图片表达的情绪,提取出一个二维向量. 网络结构如图: 词向量采用预训练的glove模型,d=50,其他信息包括了图片的"空旷程度".亮度.对比度等信息,用来更好地描述图片特征. 对于图中的卷积神经网络,需要讲解的地方是:卷积核是一个一维卷积核,每一层卷积层之后都连接了池化层,做的是最大值池化,每一层之间有固定的dropout层,最后输出的向量与我们预先设定的label进行计算,损失函数定义为 \[J(\theta)=-\sum_iy'

【Python图像特征的音乐序列生成】数据集制作的一些tricks

关于数据集的制作,我决定去掉很多不必要的东西,比如和弦,于是我选择了melody部分的旋律. 有了midi文件,我现在要abc序列,所以我要通过midi2abc转换一下文件. 批处理程序效果如下: 文件代码如下: 1 import os 2 3 filelist = os.listdir('C:\\Users\\zyx\\Desktop\\New\\melody') #遍历文件夹所有的文件 4 file_raw_list = list(filter(lambda filename:filenam

生成Excel *.xls 生成 xls的格式与文件扩展名指定的格式不一致

如果不想修改代码可以通过修改计算机配置完成  http://blog.csdn.net/g710710/article/details/21166453 用如下方法生成的xls不会提示此错误 protected static void ExportExcel(DataTable dt) { if (dt == null || dt.Rows.Count == 0) return; Microsoft.Office.Interop.Excel.Application xlApp = new Mic

Python爬虫-抓取网页数据并解析,写入本地文件

之前没学过Python,最近因一些个人需求,需要写个小爬虫,于是就搜罗了一批资料,看了一些别人写的代码,现在记录一下学习时爬过的坑. 如果您是从没有接触过Python的新手,又想迅速用Python写出一个爬虫,那么这篇文章比较适合你. 首先,我通过: https://mp.weixin.qq.com/s/ET9HP2n3905PxBy4ZLmZNw 找到了一份参考资料,它实现的功能是:爬取当当网Top 500本五星好评书籍 源代码可以在Github上找到: https://github.com/