这个全新的Python音乐创作系列,将会不定期更新.写作这个系列的初衷,是为了做一个项目<基于图像特征的音乐序列生成模型>,实时地提取照片特征,进行神经网络处理,生成一段音乐. 千里之行,始于足下.首先我们要做的是,音乐序列怎么在计算机中表达出来. ============== 首先参考知乎上的相关回答,以及PyPI上和音乐相关的第三方库. 来源:https://www.zhihu.com/question/24590883 另见:https://wiki.python.org/moin/Py…
做了半天做的都是一些细枝末节的东西,嗨呀. 伴奏旋律是Ukulele和弦,MIDI发音乐器是Guitar.在弹唱的时候,Ukulele和弦就是伴奏. 我们以创建<成都>伴奏为例: 节奏型: 和弦: 那么节奏型和和弦的组合可以视为一个二元矩阵,下面写一个函数用来寻址: from mingus.core import * from mingus.containers import * from mingus.midi.midi_file_out import * def chord_mixer(c…
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 这个网页可以让基础薄弱的人对于乐理有一个全面的感知. 这个项目有一个重要的中间数据,用来连接前后两个深度神经网络,那就是图像的特征. 图像的特征可以是一个特征向量,用来作为音乐生成的隐性参数.但是为了宏观上控制音乐序列,我们需要显式地定义一些规则:拍子.调…
数据集还在制作中,样例数据如下: 我将一条数据作为一行,X是ID,O代表了情感向量,S是速度,是一个很关键的参数,K是调式,M是节拍,L是基本拍.后面是ABC格式的序列,通过embedding化这些音符和和弦,还有分隔符标记,可以进行音乐序列生成.其实这个有点像是文本生成的类型,但是又加了一些先验条件,谁都说不好训练出来会不会很好听. 在网络结构的构建中,我可能会使用到“困惑度”这个概念,来进行损失函数loss的构造. 今天干的大多是体力活,接下来我可能会讲解一下我写LSTM代码的一些思路.…
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…
在前几天的讨论会上,有师兄指出原来的方法实在是很难训练,所以我改进了音乐生成的思路. 首先,我用LSTM生成的一定是一段音乐的序列化表达,那么我就可以用成型的一些数据集去训练LSTM.为了避免生成的音乐与现有的音乐有大量重复,我们可以考虑更改LSTM使其更加“健忘”,这样应该能解决一部分问题.接下来肯定还会暴露出更多的问题,我会持续阐述我的思路. 首先找到一个合适的数据集.打开 http://www.mln.io/resources/datasets/ 之后我讲解一下这些数据集的用法: 第一个C…
从即日起到7月20号,项目成员进行了第一次任务分配. 赵同学A.岳同学.周同学,负责了图像数据的情感数据集制作,他们根据自己的经验,对图像进行了情绪提取. 赵同学B全权负责向量映射这一块的网络搭建. 我除了帮助其他成员完成任务以外,还要搭建好音乐生成的LSTM网络,同时预搭建音乐数据集.…
我之前就注意到,深度学习和音乐结合,尤其是从乐理出发进行结合(而不是纯粹的进行音乐生成),是一个尚未被深度挖掘的全新领域.可想而知,这个方向符合我要求的数据肯定是要自己搜集了. 自己搜集的数据,在量上就已经输了,只是考虑到我们要做的任务并不复杂,准确的说只是一个分类器,再加一个LSTM而已.对于这个分类器,甚至不需要用卷积神经网络,可以使用一些其他的网络:而LSTM的样本本来就蕴含了很明确的规律,变化并不是很大. 那么我们就要开始思考,除了一些常规的训练方法,还有什么训练适合小样本数据吗? 1.…
关于生成网络这边,可能会做一个深度的受限玻尔兹曼机,这样可以保证生成的音乐不会太相似. 情绪识别网络和生成网络的耦合,中间变量可能直接就是一个one-hot向量,用来标注指定的情绪,不做成坐标那种难以训练的模型.…
今天连看三篇论文,不是很细致地看,也没有具体去实现,只是大概明白了一些新思路.这三篇论文,一篇概述了Decoder-Encoder模型,一篇延伸这个模型,首次提出了Attention机制,最后一篇详细阐述了LSTM和GRU的工作机理.读完之后,我对机器翻译这个领域,还有LSTM的应用,有了更深的认识. 言归正传,说一下生成旋律的原理. 在之前的乐理部分,我们知道了和弦级数和走向的问题,有很多和弦组合在一起能发挥良好的作用.这些好的和弦连接在一起的音序就被成为进行.流行音乐的和弦进行倾向于从根和弦…
目前我能想到的办法是这样的: 1,提取照片中的实体特征,借用某个pre-trained model进行tag标记. 2,将特征组合起来,形成一个bag-of-word model,然后将这个向量作为输入.进入CNN. 3,手动对照片贴标签,主要是对情感进行分类(如:安静.快乐,这样可以直观调节旋律) 4,将图片本身的这个特征向量,与情感标签一起作为旋律的生成参数. 首先要做的是提取照片中的实体特征.这是一个非常庞大的工程,需要很多的预训练.但是幸运地是,我手上的Azure付费订阅,可以支撑微软的…
查阅了很久的资料,决定依据Yoshida的<Image retrieval system using impression words>这篇论文里的词语来定义. Yoshida 等的 Art museum 系统,统计用户在看完图画后用到 的印象形容词,从中选取了 10 个常用的形容词,来描述图画.10 个形容词为 Warm.soft.natural. clear.elegant.chic.authentic.classic.gorgeous.dynamic,并将每个词分为 5 个强度,分别是…
关于数据集的制作,我决定去掉很多不必要的东西,比如和弦,于是我选择了melody部分的旋律. 有了midi文件,我现在要abc序列,所以我要通过midi2abc转换一下文件. 批处理程序效果如下: 文件代码如下: import os filelist = os.listdir('C:\\Users\\zyx\\Desktop\\New\\melody') #遍历文件夹所有的文件 file_raw_list = list(filter(lambda filename:filename[-4:] =…
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…
这个项目主要涉及到两个网络,其中卷积神经网络用来提取图片表达的情绪,提取出一个二维向量. 网络结构如图: 词向量采用预训练的glove模型,d=50,其他信息包括了图片的“空旷程度”.亮度.对比度等信息,用来更好地描述图片特征. 对于图中的卷积神经网络,需要讲解的地方是:卷积核是一个一维卷积核,每一层卷积层之后都连接了池化层,做的是最大值池化,每一层之间有固定的dropout层,最后输出的向量与我们预先设定的label进行计算,损失函数定义为 \[J(\theta)=-\sum_iy'_i\lo…
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…
数据集地址:http://www.imageemotion.org/ 论文地址:http://www.doc88.com/p-1905670442096.html…
毕竟原网站一个是14年前的一个是16年前的…… 1,http://ifdo.ca/~seymour/nottingham/nottingham.html 这个网站可以下载zip包. 2,https://github.com/jukedeck/nottingham-dataset 这个网站下载的是ABC格式的优化版,做了若干优化性处理.…
1.下载poi-3.9-20121203.jar包 2.java code package com.userpackage; import java.io.FileOutputStream; import java.text.SimpleDateFormat; import java.util.Date; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRow; imp…
Python测试开发-浅谈如何自动化生成测试脚本 原创: fin  测试开发社区  前天 阅读文本大概需要 6.66 分钟. 一 .接口列表展示,并选择 在右边,点击选择要关联的接口,区分是否要登录,如需登录,在选择接口栏下,点击登录按钮,即选择了该接口.如下图1所示: ▲图1 二. 自动生成Jmeter文件 点击“生成jmeter文件”按钮,如下图2: 后台会自动根据选择关联的接口,并自动生成Jmeter文件 ▲图2 部分后台函数内容,如下图3: ▲图3 三. 设置脚本参数 在界面设置并发数.…
函数说明: 1.  .quantile(cut_list) 对DataFrame类型直接使用,用于求出给定列表中分数的数值,这里用来求出4分位出的数值 2.  plt.axvline()  # 用于画出图形中的竖线 3.  pd.qcut(feature, cut_list, labels)  用于对特征进行切分,cut_list切分的分数位置,labels切分后新的标签值 我们可以根据某个特征的四分位数值,给定这个特征一个新的四分位数值的特征 四分位表示的是数值的中位数,1/4位和3/4位 比…
# -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' #difflib比较序列 #版本2.1及之后 #作用:包含一些用来计算和处理序列之间差异工具,对文本特别有用,其中包含函数可以使用多种常用差异格式生成报告 #比较文本体 #Differ类用于处理文本序列,生成人类可读的差异或者更改指令,包括中的差异,Differ生成默认输出与unix下的diff命令工具类似,包括2个列表原始输入值 """ ”——…
距离上次的小项目已经休息了很长一段时间,是时候来继续本系列教程了.这一节开始我们将深入python中的数据结构. 序列的概念 在python中,最基本的数据结构是序列,序列包含一个或多个元素,每个元素有一个序号,也就是元素的位置,也称为索引.第一个索引是0,第二个是1,以此类推. 说到这里,可能大家都想到了列表.确实,python中有好几种内建(自带)的序列,列表就是其中一种,当然,元组也是.其他的内建序列类型有字符串.字节串等. 至于字符串,它其实就是一个由许多字符组成的序列,索引0指向第一个…
python图像转字符画需要用到matplotlib.pyplot库,视频转字符画需要用到opencv库,这里的代码基于python 3.5 图像转字符画需要先将图像转为灰度图,转灰度图的公式是 gray = 0.2126 * r + 0.7152 * g + 0.0722 * b,因为matplotlib图像的色彩排序是RGB的(opencv是BGR),所以如果不用库函数,可以使用以下代码实现灰度转换: gray = 0.2126 * pic[:,:,0] + 0.7152 * pic[:,:…
图像特征描述 什么是图像特征 可以表达图像中对象的主要信息.并且以此为依据可以从其它未知图像中检测出相似或者相同对象 常见的图像特征 常见的图像特征  边缘  角点  纹理 图像特征描述  描述子生成 提取方法 特征提取与描述  SIFT  SURF  HOG  Haar  LBP  KAZE  AKAZE  BRISK DDM  Detection  Description  Matching…
[一.项目目标] 获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名.专辑名.播放链接. 由浅入深,层层递进,非常适合刚入门的同学练手. [二.需要的库] 主要涉及的库有:requests.json.openpyxl [三.项目实现] 1.了解 QQ 音乐网站的 robots 协议 只禁止播放列表,可以操作. 2.进入 QQ 音乐主页 https://y.qq.com/ 3.输入任意歌手,比如邓紫棋 4.打开审查元素(快捷键 Ctrl+Shift+I) 5.分析网页源代码 Elements,发…
[一.项目目标] 通过Python爬取QQ音乐数据(一)我们实现了获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名.专辑名.播放链接. 此次我们在之前的基础上获取QQ音乐指定歌曲的歌词及前15个精彩评论. [二.需要的库] 主要涉及的库有:requests.json.html [三.项目实现] 1.以歌曲"泡沫"为例,查看该界面的XHR 2.通过对XHR的Size进行排序,逐个查看(参考英文含义),我们看到第一个红框内是歌曲评论,第二个框内是歌词! 3.分别查看这两条数据Heade…
这篇文章介绍了asp.net中生成缩略图并添加版权实例代码,有需要的朋友可以参考一下 复制代码代码如下: //定义image类的对象 Drawing.Image image,newimage; //图片路径 protected string imagePath; //图片类型 protected string imageType; //图片名称 protected string imageName; //提供一个回调方法,用于确定Image对象在执行生成缩略图操作时何时提前取消执行 //如果此方…
对于即将到来的人工智能时代,作为一个有理想有追求的程序员,不懂深度学习(Deep Learning)这个超热的领域,会不会感觉马上就out了?作为机器学习的一个分支,深度学习同样需要计算机获得强大的学习能力,那么问题来了,我们究竟要计算机学习什么东西?答案当然是图像特征了.将一张图像看做是一个个像素值组成的矩阵,那么对图像的分析就是对矩阵的数字进行分析,而图像的特征,就隐藏在这些数字规律中.深度学习对外推荐自己的一个很重要的点——深度学习能够自动提取特征.本文主要介绍卷积层提取特征的原理过程,文…
Caffe学习笔记4图像特征进行可视化 本文为原创作品,未经本人同意,禁止转载,禁止用于商业用途!本人对博客使用拥有最终解释权 欢迎关注我的博客:http://blog.csdn.net/hit2015spring和http://www.cnblogs.com/xujianqing/ 这篇文章主要参考的是http://nbviewer.jupyter.org/github/BVLC/caffe/blob/master/examples/00-classification.ipynb 可以算是对它…