[发明专利]基于循环神经网络的音乐生成方法及装置有效
申请号: | 201811578987.X | 申请日: | 2018-12-24 |
公开(公告)号: | CN109727590B | 公开(公告)日: | 2020-09-22 |
发明(设计)人: | 尹学渊;江天宇;陈超 | 申请(专利权)人: | 成都嗨翻屋科技有限公司 |
主分类号: | G10H1/00 | 分类号: | G10H1/00;G10H7/00;G06N3/04 |
代理公司: | 成都睿道专利代理事务所(普通合伙) 51217 | 代理人: | 贺理兴 |
地址: | 610000 四川省成都市天*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 循环 神经网络 音乐 生成 方法 装置 | ||
1.基于循环神经网络的音乐生成方法,其特征在于,包括以下步骤;
建立循环神经网络;
将MIDI格式的第一音符序列进行预处理,得到训练数据集;所述预处理包括以下步骤:以音高为纵坐标,以时间为横坐标建立坐标系;设定时间步,将所述第一音符序列在横坐标时间轴上分割为多个时间步;根据所述第一音符序列在每个时间步上的音高设定每个时间步的事件编号;通过独热编码依次对所述第一音符序列的每个事件编号进行编码;
通过训练数据集对循环神经网络进行训练,得到神经网络模型;
通过神经网络模型及采样策略对输入的第二音符序列的各个音符事件进行计算、排序,输出第三音符序列;所述采样策略包括:设定音符事件为y(i),i为大于0的自然数,所述第二音符序列的总时间步长为N;将第二音符序列输入神经网络模型,将第二音符序列的各个音符事件按出现的概率输出;通过概率计算公式计算神经网络模型输出的音符序列各个音符事件在第n个时间步出现的最终概率,去掉神经网络模型输出的音符序列第一个音符事件,将在第n个时间步出现的最终概率最大的音符事件添加到神经网络模型输出的音符序列的末尾,得到新的音符序列,将得到的新的音符序列输入到神经网络模型,重复迭代过程,直至迭代次数达到N,结束迭代,得到所述第三音符序列,其中,i=1,2,...,N,n=1,2,...,N;
将所述第三音符序列解码转换为MIDI格式的音符序列文件;
将所述音符序列文件转换为音频格式的输出文件。
2.根据权利要求1所述的基于循环神经网络的音乐生成方法,其特征在于,以最小音符时值作为所述时间步。
3.根据权利要求1所述的基于循环神经网络的音乐生成方法,其特征在于,纵坐标的范围为0~128,其中,1~127分别对应不同的音高,0表示继续输入前一个音符,128表示无音符输入。
4.根据权利要求1所述的基于循环神经网络的音乐生成方法,其特征在于,所述循环神经网络包括依次连接的输入层、多个LSTM层、多个全连接层及输出层。
5.根据权利要求1所述的基于循环神经网络的音乐生成方法,其特征在于,所述概率计算公式为:
其中,e为自然对数,T为调节音符事件y(i)概率分布的参数,为各音符事件在第i时间步的最终出现概率。
6.基于循环神经网络的音乐生成装置,应用如权利要求1~5任意一项所述的基于循环神经网络的音乐生成方法,其特征在于,包括:
数据输入模块,用于输入MIDI格式的音符序列;
数据预处理模块,用于建立以时间为横坐标及以音高为纵坐标的坐标系、设定时间步,并将输入的音符序列在横坐标上以时间步为单位进行分割,对每个时间步按音高进行编号,并通过独热编码对各个编号进行二进制编码,提取音符序列的各个音符事件,得到音符序列的数据集;
模型训练模块,用于通过音符序列的数据集构建循环神经网络算法;
数据处理模块,用于通过循环神经网络算法计算各音符事件出现的概率,输出处理后的音符序列;
采样模块,用于计算数据处理模块输出的音符序列各个音符事件的最终出现概率并排序,输出最终音符序列;
解码模块,用于将最终音符序列解码、转换为MIDI格式的最终音符序列;
转换模块,用于将MIDI格式的最终音符序列转换为音频格式的文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都嗨翻屋科技有限公司,未经成都嗨翻屋科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811578987.X/1.html,转载请声明来源钻瓜专利网。