CN109903744A - 旋律生成方法、装置、计算机可读存储介质和计算机设备 - Google Patents
旋律生成方法、装置、计算机可读存储介质和计算机设备 Download PDFInfo
- Publication number
- CN109903744A CN109903744A CN201910078735.9A CN201910078735A CN109903744A CN 109903744 A CN109903744 A CN 109903744A CN 201910078735 A CN201910078735 A CN 201910078735A CN 109903744 A CN109903744 A CN 109903744A
- Authority
- CN
- China
- Prior art keywords
- melody
- initial
- rule
- initial melody
- item
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Auxiliary Devices For Music (AREA)
- Electrophonic Musical Instruments (AREA)
- Telephone Function (AREA)
Abstract
本申请提供一种旋律生成方法、装置、计算机可读存储介质和计算机设备,应用于语音处理技术领域。所述的方法包括:根据输入的n条固定旋律,生成与n条固定旋律中每一条固定旋律对位的一条初始旋律,得到n条初始旋律;n为正整数;根据预设的对位判断条件以及评分规则,计算n条初始旋律的分数;根据n条初始旋律的分数,从n条初始旋律中选取两条初始旋律;对选取的两条初始旋律进行交叉,获得两条新的初始旋律,将选取的两条初始旋律更新为两条新的初始旋律;若满足预设的迭代停止条件,将n条初始旋律作为与对应固定旋律对位的最终旋律。本申请实施例能够自动生成与固定旋律对位的旋律。
Description
技术领域
本申请涉及语音处理技术领域,具体而言,本申请涉及一种旋律生成方法、装置、计算机可读存储介质和计算机设备。
背景技术
在传统音乐教学、写作中,对位法(counterpoint)是写作复调音乐的技术法则。对位法是从复调音乐中归纳出来概念和法则,适用于专门的针对写作训练。早在17世纪,奥地利作曲家、音乐理论家福克斯(J.J.Fux1660–1741)就从复调音乐中总结了五类基本对位法,分别是“单音对单音”、“二音对单音”、“四音对单音”、“切分音对单音”和“混合节奏对单音”共五类,其中,第三类指的是“四音对单音”。虽然经过几百年的发展,复调音乐不断地丰富和变化,不再拘泥于以前的某些既定的规则,但福克斯对位法体系至今仍起着十分重要的基础性意义。
第三类二声部对位法为,给出一条全部由全音符构成的固定旋律(C.F),长度不定,根据若干规则,如图1所示,在C.F的上方或下方写作一条全部由四分音符组成的与该固定旋律对位的旋律,其中,四个四分音符对应C.F中的一个全音符,所以也成“四音对一音”。
目前,根据一条由全音符构成的固定旋律,一般是人工写作一条由四分音符组成的对位的旋律,效率和准确度较低。
发明内容
本申请针对现有方式的缺点,提出一种旋律生成方法、装置、计算机可读存储介质和计算机设备,以根据由全音符构成的固定旋律,自动生成由四分音符组成的对位的旋律,提高了旋律生成的效率和准确度。
本申请的实施例根据第一个方面,提供了一种旋律生成方法,包括:
根据输入的n条固定旋律,生成与n条固定旋律中每一条固定旋律对位的一条初始旋律,得到n条初始旋律;n为正整数;
根据预设的对位判断条件以及评分规则,计算n条初始旋律的分数;
根据n条初始旋律的分数,从n条初始旋律中选取两条初始旋律;
对选取的两条初始旋律进行交叉,获得两条新的初始旋律,将选取的两条初始旋律更新为两条新的初始旋律;
若满足预设的迭代停止条件,将n条初始旋律作为与对应固定旋律对位的最终旋律。
在一个实施例中,所述将选取的两条初始旋律更新为两条新的初始旋律之后,还包括:
若不满足预设的迭代停止条件,返回根据预设的对位判断条件以及评分规则,计算n条初始旋律的分数的步骤,直至满足预设的迭代停止条件。
在一个实施例中,所述根据n条初始旋律的分数,从n条初始旋律中选取两条初始旋律,包括:
根据n条初始旋律的分数,计算出n条初始旋律被选取的比例;
根据n条初始旋律被选取的比例,从n条初始旋律中选取两条初始旋律。
在一个实施例中,所述根据输入的n条固定旋律,生成与n条固定旋律中每一条固定旋律对位的一条初始旋律,得到n条初始旋律;n为正整数,包括:
从n条固定旋律中选取一条固定旋律;
依次遍历所述固定旋律中每一小节的全音符,根据设置的音程规则,为每一个全音符随机生成四个四分音符,生成的所有四分音符构成与所述固定旋律对位的一条初始旋律;
从n条固定旋律中选取另一条固定旋律,返回依次遍历所述固定旋律中每一小节的全音符的步骤,直至所有的固定旋律均被选取;
其中,所述音程规则包括:初始旋律的每一小节的强拍的音,与对应该小节的固定旋律的全音符之间的音程关系必须为协和音程;初始旋律的次强拍和弱拍分别包括协和音程、不协和音程以及不协和音程的复合音程。
在一个实施例中,所述依次遍历所述固定旋律中每一小节的全音符,根据设置的音程规则,为每一个全音符随机生成四个四分音符,包括:
依次遍历所述固定旋律中每一小节的全音符,若当前遍历的全音符在预设范围内,根据设置的音程规则,为所述全音符随机生成四个四分音符,若当前遍历的全音符不在预设范围内,则遍历下一个全音符。
在一个实施例中,所述为每一个全音符随机生成四个四分音符,生成的所有四分音符构成与所述固定旋律对位的一条初始旋律之后,所述从n条固定旋律中选取另一条固定旋律之前,还包括:
将生成的初始旋律中第一小节的第一拍以及最后一小节的倒数三个音删除。
在一个实施例中,所述对位判断条件包括第一类判断条件、第二类判断条件和第三类判断条件;所述第一类判断条件用于描述初始旋律的音与对应固定旋律之间的音程必须满足的关系;所述第二类判断条件用于描述当初始旋律的音与对应固定旋律之间的音程满足预设关系时,初始旋律的音程禁止出现的情况;所述第三类判断条件用于描述初始旋律禁止出现的其它情况;
所述评分规则包括第一评分规则、第二评分规则和第三评分规则;所述第一评分规则用于描述满足第一类判断条件时需增加的分数,不满足第一类判断条件时需减少的分数;所述第二评分规则用于描述满足第二类判断条件时需增加的分数,不满足第二类判断条件时需减少的分数;所述第三评分规则用于描述满足第三类判断条件时需增加的分数,不满足第三类判断条件时需减少的分数;
所述根据预设的对位判断条件以及评分规则,计算n条初始旋律的分数,包括:
从n条初始旋律中选取一条初始旋律;
分别判断所述初始旋律是否满足第一类判断条件、第二类判断条件和第三类判断条件,如果满足,则增加相应的分数,如果不满足,则减少相应的分数,根据增加的总分数以及减少的总分数得到所述初始旋律的分数;
从n条初始旋律中选取另一条初始旋律,返回分别判断所述初始旋律是否满足第一类判断条件、第二类判断条件和第三类判断条件的步骤,直至所有的初始旋律均被选取。
本申请的实施例根据第二个方面,还提供了一种旋律生成装置,包括:
初始旋律生成模块,用于根据输入的n条固定旋律,生成与n条固定旋律中每一条固定旋律对位的一条初始旋律,得到n条初始旋律;n为正整数;
分数计算模块,用于根据预设的对位判断条件以及评分规则,计算n条初始旋律的分数;
初始旋律选取模块,用于根据n条初始旋律的分数,从n条初始旋律中选取两条初始旋律;
交叉模块,用于对选取的两条初始旋律进行交叉,获得两条新的初始旋律,将选取的两条初始旋律更新为两条新的初始旋律;
最终旋律获取模块,用于在满足预设的迭代停止条件时,将n条初始旋律作为与对应固定旋律对位的最终旋律。
本申请的实施例根据第三个方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任意一项所述的旋律生成方法。
本申请的实施例根据第四个方面,还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任意一项所述的旋律生成方法。
上述的旋律生成方法、装置、计算机可读存储介质和计算机设备,通过生成初始旋律、计算初始旋律的分数、选取初始旋律进行交叉以及初始旋律更新的过程,实现了根据由全音符构成的固定旋律,自动生成由四分音符组成的对位的旋律,提高了旋律生成的效率和准确度。
本申请附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为现有技术中基于第三类二声部对位法生成的一条对位旋律的示意图;
图2为本申请一个实施例的旋律生成方法的示意图;
图3为本申请一个实施例的旋律生成装置的示意图;
图4为本申请一个实施例的计算机设备的示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
如图2所示,为一实施例的旋律生成方法的示意图,该方法包括:
S110、根据输入的n条固定旋律,生成与n条固定旋律中每一条固定旋律对位的一条初始旋律,得到n条初始旋律;n为正整数。
固定旋律C.F由全音符构成,本申请即要为这些固定旋律生成对位的旋律。正整数n可以根据实际需要进行确定,考虑到后续步骤需要选取两条初始旋律进行交叉,因此,优选的,n大于1。针对每一条固定旋律,生成与该固定旋律对位的一条初始旋律,那么输入n条固定旋律,就可以得到n条初始旋律。生成的对位的初始旋律可以在对应固定旋律的上方,也可以在对应固定旋律的下方等,本申请并不对此做出限定。
在一个实施例中,所述根据输入的n条固定旋律,生成与n条固定旋律中每一条固定旋律对位的一条初始旋律,得到n条初始旋律,包括:
从n条固定旋律中选取一条固定旋律;
依次遍历所述固定旋律中每一小节的全音符,根据设置的音程规则,为每一个全音符随机生成四个四分音符,生成的所有四分音符构成与所述固定旋律对位的一条初始旋律;
从n条固定旋律中选取另一条固定旋律,返回依次遍历所述固定旋律中每一小节的全音符的步骤,直至所有的固定旋律均被选取;
其中,所述音程规则包括:初始旋律的每一小节的强拍(第一拍)的音,与对应该小节的固定旋律的全音符之间的音程关系必须为协和音程,即大小三度、纯五度、大小六度、纯八度及其复合音程;初始旋律的次强拍(第三拍)和弱拍(第二、四拍)分别包括协和音程、不协和音程以及不协和音程的复合音程。
应当理解的是,本申请并不对音程规则包括的内容进行限定,还可以根据实际需要添加或者删除其它规则。
为了快速生成旋律,可选的,所述依次遍历所述固定旋律中每一小节的全音符,根据设置的音程规则,为每一个全音符随机生成四个四分音符,包括:依次遍历所述固定旋律中每一小节的全音符,若当前遍历的全音符在预设范围内,如在C自然大调音阶[CDEFGAB]体系下,预设范围指的是从A3到E5共19个音的范围,根据设置的音程规则,为所述全音符随机生成四个四分音符,若当前遍历的全音符不在预设范围内,不为该全音符生成四个四分音符,则遍历下一个全音符。
考虑到第三类二声部对位法规定对位的旋律(即初始旋律)的第一小节第一拍是空拍,最后一小节为全音符,因此,在一个实施例中,所述为每一个全音符随机生成四个四分音符,生成的所有四分音符构成与所述固定旋律对位的一条初始旋律之后,所述从n条固定旋律中选取另一条固定旋律之前,还包括:将生成的初始旋律中第一小节的第一拍以及最后一小节的倒数三个音删除。
S120、根据预设的对位判断条件以及评分规则,计算n条初始旋律的分数。
每个初始旋律所得的分数(适应度)将决定其在之后步骤中的被挑选的几率。设置的对位判断条件用于确定生成的初始旋律与对应固定旋律之间对位的程度,可以实际需要进行设置。评分规则用于描述满足对位判断条件所应添加的分数和不满足对位条件时所应减少的分数。根据对位判断条件和评分规则,计算出每一条初始旋律的分数。
基于效率性与可编码性的考虑,设置的判断条件分为三类,即,在一个实施例中,所述对位判断条件包括第一类判断条件、第二类判断条件和第三类判断条件;所述第一类判断条件用于描述初始旋律的音与对应固定旋律之间的音程必须满足的关系;所述第二类判断条件用于描述当初始旋律的音与对应固定旋律之间的音程满足预设关系时,初始旋律的音程禁止出现的情况;所述第三类判断条件用于描述初始旋律禁止出现的其它情况。为了描述方便,将第一类判断条件称之为必须满足,将第二类判断条件称之为禁止,将第三类判断条件称之为尽量避免。
为了更好的理解上述三类判断条件,下面针对每一类判断条件均给出对应的示例,应当理解的是,每一类判断条件并不限制于下述示例。
1.必须满足
11.初始旋律的第一个音与固定旋律C.F间的音程为纯五度,或纯八度及纯八度的复合音程;
12.初始旋律的最后一个音与固定旋律C.F间的音程为纯八度及纯八度的复合音程;
13.初始旋律的倒数第二小节的最后一个音(第四拍)与固定旋律C.F间的音程为协和音程。
2.禁止
21.当初始旋律一个小节的第一个音与固定旋律C.F间形成纯五度或纯八度及纯八度的复合音程关系时,初始旋律的下一个小节的第一拍禁止出现与前一小节第一拍相同的音程,避免出现前后平行五度和平行八度关系。
3.尽量避免
31.初始旋律的相邻小节的第一拍,禁止连续出现多次相同音,也即是,初始旋律的相邻小节的第一拍,最多连续出现一次相同音;
32.初始旋律的重复音禁止过多(如超过三分之一);
33.初始旋律的相邻音之间禁止大跳进过多;
34.初始旋律禁止存在大七度、九度、增四度(减五度)的跳进。
针对每一类判断条件,分别设置评分规则,即,在一个实施例中,所述评分规则包括第一评分规则、第二评分规则和第三评分规则;所述第一评分规则用于描述满足第一类判断条件时需增加的分数,不满足第一类判断条件时需减少的分数;所述第二评分规则用于描述满足第二类判断条件时需增加的分数,不满足第二类判断条件时需减少的分数;所述第三评分规则用于描述满足第三类判断条件时需增加的分数,不满足第三类判断条件时需减少的分数。例如,设置加减分两项,三类规则的加减分分别是必须满足(加1分,减0.1分),禁止(加0.1分,减1分)和尽量避免(加0.3分,减0.7分)。
在一个实施例中,所述根据预设的对位判断条件以及评分规则,计算n条初始旋律的分数,包括:
从n条初始旋律中选取一条初始旋律;
分别判断所述初始旋律是否满足第一类判断条件、第二类判断条件和第三类判断条件,如果满足,则增加相应的分数,如果不满足,则减少相应的分数,根据增加的总分数以及减少的总分数得到所述初始旋律的分数;
从n条初始旋律中选取另一条初始旋律,返回分别判断所述初始旋律是否满足第一类判断条件、第二类判断条件和第三类判断条件的步骤,直至所有的初始旋律均被选取。
本实施例中,针对每一条初始旋律,判断初始旋律是否满足上述设置的三类规则,如果满足,则加相应的分数,如果不满足,则减相应的分数,判断完成后增加的总分数以及减少的总分数的差所得的最终的分数则为该条初始旋律的分数。另外,在计算分数时,也可以先预设一个固定的基础分数,然后在该基础分数中根据判断的结果进行分数的添加或者减少,三个判断条件均判断完成后,最终的得分为初始旋律的分数。
S130、根据n条初始旋律的分数,从n条初始旋律中选取两条初始旋律。
如上所述,每个初始旋律所得的分数(适应度)将决定其在之后步骤中的被挑选的几率。原则上,初始旋律的分数越高,则被挑选的几率越大。在一个实施例中,所述根据n条初始旋律的分数,从n条初始旋律中选取两条初始旋律,包括:
S1301、根据n条初始旋律的分数,计算出n条初始旋律被选取的比例;
S1302、根据n条初始旋律被选取的比例,从n条初始旋律中选取两条初始旋律。
本实施例中,采用轮盘赌选择法来进行选择,避免互相交叉数代后差异性减小失去多样性。根据得到的n条初始旋律的分数,可选的,根据公式:一条初始旋律的分数/所有条初始旋律的分数之和,计算出每条初始旋律被选取的比例,根据每条初始旋律被选取的比例,制成一个饼状图,每条初始旋律就是一个扇形,其在饼状图中的面积与其被选取的比例相关。每一次的选择相当于在圆盘上旋转指针,指针落在的那片区域就代表选择某条初始旋律。进行两次随机选择,选择出来的两条初始旋律作为亲本,这种方法也叫随机普遍选择法。
S140、对选取的两条初始旋律进行交叉,获得两条新的初始旋律,将选取的两条初始旋律更新为两条新的初始旋律。
将步骤S130获得的两个亲本作为父母,进行交叉,也就是生物学中的交配,得到两条新的初始旋律(即后代旋律)。在进行交叉时,可选的,选取双方亲本旋律的一半进行融合,可以得到两个后代旋律,称之为单点交叉。将选取的两条初始旋律替换为两个后代旋律。
应当理解的是,本申请并不对交叉的方法进行限定,用户还可以根据需要采取其它交叉方法。
S150、若满足预设的迭代停止条件,将n条初始旋律作为与对应固定旋律对位的最终旋律。
迭代停止条件可以根据需要进行设置。例如,迭代停止条件为迭代次数达到预设次数,例如100,则步骤S140执行完成后迭代次数加1,判断加1后的当前迭代次数是否达到预设次数,如果达到,则满足迭代停止条件,如果还未达到,则不满足迭代停止条件。如果满足迭代停止条件,则此时n条初始旋律为与n条固定旋律对位的由四分音符构成的最终旋律。
在一个实施例中,所述将选取的两条初始旋律更新为两条新的初始旋律之后,还包括:若不满足预设的迭代停止条件,返回根据预设的对位判断条件以及评分规则,计算n条初始旋律的分数的步骤,直至满足预设的迭代停止条件。
本实施例中,如果不满足迭代停止条件,重新计算n条初始旋律的分数,其中,在计算分数时,两条后代旋律(新的初始旋律)与两个亲本对应的固定旋律对应,例如,将一个后代旋律A作为一个亲本A的后代,将另一个后代旋律B作为另一个亲本B的后代,则后代旋律A和亲本A对应同一条固定旋律,计算分数时后代旋律A和亲本A对应的固定旋律进行比较,后代旋律B和亲本B对应同一条固定旋律,计算分数时后代旋律B和亲本B对应的固定旋律进行比较。重新计算出n条初始旋律的分数后,重新选取两条初始旋律进行交叉以及更新等等,依次循环,直至满足迭代停止条件。
基于同一发明构思,本申请还提供一种旋律生成装置,下面结合附图对本申请装置的具体实施方式进行详细介绍。
如图3所示,为一实施例的旋律生成装置的示意图,该装置包括:
初始旋律生成模块210,用于根据输入的n条固定旋律,生成与n条固定旋律中每一条固定旋律对位的一条初始旋律,得到n条初始旋律;n为正整数;
分数计算模块220,用于根据预设的对位判断条件以及评分规则,计算n条初始旋律的分数;
初始旋律选取模块230,用于根据n条初始旋律的分数,从n条初始旋律中选取两条初始旋律;
交叉模块240,用于对选取的两条初始旋律进行交叉,获得两条新的初始旋律,将选取的两条初始旋律更新为两条新的初始旋律;
最终旋律获取模块250,用于在满足预设的迭代停止条件时,将n条初始旋律作为与对应固定旋律对位的最终旋律。
在一个实施例中,最终旋律获取模块250用于在不满足预设的迭代停止条件,进入分数计算模块220根据预设的对位判断条件以及评分规则,计算n条初始旋律的分数的功能,直至满足预设的迭代停止条件。
在一个实施例中,初始旋律选取模块230用于根据n条初始旋律的分数,计算出n条初始旋律被选取的比例;根据n条初始旋律被选取的比例,从n条初始旋律中选取两条初始旋律。
在一个实施例中,初始旋律生成模块210包括:
固定旋律选取单元,用于从n条固定旋律中选取一条固定旋律;
初始旋律生成单元,用于依次遍历所述固定旋律中每一小节的全音符,根据设置的音程规则,为每一个全音符随机生成四个四分音符,生成的所有四分音符构成与所述固定旋律对位的一条初始旋律;
固定旋律选取单元从n条固定旋律中选取另一条固定旋律,进入初始旋律生成单元执行依次遍历所述固定旋律中每一小节的全音符的功能,直至所有的固定旋律均被选取;
其中,所述音程规则包括:初始旋律的每一小节的强拍的音,与对应该小节的固定旋律的全音符之间的音程关系必须为协和音程;初始旋律的次强拍和弱拍分别包括协和音程、不协和音程以及不协和音程的复合音程。
在一个实施例中,初始旋律生成单元依次遍历所述固定旋律中每一小节的全音符,在当前遍历的全音符在预设范围内时,根据设置的音程规则,为所述全音符随机生成四个四分音符,在当前遍历的全音符不在预设范围内时,遍历下一个全音符。
在一个实施例中,初始旋律生成单元在为每一个全音符随机生成四个四分音符,生成的所有四分音符构成与所述固定旋律对位的一条初始旋律之后,还用于将生成的初始旋律中第一小节的第一拍以及最后一小节的倒数三个音删除。
在一个实施例中,所述对位判断条件包括第一类判断条件、第二类判断条件和第三类判断条件;所述第一类判断条件用于描述初始旋律的音与对应固定旋律之间的音程必须满足的关系;所述第二类判断条件用于描述当初始旋律的音与对应固定旋律之间的音程满足预设关系时,初始旋律的音程禁止出现的情况;所述第三类判断条件用于描述初始旋律禁止出现的其它情况;
所述评分规则包括第一评分规则、第二评分规则和第三评分规则;所述第一评分规则用于描述满足第一类判断条件时需增加的分数,不满足第一类判断条件时需减少的分数;所述第二评分规则用于描述满足第二类判断条件时需增加的分数,不满足第二类判断条件时需减少的分数;所述第三评分规则用于描述满足第三类判断条件时需增加的分数,不满足第三类判断条件时需减少的分数;
在一个实施例中,初始旋律选取模块230包括:
初始旋律选取单元,用于从n条初始旋律中选取一条初始旋律;
分数计算单元,用于分别判断所述初始旋律是否满足第一类判断条件、第二类判断条件和第三类判断条件,如果满足,则增加相应的分数,如果不满足,则减少相应的分数,根据增加的总分数以及减少的总分数得到所述初始旋律的分数;
初始旋律选取单元从n条初始旋律中选取另一条初始旋律,进入分数计算单元执行分别判断所述初始旋律是否满足第一类判断条件、第二类判断条件和第三类判断条件的功能,直至所有的初始旋律均被选取。
上述旋律生成装置的其它技术特征与上述旋律生成方法的技术特征相同,在此不予赘述。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任意一项所述的旋律生成方法。其中,所述存储介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random AcceSS Memory,随即存储器)、EPROM(EraSable ProgrammableRead-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically EraSableProgrammable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,存储介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。可以是只读存储器,磁盘或光盘等。
本申请实施例还提供一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任意一项所述的旋律生成方法。
图4为本申请计算机设备的结构示意图,包括处理器320、存储装置330、输入单元340以及显示单元350等器件。本领域技术人员可以理解,图4示出的结构器件并不构成对所有计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件。存储装置330可用于存储应用程序310以及各功能模块,处理器320运行存储在存储装置330的应用程序310,从而执行设备的各种功能应用以及数据处理。存储装置330可以是内存储器或外存储器,或者包括内存储器和外存储器两者。内存储器可以包括只读存储器、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)、快闪存储器、或者随机存储器。外存储器可以包括硬盘、软盘、ZIP盘、U盘、磁带等。本申请所公开的存储装置包括但不限于这些类型的存储装置。本申请所公开的存储装置330只作为例子而非作为限定。
输入单元340用于接收信号的输入,以及接收固定旋律等。输入单元340可包括触控面板以及其它输入设备。触控面板可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并根据预先设定的程序驱动相应的连接装置;其它输入设备可以包括但不限于物理键盘、功能键(比如播放控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。显示单元350可用于显示用户输入的信息或提供给用户的信息以及计算机设备的各种菜单。显示单元350可采用液晶显示器、有机发光二极管等形式。处理器320是计算机设备的控制中心,利用各种接口和线路连接整个电脑的各个部分,通过运行或执行存储在存储装置330内的软件程序和/或模块,以及调用存储在存储装置内的数据,执行各种功能和处理数据。
在一实施方式中,计算机设备包括一个或多个处理器320,以及一个或多个存储装置330,一个或多个应用程序310,其中所述一个或多个应用程序310被存储在存储装置330中并被配置为由所述一个或多个处理器320执行,所述一个或多个应用程序310配置用于执行以上实施例所述的旋律生成方法。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
应该理解的是,在本申请各实施例中的各功能单元可集成在一个处理模块中,也可以各个单元单独物理存在,也可以两个或两个以上单元集成于一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种旋律生成方法,其特征在于,包括:
根据输入的n条固定旋律,生成与n条固定旋律中每一条固定旋律对位的一条初始旋律,得到n条初始旋律;n为正整数;
根据预设的对位判断条件以及评分规则,计算n条初始旋律的分数;
根据n条初始旋律的分数,从n条初始旋律中选取两条初始旋律;
对选取的两条初始旋律进行交叉,获得两条新的初始旋律,将选取的两条初始旋律更新为两条新的初始旋律;
若满足预设的迭代停止条件,将n条初始旋律作为与对应固定旋律对位的最终旋律。
2.根据权利要求1所述的旋律生成方法,其特征在于,所述将选取的两条初始旋律更新为两条新的初始旋律之后,还包括:
若不满足预设的迭代停止条件,返回根据预设的对位判断条件以及评分规则,计算n条初始旋律的分数的步骤,直至满足预设的迭代停止条件。
3.根据权利要求1所述的旋律生成方法,其特征在于,所述根据n条初始旋律的分数,从n条初始旋律中选取两条初始旋律,包括:
根据n条初始旋律的分数,计算出n条初始旋律被选取的比例;
根据n条初始旋律被选取的比例,从n条初始旋律中选取两条初始旋律。
4.根据权利要求1所述的旋律生成方法,其特征在于,所述根据输入的n条固定旋律,生成与n条固定旋律中每一条固定旋律对位的一条初始旋律,得到n条初始旋律,包括:
从n条固定旋律中选取一条固定旋律;
依次遍历所述固定旋律中每一小节的全音符,根据设置的音程规则,为每一个全音符随机生成四个四分音符,生成的所有四分音符构成与所述固定旋律对位的一条初始旋律;
从n条固定旋律中选取另一条固定旋律,返回依次遍历所述固定旋律中每一小节的全音符的步骤,直至所有的固定旋律均被选取;
其中,所述音程规则包括:初始旋律的每一小节的强拍的音,与对应该小节的固定旋律的全音符之间的音程关系必须为协和音程;初始旋律的次强拍和弱拍分别包括协和音程、不协和音程以及不协和音程的复合音程。
5.根据权利要求4所述的旋律生成方法,其特征在于,所述依次遍历所述固定旋律中每一小节的全音符,根据设置的音程规则,为每一个全音符随机生成四个四分音符,包括:
依次遍历所述固定旋律中每一小节的全音符,若当前遍历的全音符在预设范围内,根据设置的音程规则,为所述全音符随机生成四个四分音符,若当前遍历的全音符不在预设范围内,则遍历下一个全音符。
6.根据权利要求4所述的旋律生成方法,其特征在于,所述为每一个全音符随机生成四个四分音符,生成的所有四分音符构成与所述固定旋律对位的一条初始旋律之后,所述从n条固定旋律中选取另一条固定旋律之前,还包括:
将生成的初始旋律中第一小节的第一拍以及最后一小节的倒数三个音删除。
7.根据权利要求1至6任意一项所述的旋律生成方法,其特征在于,
所述对位判断条件包括第一类判断条件、第二类判断条件和第三类判断条件;所述第一类判断条件用于描述初始旋律的音与对应固定旋律之间的音程必须满足的关系;所述第二类判断条件用于描述当初始旋律的音与对应固定旋律之间的音程满足预设关系时,初始旋律的音程禁止出现的情况;所述第三类判断条件用于描述初始旋律禁止出现的其它情况;
所述评分规则包括第一评分规则、第二评分规则和第三评分规则;所述第一评分规则用于描述满足第一类判断条件时需增加的分数,不满足第一类判断条件时需减少的分数;所述第二评分规则用于描述满足第二类判断条件时需增加的分数,不满足第二类判断条件时需减少的分数;所述第三评分规则用于描述满足第三类判断条件时需增加的分数,不满足第三类判断条件时需减少的分数;
所述根据预设的对位判断条件以及评分规则,计算n条初始旋律的分数,包括:
从n条初始旋律中选取一条初始旋律;
分别判断所述初始旋律是否满足第一类判断条件、第二类判断条件和第三类判断条件,如果满足,则增加相应的分数,如果不满足,则减少相应的分数,根据增加的总分数以及减少的总分数得到所述初始旋律的分数;
从n条初始旋律中选取另一条初始旋律,返回分别判断所述初始旋律是否满足第一类判断条件、第二类判断条件和第三类判断条件的步骤,直至所有的初始旋律均被选取。
8.一种旋律生成装置,其特征在于,包括:
初始旋律生成模块,用于根据输入的n条固定旋律,生成与n条固定旋律中每一条固定旋律对位的一条初始旋律,得到n条初始旋律;n为正整数;
分数计算模块,用于根据预设的对位判断条件以及评分规则,计算n条初始旋律的分数;
初始旋律选取模块,用于根据n条初始旋律的分数,从n条初始旋律中选取两条初始旋律;
交叉模块,用于对选取的两条初始旋律进行交叉,获得两条新的初始旋律,将选取的两条初始旋律更新为两条新的初始旋律;
最终旋律获取模块,用于在满足预设的迭代停止条件时,将n条初始旋律作为与对应固定旋律对位的最终旋律。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至7中任意一项所述的旋律生成方法。
10.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1至7中任意一项所述的旋律生成方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910078735.9A CN109903744B (zh) | 2019-01-28 | 2019-01-28 | 旋律生成方法、装置、计算机可读存储介质和计算机设备 |
PCT/CN2019/117865 WO2020155762A1 (zh) | 2019-01-28 | 2019-11-13 | 旋律生成方法、装置、计算机可读存储介质和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910078735.9A CN109903744B (zh) | 2019-01-28 | 2019-01-28 | 旋律生成方法、装置、计算机可读存储介质和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109903744A true CN109903744A (zh) | 2019-06-18 |
CN109903744B CN109903744B (zh) | 2022-03-11 |
Family
ID=66944335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910078735.9A Active CN109903744B (zh) | 2019-01-28 | 2019-01-28 | 旋律生成方法、装置、计算机可读存储介质和计算机设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109903744B (zh) |
WO (1) | WO2020155762A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020155762A1 (zh) * | 2019-01-28 | 2020-08-06 | 平安科技(深圳)有限公司 | 旋律生成方法、装置、计算机可读存储介质和计算机设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130125732A1 (en) * | 2011-11-21 | 2013-05-23 | Paul Nho Nguyen | Methods to Create New Melodies and Music From Existing Source |
CN104464702A (zh) * | 2014-10-27 | 2015-03-25 | 叶煦舟 | 基于遗传算法的和弦伴奏生成方法 |
CN105374347A (zh) * | 2015-09-22 | 2016-03-02 | 中国传媒大学 | 一种基于混合算法的江南小调计算机辅助作曲的方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107644630B (zh) * | 2017-09-28 | 2020-07-28 | 北京灵动音科技有限公司 | 基于神经网络的旋律生成方法、装置及存储介质 |
CN109903744B (zh) * | 2019-01-28 | 2022-03-11 | 平安科技(深圳)有限公司 | 旋律生成方法、装置、计算机可读存储介质和计算机设备 |
-
2019
- 2019-01-28 CN CN201910078735.9A patent/CN109903744B/zh active Active
- 2019-11-13 WO PCT/CN2019/117865 patent/WO2020155762A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130125732A1 (en) * | 2011-11-21 | 2013-05-23 | Paul Nho Nguyen | Methods to Create New Melodies and Music From Existing Source |
CN104464702A (zh) * | 2014-10-27 | 2015-03-25 | 叶煦舟 | 基于遗传算法的和弦伴奏生成方法 |
CN105374347A (zh) * | 2015-09-22 | 2016-03-02 | 中国传媒大学 | 一种基于混合算法的江南小调计算机辅助作曲的方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020155762A1 (zh) * | 2019-01-28 | 2020-08-06 | 平安科技(深圳)有限公司 | 旋律生成方法、装置、计算机可读存储介质和计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109903744B (zh) | 2022-03-11 |
WO2020155762A1 (zh) | 2020-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11127311B2 (en) | Systems and methods for programming instruction | |
CN102810134B (zh) | 游戏装置、游戏方法 | |
DeVries et al. | A first course in computational physics | |
US10220303B1 (en) | Gesture-based music game | |
JP5351373B2 (ja) | 演奏装置および演奏制御プログラム | |
Kelly | Python, PyGame and raspberry Pi game development | |
CN109589603A (zh) | 游戏操作控制方法、装置、介质和计算机设备 | |
CN110772794B (zh) | 智能游戏处理方法、装置、设备及存储介质 | |
CN109903744A (zh) | 旋律生成方法、装置、计算机可读存储介质和计算机设备 | |
Lee et al. | Automated playtesting with a cognitive model of sensorimotor coordination | |
Mundt et al. | An evaluation of pie menus for system control in virtual reality | |
Leikas et al. | Virtual space computer games with a floor sensor control—human centred approach in the design process | |
JP3775313B2 (ja) | 電子楽譜の分析プログラム | |
Di Jasio | Programming 16-bit PIC Microcontrollers in C: Learning to Fly the PIC 24 | |
CN110517557A (zh) | 钢琴弹奏学习方法、系统及装置 | |
Spelchan | A deep learning based mixed initiative editor for game level generation | |
Lopes et al. | Multitouch interactive DJing surface | |
Sannemo | Principles of Algorithmic Problem Solving | |
Jin et al. | Shape of Music: AR-based Tangible Programming Tool for Music Visualization | |
CN106029188A (zh) | 游戏程序、游戏装置、游戏控制方法 | |
JP2016140727A (ja) | プログラムおよびゲーム装置 | |
Kye et al. | Gesture Recognition for Educational Games: Magic Touch Math | |
Chiricota et al. | IMTool: an open framework for interactive music composition | |
Kin | Investigating the design and development of multitouch applications | |
Caronongan III | Classifying Rhythm Game Chart Difficulty Level Using Hidden Markov Models |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |