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. Spring入门第二十一课

    切面优先级 先看代码: package logan.study.aop.impl; public interface ArithmeticCalculator { int add(int i, int ...

  2. oracle查看表,索引,视图,存储过程的定义

    通过  DBMS_METADATA  包 Oracle 的在线文档,对这个包有详细说明: DBMS_METADATA 通过该dbms_metadata包的get_ddl()方法,我们可以查看表,索引, ...

  3. map中根据value获取key

    public static String getKeyByValue(Map map, Object value) { String keys=""; Iterator it =  ...

  4. Infoapth 使用拼写 并加载web part 在Infopath的页面上

    <g_vml_:shape style="POSITION: absolute; WIDTH: 568px; HEIGHT: 1312px; TOP: 0px; LEFT: 0px&q ...

  5. .net 扩展方法,lamada表达式 委托

    扩展方法 (1)扩展方法是一种特殊的静态方法,它定义在一个静态类中,但可以在其他类的对象上向调用实例方法那样进行调用.因此,通过扩展方法,我们就可以在不修改一个类型的前提下对一个类型进行功能上的扩充, ...

  6. AI决策算法 之 GOAP (三)

    源码地址:http://pan.baidu.com/s/1dFwzmfB 这篇我们使用上篇文章写的GOAP框架来完成一个实例: 实例内容: AI有10HP, 需要去站岗,站岗完成扣5HP 当HP< ...

  7. c语言中的switch case语句

    switch--case语句中,switch后面跟一个变量,这个变量不可以是字符数组,字符指针,字符串数组,浮点型(实型).它可以是整型,字符型(在本质上也是整型).所以这导致case后面的常量表达式 ...

  8. link-1-STL 标准模板库

    STL(Standard Template Library,标准模版库)是C++语⾔言标准中的重要组成部分.STL以模板类和模版函数的形式为程序员提供了了各种数据结构和算法的实现,程序员吐过能够充分的 ...

  9. Centos 自动更新git

    首先,要先配置好自己的Git,然后在某一处进行脚本的编写. 比如项目目录为:/home/project,那参考如下来进行 vim /home/project/automatic_git.sh #/bi ...

  10. 《SQL 进阶教程》 case:在 CASE 表达式中使用聚合函数

    1.只加入一个社团的学生的社团id select std_id, max(club_id) from student_clubgroup by std_idhaving count(*) =1---- ...