一种基于蒙特卡洛树搜索的音乐生成方法

文档序号:1965015 发布日期:2021-12-14 浏览:12次 >En<

阅读说明:本技术 一种基于蒙特卡洛树搜索的音乐生成方法 (Music generation method based on Monte Carlo tree search ) 是由 殷渝杰 王越 姚奕芃 罗中祺 王子俊 廖奕凯 李伟睿 陈晨兆阳 张雨骁 于 2021-08-25 设计创作,主要内容包括:本发明涉及音乐技术领域,且公开了一种基于蒙特卡洛树搜索的音乐生成方法,所述方法是核心围绕调性、曲式、和声和节奏旋律组成,曲子采用4/4拍节奏,速度为120,规定固定长度的歌曲结构A、B、C…等都为16小节长度;本发明相较于传统的创作方式,将创作方式完全的移植到终端设备上,用户在进行创作的时候,直接在电脑上就行操作即可,然后根据其中预设的一些程序即可自动的生成对应的音乐,从而使音乐创作更加的方便快捷,大大减少了音乐创作所用到的工具,使用户可以随时随地的进行音乐创作。(The invention relates to the technical field of music and discloses a music generation method based on Monte Carlo tree search, which is characterized in that the method is composed of a core tone, a melody, a harmony sound and a rhythm melody, wherein the melody adopts 4/4 beat rhythm, the speed is 120, and the specified song structure A, B, C … with fixed length and the like are all 16 bar lengths; compared with the traditional creation mode, the method and the system have the advantages that the creation mode is completely transplanted to the terminal equipment, a user can directly operate on a computer when creating, and then the corresponding music can be automatically generated according to some preset programs, so that the music creation is more convenient and faster, tools used by the music creation are greatly reduced, and the user can perform the music creation anytime and anywhere.)

一种基于蒙特卡洛树搜索的音乐生成方法

技术领域

本发明涉及音乐技术领域,具体为一种基于蒙特卡洛树搜索的音乐生成方法。

背景技术

音乐是一种艺术形式和文化活动,其媒介是按时组织的、有规律的声波,它的基本要素包括强弱、调性、时长、音色等。由这些基本要素相互结合,形成音乐的常用的“形式要素”,例如:节奏、曲调、和声,以及力度、速度、调式、曲式、织体等。构成音乐的形式要素,就是音乐的表现手段。不同类型音乐可能会强调或忽略其中的某些元素。音乐是用各种各样的乐器和声乐技术演奏,分为器乐、声乐以及将唱歌和乐器结合在一起的作品,现在的音乐的创作分为乐器直接创作和乐器与电脑的结合进行创作,但无论哪一种方式,都离不开乐器的参与,这样在进行音乐创作的时候,用到的工具较为繁琐,不利于用户快速方便的对音乐进行创作。

发明内容

(一)解决的技术问题

针对现有技术的不足,本发明提供了一种基于蒙特卡洛树搜索的音乐生成方法,解决了上述背景技术中所存在的问题。

(二)技术方案

为实现上述目的,本发明提供如下技术方案:一种基于蒙特卡洛树搜索的音乐生成方法,所述方法核心围绕调性、曲式、和声和节奏旋律组成,曲子采用4/4拍节奏,速度为120,规定歌曲结构A、B、C…都为16小节长度,所述方法包括以下步骤:

S1、生成调性:用户选择曲子调性;

S2、生成曲式:用户输入一个数字作为结构中出现的段落总数,返回相对应的结构,例如,输入数字3,返回结构为A-B-A;输入数字5,返回结构为A-B-A-C-A等;

S3、生成和声:首先按照3、7、9和弦的定义列出和弦结构,然后按照斯波索宾和声学中的内容,先在小曲式中生成2、4、8个和声进行,如果是2个和声,一个和声占2小节,8个和声,一个和声占0.5个小节,其中,3、7和弦用于和声填充,9和弦用于旋律生成;

S4、生成曲子的节奏:在该步骤中,以两个小节为一个处理单位,根据4/4拍的节奏,即四分音符为一拍,每小节4拍,因此这个单位就有8个四分音符,但这8个四分音符并不全部发音,根据使用者给出的数字,在8个音符中选出哪些位置的音符发音,哪些位置的音符不发音,从而构成曲子的节奏;

S5、生成旋律:该步骤是在前面给定的节奏基础上,对选定的位置进行音符的填充,由于前面已经为曲子构建好一个和弦环境,为了使得旋律与和弦环境的配合更加和谐,这里采用重和弦里面取音的方式,从构成这个和弦的5个中随机挑选,任意排列组合,填入上一步选中的位置。

优选的,所述步骤S2中A为主歌,B为副歌,且在曲子中A出现的次数大于等于B,B出现的次数大于等于C,因此A是主要的,B是其次的,以此类推;其他字母表示与A、B不同的新的音乐段落,规定前面两个段落必须是A-B。

优选的,所述步骤S3中,每个和弦进行为一个序列,序列中和弦可以重复出现,但不得超过2次,并且序列中必须要有选定调性的一级和弦和六级和弦。

优选的,所述步骤S3中按照各种3、7、9和弦的定义生成列表,比如大3和弦就是[0,4,7]这样的结构,以此类推。

优选的,所述步骤S3中,单音组合音中最低的音称为和弦的根音,根音的音名可以与和弦对应。

优选的,所述步骤S5中的和弦为九和弦。

优选的,所述方法还包括,当生成最终的曲子之后,曲子输出了四轨音频,两轨作为曲子的主旋律,一轨作为钢琴伴奏,第四轨作为全曲的低音进行,用来压住曲子的高频。

(三)有益效果

本发明提供了一种基于蒙特卡洛树搜索的音乐生成方法,具备以下有益效果:

本发明相较于传统的创作方式,将创作方式完全的移植到终端设备上,音乐人在进行创作的时候,直接在电脑上就行操作即可,然后根据其中预设的一些程序即可自动的生成对应的音乐,从而使音乐创作更加的方便快捷,大大减少了音乐创作所用到的工具,使音乐人可以随时随地的进行音乐创作,避免了在寻找创作工具的过程中,导致音乐创作灵感丢失的情况。

具体实施方式

下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供一种技术方案:一种基于蒙特卡洛树搜索的音乐生成方法,方法核心围绕调性、曲式、和声和节奏旋律组成,曲子采用4/4拍节奏,速度为120,规定歌曲结构A、B、C…都为16小节长度,方法包括以下步骤:

S1、生成调性:用户选择曲子调性;

S2、生成曲式:用户输入一个数字作为结构中出现的段落总数,返回相对应的结构,例如,输入数字3,返回结构为A-B-A;输入数字5,返回结构为A-B-A-C-A等,其中,A为主歌,B为副歌,且在曲子中A出现的次数大于等于B,B出现的次数大于等于C,因此A是主要的,B是其次的,以此类推;其他字母表示与A、B不同的新的音乐段落,规定前面两个段落必须是A-B;

S3、生成和声:首先按照3、7、9和弦的定义列出和弦结构,然后按照斯波索宾和声学中的内容,先在小曲式中生成2、4、8个和声进行,如果是2个和声,一个和声占2小节,8个和声,一个和声占0.5个小节,其中,3、7和弦用于和声填充,9和弦用于旋律生成,每个和弦进行为一个序列,序列中和弦可以重复出现,但不得超过2次,并且序列中必须要有选定调性的一级和弦和六级和弦,按照各种3、7、9和弦的定义生成列表,比如大3和弦就是[0,4,7]这样的结构,以此类推,和弦音中最低的音称为和弦的根音,根音的音名可以与和弦对应;

S4、生成曲子的节奏:在该步骤中,以两个小节为一个处理单位,根据4/4拍的节奏,即四分音符为一拍,每小节4拍,因此这个单位就有8个四分音符,但这8个四分音符并不全部发音,根据使用者给出的数字,在8个音符中选出哪些位置的音符发音,哪些位置的音符不发音,从而构成曲子的节奏;

S5、生成旋律:该步骤是在前面给定的节奏基础上,对选定的位置进行音符的填充,由于前面已经为曲子构建好一个和弦环境,为了使得旋律与和弦环境的配合更加和谐,这里采用从和弦里面取音的方式,从构成这个九和弦的5个中随机挑选,任意排列组合,填入上一步选中的位置。

当生成最终的曲子之后,曲子输出了四轨音频,两轨作为曲子的主旋律,一轨作为钢琴伴奏,第四轨作为全曲的低音进行,用来压住曲子的高频。

方法还包括神经网络、骨干网络和结合部分,其中神经网络方面,将类似于MIDI的基于节拍的REMI表述方法中临近的相关的令牌(token)拼接成一个新的复合词(compoundword,以下简称“CP”)从而实现序列长度的压缩,让整首曲子的序列长度达到注意力机制可接受的范围之内。CP表述方法,即将力度,和弦,以及音高等音符信息拼接成一个CP,再将速度,节拍,小节等辅助信息和时间信息拼接到CP中。其次,将得到的CP映射到一个统一的高维向量上,即为上述六种符号都预留好一段长度,如果原CP中没有,就填入一个表示空的[ignore]符号。最后,使用一个线性层,将这个拼接后的高维向量线性变换到一个比较低的维度。

在实际的应用中,发现速度信息以及力度信息对于音乐生成来讲是不必要的,并且会对音高等关键信息的生成产生一定的干扰,因此在实际使用中,去掉了原模型中的力度以及速度信息。

将音高视作八度与12个音名的组合,而不是一个个单独的向量。Midi中一共是用来128个音高,对应过来一共就有11个八度(最后一个不完整)。在embedding(嵌入)时,初始化12个音名与11个八度,通过将两个向量拼接得到一个完整的音高。这样,我们就在一定程度上实现了将先验的乐理规则引入到神经网络中来。这样表述的好处有很多,比如,神经网络更容易找到相似但是八度不同的旋律之间的联系。并且,由于在数据分布中,每一个音高的出现概率是极不均匀的,有一些音高出现的概率极低,这就使得其单独训练出来的embedding表述效果不好,使得神经网络难以提取其中的信息。但是使用这种拼接的表述方法,表述具有了更好得泛化性。即使有些音高在数据集中出现很少,但是其对应的八度与音名的embedding都经过了大量的训练。这样就使得模型可以通过二者得组合,提取到这个音高对应的信息。

骨干网络方面,采用了Rotary Position Embedding(RoPE),这是一种通过复数构造出来的,可以适用于线性注意力的相对位置编码。

结合部分,将从人工智能所生成的旋律中选择4小节,并配上和声,这样就进入了S1-S5中的逻辑。同时也可以选择在人工智能生成一段30小节以上的乐曲中截取两个4小节用于不同段落的生成。由于人工智能生成的乐曲中包含了和声,所以可以直接删除Midi数(midi number)40以下的音符,如果有两个音同时出现的情况,取最高音作为旋律音。参照S5中的算法,取处于和声节奏中的旋律音,计算其音出现在哪个和弦中最多,就选择那个和弦作为其和声。一旦确定了和声,就进入了乐理算法的逻辑,可以进一步生成midi文件。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

6页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于深度学习的音乐流派分类方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!