【Python图像特征的音乐序列生成】生成伴奏旋律(附部分代码)
做了半天做的都是一些细枝末节的东西,嗨呀。
伴奏旋律是Ukulele和弦,MIDI发音乐器是Guitar。在弹唱的时候,Ukulele和弦就是伴奏。
我们以创建《成都》伴奏为例:
节奏型:
和弦:
那么节奏型和和弦的组合可以视为一个二元矩阵,下面写一个函数用来寻址:
from mingus.core import *
from mingus.containers import *
from mingus.midi.midi_file_out import * def chord_mixer(chord,rhythm,basic_type=(3,4)):
b=Bar('C',basic_type)
if chord == 'C' and rhythm == '34_1':
b.place_notes(['G-4','C-5'],8)
b.place_notes('C-4',8)
b.place_notes('E-4',8)
b.place_notes('C-5',8)
b.place_notes('E-4',8)
b.place_notes('C-4',8)
elif chord == 'Em' and rhythm == '34_1':
b.place_notes(['G-4','B-4'],8)
b.place_notes('E-4',8)
b.place_notes('G-4',8)
b.place_notes('B-5',8)
b.place_notes('G-4',8)
b.place_notes('E-4',8)
elif chord == 'F' and rhythm == '34_1':
b.place_notes(['A-4','A-4'],8)
b.place_notes('C-4',8)
b.place_notes('E#-4',8)
b.place_notes('A-4',8)
b.place_notes('E#-4',8)
b.place_notes('C-4',8)
elif chord == 'G' and rhythm == '34_1':
b.place_notes(['G-4','B-4'],8)
b.place_notes('D-4',8)
b.place_notes('G-4',8)
b.place_notes('B-4',8)
b.place_notes('G-4',8)
b.place_notes('D-4',8)
... return b
接下来我们新建一个音轨串联和弦:
b=[chord_mixer('C','34_1'),chord_mixer('Em','34_1'),chord_mixer('F','34_1'),chord_mixer('G','34_1'),chord_mixer('C','34_1'),chord_mixer('Em','34_1'),chord_mixer('F','34_1'),chord_mixer('G','34_1'),]
t=Track(Guitar())
for i in b:
t.add_bar(i)
最后输出:
write_Track('test.mid',t,bpm=80)
这样就生成了伴奏旋律。
下一篇开始讲网络核心。
【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图像特征的音乐序列生成】关于mingus一个bug的修复,兼改进情感模型
mingus在输出midi文件的时候,使用这样的函数: from mingus.containers import NoteContainer from mingus.midi import midi ...
- 【Python图像特征的音乐序列生成】关于音乐生成的思路转变
在前几天的讨论会上,有师兄指出原来的方法实在是很难训练,所以我改进了音乐生成的思路. 首先,我用LSTM生成的一定是一段音乐的序列化表达,那么我就可以用成型的一些数据集去训练LSTM.为了避免生成的音 ...
- 【Python图像特征的音乐序列生成】第一阶段的任务分配
从即日起到7月20号,项目成员进行了第一次任务分配. 赵同学A.岳同学.周同学,负责了图像数据的情感数据集制作,他们根据自己的经验,对图像进行了情绪提取. 赵同学B全权负责向量映射这一块的网络搭建. ...
- 【Python图像特征的音乐序列生成】关于小样本的一些思考
我之前就注意到,深度学习和音乐结合,尤其是从乐理出发进行结合(而不是纯粹的进行音乐生成),是一个尚未被深度挖掘的全新领域.可想而知,这个方向符合我要求的数据肯定是要自己搜集了. 自己搜集的数据,在量上 ...
- 【Python图像特征的音乐序列生成】思路的转变
关于生成网络这边,可能会做一个深度的受限玻尔兹曼机,这样可以保证生成的音乐不会太相似. 情绪识别网络和生成网络的耦合,中间变量可能直接就是一个one-hot向量,用来标注指定的情绪,不做成坐标那种难以 ...
- 【Python图像特征的音乐序列生成】如何生成旋律(大纲),以及整个项目的全部流程
今天连看三篇论文,不是很细致地看,也没有具体去实现,只是大概明白了一些新思路.这三篇论文,一篇概述了Decoder-Encoder模型,一篇延伸这个模型,首次提出了Attention机制,最后一篇详细 ...
随机推荐
- 23.Consent 代码重构
新建Services文件,并新建类ConsentService类把,ConsetController里面不是Action的方法都放在这个ConsentService类里面 先把构造函数完善 把这些私有 ...
- js基础(补10.10)
1.内嵌式: <html> <head> <title></title> </head> <body> <a href=& ...
- “MVC+Nhibernate+Jquery-EasyUI”信息发布系统 第一篇
一.第一篇内容中必须得简单的介绍一下MVC(在大学时用的是WebForm,拖控件感觉很爽,但是工作后,技术总监让一定要放弃这种 想法!) 1.MVC是什么?:(1) ASP.NET MVC是微软官方提 ...
- Android 自定义ViewGroup 实战篇 -> 实现FlowLayout
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38352503 ,本文出自[张鸿洋的博客] 1.概述 上一篇已经基本给大家介绍了如 ...
- 推荐一款让你纵横Github的读码神器
当我们想深入了解一个开源项目的时候,通常我们有以下几种姿势: 懒汉型 通过Web的方式,逐个的点击页面寻找和查看具体的源码内容. 优点:不依赖任何工具,无须任何额外的操作 缺点:效率低下,查找文件不便 ...
- C++ STL vector使用总结
vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库.vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说vect ...
- ue4 3dui材质参数修改
- SLAM的现在与未来
http://geek.csdn.net/news/detail/202128 作者:高翔,张涛,刘毅,颜沁睿. 编者按:本文节选自图书<视觉SLAM十四讲:从理论到实践>,系统介绍了视觉 ...
- 【转】生产环境:Nginx高可用方案
准备工作: 192.168.16.128 192.168.16.129 两条虚拟机.安装好 Nginx 安装Nginx 更新 yum 源文件: rpm -ivh http://nginx.org/pa ...
- 重启centOS丢失nginx.pid导致无法启动nginx的解决方法
目录 找到nginx 找到nginx的配置文件 拼接命令,启动nginx Nginx指令拓展知识(中英对照): tags: centOS linux nginx categories: 服务器 找到n ...