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

这个网页可以让基础薄弱的人对于乐理有一个全面的感知。

这个项目有一个重要的中间数据,用来连接前后两个深度神经网络,那就是图像的特征。

图像的特征可以是一个特征向量,用来作为音乐生成的隐性参数。但是为了宏观上控制音乐序列,我们需要显式地定义一些规则:拍子、调性等;而自动生成的,包括一个小节里的和弦、节奏划分(如附点、切分节奏),以及需要重点训练的和弦走向。调性音乐中每个调子里最重要的便是主音(tonic),乐曲通常由主音或主和弦开始,结束时又将回到主音或主和弦。此种模式最重要的意义在于使音乐进行具有强烈的方向感。

和声走向是一个很有意思的知识,结合协和音程、不协和音程所表达的情感关系,可以通过控制根音走向、和弦走向来给旋律定一个大致的感觉,然后对每个小节里的音符节奏走向进行概率化的生成。

这样,就算在每个小节里的旋律很随机,整体的风格走向也会很好的。

关于具体的和弦走向是一个什么概念,先提出和弦级数:

http://blog.sina.com.cn/s/blog_606a5f730100jbnw.html

那么级数的走向,就是这些和弦的排列。一般来说需要遵循这些规则:

通常和弦的走向总是由主和弦开始——
主和弦之后,可以连接以调内任意和弦,只是再之后,通常则按和弦根音下行纯五度的原则,来添加连接的和弦,比如上例中和弦G进入到和弦C。
而结束的主和弦之前,只能是属和弦或是下属和弦,不能用其他和弦。
所以,最基本的完整和弦走向,只有三种:
1.主和弦-下属和弦-主和弦(变格);
2.主和弦-属和弦-主和弦(正格);
3.主和弦-下属和弦-属和弦-主和弦(正格)。
根据这个规则来确定大致的和弦走向。

其他参考资料:

https://www.zhihu.com/question/46536599

https://zhidao.baidu.com/question/687885617880029604.html

https://zh.wikipedia.org/zh-cn/%E5%92%8C%E5%BC%A6

https://www.zhihu.com/question/22884428

https://zhidao.baidu.com/question/310738546.html

【Python图像特征的音乐序列生成】图像特征在旋律生成中有什么用的更多相关文章

  1. 【Python图像特征的音乐序列生成】使用Python生成简单的MIDI文件

    这个全新的Python音乐创作系列,将会不定期更新.写作这个系列的初衷,是为了做一个项目<基于图像特征的音乐序列生成模型>,实时地提取照片特征,进行神经网络处理,生成一段音乐. 千里之行, ...

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

    mingus在输出midi文件的时候,使用这样的函数: from mingus.containers import NoteContainer from mingus.midi import midi ...

  3. 【Python图像特征的音乐序列生成】关于数据集的分享和样例数据

    数据集还在制作中,样例数据如下: 我将一条数据作为一行,X是ID,O代表了情感向量,S是速度,是一个很关键的参数,K是调式,M是节拍,L是基本拍.后面是ABC格式的序列,通过embedding化这些音 ...

  4. 【Python图像特征的音乐序列生成】第一阶段的任务分配

    从即日起到7月20号,项目成员进行了第一次任务分配. 赵同学A.岳同学.周同学,负责了图像数据的情感数据集制作,他们根据自己的经验,对图像进行了情绪提取. 赵同学B全权负责向量映射这一块的网络搭建. ...

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

    在前几天的讨论会上,有师兄指出原来的方法实在是很难训练,所以我改进了音乐生成的思路. 首先,我用LSTM生成的一定是一段音乐的序列化表达,那么我就可以用成型的一些数据集去训练LSTM.为了避免生成的音 ...

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

    我之前就注意到,深度学习和音乐结合,尤其是从乐理出发进行结合(而不是纯粹的进行音乐生成),是一个尚未被深度挖掘的全新领域.可想而知,这个方向符合我要求的数据肯定是要自己搜集了. 自己搜集的数据,在量上 ...

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

    关于生成网络这边,可能会做一个深度的受限玻尔兹曼机,这样可以保证生成的音乐不会太相似. 情绪识别网络和生成网络的耦合,中间变量可能直接就是一个one-hot向量,用来标注指定的情绪,不做成坐标那种难以 ...

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

    今天连看三篇论文,不是很细致地看,也没有具体去实现,只是大概明白了一些新思路.这三篇论文,一篇概述了Decoder-Encoder模型,一篇延伸这个模型,首次提出了Attention机制,最后一篇详细 ...

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

    目前我能想到的办法是这样的: 1,提取照片中的实体特征,借用某个pre-trained model进行tag标记. 2,将特征组合起来,形成一个bag-of-word model,然后将这个向量作为输 ...

随机推荐

  1. 实验楼之Linux快捷、用户及文件权限、文件查看

    实验二 知识点1:通常不是直接与系统打交道,而是通过一个叫做Shell的中间程序. shell即是用户交互的界面,又是控制系统的脚本语言.常用的有bash. zsh, ksh, csh, 命令行模式: ...

  2. 10天彻底搞定-webpack4.0

    本机存放的路径: F:\教程\10天彻底搞定-webpack4.0 联想电脑代码存放的路径: D:\MyDemos\webpack4 10天彻底搞定-webpack4.0 1.webpack课程介绍 ...

  3. jsp九大内置对象与servlet中java对象

    jsp九大内置对象 request对象 :  getParameter(String name)获取表单提交的数据 getParamegerNames() 获取客户端提交的所有参数名 getAttri ...

  4. 将Opencv java中的Mat通过jni传递到C++中的方法

    public native void FindFeatures(long matAddrGr, long matAddrRgba); ... mRgba = new Mat(height, width ...

  5. QxOrm 1.2.9 下载 以及编译方法 简介.

    QxOrm 是一个基于QT开发的数据库方面的ORM库,功能很强大,是QT C++数据开发方面的好工具. 目前已经更新1.3.1 .但 不幸的是 它的官网http://www.qxorm.com/ 莫名 ...

  6. qsc52(三角形线性插值)

    题目链接:http://qscoj.cn/problem/52/ 题意:中文题诶- 思路:水题,只要知道三角形插值和判断点在三角形内就OK了 关于三角形插值:http://www.cnblogs.co ...

  7. HDU1854 Q-Sequence

    http://acm.hdu.edu.cn/showproblem.php?pid=1854 随手练习 #include <bits/stdc++.h> using namespace s ...

  8. Net Core免费开源分布式异常日志收集框架Exceptionless

    asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 https://www.cnblogs.com/yilezhu/p/9193723.htm ...

  9. NET Core 事件总线

    NET Core 事件总线,分布式事务解决方案:CAP 背景 相信前面几篇关于微服务的文章也介绍了那么多了,在构建微服务的过程中确实需要这么一个东西,即便不是在构建微服务,那么在构建分布式应用的过程中 ...

  10. OAuthLogin2.0

    开源第三方登录组件OAuthLogin2.0 支持QQ,阿里巴巴,淘宝,京东,蘑菇街,有赞等平台   Nuget地址:https://www.nuget.org/packages/OAuthLogin ...