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

之后我讲解一下这些数据集的用法:
第一个Classical Music Datasets,储存了很多的MIDI古典音乐。结合abc与midi格式的转换工具,可以从中提取出一个序列化的格式,ABC格式。
转换工具地址如下:https://github.com/leesavide/abcmidi
第二个是我打算采集的,叫做Nottingham Music Database,只是可惜数据下载已经失效了,我找到的数据集如下:
http://www.chezfred.org.uk/freds/music/tunes/index.htm
是用特殊的格式保存的。
第三个MuseData也是音乐数据集,官网介绍如下:
The MuseData database is a project of the Center for Computer Assisted Research in the Humanities (CCARH). The database was created by Walter Hewlett. Data entry has been primarily done by Frances Bennion, Edmund Correia, Walter Hewlett, and Steve Rasmussen.
提供了多种格式存储,多为古典音乐。
第四个似乎是挂了。
第五个主要是做音乐推荐的,似乎无法知道原来的旋律序列。
=====================
初步决定是Nottingham Music Database,有两种格式可以选,第一种是ABC格式,如下:
X: 1
T:A and D
% Nottingham Music Database
S:EF
M:4/4
K:A
M:6/8
P:A
f|"A"ecc c2f|"A"ecc c2f|"A"ecc c2f|"Bm"BcB "E7"B2f|
"A"ecc c2f|"A"ecc c2c/2d/2|"D"efe "E7"dcB| [1"A"Ace a2:|
[2"A"Ace ag=g||\
K:D
P:B
"D"f2f Fdd|"D"AFA f2e/2f/2|"G"g2g ecd|"Em"efd "A7"cBA|
"D"f^ef dcd|"D"AFA f=ef|"G"gfg "A7"ABc |1"D"d3 d2e:|2"D"d3 d2||
ASCII码:
.MS
title= "\f3A and D\fP";
rtitle = "\f2EF\fP";
key = a;
bps = 16;
autobeam;
chords;
bars = 18;
timesig = 6 8. f^'A' |
e^"A" c^ c^ c^> f^ | e^"A" c^ c^ c^> f^ |
e^"A" c^ c^ c^ b a | b"Bm" c^ b b>"E7" f^ |
e^"A" c^ c^ c^> f^ | e^"A" c^ c^ c^> c^< d^< |
e^"D" f^ e^ d^"E7" c^ b |
a"A"'\1st.' c^ e^ a^> :|
a"A"'\2nd.' c^ e^ a^ g^ g=^ |! \endstave. \key = d. f^>'B' "D" f^ d^> d^ | a"D" f a f^> e^< f^< |
g^>"G" g^ e^ c^ d^ | e^"Em" f^ d^ c^"A7" b a |
f^"D" e+^ f^ d^ c^ d^ | a"D" f a f^ e^ f^ |
g^"G" f^ g^ a"A7" b c^ |
d^>. '\1st.' "D" d^> e^ :|
d^>. '\2nd.' "D" d^> |! \endstave. .ME
这个解析还有待我的研究。
【Python图像特征的音乐序列生成】关于音乐生成的思路转变的更多相关文章
- 【Python图像特征的音乐序列生成】使用Python生成简单的MIDI文件
这个全新的Python音乐创作系列,将会不定期更新.写作这个系列的初衷,是为了做一个项目<基于图像特征的音乐序列生成模型>,实时地提取照片特征,进行神经网络处理,生成一段音乐. 千里之行, ...
- 【Python图像特征的音乐序列生成】图像特征在旋律生成中有什么用
jishude 首先援引一个资料网页:http://www.cosmosshadow.com/ml/%E5%BA%94%E7%94%A8/2016/03/01/%E9%9F%B3%E4%B9%90%E ...
- 【Python图像特征的音乐序列生成】关于数据集的分享和样例数据
数据集还在制作中,样例数据如下: 我将一条数据作为一行,X是ID,O代表了情感向量,S是速度,是一个很关键的参数,K是调式,M是节拍,L是基本拍.后面是ABC格式的序列,通过embedding化这些音 ...
- 【Python图像特征的音乐序列生成】思路的转变
关于生成网络这边,可能会做一个深度的受限玻尔兹曼机,这样可以保证生成的音乐不会太相似. 情绪识别网络和生成网络的耦合,中间变量可能直接就是一个one-hot向量,用来标注指定的情绪,不做成坐标那种难以 ...
- 【Python图像特征的音乐序列生成】关于mingus一个bug的修复,兼改进情感模型
mingus在输出midi文件的时候,使用这样的函数: from mingus.containers import NoteContainer from mingus.midi import midi ...
- 【Python图像特征的音乐序列生成】第一阶段的任务分配
从即日起到7月20号,项目成员进行了第一次任务分配. 赵同学A.岳同学.周同学,负责了图像数据的情感数据集制作,他们根据自己的经验,对图像进行了情绪提取. 赵同学B全权负责向量映射这一块的网络搭建. ...
- 【Python图像特征的音乐序列生成】关于小样本的一些思考
我之前就注意到,深度学习和音乐结合,尤其是从乐理出发进行结合(而不是纯粹的进行音乐生成),是一个尚未被深度挖掘的全新领域.可想而知,这个方向符合我要求的数据肯定是要自己搜集了. 自己搜集的数据,在量上 ...
- 【Python图像特征的音乐序列生成】如何生成旋律(大纲),以及整个项目的全部流程
今天连看三篇论文,不是很细致地看,也没有具体去实现,只是大概明白了一些新思路.这三篇论文,一篇概述了Decoder-Encoder模型,一篇延伸这个模型,首次提出了Attention机制,最后一篇详细 ...
- 【Python图像特征的音乐序列生成】如何标记照片的特征
目前我能想到的办法是这样的: 1,提取照片中的实体特征,借用某个pre-trained model进行tag标记. 2,将特征组合起来,形成一个bag-of-word model,然后将这个向量作为输 ...
随机推荐
- Excel添加水印
Excel添加水印[源码下载] 步骤一:根据生成图片的类创建水印图片 步骤二: 代码在Excel中根据第一行获取sheet的列数[sheet.getRow(0).getLastCellNum() ], ...
- WPF命令使用
What 命令包含以下部分: 命令:一个实现了ICommand接口的类,RoutedCommand是WPF里最常用的命令类,其它命令类大多派生自RoutedCommand 命令源:触发命令的对象,如b ...
- 通过bed文件获取fasta序列
一.BED 文件格式 BED 文件格式提供了一种灵活的方式来定义的数据行,以用来描述注释的信息.BED行有3个必须的列和9个额外可选的列. 每行的数据格式要求一致. 必须包含的3列: 1.chrom, ...
- 将Opencv java中的Mat通过jni传递到C++中的方法
public native void FindFeatures(long matAddrGr, long matAddrRgba); ... mRgba = new Mat(height, width ...
- 截图上传功能 imageAreaselect
前台: <script src="~/Scripts/jquery-2.1.4.min.js"></script> <link href=" ...
- 「GXOI / GZOI2019」逼死强迫症——斐波那契+矩阵快速幂
题目 [题目描述] ITX351 要铺一条 $2 \times N$ 的路,为此他购买了 $N$ 块 $2 \times 1$ 的方砖.可是其中一块砖在运送的过程中从中间裂开了,变成了两块 $1 \t ...
- Java IO 输入和输出流
数据流是指一组有顺序的,有起点和终点的字节集合. 最初的版本中,java.io 包中的流只有普通的字节流,即以 byte 为基本处理单位的流.字节流用来读写 8 位的数据,由于不会对数据做任何转换,因 ...
- WPF编译时提示"xxx不包含适合于入口点的静态 Main方法xxx"
WPF编译时提示"xxx不包含适合于入口点的静态 Main方法xxx"生成的时候一直报"xxx不包含适合于入口点的静态 Main 方法xxx" 看到这个问题首先 ...
- IOS 打包提示错误(ERROR ITMS-90125: ERROR ITMS-90087: ERROR ITMS-90209:)
提示这种错误是集成环信造成的,解决方法看环信的官方文档: 集成动态库上传AppStore 由于 iOS 编译的特殊性,为了方便开发者使用,我们将 i386 x86_64 armv7 arm64 几个平 ...
- VUE中实现iview的图标效果时遇到的一个问题
[Vue warn]: You are using the runtime-only build of Vue where the template compiler is not available ...