买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明公布】一种基于音高网络的定节奏新曲生成方法_湖南工程学院_201910443535.9 

申请/专利权人:湖南工程学院

申请日:2019-05-27

公开(公告)日:2019-08-23

公开(公告)号:CN110162659A

主分类号:G06F16/683(20190101)

分类号:G06F16/683(20190101)

优先权:

专利状态码:有效-授权

法律状态:2020.09.15#授权;2019.09.17#实质审查的生效;2019.08.23#公开

摘要:本发明公开了一种基于音高网络的定节奏新曲生成方法。它包括以下几个步骤:构建原曲曲谱集,依据各曲谱构建音高网络;将网络中的多重边合并为单一的有向边,得到简化的网络;设定网络中随机游走的初始条件;判断当前游走步长是否达到限定的最大值,以及当前节点是否指向其他节点;依据判断结果,随机游走至一个邻居节点并重新判断,或结束游走并将获得的音高序列嵌入固定节奏以生成新曲。本发明采用有向网络中的随机游走以及固定节奏嵌套的策略来实现人工作曲,主要解决音符网络中随机游走产生的音符序列缺乏节奏的问题。此外,本发明采用简洁的音高节点抽象和直接的节奏嵌套,使得网络构建和新曲生成易于实现。

主权项:1.一种基于音高网络的定节奏新曲生成方法,其特征在于,包括以下步骤,步骤一:构建原曲曲谱集;步骤二:定义音高网络抽象方法,并根据步骤一中的各曲谱构建音高网络;将此网络中的多重边合并为单一的有向边,由此产生一个简化的网络;步骤三:根根据步骤二所得的简化网络,设定网络中随机游走的初始条件;步骤四:根据步骤三中的设定以及当前实际游走的状态,判断当前是否执行游走;步骤五:根据步骤四中判断结果,选择无限制地随机游走至一个邻居节点,或将游走完的全部节点序列还原为音高序列,并嵌入固定节奏生成新曲。

全文数据:一种基于音高网络的定节奏新曲生成方法技术领域本发明涉及一种基于复杂网络随机游走的人工作曲方法,特别涉及一种基于音高网络的定节奏新曲生成方法。背景技术人类的生活和生产活动依赖于大量自然界及人造的复杂系统,对于一个给定系统,其各组件之间的联系和交互模式可以用网络表示,系统的各个组件可以抽象成网络中的节点,组件间的联系抽象成边。在过去的二十年中,复杂网络的研究激发了大量应用领域的兴趣,在艺术领域也取得了一定的理论和应用成果。目前的基础理论研究主要对不同类型的音乐进行复杂网络建模和网络特征分析比较,例如2004年Silva、Soares等人发表在《PhysicaA》上的论文,以及2017年Ferretti发表在《MultimediaTools&Applications》上的论文。进一步地,应用研究也有了初步的尝试,研究主要集中在人工作曲,例如2010年Liu、Chi等人发表在《PhysicaA》上的论文,以及2014年Gomez、Lorimer等人发表在国际会议InternationalConferenceonNonlinearDynamicsofElectronicSystems上的论文。结合现有应用研究来看,基于复杂网络的人工作曲基本采用网络中的随机游走实现,差异主要体现于建模和随机游走的方式不同。网络建模通常先将音符抽象为节点,然后将音符在时间上的关联顺序作为边。生成音符网络后,通过一定方式的随机游走产生新的音符序列。基于音符网络的随机游走拥有丰富的音符游走选择,能够形成更多的音乐变化,但在最后新曲谱的形成阶段存在缺陷。因为随机生成的音符序列绝大多数情形下无法形成有规律的节奏,无法构建具有统一节奏的新曲谱。发明内容为了解决音符网络随机游走生成的音符序列缺乏节奏的问题,本发明在网络建模时忽略音符的时值特征,将音符的音高抽象为节点,然后将随机游走产生的音高序列嵌入有规律的节奏中,以此保障人工生成曲谱的节奏要素。为了实现上述技术目的,本发明的技术方案是,一种基于音高网络的定节奏新曲生成方法,包括以下步骤,步骤一:构建原曲曲谱集;步骤二:定义音高网络抽象方法,并根据步骤一中的各曲谱构建音高网络;将此网络中的多重边合并为单一的有向边,由此产生一个简化的网络;步骤三:根据步骤二所得的简化网络,设定网络中随机游走的初始条件;步骤四:根据步骤三中的设定以及当前实际游走的状态,判断当前是否执行游走;步骤五:根据步骤四中判断结果,选择无限制地随机游走至一个邻居节点,或将游走完的全部节点序列还原为音高序列,并嵌入固定节奏生成新曲。其中,无限制的随机游走属于公知技术。进一步的,所述的方法,所述的步骤一中构建原曲曲谱集的步骤为:M={Sk}|cardM=n;k=1,2,...,n其中,M为原曲曲谱集,Sk表示第k个经典曲谱不含和弦,n表示曲谱集中曲谱的总数,|cardM=n表示同时满足曲谱集合M中不同曲谱的数目为n,即不构建相同曲谱。具体的经典曲谱可以由作曲者从不同国家,不同作曲家的经典曲谱中选取,以此丰富后续构建的音高网络中节点的数目和可供选择的游走路径。另外,曲谱具有多样化的存在形式,可由作曲者自行选择印刷或图片或midi格式的曲谱。进一步的,所述的方法,所述的步骤二中构建并简化音高网络的步骤为:步骤1:定义音高网络抽象方法;音高网络的抽象包括对节点和边的抽象。其中,节点的抽象方法为:将一个特定音高或休止符抽象为节点Ni,节点的集合N定义为N={Ni};边的抽象方法为:若N中的两个节点Ni和Nj所对应的音高或休止符在曲谱Sk中相继出现,且之间不存在其他音高或休止符,则将节点Ni和Nj的时间关联抽象为有向边Ae,边的方向为Ni→Nj;有向边的集合A定义为A={Ae},音高网络G定义为节点与边的集合,即G=N,A。步骤2:构建音高网络;根据步骤二的步骤1中的抽象方法,构建音高网络节点和边,方法为:首先,根据步骤二的步骤1中节点的抽象方法,采用特定音高或休止符,构建网络节点Ni。此处,特定的音高限定为常用音高以及休止符,即:高音、中音、低音中的1~7doruimifasuolaxi,以及休止符0。由此,音高网络中的节点集合的元素个数为3×7+1=22个。然后,根据步骤二的步骤1中有向边的抽象方法,利用步骤一中的经典曲谱Sk构建节点间的有向边。从第一个经典曲谱S1开始,在第1个和第2个音高所对应的节点之间构建一条有向边A1;然后在第2个和第3个音高所对应的节点之间构建一条有向边A2;依此类推,直至第1个经典曲谱的最后两个音高对应的节点之间的有向边构建完。同理,从S2至Sn依次构建完剩余经典曲谱对应的有向边,由此完成整个音高网络的构建。步骤3:简化音高网络;依据步骤二的步骤2中所得的音高网络,将其简化,方法为:若节点Ni存在多条指向Nj的有向边,则将其合并为1条有向边,方向不变。此处,合并后的有向边不赋予权值,因为基于边权重的随机游走,容易反复地游走于权重较大的路径,将导致生成的旋律容易“困在”一段旋律中。简化所有节点间的多重有向边后,将生成一个新的网络,定义为G′=N,A′。进一步的,所述的方法,所述的步骤三中设定随机游走初始条件的步骤为:步骤①:设定游走节点;游走起始节点定义为S,可以由用户设定,选择范围为原曲曲谱集M中的任一音高。当前待游走节点定义为V,V的初始节点为S。步骤②:设定游走步长;由用户从曲谱集中选定一个曲谱,记为Sf。游走最大步长定义为Tmax,具体值为Sf中音高的个数减1。实际游走的步长定义为Tv,初始值为0。进一步的,所述的方法,所述的步骤四中判断当前是否执行游走的步骤为:根据步骤三的步骤②中设定的游走最大步长,并依据当前实际游走的步长和当前待游走节点的邻接节点个数来判断是否执行下一步游走,步骤为:其中,Tv≤Tmax且NumVout>0表示对“实际游走的步长Tv小于等于最大游走步长Tmax”且“当前待游走节点V指向的节点个数NumVout大于0”这个命题进行真假判断;T表示命题判断结果为真,即进入下一步的游走;F表示命题判断结果为假,即结束游走。进一步的,所述的方法,所述的步骤五中执行游走并判断是否继续游走,或生成音高序列及新曲的步骤为:根据步骤四中需要执行游走的情形,首先从当前待游走节点无限制地随机游走至一个邻居节点。其中,“无限制”指的是允许当前待游走节点游走到所有指向的节点,无论指向的节点是否已经游走过。无限制的随机游走属于公知技术,步骤为:在当前待游走节点指向的节点中随机选择一个节点作为游走到的节点,定义为Vnext;定义游走的节点序列为TV,初始序列设为[S],且每次游走后添加游走的节点Vnext到节点序列TV中,即TV=[TV,Vnext];将当前游走的源节点V更新为Vnext,即V=Vnext;将实际游走步长Tv更新为Tv+1,即Tv=Tv+1。当前游走执行完后,再返回步骤四,判断是否执行新的游走。依此循环,执行游走并判断是否继续游走。根据步骤四中结束游走的情形,依据步骤二的步骤2中节点与音高的对应关系,将游走的全部节点序列TV还原为音高序列TV′。将TV′中的每一个音高按顺序替换Sf中的原音高,音高的时长维持原有时长不变,由此生成新曲。实际游走时,绝大部分音高节点均存在邻接节点,因此Tv的最终值通常为Tmax,音高序列长度为Tmax+1加上起始节点。若Tv最终值小于Tmax,则在音高序列Tv+1的后面增加休止符,将序列长度补齐至Tmax+1,然后再生成新曲。与现有技术相比,本发明主要特点在于,在人工作曲中仅对音符的音高实施随机的创作,通过嵌入固定节奏避免音符随机创作产生的节奏紊乱。嵌套的节奏可以采用原曲谱集的节奏,也可以另行创作,有较大的灵活性。本发明对音符的时值予以固定,将音符网络简化为音高网络,规模更小,网络构建的复杂度低。此外,本发明选择了不同作者的原曲来构建曲谱库,并在人工作曲中实施邻接节点等概率随机游走,均有利于降低新曲与原曲之间的相似度。下面结合附图对本发明作进一步说明。附图说明图1为本发明的流程图;图2为本发明中构建并简化音高网络后的示意图;图3为本发明中随机进行一次定节奏新曲生成得到的曲谱;具体实施方式参见图1,图1为本发明的流程图。以下举例说明本发明的具体实施过程。实施例1:利用7个简谱来构建音高网络,随机游走生成音高序列,嵌套固定节奏生成新曲。1构建原曲曲谱集本实施例中选用7首大众熟知的经典歌曲的简谱作为曲谱集,包括《生日歌》、《欢乐颂》、《小燕子》、《友谊天长地久》、《平安夜》、《剪羊毛》、《小星星》。各简谱均选自许三求编著的《轻松学简谱》一书上海音乐学院出版社,2014,并且容易从网络资源中获取。2构建并简化音符网络本实施例中节点集N中节点的数目为22个,包含节点为{节点1,节点2,…,节点22}。其中,节点1~7分别代表高音1~7,节点8~14分别代表中音1~7,节点15~21分别代表低音1~7;此外,节点22代表休止符0。依据曲谱《生日歌》中音高的顺序,构建对应节点之间的有向边,包括19→19,19→20,20→19,19→8,8→21,21→19,19→19,19→20,20→19,19→9,9→8,8→19,19→19,19→12,12→10,10→8,8→21,21→20,20→11,11→11,11→10,10→8,8→9,9→8。依此类推,使用剩余曲谱构建完有向边后,完成初步的音高网络的构建。将得到的网络进行简化,同一对节点间同方向的多条边合并为不带权值的单边,方向维持不变。图2为本发明的实施例1中,构建并简化音高网络后的示意图。示意图中,节点的标号置于节点内,若节点含有指向自身的边,则在节点下方标注了“withloop”,即带环。3设定随机游走初始条件从原曲曲谱集中随机选择节点,选择到的节点为节点12,将其设定为游走起始节点,亦为初始的当前待游走节点。此处,《生日歌》的曲谱中音高的个数为25,因此游走最大步长设定为24。此时,实际游走的步长的值为初始值0。4判断当前是否执行游走根据判断条件,实际游走的步长为0,小于最大游走步长24;并且当前待游走节点12指向的节点有1,10,11,12,13,22,节点个数大于0。因此进入下一步的游走。5执行游走并重新判断在节点12指向的节点中随机选择,选择到的节点为10。游走的初始序列为[12],此时添加节点10到节点序列中,即[12,10]。将当前游走的源节点12更新为10,将实际游走步长0更新为1。执行完本次游走后,回归步骤四,判断是否执行新的游走。依此,执行新一轮游走并判断,直至判断结果为假,结束游走。6还原音高序列,生成新曲最终,随机游走结束时,游走完的全部节点序列为[12,10,2,1,12,12,22,12,22,2,2,4,2,12,11,11,12,10,8,8,12,13,12,12,13]。将其还原为音高序列,按顺序替换《生日歌》曲谱中原有音符的音高,时值保持保持为原有音符的时值,由此生成新曲。图3为本发明的实施例1中随机进行一次新曲生成得到的曲谱。以上是对基于音高网络的定节奏新曲生成的一个例子分析。

权利要求:1.一种基于音高网络的定节奏新曲生成方法,其特征在于,包括以下步骤,步骤一:构建原曲曲谱集;步骤二:定义音高网络抽象方法,并根据步骤一中的各曲谱构建音高网络;将此网络中的多重边合并为单一的有向边,由此产生一个简化的网络;步骤三:根根据步骤二所得的简化网络,设定网络中随机游走的初始条件;步骤四:根据步骤三中的设定以及当前实际游走的状态,判断当前是否执行游走;步骤五:根据步骤四中判断结果,选择无限制地随机游走至一个邻居节点,或将游走完的全部节点序列还原为音高序列,并嵌入固定节奏生成新曲。2.根据权利要求1所述的方法,其特征在于,所述的步骤一中构建原曲曲谱集的步骤为:M={Sk}|cardM=n;k=1,2,...,n其中,M为原曲曲谱集,Sk表示第k个经典曲谱不含和弦,n表示曲谱集中曲谱的总数,cardM=n表示同时满足曲谱集合M中不同曲谱的数目为n,即不构建相同曲谱。具体的经典曲谱可以由作曲者从不同国家,不同作曲家的经典曲谱中选取,以此丰富后续构建的音高网络中节点的数目和可供选择的游走路径。另外,曲谱具有多样化的存在形式,可由作曲者自行选择印刷或图片或midi格式的曲谱。3.根据权利要求1所述的方法,其特征在于,所述的步骤二中构建并简化音高网络包括以下步骤:步骤1:定义音高网络抽象方法;音高网络的抽象包括对节点和边的抽象。其中,节点的抽象方法为:将一个特定音高或休止符抽象为节点Ni,节点的集合N定义为N={Ni};边的抽象方法为:若N中的两个节点Ni和Nj所对应的音高或休止符在曲谱Sk中相继出现,且之间不存在其他音高或休止符,则将节点Ni和Nj的时间关联抽象为有向边Ae,边的方向为Ni→Nj;有向边的集合A定义为A={Ae},音高网络G定义为节点与边的集合,即G=N,A。步骤2:构建音高网络;根据步骤二的步骤1中的抽象方法,构建音高网络节点和边,方法为:首先,根据步骤二的步骤1中节点的抽象方法,采用特定音高或休止符,构建网络节点Ni。此处,特定的音高限定为常用音高以及休止符,即:高音、中音、低音中的1~7doruimifasuolaxi,以及休止符0。由此,音高网络中的节点集合的元素个数为3×7+1=22个。然后,根据步骤二的步骤1中有向边的抽象方法,利用步骤一中的经典曲谱Sk构建节点间的有向边。从第一个经典曲谱S1开始,在第1个和第2个音高所对应的节点之间构建一条有向边A1;然后在第2个和第3个音高所对应的节点之间构建一条有向边A2;依此类推,直至第1个经典曲谱的最后两个音高对应的节点之间的有向边构建完。同理,从S2至Sn依次构建完剩余经典曲谱对应的有向边,由此完成整个音高网络的构建。步骤3:简化音高网络;依据步骤二的步骤2中所得的音高网络,若节点Ni存在多条指向Nj的有向边,则将其合并为1条有向边,方向不变。此处,合并后的有向边不赋予权值。简化所有节点间的多重有向边后,将生成一个新的网络,定义为G′=N,A′。4.根据权利要求1所述的方法,所述的步骤三中设定随机游走初始条件包括以下步骤:步骤①:设定游走节点;游走起始节点定义为S,可以由用户设定,选择范围为原曲曲谱集M中的任一音高。当前待游走节点定义为V,V的初始节点为S。步骤②:设定游走步长;由用户从曲谱集中选定一个曲谱,记为Sf。游走最大步长定义为Tmax,具体值为Sf中音高的个数减1。实际游走的步长定义为Tv,初始值为0。5.根据权利要求1所述的方法,所述的步骤四中判断当前是否执行游走的步骤为:根据步骤三的步骤②中设定的游走最大步长,并依据当前实际游走的步长和当前待游走节点的邻接节点个数来判断是否执行下一步游走,步骤为:其中,Tv≤Tmax且NumVout>0表示对“实际游走的步长Tv小于等于最大游走步长Tmax”且“当前待游走节点V指向的节点个数NumVout大于0”这个命题进行真假判断;T表示命题判断结果为真,即进入下一步的游走;F表示命题判断结果为假,即结束游走。6.根据权利要求1所述的方法,所述的步骤五中执行游走并判断是否继续游走,或生成音高序列及新曲的步骤为:根据步骤四中需要执行游走的情形,首先从当前待游走节点无限制地随机游走至一个邻居节点。无限制的随机游走属于公知技术,步骤为:在当前待游走节点指向的节点中随机选择一个节点作为游走到的节点,定义为Vnext;定义游走的节点序列为TV,初始序列设为[S],且每次游走后添加游走的节点Vnext到节点序列TV中,即TV=[TV,Vnext];将当前游走的源节点V更新为Vnext,即V=Vnext;将实际游走步长Tv更新为Tv+1,即Tv=Tv+1。当前游走执行完后,再返回步骤四,判断是否执行新的游走。依此循环,执行游走并判断是否继续游走。根据步骤四中结束游走的情形,依据步骤二的步骤2中节点与音高的对应关系,将游走的全部节点序列TV还原为音高序列TV′。将TV′中的每一个音高按顺序替换Sf中的原音高,音高的时长维持原有时长不变,由此生成新曲。实际游走时,绝大部分音高节点均存在邻接节点,因此Tv的最终值通常为Tmax,音高序列长度为Tmax+1加上起始节点。若Tv最终值小于Tmax,则在音高序列Tv+1的后面增加休止符,将序列长度补齐至Tmax+1,然后再生成新曲。

百度查询: 湖南工程学院 一种基于音高网络的定节奏新曲生成方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。