项目笔记
文章平均质量分 65
weixin_41405111
这个作者很懒,什么都没留下…
展开
-
项目笔记(一):实验——用神经网络实现midi音乐旋律音轨的确定
零、写在前面计划要用seq2seq模型做一个交响乐编曲程序,encoder network的输入是一个乐句旋律,decoder network的目标target是这个乐句完整的管弦配乐版本。本文记录的实验的目的是自动提取出midi乐句的旋律音轨。一、原理参考这篇文献中的方法:提取出这个乐句中各个音轨(乐器)的以下特征:平均力度所有音符累加总时值时值类型最高音与最低音之间...原创 2018-04-12 09:47:15 · 3550 阅读 · 2 评论 -
项目笔记(四) 实验——通过对midi自相似矩阵的高斯核对角卷积分割乐段
零、写在前面要做seq2seq交响乐翻译,这大概是最后一块拼图了。读了些文献,参考了里面的方法,复现了一下,效果挺不错的。一、原理1.piano_roll与帧向量v这是一个二维矩阵,两个轴分别为时间和音高,对应的数值表示力度。它把各个乐器的音都合成在一起了。可以调整的参数是fs:扫描频率。默认是fs=100,表示对于midi音频每秒扫描100次。为了在计算后面的自相似矩阵时...原创 2018-05-10 21:51:28 · 1221 阅读 · 2 评论 -
项目笔记(二):工具——手工分割midi文件
零、写在前面接触了幂率和齐普夫定律,想在自己的midi文件上,以乐句为单位,实验一下。但是没有批量分割midi文件的工具,找到的都要在软件里操作,效率很低。另一方面,以后很可能要做自动分句的功能,如果用机器学习的方法,做一个这样的小工具也方便准备训练集。一、原理分两个模块,第一个用于计时,确定一系列的分割点,用列表存放。把这个列表传到第二个模块,进行裁剪并输出新文件。 使用了py...原创 2018-04-27 14:14:05 · 2845 阅读 · 0 评论 -
项目笔记(三)实验——尝试用循环卷积神经网络实现midi交响乐乐句分割
零、写在前面现在来看,这是一次失败的实验,因为突然有新的想法,就先搁置下。但在开始新实验前,暂且先把失败的这个记录下来。 为了使用seq2seq模型进行“交响乐翻译”, 需要以乐句为单位的输入。人为标注效率太低,所以要做一个自动实现乐句分割的功能。一、原理这一神经网络的灵感来自trigger word detection,它将音频的频谱图输入至循环神经网络作为x,而y是1或者0:...原创 2018-05-08 19:13:23 · 1224 阅读 · 0 评论 -
项目笔记(五)——从原始midi文件到seq2seq的训练集
零、写在前面这几天做了两件事情,一件是完善上篇文章的用于分段的自相似矩阵算法,生成了分段后的1000+的midi文件(来自贝多芬九首交响曲),作为encoder input,另一件事是根据之前这篇文章的思路,训练神经网络提取旋律乐器的midi文件,作为decoder target。已经准备好训练集了,下一步就是搭建seq2seq模型了,在这之前,把拼接好的两个模块记录下来,以备后患。...原创 2018-05-16 15:08:01 · 1709 阅读 · 2 评论