System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 生成音乐数据的方法技术_技高网

生成音乐数据的方法技术

技术编号:39969010 阅读:12 留言:0更新日期:2024-01-09 00:38
公开了一种生成音乐片段的计算机实现的方法。该方法包括:确定音乐片段的初始音符序列;确定关于从候选音符集中选择至少一个后续音符的至少一个概率分布;基于初始音符序列的数据生成偏置输出;以及用根据概率分布和偏置输出从该候选音符集中选择的至少一个后续音符来扩展初始音符序列,其中,偏置输出将所述选择偏置以对所述选择产生由初始音符序列形成的音乐要素的重复的可能性造成影响。

【技术实现步骤摘要】

本公开内容涉及计算机实现的生成音乐片段的方法。


技术介绍

1、以往对生成音乐软件的尝试一般分成两类:一类是其音乐输出不包括使音乐令收听者愉悦所需的结构水平,因为这类软件不对输出应用产生这种结构所必需的规则和约束;另一类是将使用硬编码的规则和约束的结构合并至输出,这导致输出可被预测并且缺少在人类创作的音乐中发现的音乐质量和变化。

2、需要用于生成更复杂且在听觉上令人愉悦的音乐的方法,在这些方法中,以较长范围的重复(repeat)和节奏型(pattern)为特征,但保留了避免对输出的硬编码规则和约束的系统的音乐质量和变化。


技术实现思路

1、本文公开的实施方式提供了在机器生成的音乐中引入长期结构的方式。结构(structure)是由人类创作的音乐的关键方面,其在使音乐片段具有整体连贯感和意向性方面起关键作用。结构在音乐片段中表现为音乐模式的集合、这些模式的变化、字面或动机的重复以及在同一片段中较早出现的音乐乐节的转换。

2、权利要求中陈述了本专利技术。

3、在第一方面,提供了一种在一个或更多个时刻提供一个或更多个相应输出的计算机实现的方法。该方法包括:生成至少一个第一数据对象,该至少一个第一数据对象能够被执行以提供输出的第一部分,该至少一个第一数据对象包括具有第一值的参数,第一值与该至少一个第一数据对象相关联;将至少一个第一数据对象放置在序列中的第一位置;生成至少一个第二数据对象,该至少一个第二数据对象能够被执行以提供输出的第二部分;生成关于所述至少一个第二数据对象的所述参数的第二值的第一概率阵列,第一概率阵列受第一值影响;生成关于参数的第二值的第二概率阵列,第二概率阵列包括第二值等于第一值的概率;组合第一阵列和第二阵列以提供经修改的概率阵列;基于经修改的概率阵列确定并设置第二值;将所述至少一个第二数据对象放置在序列中的第二位置,第二位置提供输出的第二部分;以及输出位于序列中的第一位置和第二位置处的相应的至少一个第一数据对象和至少一个第二数据对象以提供输出,其中,至少一个第一数据对象和至少一个第二数据对象表示音频数据或midi数据。

4、可选地,输出第一数据对象和第二数据对象包括:播放音频数据或midi数据;或者存储音频数据以供播放;或者存储midi数据。

5、可选地,第一数据对象对应于第一音乐音符,并且第二数据对象对应于第二音乐音符。

6、可选地,该参数是音符音长,并且第一值和第二值是音符音长长度。

7、可选地,该参数是以下之一:音符音高、音符力度(dynamic)或音符运音法(articulation)。

8、可选地,第一数据对象还包括第一音高值,其中,第一音高值是第一音符音高。

9、可选地,第一概率阵列受第一值和第一音高值二者影响。

10、可选地,第二数据对象还包括第二音高值,其中,第二音高值是第二音符音高。

11、可选地,第一概率阵列由第一神经网络生成。

12、可选地,第一概率阵列是基于规则生成的。

13、可选地,第一数据对象对应于音乐片段的第一音符。

14、可选地,第二数据对象对应于音乐片段的第二音符。

15、可选地,序列中的第二位置直接跟随序列中的第一位置。

16、可选地,序列中的第二位置不直接跟随序列中的第一位置。

17、可选地,第二概率阵列由第二神经网络生成。

18、可选地,第二概率阵列是基于规则的。

19、可选地,第二神经网络是递归神经网络。

20、可选地,第二概率阵列包括多个向量,每个向量包括至少一个标签,该标签具有与向量相关联的概率。

21、可选地,第一标签限定第二值是否等于第一值。

22、可选地,第二标签标识第一数据对象。

23、可选地,第三标签标识第一值。

24、可选地,第四标签标识序列中的第一位置。

25、可选地,第五标签标识第一数据对象与先前数据对象之间的间隔。

26、在另一方面,提供了一种生成用于训练神经网络的输入的计算机实现的方法。该方法包括:接收音乐数据,该音乐数据对应于多个数据对象;识别音乐数据的至少一个参数,其中,多个数据对象中的第一数据对象和多个数据对象中的第二数据对象均具有针对所述至少一个参数的值;确定第一数据对象的值与第二数据对象的值相同;向第一数据对象和第二数据对象中的至少一者分配至少一个标签以指示该值;生成至少一个向量,该至少一个向量包括至少一个标签和对被分配有所述至少一个标签的数据对象的指示;以及将该至少一个向量提供为用于训练神经网络的输入。

27、可选地,第一数据对象和第二数据对象对应于音乐音符。

28、可选地,参数是位置、音长、音程或音高。

29、可选地,神经网络是递归神经网络。

30、在另一方面,提供了一种生成音乐片段的计算机实现的方法。该方法包括以下步骤:确定该音乐片段的初始音符时间序列;确定关于从候选音符集中选择至少一个后续音符的至少一个概率分布;基于初始音符序列的数据生成偏置输出;以及用根据概率分布和偏置输出从候选音符集选择的至少一个后续音符来扩展初始音符序列,其中,偏置输出将所述选择偏置以对该选择产生由初始音符序列形成的音乐结构要素的重复的可能性造成影响。

31、可选地,这些步骤构成迭代音乐生成过程的当前迭代。

32、在另一方面,提供了一种从音乐片段中提取音乐结构信息的计算机实现的方法。该方法包括:在处理级处接收音乐片段;处理该音乐片段以在该音乐片段中识别一组重复乐节,每个重复乐节是该音乐片段的较早乐节的重复;以及对于一组重复乐节中的每一个重复乐节,确定以下中的至少一者:音乐的重复乐节与音乐的较早乐节之间的音乐时长、重复的类型、以及较早乐节与重复乐节之间的移调值。

33、可选地,重复的类型可以是以下之一:音长重复、音程重复和音长音程重复。

34、在另一方面,提供了一种从音乐片段中提取音乐结构信息的计算机实现的方法。该方法包括:在处理级处接收音乐片段;以及生成针对该音乐片段的多个帧中的每个帧的向量,其中,每个帧出现在该音乐片段的小节内,并且向量包括指示在该小节内所述帧的音乐强度的强度指示符,该强度指示符是基于帧在小节内的位置而确定的。

35、可选地,该向量可以包括本文中所公开的任何另外的向量信息。

36、可选地,强度值是在音乐背景下帧在片段内所处位置的有用的指示符。

37、可选地,强度指示符可以指示例如节拍强度、小节强度或超节拍强度。

38、可选地,每个向量可以指示帧是否是重复乐节的一部分。

39、可选地,对于作为或形成重复乐节的一部分的帧,每个向量可以指示以下至少一者:重复的类型、移调值、以及较早乐节与重复乐节之间的音乐时长。

40、可选地,音乐片段可以是多个音乐片段中的一个,如上本文档来自技高网...

【技术保护点】

1.一种生成音乐片段的计算机实现的方法,所述方法包括:

2.根据权利要求1所述的方法,其中,所述偏置输出由结构生成器生成。

3.根据权利要求2所述的方法,其中,所述结构生成器是基于机器学习(ML)的结构生成器。

4.根据任一前述权利要求所述的方法,其中,所述至少一个概率分布由旋律生成器提供。

5.根据权利要求4所述的方法,其中,所述旋律生成器是基于机器学习(ML)的旋律生成器。

6.一种在一个或更多个时刻提供一个或更多个相应输出的计算机实现的方法,所述方法包括:

7.根据权利要求6所述的方法,其中,输出所述第一数据对象和所述第二数据对象包括:

8.根据权利要求6所述的方法,其中,所述第一数据对象对应于第一音乐音符,并且所述第二数据对象对应于第二音乐音符。

9.根据权利要求8所述的方法,其中,所述参数是音符音长,并且所述第一值和所述第二值是音符音长长度。

10.根据权利要求8所述的方法,其中,所述参数是以下之一:音符音高、音符力度或音符运音法。

11.根据权利要求6至10中任一项所述的方法,其中,所述第一数据对象还包括第一音高值,其中,所述第一音高值是第一音符音高。

12.根据权利要求11所述的方法,其中,所述第一概率阵列受所述第一值和所述第一音高值二者影响。

13.根据权利要求12所述的方法,其中,所述第二数据对象还包括第二音高值,其中,所述第二音高值是第二音符音高。

14.根据权利要求13所述的方法,其中,所述第一概率阵列由第一神经网络生成。

15.根据权利要求13所述的方法,其中,所述第一概率阵列是基于规则生成的。

16.根据权利要求15所述的方法,其中,所述第一数据对象对应于音乐片段的第一音符。

17.根据权利要求16所述的方法,其中,所述第二数据对象对应于音乐片段的第二音符。

18.权利要求17所述的方法,其中,所述序列中的所述第二位置直接跟随所述序列中的所述第一位置。

19.权利要求17所述的方法,其中,所述序列中的所述第二位置不直接跟随所述序列中的所述第一位置。

20.根据权利要求19中所述的方法,其中,所述第二概率阵列由第二神经网络生成。

21.根据权利要求19中所述的方法,其中,所述第二概率阵列是基于规则的。

22.根据权利要求20所述的方法,其中,所述第二神经网络是递归神经网络。

23.根据权利要求22所述的方法,其中,所述第二概率阵列包括多个向量,每个向量包括至少一个标签,所述至少一个标签具有与所述向量相关联的概率。

24.根据权利要求23所述的方法,其中,第一标签限定所述第二值是否等于所述第一值。

25.根据权利要求23所述的方法,其中,第二标签标识所述第一数据对象。

26.根据权利要求23所述的方法,其中,第三标签标识所述第一值。

27.权利要求23所述的方法,其中,第四标签标识所述序列中的所述第一位置。

28.根据权利要求23所述的方法,其中,第五标签标识所述第一数据对象与在前数据对象之间的间隔。

29.一种生成用于训练神经网络的输入的计算机实现的方法,所述方法包括:

30.根据权利要求29所述的方法,其中,所述第一数据对象和所述第二数据对象对应于音乐音符。

31.根据权利要求29或30所述的方法,其中,所述参数是位置、音长、音程或音高。

32.根据权利要求31中任一项所述的方法,其中,所述神经网络是递归神经网络。

33.一种计算机系统,包括数据处理级和存储器,所述存储器耦接至一个或更多个处理器并且被配置成存储可执行指令,当在所述一个或更多个处理器上执行所述可执行指令时,使所述一个或更多个处理器执行根据任一前述权利要求所述的方法。

34.一种计算机程序产品,包括存储在计算机可读存储介质上的可执行指令,所述可执行指令被配置成当在一个或更多个处理器上执行时使所述一个或更多个处理器执行根据任一前述权利要求所述的方法。

...

【技术特征摘要】

1.一种生成音乐片段的计算机实现的方法,所述方法包括:

2.根据权利要求1所述的方法,其中,所述偏置输出由结构生成器生成。

3.根据权利要求2所述的方法,其中,所述结构生成器是基于机器学习(ml)的结构生成器。

4.根据任一前述权利要求所述的方法,其中,所述至少一个概率分布由旋律生成器提供。

5.根据权利要求4所述的方法,其中,所述旋律生成器是基于机器学习(ml)的旋律生成器。

6.一种在一个或更多个时刻提供一个或更多个相应输出的计算机实现的方法,所述方法包括:

7.根据权利要求6所述的方法,其中,输出所述第一数据对象和所述第二数据对象包括:

8.根据权利要求6所述的方法,其中,所述第一数据对象对应于第一音乐音符,并且所述第二数据对象对应于第二音乐音符。

9.根据权利要求8所述的方法,其中,所述参数是音符音长,并且所述第一值和所述第二值是音符音长长度。

10.根据权利要求8所述的方法,其中,所述参数是以下之一:音符音高、音符力度或音符运音法。

11.根据权利要求6至10中任一项所述的方法,其中,所述第一数据对象还包括第一音高值,其中,所述第一音高值是第一音符音高。

12.根据权利要求11所述的方法,其中,所述第一概率阵列受所述第一值和所述第一音高值二者影响。

13.根据权利要求12所述的方法,其中,所述第二数据对象还包括第二音高值,其中,所述第二音高值是第二音符音高。

14.根据权利要求13所述的方法,其中,所述第一概率阵列由第一神经网络生成。

15.根据权利要求13所述的方法,其中,所述第一概率阵列是基于规则生成的。

16.根据权利要求15所述的方法,其中,所述第一数据对象对应于音乐片段的第一音符。

17.根据权利要求16所述的方法,其中,所述第二数据对象对应于音乐片段的第二音符。

18.权利要求17所述的方法,其中,所述序列中的所述第二位置直接跟随所述序列中的所...

【专利技术属性】
技术研发人员:加布里埃尔·梅多特斯里坎特·杰尔拉卡特琳娜·科斯塔马特·麦维卡萨默尔·阿卜杜拉马可·塞尔维埃德蒙·纽顿瑞克斯凯文·韦伯斯特
申请(专利权)人:字节跳动有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1