一种生成乐曲的方法、装置和设备

文档序号:1599995 发布日期:2020-01-07 浏览:24次 >En<

阅读说明:本技术 一种生成乐曲的方法、装置和设备 (Method, device and equipment for generating music ) 是由 周伟浩 关键 张喜梅 张亚鹏 肖彬 夏丁胤 余浩 于 2018-06-28 设计创作,主要内容包括:本发明公开了一种生成乐曲的方法,该方法包括:获取输入音频中的第一旋律信息;根据所述第一旋律信息和乐曲学习模型生成目标乐曲。本发明实施例提供的方法,当用户想要自己即时创作乐曲时,用户只需要创作出乐曲的一部分旋律,就可以基于用户输入的一部分旋律预测出乐曲的所有旋律,从而为用户提供自己参与创作而成的乐曲,使得用户可以自己参与创作而成的乐曲,表达自己内心的感受。此外,本发明还公开了一种生成乐曲的装置和设备。(The invention discloses a method for generating music, which comprises the following steps: acquiring first melody information in input audio; and generating the target music according to the first melody information and the music learning model. According to the method provided by the embodiment of the invention, when the user wants to compose the music in real time, the user only needs to create a part of melody of the music, and all the melody of the music can be predicted based on the part of melody input by the user, so that the music participated in the composition by the user is provided for the user, and the user can participate in the music authored by the user to express the feeling of the mind of the user. In addition, the invention also discloses a device and equipment for generating the music.)

一种生成乐曲的方法、装置和设备

技术领域

本发明涉及数据处理技术领域,特别是涉及一种生成乐曲的方法、装置和设备。

背景技术

目前,各种音乐类应用被用户普遍使用。常见的音乐类应用可以为用户查找并提供用户想要的音乐。具体地,对于现有的音乐类应用,服务器可以预先收集已完成创作的现成乐曲的音频,用户可以通过客户端从服务器预先收集到的音频中获得自己想要的乐曲音频。

随着用户对音乐的需求越来越个性化,用户有时可能想要自己即时创作一段乐曲。但由于用户往往存在乐曲创作方面不够专业、灵感不够充足、创作时间不足或当前没有乐器协助创作等方面的问题,用户往往无法创作出乐曲的所有旋律。在这种情况下,现有的音乐类应用无法为用户提供用户即时创作的乐曲。

发明内容

本发明所要解决的技术问题是,提供一种生成乐曲的方法、装置和设备,以基于用户输入的一部分旋律预测出乐曲的所有旋律,从而为用户提供自己参与创作而成的乐曲音频。

第一方面,本发明实施例提供了一种生成乐曲的方法,所述方法包括:

获取输入音频中的第一旋律信息;

根据所述第一旋律信息和乐曲学习模型生成目标乐曲,所述目标乐曲包括所述第一旋律信息和与所述第一旋律信息相匹配的第二旋律信息。

可选的,所述方法还包括:

获取第一历史旋律信息和与所述第一历史旋律信息相匹配的第二历史旋律信息;

依据所述第一历史旋律信息与所述第二历史旋律信息之间的对应关系,对所述乐曲学习模型进行训练。

可选的,所述根据所述第一旋律信息和乐曲学习模型生成目标乐曲,包括:

获取所述第一旋律信息对应的第一音符串,将所述第一音符串输入至所述乐曲学习模型,得到所述乐曲学习模型生成的第二音符串;

判断所述第二音符串是否满足预设条件;

若所述第二音符串满足预设条件,基于所述第二音符串确定目标乐曲。

可选的,所述预设条件为所述第二音符串对应的旋律时长达到所述目标乐曲的预设时长。

可选的,所述根据所述第一旋律信息和乐曲学习模型生成目标乐曲,包括:

在多个预置的引子旋律中查找与所述第一旋律信息相匹配的目标引子旋律;

将所述目标引子旋律输入至所述乐曲学习模型中,得到所述乐曲学习模型生成的所述目标乐曲;

其中,所述乐曲学习模型预先基于所述引子旋律与历史乐曲中的完整旋律信息之间的对应关系进行训练。

可选的,所述乐曲学习模型包括多个,所述依据所述第一历史旋律信息与所述第二历史旋律信息之间的对应关系,对所述乐曲学习模型进行训练,包括:

获取不同乐曲类型的所述第一历史旋律信息和所述第二历史旋律信息;

根据所述乐曲类型、所述第一历史旋律信息与所述第二历史旋律信息之间的对应关系,训练得到不同乐曲类型的所述乐曲学习模型。

可选的,所述根据所述第一旋律信息和乐曲学习模型生成目标乐曲,包括:

响应于用户的选择操作,从所述乐曲学习模型中确定第一目标乐曲学习模型;

根据所述第一旋律信息和所述第一目标乐曲学习模型生成所述目标乐曲。

可选的,所述根据所述第一旋律信息和乐曲学习模型生成目标乐曲,包括:

获取用户的历史行为数据,从所述历史行为数据中提取历史乐曲信息;

确定所述历史乐曲信息对应的第二乐曲类型,从所述乐曲学习模型中获取与所述乐曲类型相匹配的第二目标乐曲学习模型;根据所述第一旋律信息和所述第二目标乐曲学习模型生成所述目标乐曲。

可选的,所述获取输入音频中的第一旋律信息,包括:

获取输入音频;

若所述输入音频的格式不为midi格式,将所述输入音频转换为midi格式,得到midi格式的输入音频;

从所述midi格式的输入音频中提取所述第一旋律信息。

可选的,所述方法还包括:

响应用户对于所述目标乐曲的编辑操作,按照所述编辑操作对所述目标乐曲进行编辑;

或者,

根据预设的编辑规则,对所述目标乐曲进行编辑。

可选的,所述方法还包括:

响应于用户对于所述目标乐曲的操作,将所述目标乐曲作为历史乐曲。

第二方面,本发明实施例提供了一种生成乐曲的装置,所述装置包括:获取单元和生成单元;

所述获取单元,用于获取输入音频中的第一旋律信息;

所述生成单元,用于根据所述第一旋律信息和乐曲学习模型生成目标乐曲,所述目标乐曲包括所述第一旋律信息和与所述第一旋律信息相匹配的第二旋律信息。

可选的,所述装置还包括:训练单元;

所述获取单元,还用于获取第一历史旋律信息和与所述第一历史旋律信息相匹配的第二历史旋律信息;

所述训练单元,还用于依据所述第一历史旋律信息与所述第二历史旋律信息之间的对应关系,对所述乐曲学习模型进行训练。

可选的,所述生成单元,还用于获取所述第一旋律信息对应的第一音符串,将所述第一音符串输入至所述乐曲学习模型,得到所述乐曲学习模型生成的第二音符串;判断所述第二音符串是否满足预设条件;若所述第二音符串满足预设条件,基于所述第二音符串确定目标乐曲。

可选的,所述预设条件为所述第二音符串对应的旋律时长达到所述目标乐曲的预设时长。

可选的,所述生成单元,还用于在多个预置的引子旋律中查找与所述第一旋律信息相匹配的目标引子旋律;将所述目标引子旋律输入至所述乐曲学习模型中,得到所述乐曲学习模型生成的所述目标乐曲;

其中,所述乐曲学习模型预先基于所述引子旋律与历史乐曲中的完整旋律信息之间的对应关系进行训练。

可选的,所述乐曲学习模型包括多个,所述训练单元,还用于获取不同乐曲类型的所述第一历史旋律信息和所述第二历史旋律信息;根据所述乐曲类型、所述第一历史旋律信息与所述第二历史旋律信息之间的对应关系,训练得到不同乐曲类型的所述乐曲学习模型。

可选的,所述生成单元,还用于响应于用户的选择操作,从所述乐曲学习模型中确定第一目标乐曲学习模型;根据所述第一旋律信息和所述第一目标乐曲学习模型生成所述目标乐曲。

可选的,所述生成单元,还用于获取用户的历史行为数据,从所述历史行为数据中提取历史乐曲信息;确定所述历史乐曲信息对应的第二乐曲类型,从所述乐曲学习模型中获取与所述乐曲类型相匹配的第二目标乐曲学习模型;根据所述第一旋律信息和所述第二目标乐曲学习模型生成所述目标乐曲。

可选的,所述获取单元,还用于获取输入音频;若所述输入音频的格式不为midi格式,将所述输入音频转换为midi格式,得到midi格式的输入音频;从所述midi格式的输入音频中提取所述第一旋律信息。

可选的,所述装置还包括:编辑单元;

所述编辑单元,用于响应用户对于所述目标乐曲的编辑操作,按照所述编辑操作对所述目标乐曲进行编辑;或者,根据预设的编辑规则,对所述目标乐曲进行编辑。

可选的,所述装置还包括:确定单元;

所述确定单元,用于响应于用户对于所述目标乐曲的操作,将所述目标乐曲作为历史乐曲。

第三方面,本发明实施例还提供了一种生成乐曲设备,其特征在于,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于执行上述第一方面中任意一项所述生成乐曲的方法。

第四方面,本发明实施例还提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述第一方面中任意一项所述生成乐曲的方法。

与现有技术相比,本发明实施例具有以下优点:

根据本发明实施方式提供的方法,可以先获取输入音频中的第一旋律信息,然后,根据所述第一旋律信息和乐曲学习模型生成目标乐曲。可见,本发明实施例中,当用户想要自己即时创作乐曲时,用户只需要创作出乐曲的一部分旋律,就可以基于用户输入的一部分旋律预测出乐曲的所有旋律,从而为用户提供自己参与创作而成的乐曲,使得用户可以自己参与创作而成的乐曲,表达自己内心的感受。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例中一个示例性应用场景的框架示意图;

图2为本发明实施例中一种生成乐曲的方法的流程示意图;

图3为本发明实施例中一种确定目标旋律信息方法的流程示意图;

图4为本发明实施例中一种目标乐曲学习模型的结构示意图;

图5为本发明实施例中一种生成乐曲的装置的结构示意图;

图6为本发明实施例中一种生成乐曲的设备的结构示意图;

图7为本发明实施例中一种服务器的结构示意图。

具体实施方式

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

发明人经过研究发现随着用户对乐曲的需求越来越个性化,用户有时可能想要自己即时创作一段乐曲,来表达自己内心的感受。然而,由于用户往往存在乐曲创作方面不够专业、灵感不够充足、创作时间不足或当前没有乐器协助创作等方面的问题,用户往往无法创作出乐曲的所有旋律。在这种情况下,现有的音乐类应用无法为用户提供用户即时创作的乐曲音频。

为了解决上述问题,在本发明实施例中,当用户想要自己即时创作乐曲时,可以先获取用户输入的第一旋律信息,然后,可以根据该第一旋律信息和乐曲学习模型生成目标乐曲。例如,用户的输入第一旋律信息包括了四个音符,则乐曲学习模型可以根据包括这四个音符的第一旋律信息,生成包括这四个音符的目标乐曲。这样,只需要用户创作出乐曲的一部分旋律,就可以基于这一部分旋律预测出乐曲的所有旋律,从而可以为用户提供自己参与创作而成的乐曲,使得用户可以自己参与创作而成的乐曲,表达自己内心的感受。

举例说明,本发明实施例可以应用到如图1所示的场景。在该场景中,终端设备102可以是手机、ipad、台式电脑等任一具有输入音频功能(比如具有麦克风)的设备,首先,用户101可以利用终端设备102中的麦克风输入音频,并可以在终端设备102上对该输入音频进行操作,以触发终端设备102基于该输入音频中的第一旋律信息生成目标乐曲。终端设备102可以响应用户101的该操作,将该输入音频中的第一旋律信息向服务器103发送。然后,服务器103可以获取该第一旋律信息,且服务器103中的乐曲学习模型可以根据该第一旋律信息生成目标乐曲。最后,服务器103可以将该目标乐曲向终端设备102发送,以使得终端设备102可以向用户101播放该目标乐曲。

可以理解的是,在上述应用场景中,虽然将本发明实施方式的动作描述为由服务器103执行,但是这些动作也可以部分由终端设备102执行、部分由服务器103执行,或者完全由终端设备102执行。本发明在执行主体方面不受限制,只要执行了本发明实施方式所公开的动作即可。

需要注意的是,上述应用场景仅是为了便于理解本发明而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。

下面结合附图,详细说明本发明的各种非限制性实施方式。

示例性方法

参见图2,示出了本发明实施例中的一种生成乐曲的方法。在本实施例中,所述方法例如可以包括以下步骤:

S201:获取输入音频中的第一旋律信息。

本实施例中,目标用户可以输入音频以输入第一旋律信息。其中,目标用户的输入音频可以是目标用户终端设备输入的音频,比如,可以是目标用户终端设备中的麦克风哼唱的录音音频,也可以是目标用户终端设备中的键盘输入音符而合成的音频,还可以是目标用户的终端设备中预先存储的一段音频。其中,该输入音频可以是MP3格式、wav格式等音频文件。

需要说明的是,旋律信息可以是包括音符串的信息,而第一旋律信息可以是包括输入音频中的音符串的信息。例如,第一旋律信息可以是从输入音频中提取出的TFRecord格式的文件,举例来说,可以先将输入音频转换成TFRecord格式的文件,然后,从该TFRecord格式的文件中分别提取出代表旋律的数据和代表复音的数据,接着,可以将代表旋律的数据和代表复音的数据分别形成TFRecord格式的旋律文件和TFRecord格式的复音文件,这样,便可以将该TFRecord格式的旋律文件和该TFRecord格式的复音文件作为第一旋律信息。

举例来说,在用户通过手机中的麦克风哼唱一段旋律“3(咪)4(法)5(嗦)1(哆)”,生成录音音频(即输入音频)后,可以响应于用户对该录音音频的触发操作,将该录音音频转换成TFRecord格式的文件,接着,从该TFRecord格式的文件中,提取出该录音音频中的包括音符串“3451”的第一旋律信息。

S202:根据所述第一旋律信息和乐曲学习模型生成目标乐曲。

本实施例中,获取到输入音频中的第一旋律信息后,可以根据该第一旋律信息,通过乐曲学习模型生成目标乐曲,其中,目标乐曲可以是乐曲曲谱或者音频文件。目标乐曲可以包括第一旋律信息和与第一旋律信息相匹配的第二旋律信息,例如,该目标乐曲可以包括该第一旋律信息和连接在该第一旋律信息之后的后续旋律信息,即第二旋律信息可以是连接在该第一旋律信息之后的后续旋律信息,或者,该目标乐曲可以包括该第一旋律信息和为该第一旋律信息补充润色的旋律信息,即第二旋律信息也可以是为该第一旋律信息补充润色的旋律信息(比如第二旋律信息可以是为第一旋律信息增加的和弦信息等)。其中,乐曲学习模型可以是能够根据旋律信息生成乐曲的深度学习模型,例如可以是RNN模型。

需要说明的是,本实施例提供了多种根据第一旋律信息和乐曲学习模型得到目标乐曲的方式。接下来,将针对其中两种如何根据第一旋律信息和乐曲学习模型得到目标乐曲的实现方式进行说明。

在一种可能的实现方式中,可以将所述第一旋律信息输入所述乐曲学习模型中,得到所述乐曲学习模型生成的所述目标乐曲。其中,乐曲学习模型可以是预先基于第一历史旋律信息与第二历史旋律信息之间的对应关系进行了训练。具体地,在本方式中,可以先获取第一历史旋律信息和与第一历史旋律信息相匹配的第二历史旋律信息,接着,依据该第一历史旋律信息与该第二历史旋律信息之间的对应关系对该乐曲学习模型进行训练。需要说明的是,在历史乐曲的完整旋律信息中,该第二历史旋律信息可以连接在该第一历史旋律信息之后,或者该第二历史旋律信息可以包括第一历史旋律信息和连接在该第一历史旋律信息之后的历史后续旋律信息,又或者该第二历史旋律信息可以是为该第一历史旋律信息补充润色的历史旋律信息(比如第二历史旋律信息可以是为第一历史旋律信息增加的历史和弦信息等);其中,历史乐曲可以是用户操作过的乐曲,比如可以是用户使用终端设备听过的音乐、用户使用唱吧等唱歌软件录制的音乐或者用户通过聊天软件(例如微信)与好友分享过的音乐等。这样,便可以向该乐曲学习模型输入第一旋律信息,得到与该第一旋律信息对应的目标乐曲。

具体地,在获取到输入的第一旋律信息后,可以将该第一旋律信息输入乐曲学习模型中,该乐曲学习模型可以针对该第一旋律信息,生成与该第一旋律信息对应的目标乐曲。其中,需要强调的是,本实现方式中生成目标乐曲的具体方式将在后面进行详细介绍。

举例来说,假设获取到的第一旋律信息包括了音符串“3451”,则可以将该第一旋律信息输入到乐曲学习模型中。该乐曲学习模型可以生成该音符串“3451”对应的包括了音符串“34515234515”的目标乐曲,即该乐曲学习模型可以生成该音符串“3451”对应的目标乐曲,且该目标乐曲的完整旋律信息中包括了该第一旋律信息中的音符串“3451”和后续旋律信息中的音符串“5234515”(即与该第一旋律信息中的音符串“3451”相匹配的第二旋律信息)。或者,该乐曲学习模型可以生成该音符串“3451”对应的包括了音符串“34515234”的目标乐曲,即该乐曲学习模型可以生成该音符串“3451”对应的目标乐曲,且该目标乐曲的完整旋律信息中包括了该第一旋律信息中的音符串“3451”和为该第一旋律信息增加的和弦信息中的音符串“5234”(即为该第一旋律信息中的音符串“3451”补充润色的第二旋律信息)。

在另一种可能的实现方式中,可以在多个预置的引子旋律中查找与第一旋律信息相匹配的目标引子旋律,并可以将该目标引子旋律输入至目标乐曲学习模型中,得到该目标乐曲学习模型生成的目标乐曲。其中,可以将与第一旋律信息相匹配的引子旋律称之为目标引子旋律。需要说明的是,乐曲学习模型可以是预先基于引子旋律与历史乐曲中的完整旋律信息之间的对应关系进行了训练;该历史乐曲中的完整旋律信息可以包括该引子旋律和连接在该引子旋律之后的历史后续旋律信息。这样,便可以通过向该乐曲学习模型输入与第一旋律信息相匹配的目标引子旋律,得到与该目标引子旋律对应的目标乐曲。

在本方式中,可以预置多个引子旋律,当输入的第一旋律信息与该多个引子旋律中的一个引子旋律相匹配时,说明乐曲学习模型可以针对该第一旋律信息,生成该第一旋律信息对应的目标乐曲。因此,当获取输入的第一旋律信息时,可以先将该第一旋律信息与多个引子旋律依次进行匹配,若预置的多个引子旋律中有与该第一旋律信息相匹配的引子旋律,则可以将该引子旋律输入乐曲学习模型,得到该乐曲学习模型生成的该第一旋律信息对应的目标乐曲。

举例来说,假设多个预置的引子旋律中包括了一个音符串为“3451”的引子旋律A。当获取到的第一旋律信息包括了音符串“3451”,则可以根据该音符串“3451”,在这多个预置的引子旋律中查找与该音符串“3451”相匹配的引子旋律。由于该音符串“3451”该多个引子旋律中的引子旋律A相匹配,所以,可以将该引子旋律A作为该音符串“3451”对应的目标引子旋律,并可以将该引子旋律A输入乐曲学习模型中。接着,该乐曲学习模型可以生成该引子旋律A对应的包括了音符串“34515234515”的目标乐曲,即该乐曲学习模型可以生成该音符串“3451”对应的目标乐曲,且该目标乐曲的完整旋律信息中包括了该引子旋律A和后续旋律信息中的音符串“5234515”(即与该引子旋律A相匹配的第二旋律信息)。

接下来,将对关于S202的介绍中所提及到的“根据所述第一旋律信息和乐曲学习模型生成目标乐曲”的实现方式进行具体介绍。

如图3所示,“根据所述第一旋律信息和乐曲学习模型生成目标乐曲”的实现方式可以包括以下步骤:

S202a:获取所述第一旋律信息对应的第一音符串,将所述第一音符串输入至所述乐曲学习模型,得到所述乐曲学习模型生成的第二音符串。

本实施例中,为便于描述,可以将当前待处理的音符串称之为第一音符串,以及可以将乐曲学习模型根据输入的第一音符串所得到的音符串称之为第二音符串。

具体地,在获取到第一旋律信息后,可以先确定该第一旋律信息对应的第一音符串;然后,可以先将该第一音符串中的音符输入至乐曲学习模型中;接着,该乐曲学习模型可以根据输入的音符生成第二音符串。其中,该第二音符串可以包括第一音符串和连接在该第一音符串之后的预测音符串,该预测音符串可以理解为乐曲学习模型根据第一音符串所得到的音符串;当然,该第二音符串也可以仅包括预测音符串。

需要说明的是,预测音符串中的音符数量可以是预先设置的。例如,该预测音符串中的音符数量可以是固定的,举例来说,假设第一音符串为“2265”,且预测音符串的音符数量设置为两个,那么,乐曲学习模型根据该第一音符串“2265”可以生成第二音符串“226574”,其中,第二音符串中的音符串“74”可以为该第一音符串“2265”对应的预测音符串。又例如,该预测音符串中的音符数量可以是根据第一音符串的音符数量确定的,举例来说,假设第一音符串为“2265”,且预测音符串的音符数量可以是与该第一音符串中的音符数量相同的,那么,乐曲学习模型根据该第一音符串“2265”可以生成第二音符串“22657487”,其中,第二音符串中的音符串“7487”可以为该第一音符串“2265”对应的预测音符串。

接下来,将针对S202a进行举例说明,假设第二音符串中的预测音符串的音符数量设置为两个。在获取到第一旋律信息后,由于该第一旋律信息中包括了音符串“345345”,因此,可以从该第一旋律信息中,获取到该第一旋律信息的音符串“345345”,并可以将该音符串“345345”作为第一音符串。然后,可以将该第一音符串“345345”输入乐曲学习模型,其中,如图4所示,乐曲学习模型可以是RNN模型,且RNN模型均是采用长短期记忆网络(LongShort-Term Memory,LSTM)结构。接着,该乐曲学习模型可以根据该第一音符串“345345”生成第二音符串“34534576”,该第二音符串可以包括该第一音符串“345345”和连接在该第一音符串“345345”之后的预测音符“76”。需要强调的是,在LSTM结构中,输入音符中的全部音符均会对预测音符的预测产生影响,也就是说,若输入音符中的音符发生了改变,则该LSTM结构的RNN模型根据该输入音符所预测到的预测音符也会不同。

S202b:判断所述第二音符串是否满足预设条件;若是,则执行S202c,若否,则执行S202d。

在本实施例中,预设条件可以为第二音符串对应的旋律时长达到目标乐曲的预设时长。其中,旋律时长可以由音符串中的音符个数来决定,比如,包括了八个音符的音符串对应的旋律时长通常为1秒,而包括了十六个音符的音符串对应的旋律时长通常为2秒。

因此,在确定第二音符串后,可以先确定该第二音符串中的音符个数。然后,可以根据该音符个数,确定该第二音符串的旋律时长。接着,可以判断该第二音符串的旋律时长是否满足目标乐曲的预设时长。

需要说明的是,目标乐曲的预设时长可以是系统预先设置的。当然,该目标乐曲的预设时长也可以是用户根据实际需求预先设置的,例如,当用户想要为一个时长为三分钟的朗诵节目创作一首乐曲时,可以将目标乐曲的预设时长设置为三分钟,又例如,当用户想要为篮球比赛的中场休息创作一首乐曲时,可以将目标乐曲的预设时长设置为一分钟。

继续以S202a中的“第二音符串‘34534576’”为例,乐曲学习模型根据第一音符串生成第二音符串“34534576”后,可以先确定该第二音符串“34534576”中的音符数量为八个;然后,可以确定该第二音符串的旋律时长为0.8秒;接着,可以判断该第二音符串“34534576”的旋律时长0.8秒是否满足目标乐曲的预设时长。

S202c:基于所述第二音符串确定目标乐曲。

在本实施例中,若第二音符串满足了预设条件,则说明该第二音符串的旋律时长满足目标乐曲的预设时长。因此,可以基于该第二音符串确定目标乐曲。

继续以S202b中的“第二音符串‘34534576’”为例,若目标旋律信息的预设时长为0.8秒,则第二音符串“3453457”的旋律时长0.8秒可以满足该目标乐曲的预设时长,这样,便可以基于该第二音符串“34534576”生成第一音符串“345345”对应的目标乐曲。

S202d:将所述第二音符串作为第一音符串,并返回执行S202a至S202d中的步骤,直至第二音符串满足预设条件。

在本实施例中,若第二音符串不满足预设条件,则说明该第二音符串的旋律时长不满足目标旋律信息的预设时长。因此,可以针对该第二音符串,继续执行S202a至S202d中的步骤,直至第二音符串满足预设条件。继续以S202b中的“第二音符串‘34534576’”为例,若目标乐曲的预设时长为3分钟,则第二音符串“34534576”的旋律时长0.8秒不满足该目标乐曲的预设时长。这样,便可以将该第二音符串“34534576”作为第一音符串,并可以将该第一音符串“4534576”输入乐曲学习模型,并继续执行后续步骤。

可见,本发明实施方式中,可以先获取输入音频中的第一旋律信息,然后,根据所述第一旋律信息和乐曲学习模型生成目标乐曲。可见,本发明实施例中,当用户想要自己即时创作乐曲时,用户只需要创作出乐曲的一部分旋律,就可以基于用户输入的一部分旋律预测出乐曲的所有旋律,从而为用户提供自己参与创作而成的乐曲,使得用户可以自己参与创作而成的乐曲,表达自己内心的感受。

当目标用户的输入音频为MP3、WMA、WAV等格式的音频文件时,由于MP3、WMA、WAV等格式的音频文件所占用的内存空间较大,需要较大的运行内存来对该音频文件进行处理。并且,由于MP3、WMA、WAV等格式的音频文件需要经过多次数据处理,才可以转换成TFRecord格式的文件,以能够从该TFRecord格式的文件中提取第一旋律信息,这样,在提取输入音频中的第一旋律信息的过程中,需要对MP3、WMA、WAV等格式的音频文件进行更多的处理步骤,才可以从该音频文件中提取第一旋律信息,导致从MP3、WMA、WAV等格式的音频文件中提取第一旋律信息的过程较为复杂。

为简化提取第一旋律信息的过程,以及减小提取第一旋律信息时的运行内存,在本发明实施例的一种实现方式中,S201可以包括以下步骤:

S201a:提取所述输入音频。

S201b:若所述输入音频的格式不为midi格式,则将所述输入音频转换为midi格式,得到midi格式的输入音频。

S201c:从所述midi格式的输入音频中提取所述第一旋律信息。

需要说明的是,由于midi格式的输入音频所占用的内存空间较小,因而,不需要较大的运行内存来对该midi格式的输入音频进行处理。并且,由于仅需要对该midi格式的输入音频进行简单的处理,便可以提取该midi格式的输入音频中的第一旋律信息,例如,midi格式的输入音频可以直接转换为TFRecord格式的文件,接着,可以从该TFRecord格式的文件中提取第一旋律信息;因而,也简化了提取第一旋律信息的过程。

作为一种示例,终端设备102在获取到目标用户101的输入音频后,可以判断该输入音频是否为midi格式;若是,则该终端设备102可以将该输入音频向服务器103发送,服务器103便可以从该midi格式的输入音频中提取第一旋律信息;若否,则该终端设备102可以先将该输入音频转换为midi格式,得到midi格式的输入音频,接着,该终端设备102将该midi格式的输入音频向服务器103发送,服务器103可以从该midi格式的输入音频中提取第一旋律信息。这样,便可以使得提取第一旋律信息的过程更加简单、快捷,也减小了提取第一旋律信息时的运行内存,从而减少了数据处理的时间,缩短了生成目标乐曲的时间。

进一步地,在乐曲学习模型生成目标乐曲后,当用户希望可以将该目标乐曲中的副歌部分作为***时,也就是说,该用户仅对该目标乐曲中的副歌部分感兴趣;那么需要对该目标乐曲进行编辑,即仅保留该目标乐曲中的副歌部分,而将其它部分删除。

故此,在S202之后,即得到乐曲学习模型生成的目标乐曲后,可以根据用户的需求或者预设的要求,对该目标乐曲进行编辑。本实施例中提供了多种对目标乐曲进行编辑的方式,下面针对其中两种方式进行介绍。

在一种实现方式中,可以响应用户对于所述目标乐曲的编辑操作,按照所述编辑操作对所述目标乐曲进行编辑。其中,编辑操作可以包括对于目标乐曲的剪辑、目标乐曲中的旋律的修改等编辑操作。例如,当用户对于目标乐曲中的一段旋律不满意,对这段旋律进行重新编排后,则可以响应用户对于该目标乐曲的操作,按照用户对于该目标乐曲中的这段旋律的重新编排,对该目标乐曲的这段旋律进行相应地修改,并将修改后的目标乐曲输出。

在另一种实现方式或者,可以根据预设的编辑规则,对所述目标乐曲进行编辑。举例来说,假设预设的编辑规则为对目标乐曲进行剪辑、且仅保留目标乐曲中的前一分钟对应的部分,则在生成目标乐曲后,可以根据该预设的编辑操作,将该目标乐曲的前一分钟对应的部分进行剪辑并保存,即可以将该目标乐曲的前一分钟对应的部分作为编辑后的目标乐曲进行输出。

可见,在本实施例中,得到乐曲学习模型生成的目标乐曲后,可以根据用户的需求或者预设的要求,对该目标乐曲中用户感兴趣的部分进行编辑,使得编辑后的目标乐曲可以满足用户对于目标乐曲的要求,从而实现了用户可以自己参与创作而成的乐曲,表达自己内心的感受。

进一步地,为使得生成的目标乐曲更加符合目标用户的要求,例如,可以利用目标用户参与创作的历史乐曲来对目标乐曲学习模型进行训练。故此,在本实施例的一种实现方式中,在S203之后,还可以包括以下步骤:

响应于所述目标用户对于所述目标乐曲进行保存或者分享的操作,将所述目标乐曲作为所述历史乐曲,以便所述目标乐曲用于对所述乐曲学习模型的训练。

本实施例中,在生成目标乐曲后,若目标用户对于该目标乐曲进行保存或者分享的操作,则可以将该目标乐曲作为历史乐曲,并利用该目标乐曲对乐曲学习模型进行训练。例如,目标用户将该目标乐曲保存到终端设备本地,又例如,目标用户利用即时通信软件将该目标乐曲分享给其他好友,还例如,目标用户将该目标乐曲分享到即时通信软件中的朋友圈;这样,便可以使得基于乐曲学习模型的输出结果所确定的目标旋律信息更加符合目标用户的创作要求,从而可以使得根据该目标旋律信息生成的目标乐曲更加能够表达目标用户的内心感受。

进一步地,由于乐曲可以分为多种类型,比如,可以分为古典类型的乐曲、流行类型的乐曲等。因此,用户在不同的情景中,所希望生成的目标乐曲的类型也会不同,比如,用户在历史悠久的古镇欣赏风景时,希望生成的目标乐曲为古典类型的乐曲,而用户在生日派对庆祝时,希望生成的目标乐曲为摇滚类型的乐曲。

故此,为可以针对用户的不同需求,生成不同类型的乐曲,在本实施例的一种实现方式中,乐曲学习模型可以包括多个,其中,每个乐曲学习模型可以对应一种乐曲类型,且每个乐曲学习模型均可以是依据第一历史旋律信息与第二历史旋律信息之间的对应关系进行训练得到的。在一种可能的实现方式中,该多个乐曲学习模型的训练方式可以为:获取不同乐曲类型的第一历史旋律信息和第二历史旋律信息,并可以根据乐曲类型、该第一历史旋律信息与该第二历史旋律信息之间的对应关系,训练得到不同乐曲类型的乐曲学习模型。

其中,乐曲类型可以是不同维度的分类,例如,当根据演奏乐曲的乐器确定乐曲类型时,乐曲类型可以至少包括:钢琴、吉他、二胡等;当根据乐曲的播放环境确定乐曲类型时,乐曲类型可以至少包括:室内、室外、KTV、教堂等;当根据乐曲的演奏方式确定乐曲类型时,乐曲类型至少可以包括:和弦、混音等。

具体地,在本实施方式中,获取第一历史旋律信息和与该第一历史旋律信息相匹配的第二历史旋律信息后,可以先确定该第一历史旋律信息与该第二历史旋律信息的乐曲类型。然后,可以根据该乐曲类型,从多个乐曲模型中确定与该乐曲类型对应的乐曲模型。接着,可以根据该第一历史旋律信息与该第二历史旋律信息之间的对应关系,对该乐曲模型进行训练。这样,便可以根据不同乐曲类型的第一历史旋律信息和第二历史旋律信息,训练得到不同乐曲类型的乐曲学习模型。也就是说,乐曲学习模型基于不同乐曲类型下的第一历史旋律信息与第二历史旋律信息进行训练,所得到的预测模型是不相同的,即每一个乐曲学习模型分别对应一种乐曲类型。

例如,乐曲学习模型基于简单和弦类型的第一历史旋律信息与第二历史旋律信息进行训练,所得到的乐曲学习模型可以是简单和弦类型对应的乐曲学习模型;又例如,乐曲学习模型基于教堂类型的第一历史旋律信息与第二历史旋律信息进行训练,所得到的乐曲学习模型可以是教堂类型对应的乐曲学习模型;还例如,乐曲学习模型基于钢琴类型的第一历史旋律信息与第二历史旋律信息进行训练,所得到的乐曲学习模型可以是钢琴类型对应的乐曲学习模型。这样,将同一个第一旋律信息,分别输入不同乐曲类型对应的乐曲学习模型中,所生成的目标乐曲的乐曲类型是完全不同的。

需要说明的是,在乐曲学习模型包括多个,且不同的乐曲学习模型对应不同的乐曲类型的情况下,本申请实施例还提供了多种根据第一旋律信息和乐曲学习模型生成目标乐曲的方式(即提供了多种S202的实现方式),并利用该乐曲学习模型生成该乐曲类型的目标乐曲。接下来,将针对这两种方式进行介绍:

第一种方式:响应于用户的选择操作,从所述乐曲学习模型中确定第一目标乐曲学习模型;根据所述第一旋律信息和所述第一目标乐曲学习模型生成所述目标乐曲。

在本方式中,可以将用户选择的乐曲类型称之为第一乐曲类型,例如,第一乐曲类型可以包括简单和弦类型,也可以包括教堂类型,还可以包括钢琴类型。并且,可以将与第一乐曲类型相匹配的乐曲学习模型称之为第一乐曲学习模型。

具体地,用户在输入第一旋律信息后,可以根据需求,从多种乐曲类型中选择一种乐曲类型作为第一乐曲类型。然后,可以响应于用户的选择操作,根据第一乐曲类型,从多个乐曲学习模型中确定第一目标乐曲学习模型。接着,可以将该第一旋律信息输入该第一目标学习模型中,该第一目标学习模型便可以根据该第一旋律信息,生成属于该第一乐曲类型的目标乐曲。这样,该用户便可以得到乐曲类型为第一乐曲类型的目标乐曲。

举例来说,假设用户通过手机输入了一段自己哼唱的音频,并从简单和弦类型、教堂类型和钢琴类型等多种乐曲类型中,选择了钢琴类型,即将钢琴类型作为第一乐曲类型。则,可以响应于用户的选择操作,先从多个乐曲学习模型中,确定与钢琴类型对应的乐曲学习模型,并可以将该乐曲学习模型作为第一目标乐曲学习模型。然后,将用户自己哼唱的音频输入到该第一目标乐曲学习模型中。接着,该第一目标乐曲学习模型可以生成钢琴类型的目标乐曲。这样,该用户便可以得到第一乐曲类型为钢琴类型的目标乐曲。

因此,本方式中,在用户选择了目标乐曲的第一乐曲类型后,可以先根据该第一乐曲类型确定与该第一乐曲类型对应的预测模型,然后,可以将该预测模型作为第一目标乐曲学习模型。这样,便可以利用该第一目标乐曲学习模型,生成与用户选择的第一乐曲类型对应的目标乐曲,从而可以满足不同用户对于生成不同类型的目标乐曲的要求。

第二种方式:获取用户的历史行为数据,从所述历史行为数据中提取历史乐曲信息;确定所述历史乐曲信息对应的第二乐曲类型,从所述乐曲学习模型中获取与所述乐曲类型相匹配的第二目标乐曲学习模型;根据所述第一旋律信息和所述第二目标乐曲学习模型生成所述目标乐曲。

在本方式中,用户的历史行为数据可以为用户在手机、ipad、电脑等设备上的历史操作记录,而用户的历史行为数据中可以包括用户操作过的历史乐曲信息,该历史乐曲信息可以包括用户在手机、ipad等便携设备上所聆听过的音乐,也可以包括用户在手机、电脑等设备上所下载过的音乐,还可以包括用户在音乐软件中所收藏过的音乐,又可以包括用户使用唱吧等唱歌软件录制的音乐以及用户通过聊天软件(例如微信)与好友分享过的音乐等。

并且,可以将从用户的历史行为数据中提取的历史乐曲信息对应的乐曲类型称之为第二乐曲类型,例如,第二乐曲类型可以包括简单和弦类型,也可以包括教堂类型,还可以包括钢琴类型。并且,可以将与第二乐曲类型相匹配的乐曲学习模型称之为第二乐曲学习模型。

具体地,在用户输入第一旋律信息后,可以先获取该用户的历史行为数据,并从该历史行为数据中提取历史乐曲信息。然后,可以确定该历史乐曲信息对应的第二乐曲类型。接着,可以根据该第二乐曲类型,从多个乐曲学习模型中获取第二目标乐曲学习模型。紧接着,可以将该第一旋律信息输入该第二目标乐曲学习模型中,该第二目标学习模型便可以根据该第一旋律信息,生成属于该第二乐曲类型的目标乐曲。这样,该用户便可以得到乐曲类型为第二乐曲类型的目标乐曲。需要说明的是,在一种可能的实现方式中,用于训练第二目标乐曲学习模型的历史乐曲可以为从用户的历史行为数据中提取的历史乐曲信息。

举例来说,在用户通过手机输入了一段自己哼唱的音频之后,可以先获取该用户在音乐播放器中的历史行为数据,并可以从该历史行为数据中提取到历史乐曲信息,其中,该历史乐曲信息包括:《第二十一钢琴协奏曲》、《第一钢琴协奏曲》和《第二钢琴奏鸣曲》。然后,可以确定该历史乐曲信息对应的乐曲类型为钢琴类型,即可以将钢琴类型作为第二乐曲类型。接着,可以根据钢琴类型,从多个乐曲学习模型中获取与钢琴类型对应的第二目标乐曲学习模型。紧接着,可以将该用户自己哼唱的音频输入该第二目标乐曲学习模型中,该第二目标学习模型便可以根据该用户自己哼唱的音频,生成属于钢琴类型的目标乐曲。

因此,在获取到用户的输入音频后,可以获取用户的历史行为数据,从该历史行为数据中提取历史乐曲信息,并确定该历史乐曲信息对应的第二乐曲类型,从该乐曲学习模型中获取与该乐曲类型相匹配的第二目标乐曲学习模型。接着,可以利用该第二目标乐曲学习模型和第一旋律信息,生成目标乐曲。这样,便可以利用用户对应的历史乐曲信息,从多个乐曲学习模型中,确定第二目标乐曲学习模型,并利用该第二目标乐曲学习模型生成符合用户的个性化需求的目标乐曲,从而可以使得所生成的目标乐曲更具有针对性和个性化。

示例性设备

参见图5,示出了本发明实施例中一种生成乐曲的装置,所述装置包括:获取单元501和生成单元502;

所述获取单元501,用于获取输入音频中的第一旋律信息;

所述生成单元502,用于根据所述第一旋律信息和乐曲学习模型生成目标乐曲,所述目标乐曲包括所述第一旋律信息和与所述第一旋律信息相匹配的第二旋律信息。

可选的,所述装置还包括:训练单元;

所述获取单元501,还用于获取第一历史旋律信息和与所述第一历史旋律信息相匹配的第二历史旋律信息;

所述训练单元,还用于依据所述第一历史旋律信息与所述第二历史旋律信息之间的对应关系,对所述乐曲学习模型进行训练。

可选的,所述生成单元502,还用于获取所述第一旋律信息对应的第一音符串,将所述第一音符串输入至所述乐曲学习模型,得到所述乐曲学习模型生成的第二音符串;判断所述第二音符串是否满足预设条件;若所述第二音符串满足预设条件,基于所述第二音符串确定目标乐曲。

可选的,所述预设条件为所述第二音符串对应的旋律时长达到所述目标乐曲的预设时长。

可选的,所述生成单元502,还用于在多个预置的引子旋律中查找与所述第一旋律信息相匹配的目标引子旋律;将所述目标引子旋律输入至所述乐曲学习模型中,得到所述乐曲学习模型生成的所述目标乐曲;

其中,所述乐曲学习模型预先基于所述引子旋律与历史乐曲中的完整旋律信息之间的对应关系进行训练。

可选的,所述乐曲学习模型包括多个,所述训练单元,还用于获取不同乐曲类型的所述第一历史旋律信息和所述第二历史旋律信息;根据所述乐曲类型、所述第一历史旋律信息与所述第二历史旋律信息之间的对应关系,训练得到不同乐曲类型的所述乐曲学习模型。

可选的,所述生成单元502,还用于响应于用户的选择操作,从所述乐曲学习模型中确定第一目标乐曲学习模型;根据所述第一旋律信息和所述第一目标乐曲学习模型生成所述目标乐曲。

可选的,所述生成单元502,还用于获取用户的历史行为数据,从所述历史行为数据中提取历史乐曲信息;确定所述历史乐曲信息对应的第二乐曲类型,从所述乐曲学习模型中获取与所述乐曲类型相匹配的第二目标乐曲学习模型;根据所述第一旋律信息和所述第二目标乐曲学习模型生成所述目标乐曲。

可选的,所述获取单元501,还用于获取输入音频;若所述输入音频的格式不为midi格式,将所述输入音频转换为midi格式,得到midi格式的输入音频;从所述midi格式的输入音频中提取所述第一旋律信息。

可选的,所述装置还包括:编辑单元;

所述编辑单元,用于响应用户对于所述目标乐曲的编辑操作,按照所述编辑操作对所述目标乐曲进行编辑;或者,根据预设的编辑规则,对所述目标乐曲进行编辑。

可选的,所述装置还包括:确定单元;

所述确定单元,用于响应于用户对于所述目标乐曲的操作,将所述目标乐曲作为历史乐曲。

参照图6,生成乐曲的装置600可以包括以下一个或多个组件:处理组件602,存储器604,电源组件606,多媒体组件606,音频组件610,输入/输出(I/O)的接口612,传感器组件614,以及通信组件616。

处理组件602通常控制装置600的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件602可以包括一个或多个处理器620来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件602可以包括一个或多个模块,便于处理组件602和其他组件之间的交互。例如,处理部件602可以包括多媒体模块,以方便多媒体组件606和处理组件602之间的交互。

存储器604被配置为存储各种类型的数据以支持在设备600的操作。这些数据的示例包括用于在装置600上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器604可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。

电源组件606为装置600的各种组件提供电力。电源组件606可以包括电源管理系统,一个或多个电源,及其他与为装置600生成、管理和分配电力相关联的组件。

多媒体组件606包括在所述装置600和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件606包括一个前置摄像头和/或后置摄像头。当设备600处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。

音频组件610被配置为输出和/或输入音频信号。例如,音频组件610包括一个麦克风(MIC),当装置600处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器604或经由通信组件616发送。在一些实施例中,音频组件610还包括一个扬声器,用于输出音频信号。

I/O接口612为处理组件602和***接口模块之间提供接口,上述***接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

传感器组件614包括一个或多个传感器,用于为装置600提供各个方面的状态评估。例如传感器组件614可以检测到设备600的打开/关闭状态,组件的相对定位,例如所述组件为装置600的显示器和小键盘,传感器组件614还可以检测装置600或装置600一个组件的位置改变,用户与装置600接触的存在或不存在,装置600方位或加速/减速和装置600的温度变化。传感器组件614可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件614还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件614还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。

通信组件616被配置为便于装置600和其他设备之间有线或无线方式的通信。装置600可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信部件616经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件616还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。

在示例性实施例中,装置600可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。

本发明实施例提供了一种生成乐曲设备。该设备包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:

获取输入音频中的第一旋律信息;

根据所述第一旋律信息和乐曲学习模型生成目标乐曲,所述目标乐曲包括所述第一旋律信息和与所述第一旋律信息相匹配的第二旋律信息。

可选的,所述处理器还用于执行所述一个或者一个以上程序包含用于进行以下操作的指令:

获取第一历史旋律信息和与所述第一历史旋律信息相匹配的第二历史旋律信息;

依据所述第一历史旋律信息与所述第二历史旋律信息之间的对应关系,对所述乐曲学习模型进行训练。

可选的,所述处理器还用于执行所述一个或者一个以上程序包含用于进行以下操作的指令:

获取所述第一旋律信息对应的第一音符串,将所述第一音符串输入至所述乐曲学习模型,得到所述乐曲学习模型生成的第二音符串;

判断所述第二音符串是否满足预设条件;

若所述第二音符串满足预设条件,基于所述第二音符串确定目标乐曲;

所述预设条件为所述第二音符串对应的旋律时长达到所述目标乐曲的预设时长

可选的,所述处理器还用于执行所述一个或者一个以上程序包含用于进行以下操作的指令:

在多个预置的引子旋律中查找与所述第一旋律信息相匹配的目标引子旋律;

将所述目标引子旋律输入至所述乐曲学习模型中,得到所述乐曲学习模型生成的所述目标乐曲;

其中,所述乐曲学习模型预先基于所述引子旋律与历史乐曲中的完整旋律信息之间的对应关系进行训练。

可选的,所述处理器还用于执行所述一个或者一个以上程序包含用于进行以下操作的指令:

所述乐曲学习模型包括多个,所述依据所述第一历史旋律信息与所述第二历史旋律信息之间的对应关系,对所述乐曲学习模型进行训练,包括:

获取不同乐曲类型的所述第一历史旋律信息和所述第二历史旋律信息;

根据所述乐曲类型、所述第一历史旋律信息与所述第二历史旋律信息之间的对应关系,训练得到不同乐曲类型的所述乐曲学习模型。

可选的,所述处理器还用于执行所述一个或者一个以上程序包含用于进行以下操作的指令:

所述根据所述第一旋律信息和乐曲学习模型生成目标乐曲,包括:

响应于用户的选择操作,从所述乐曲学习模型中确定第一目标乐曲学习模型;

根据所述第一旋律信息和所述第一目标乐曲学习模型生成所述目标乐曲。

可选的,所述处理器还用于执行所述一个或者一个以上程序包含用于进行以下操作的指令:

所述根据所述第一旋律信息和乐曲学习模型生成目标乐曲,包括:

获取用户的历史行为数据,从所述历史行为数据中提取历史乐曲信息;

确定所述历史乐曲信息对应的第二乐曲类型,从所述乐曲学习模型中获取与所述乐曲类型相匹配的第二目标乐曲学习模型;根据所述第一旋律信息和所述第二目标乐曲学习模型生成所述目标乐曲。

可选的,所述处理器还用于执行所述一个或者一个以上程序包含用于进行以下操作的指令:

获取输入音频;

若所述输入音频的格式不为midi格式,将所述输入音频转换为midi格式,得到midi格式的输入音频;

从所述midi格式的输入音频中提取所述第一旋律信息。

可选的,所述处理器还用于执行所述一个或者一个以上程序包含用于进行以下操作的指令:

响应用户对于所述目标乐曲的编辑操作,按照所述编辑操作对所述目标乐曲进行编辑;

或者,

根据预设的编辑规则,对所述目标乐曲进行编辑。

可选的,所述处理器还用于执行所述一个或者一个以上程序包含用于进行以下操作的指令:

响应于用户对于所述目标乐曲的操作,将所述目标乐曲作为历史乐曲。

本发明实施例还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器604,上述指令可由装置600的处理器620执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行一种生成乐曲的方法,所述方法包括:

获取输入音频中的第一旋律信息;

根据所述第一旋律信息和乐曲学习模型生成目标乐曲,所述目标乐曲包括所述第一旋律信息和与所述第一旋律信息相匹配的第二旋律信息。

可选的,所述方法还包括:

获取第一历史旋律信息和与所述第一历史旋律信息相匹配的第二历史旋律信息;

依据所述第一历史旋律信息与所述第二历史旋律信息之间的对应关系,对所述乐曲学习模型进行训练。

可选的,所述根据所述第一旋律信息和乐曲学习模型生成目标乐曲,包括:

获取所述第一旋律信息对应的第一音符串,将所述第一音符串输入至所述乐曲学习模型,得到所述乐曲学习模型生成的第二音符串;

判断所述第二音符串是否满足预设条件;

若所述第二音符串满足预设条件,基于所述第二音符串确定目标乐曲。

可选的,所述预设条件为所述第二音符串对应的旋律时长达到所述目标乐曲的预设时长。

可选的,所述根据所述第一旋律信息和乐曲学习模型生成目标乐曲,包括:

在多个预置的引子旋律中查找与所述第一旋律信息相匹配的目标引子旋律;

将所述目标引子旋律输入至所述乐曲学习模型中,得到所述乐曲学习模型生成的所述目标乐曲;

其中,所述乐曲学习模型预先基于所述引子旋律与历史乐曲中的完整旋律信息之间的对应关系进行训练。

可选的,所述乐曲学习模型包括多个,所述依据所述第一历史旋律信息与所述第二历史旋律信息之间的对应关系,对所述乐曲学习模型进行训练,包括:

获取不同乐曲类型的所述第一历史旋律信息和所述第二历史旋律信息;

根据所述乐曲类型、所述第一历史旋律信息与所述第二历史旋律信息之间的对应关系,训练得到不同乐曲类型的所述乐曲学习模型。

可选的,所述根据所述第一旋律信息和乐曲学习模型生成目标乐曲,包括:

响应于用户的选择操作,从所述乐曲学习模型中确定第一目标乐曲学习模型;

根据所述第一旋律信息和所述第一目标乐曲学习模型生成所述目标乐曲。

可选的,所述根据所述第一旋律信息和乐曲学习模型生成目标乐曲,包括:

获取用户的历史行为数据,从所述历史行为数据中提取历史乐曲信息;

确定所述历史乐曲信息对应的第二乐曲类型,从所述乐曲学习模型中获取与所述乐曲类型相匹配的第二目标乐曲学习模型;根据所述第一旋律信息和所述第二目标乐曲学习模型生成所述目标乐曲。

可选的,所述获取输入音频中的第一旋律信息,包括:

获取输入音频;

若所述输入音频的格式不为midi格式,将所述输入音频转换为midi格式,得到midi格式的输入音频;

从所述midi格式的输入音频中提取所述第一旋律信息。

可选的,所述方法还包括:

响应用户对于所述目标乐曲的编辑操作,按照所述编辑操作对所述目标乐曲进行编辑;

或者,

根据预设的编辑规则,对所述目标乐曲进行编辑。

可选的,所述方法还包括:

响应于用户对于所述目标乐曲的操作,将所述目标乐曲作为历史乐曲。

图7是本发明实施例中服务器的结构示意图。该服务器700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以***处理器(central processing units,CPU)722(例如,一个或一个以上处理器)和存储器732,一个或一个以上存储应用程序742或数据744的存储介质730(例如一个或一个以上海量存储设备)。其中,存储器732和存储介质730可以是短暂存储或持久存储。存储在存储介质730的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器722可以设置为与存储介质730通信,在服务器700上执行存储介质730中的一系列指令操作。

服务器700还可以包括一个或一个以上电源726,一个或一个以上有线或无线网络接口750,一个或一个以上输入输出接口758,一个或一个以上键盘756,和/或,一个或一个以上操作系统741,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

24页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:音频处理方法、装置及存储介质

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!