这个全新的Python音乐创作系列,将会不定期更新.写作这个系列的初衷,是为了做一个项目<基于图像特征的音乐序列生成模型>,实时地提取照片特征,进行神经网络处理,生成一段音乐. 千里之行,始于足下.首先我们要做的是,音乐序列怎么在计算机中表达出来. ============== 首先参考知乎上的相关回答,以及PyPI上和音乐相关的第三方库. 来源:https://www.zhihu.com/question/24590883 另见:https://wiki.python.org/moin/Py…
数据集还在制作中,样例数据如下: 我将一条数据作为一行,X是ID,O代表了情感向量,S是速度,是一个很关键的参数,K是调式,M是节拍,L是基本拍.后面是ABC格式的序列,通过embedding化这些音符和和弦,还有分隔符标记,可以进行音乐序列生成.其实这个有点像是文本生成的类型,但是又加了一些先验条件,谁都说不好训练出来会不会很好听. 在网络结构的构建中,我可能会使用到“困惑度”这个概念,来进行损失函数loss的构造. 今天干的大多是体力活,接下来我可能会讲解一下我写LSTM代码的一些思路.…
https://github.com/bspaans/python-mingus/issues/45 注意此时的安装方法应该是: git clone https://github.com/edudobay/python-mingus cd python-mingus git checkout python3 #切换一个branch python setup.py install…
jishude 首先援引一个资料网页:http://www.cosmosshadow.com/ml/%E5%BA%94%E7%94%A8/2016/03/01/%E9%9F%B3%E4%B9%90%E7%94%9F%E6%88%90.html 这个网页可以让基础薄弱的人对于乐理有一个全面的感知. 这个项目有一个重要的中间数据,用来连接前后两个深度神经网络,那就是图像的特征. 图像的特征可以是一个特征向量,用来作为音乐生成的隐性参数.但是为了宏观上控制音乐序列,我们需要显式地定义一些规则:拍子.调…
在前几天的讨论会上,有师兄指出原来的方法实在是很难训练,所以我改进了音乐生成的思路. 首先,我用LSTM生成的一定是一段音乐的序列化表达,那么我就可以用成型的一些数据集去训练LSTM.为了避免生成的音乐与现有的音乐有大量重复,我们可以考虑更改LSTM使其更加“健忘”,这样应该能解决一部分问题.接下来肯定还会暴露出更多的问题,我会持续阐述我的思路. 首先找到一个合适的数据集.打开 http://www.mln.io/resources/datasets/ 之后我讲解一下这些数据集的用法: 第一个C…
mingus在输出midi文件的时候,使用这样的函数: from mingus.containers import NoteContainer from mingus.midi import midi_file_out nc = NoteContainer(["A", "C", "E"]) midi_file_out.write_NoteContainer("test.mid", nc) 在输出时会报错: Traceback…
从即日起到7月20号,项目成员进行了第一次任务分配. 赵同学A.岳同学.周同学,负责了图像数据的情感数据集制作,他们根据自己的经验,对图像进行了情绪提取. 赵同学B全权负责向量映射这一块的网络搭建. 我除了帮助其他成员完成任务以外,还要搭建好音乐生成的LSTM网络,同时预搭建音乐数据集.…
我之前就注意到,深度学习和音乐结合,尤其是从乐理出发进行结合(而不是纯粹的进行音乐生成),是一个尚未被深度挖掘的全新领域.可想而知,这个方向符合我要求的数据肯定是要自己搜集了. 自己搜集的数据,在量上就已经输了,只是考虑到我们要做的任务并不复杂,准确的说只是一个分类器,再加一个LSTM而已.对于这个分类器,甚至不需要用卷积神经网络,可以使用一些其他的网络:而LSTM的样本本来就蕴含了很明确的规律,变化并不是很大. 那么我们就要开始思考,除了一些常规的训练方法,还有什么训练适合小样本数据吗? 1.…
关于生成网络这边,可能会做一个深度的受限玻尔兹曼机,这样可以保证生成的音乐不会太相似. 情绪识别网络和生成网络的耦合,中间变量可能直接就是一个one-hot向量,用来标注指定的情绪,不做成坐标那种难以训练的模型.…
ABC格式,是一个音乐标准,ABC Plus Project最新的标准是2.x. ABC格式的音乐长成这样: X: T:Abacus % Nottingham Music Database S:By Hugh Barwell, via Phil Rowe R: Jig M:/ K:G "G"g2g B^AB|d2d G3|"Em"GAB "Am"A2A|"D7"ABc "G"BAG| "G&quo…