[发明专利]基于柏林噪声的旋律生成方法、装置、设备及存储介质有效
申请号: | 202110284981.7 | 申请日: | 2021-03-17 |
公开(公告)号: | CN113066456B | 公开(公告)日: | 2023-09-29 |
发明(设计)人: | 蔡梓丰;韩宝强;肖京 | 申请(专利权)人: | 平安科技(深圳)有限公司 |
主分类号: | G10H1/00 | 分类号: | G10H1/00 |
代理公司: | 北京市京大律师事务所 11321 | 代理人: | 姚维 |
地址: | 518033 广东省深圳市福田区福*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 柏林 噪声 旋律 生成 方法 装置 设备 存储 介质 | ||
1.一种基于柏林噪声的旋律生成方法,其特征在于,所述基于柏林噪声的旋律生成方法包括:
获取乐谱数据,并从所述乐谱数据中读取得到乐谱数据量;
基于所述乐谱数据量判断所述乐谱数据是否为单个音符序列数据;
若所述乐谱数据为单个音符序列数据,则基于预置的柏林噪声算法生成初始音乐旋律;
若所述乐谱数据不为单个音符序列数据,则从所述乐谱数据中提取音高序列和节奏序列,并基于所述音高序列、所述节奏序列和所述柏林噪声算法生成初始音乐旋律;
基于预置的专家规则约束对所述初始音乐旋律进行调式约束,得到目标音乐旋律,并将所述目标音乐旋律转换成电子乐谱数据进行存储;
所述若所述乐谱数据为单个音符序列数据,则基于预置的柏林噪声算法生成初始音乐旋律包括:
若所述乐谱数据为单个音符序列数据,则调用预置的随机算法将所述乐谱数据处理为多个随机数,并基于所述多个随机数生成第一列表长度和第二列表长度,其中,随机数的取值范围为[-1,1];
基于预置的随机整数算法和所述多个随机数生成第一整数和第二整数;
采用预置的伪随机数算法,结合所述第一列表长度和所述第二列表长度分别对第一整数和第二整数进行计算,得到第一伪随机数和第二伪随机数;
基于预置的柏林噪声算法、所述第一伪随机数和所述第二伪随机数,生成多个频率柏林噪声;
叠加多个频率柏林噪声,得到分形噪声;
基于所述分形噪声确定初始音乐旋律;
所述若所述乐谱数据不为单个音符序列数据,则从所述乐谱数据中提取音高序列和节奏序列,并基于所述音高序列、所述节奏序列和所述柏林噪声算法生成初始音乐旋律包括:
若所述乐谱数据不为单个音符序列数据,则从所述乐谱数据中提取音高序列和节奏序列;
基于所述音高序列,生成音高旋律序列;
基于所述节奏序列,生成节奏旋律序列;
拼接所述音高旋律序列和所述节奏旋律序列,得到初始音乐旋律;
所述基于所述音高序列,生成音高旋律序列包括:
基于所述柏林噪声算法对所述音高序列进行计算,得到音高分形噪声;
采用预置的随机分配算法为所述音高分形噪声随机分配多个权重,得到多个权重音高分形噪声;
对所述音高序列分别叠加多个权重音高分形噪声,得到音高旋律序列。
2.根据权利要求1所述的基于柏林噪声的旋律生成方法,其特征在于,所述基于所述节奏序列,生成节奏旋律序列包括:
基于所述节奏序列在多个预置的节奏模板中确定多个目标模板;
采用预置的节奏随机函数拼接所述多个目标模板,生成节奏旋律序列。
3.根据权利要求1或权利要求2所述的基于柏林噪声的旋律生成方法,其特征在于,所述基于预置的专家规则约束对所述初始音乐旋律进行调式约束,得到目标音乐旋律,并将所述目标音乐旋律转换成电子乐谱数据进行存储包括:
从预置的专家规则约束中提取预置的旋律调式和预置的旋律调性;
调用预置的音阶函数对所述旋律调式和所述旋律调性进行音阶约束计算,生成旋律音阶约束;
从所述初始音乐旋律中提取旋律音高,并基于预置的调式约束函数将所述旋律音高限制在所述旋律音阶约束内,得到约束音高后的音乐旋律;
从所述初始音乐旋律中提取旋律节奏分形噪声,对所述旋律节奏分形噪声添加预置的音高约束,得到目标音乐旋律,并将所述目标音乐旋律转换成电子乐谱数据进行存储。
4.根据权利要求3所述的基于柏林噪声的旋律生成方法,其特征在于,所述从所述初始音乐旋律中提取旋律音高,并基于预置的调式约束函数旋律音高限制在所述旋律音阶约束内,得到约束音高后的音乐旋律中的所述调式约束函数为:
;
其中,为约束音高后的音乐旋律、为旋律音高以及为旋律音阶约束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安科技(深圳)有限公司,未经平安科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110284981.7/1.html,转载请声明来源钻瓜专利网。