基于增强学习的音乐旋律生成方法、装置及用户终端与流程

文档序号:17493629发布日期:2019-04-23 20:57阅读:154来源:国知局
本发明涉及计算机
技术领域
:,尤其是涉及一种基于增强学习的音乐旋律生成方法、装置及用户终端。
背景技术
::音乐创作是一种高难度,依赖人类突发灵感的高级思维活动,其需要遵循严格的规律,如节拍性、强弱性等,这意味着创造音乐是一项既要循规蹈矩,又要寻求新意的艰苦劳动,仅有对音高、节拍等具有敏锐感觉,且思维活跃度极高的极少数人能够胜任音乐创着的。随着科技的发展进步,利用计算机创作音乐也逐渐开始应用,利用计算机创作音乐,可极大减少人类进行音乐创作的工作量,且有望产生挣脱传统思路束缚新颖音乐,即使用计算机生成的音乐还不能与人类的音乐家相比,但机器作品可以为人类提供候选或初级作品,使作曲家创作更加容易,因此利用计算机创作音乐具有非常广阔的应用场景。目前,计算机创作音乐常采用的方式是采用lstm和gnn算法,其生成的旋律机械化,而且不能随时更新优化。技术实现要素:有鉴于此,本发明的目的在于提出了一种基于增强学习的音乐旋律生成方法、装置及用户终端,以改善上述问题。为了实现上述目的,本发明采用如下技术方案:第一方面,本发明实施例提供了一种基于增强学习的音乐旋律生成方法,所述方法包括:获得多个目标midi文件;对所述多个目标midi文件进行结构化处理;将每个所述目标midi文件的音轨处理成包含音高和时值的数据序列;根据调式调性对所有的数据序列进行分类;根据音轨的属性对分类后的每个数据序列设置相应的标签,所述属性包括音轨的速度、节拍和乐器类型中的至少一种;基于增强学习算法按照数据序列的类别和对应的所述标签分别进行训练,得到多个q_table模型,每个所述q_table模型中存储各个执行动作对应的回报;根据所述多个q_table模型和被选取的调式调性生成音乐旋律,其中,所述音乐旋律中各个动作所对应的回报总和或平均值高于预设的回报阈值。如上所述的基于增强学习的音乐旋律生成方法,可选的,所述获得多个目标midi文件,包括:从所述服务器获得多个初始midi文件;对所述多个初始midi文件进行筛选,得到所述多个目标midi文件。如上所述的基于增强学习的音乐旋律生成方法,可选的,所述方法还包括:将所述多个目标midi文件按照风格、情感、主题、场景四个维度进行分类;所述对所述多个目标midi文件进行结构化处理,包括:将分类后的所述多个目标midi文件中的每个音轨中的音符对齐。如上所述的基于增强学习的音乐旋律生成方法,可选的,在根据音轨的属性对分类后的每个数据序列设置相应的标签之前,所述方法还包括:提取出每个所述目标midi文件的旋律中的音轨;将音符之间的空白间隔的音高标记为0;过滤每个音轨中的重叠音符。第二方面,本发明实施例提供了一种基于增强学习的音乐旋律生成装置,所述基于增强学习的音乐旋律生成装置包括:获取模块,用于获得多个目标midi文件;结构化处理模块,用于对所述多个目标midi文件进行结构化处理;数据处理模块,用于将每个所述目标midi文件的音轨处理成包含音高和时值的数据序列;分类模块,用于根据调式调性对所有的数据序列进行分类;标签模块,用于根据音轨的属性对分类后的每个数据序列设置相应的标签,所述属性包括音轨的速度、节拍和乐器类型中的至少一种;训练模块,用于基于增强学习算法按照数据序列的类别和对应的所述标签分别进行训练,得到多个q_table模型,每个所述q_table模型中存储各个执行动作对应的回报;生成模块,用于根据所述多个q_table模型和被选取的调式调性生成音乐旋律,其中,所述音乐旋律中各个动作所对应的回报总和或平均值高于预设的回报阈值。如上所述的基于增强学习的音乐旋律生成装置,可选的,所述获取模块包括:获取子模块,用于从所述服务器获得多个初始midi文件;筛选子模块,用于对所述多个初始midi文件进行筛选,得到所述多个目标midi文件。如上所述的基于增强学习的音乐旋律生成装置,可选的,所述分类模块还用于将所述多个目标midi文件按照风格、情感、主题、场景四个维度进行分类;所述结构化处理模块用于将分类后的所述多个目标midi文件中的每个音轨中的音符对齐。如上所述的基于增强学习的音乐旋律生成装置,可选的,基于增强学习的音乐旋律生成装置还包括:提取模块,用于提取出每个所述目标midi文件的旋律中的音轨;空白间隔处理模块,用于将音符之间的空白间隔的音高标记为0;过滤模块,用于过滤每个音轨中的重叠音符。第三方面,本发明实施例提供了一种用户终端,所述用户终端包括:存储器;处理器;以及基于增强学习的音乐旋律生成装置,所述基于增强学习的音乐旋律生成装置安装于所述存储器中并包括一个或多个由所述处理器执行的软件功能模组,所述基于增强学习的音乐旋律生成装置包括:获取模块,用于获得多个目标midi文件;结构化处理模块,用于对所述多个目标midi文件进行结构化处理;数据处理模块,用于将每个所述目标midi文件的音轨处理成包含音高和时值的数据序列;分类模块,用于根据调式调性对所有的数据序列进行分类;标签模块,用于根据音轨的属性对分类后的每个数据序列设置相应的标签,所述属性包括音轨的速度、节拍和乐器类型中的至少一种;训练模块,用于基于增强学习算法按照数据序列的类别和对应的所述标签分别进行训练,得到多个q_table模型,每个所述q_table模型中存储各个执行动作对应的回报;生成模块,用于根据所述多个q_table模型和被选取的调式调性生成音乐旋律,其中,所述音乐旋律中各个动作所对应的回报总和或平均值高于预设的回报阈值。与现有技术相比,本发明的有益效果在于:本发明提供的基于增强学习的音乐旋律生成方法、装置及用户终端可自动生成音乐旋律,采用增强学习,可以使旋律更加具有人性化,也可以单独生成简谱和节奏,更加灵活,并且只要增加样本,即可自身迭代和优化。附图说明图1为本发明较佳实施例提供的应用环境示意图。图2为本发明较佳实施例提供的用户终端的方框示意图。图3为本发明较佳实施例提供的基于增强学习的音乐旋律生成方法的流程图。图4为本发明较佳实施例提供的训练q_table模型的示意图。图5为本发明较佳实施例提供的增强学习算法的示意图。图6为本发明较佳实施例提供的生成音乐旋律的示意图。图7为本发明较佳实施例提供的基于增强学习的音乐旋律生成装置的功能模块示意图。图8为图7中获取模块的功能模块示意图。附图标记说明:100-用户终端;110-基于增强学习的音乐旋律生成装置;111-获取模块;1111-获取子模块;1112-筛选子模块;112-结构化处理模块;113-数据处理模块;114-分类模块;115-标签模块;116-训练模块;117-生成模块;118-提取模块;119-过滤模块;1191-空白间隔处理模块;120-存储器;130-存储控制器;140-处理器;150-外设接口;160-输入输出单元;170-显示单元;200-服务器;300-网络。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。如图1所示,是本发明较佳实施例提供的服务器200与用户终端100进行交互的示意图,所述服务器200通过网络300与一个或多个所述用户终端100通信连接以进行数据交互。所述服务器200可以是网络服务器、数据库服务器等,所述网络300可以是有线或无线网络,所述用户终端100可以是个人电脑(personalcomputer,pc)、平板电脑、智能手机、个人数字助理(personaldigitalassistant,pda)等。如图2所示,是一种所述用户终端100的方框示意图,所述用户终端100包括有包括基于增强学习的音乐旋律生成装置110、存储器120、存储控制器130、处理器140、外设接口150、输入输出单元160、显示单元170。所述存储器120、存储控制器130、处理器140、外设接口150、输入输出单元160、显示单元170各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述基于增强学习的音乐旋律生成装置110包括至少一个可以软件或固件(firmware)的形式存储于所述存储器120中或固化在所述电子设备100的操作系统(operatingsystem,os)中的软件功能模块。所述处理器140用于执行存储器120中存储的可执行模块,例如所述基于增强学习的音乐旋律生成装置110包括的软件功能模块或计算机程序。其中,存储器120可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存储器120用于存储程序,所述处理器140在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的用户终端100所执行的方法可以应用于处理器140中,或者由处理器140实现。处理器140可能是一种集成电路芯片,具有信号的处理能力。上述的处理器140可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等,还可以是数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。所述外设接口150将各种输入/输入装置耦合至处理器140以及存储器120。在一些实施例中,外设接口150,处理器140以及存储控制器130可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。输入输出单元160用于提供给用户输入数据实现用户与所述用户终端100的交互。所述输入输出单元160可以是,但不限于,鼠标和键盘等。显示单元170在所述用户终端100与用户之间提供一个交互界面(例如用户操作界面)或用于显示图像数据给用户参考。在本实施例中,所述显示单元170可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处同时产生的触控操作,并将该感应到的触控操作交由处理器140进行计算和处理。请参阅图3,是本发明较佳实施例提供的应用于图2所示的基于增强学习的音乐旋律生成装置110的基于增强学习的音乐旋律生成方法的流程图。下面将对图3所示的具体流程进行详细阐述。步骤s101,得多个目标midi文件。本发明提供的方法应用于用户终端100,在生成音乐旋律之前,首先用户终端100从服务器200获取多个初始midi文件作为音乐文件样本。然后用户终端100对获取到的多个初始midi文件进行筛选,在进行筛选时,选取音符线条流畅,音符线条重合度低于预设值的初始midi文件,得到多个目标midi文件。步骤s102,将多个目标midi文件按照风格、情感、主题、场景四个维度进行分类。不同音乐对应有不同风格、情感、主题、场景等,因此在获得目标midi文件后,用户终端100的用户可将目标midi文件按照风格、情感、主题、场景等向用户终端100录入用于对目标midi文件进行分类的分类操作指令,用户终端100根据用户录入的分类操作指令将将多个目标midi文件按照风格、情感、主题、场景四个维度进行分类。例如,风格可分为摇滚、流行、民谣等,情感可分为喜、怒、哀、乐等,主题可分为爱情、友情等,场景可分为生日、结婚等场景。步骤s103,对多个目标midi文件进行结构化处理。具体的,用户终端100将分类后的多个目标midi文件中将每个音轨中的音符(旋律、伴奏)进行对齐。例如,旋律比伴奏略长,则可以删除旋律中比伴奏略长的那一部分。而对于十分不规整的音轨则直接删除掉。通过对多个目标midi文件进行量,确保目标midi文件规范、可用。步骤s104,将每个目标midi文件的音轨处理成包含音高和时值的数据序列。对多个目标midi文件进行结构化处理后,用户终端100提取出每个目标midi文件的旋律中的音轨。并在提取出每个目标midi文件的旋律中的音轨后将每个所述目标midi文件的音轨处理成包含音高和时值的数据序列,以便后续进行运算处理。所述时值是也称为音符值或音值,在乐谱中用来表达各音符之间的相对持续时间。一个完全音符等于两个二分音符,等于四个四分音符,八个八分音符,十六个十六分音符,三十二个三十二分音符。进一步的,在提取出每个目标midi文件的旋律中的音轨后,所述用户终端100还可将音符之间的空白间隔的音高标记为0,并对每个音轨中的重叠音符进行过滤。本发明实施例中,音高(pitch)和时值(time_value)结构序列类似如下:[(pitch1,time_value1),(pitch2,time_value2)…]。音高和时值结构序列元素之间符合原旋律音符排列顺序,此处音高时值结构表示音符,音高时值序列表示音轨,但音符和音轨的表示不限于此。步骤s105,根据调式调性对所有的数据序列进行分类。在传统音乐理论中,由若干个音合理的组织在一起,并以某个音为中心构成一个体系叫调式,调式的性质、特点叫调性。在将每个目标midi文件的音轨处理成包含音高和时值的数据序列后,用户终端100根据调式调性对所有的数据序列进行进行分类。例如,将所有的数据序列按照a-g调,将所有的数据序列进行进行分类与a-g调对应的7大类。进一步的,还可以根据每个调的大调、小调(如c调包括c大调和c小调)更进一步精细划分。步骤s106,根据音轨的属性对分类后的每个数据序列设置相应的标签。音轨的属性包括速度、节拍和乐器类型中的至少其中一种,本发明实施例中,音轨的属性速度、节拍和乐器类型。可以理解的,在其他的一些实施例中,音轨的属性也可以设置为速度、节拍和乐器类型中的其中一种或两种。步骤s107,基于增强学习算法按照数据序列的类别和对应的标签分别进行训练,得到多个q_table模型。将数据序列按照调式调性进行分类后,用户终端100根据增强学习算法按照数据序列的类别以及对应的标签,分别对不同类别的数据序列分别进行训练,得到与数据序列类别相对应的多个q_table模型。其中,每个所述q_table模型中存储各个执行动作对应的回报。本发明实施例中,当前音符到下一个音符就是一个动作,用户终端100根据不同动作定义不同的回报,在定义动作的回报时,用户终端100根据数据序列所对应的音轨中同一动作出现的次数定义不同的回报,动作出现的次数越高说明使用的次数越多,该动作(当前音符到下一个音符)的旋律相对更为动听,因此定义的回报也更高。本发明实施例中,增强学习基本原理公式为:q(s,a)=r(s,a)+γ*maxq(s',a'),其中s表示状态,a表示动作,q(s,a)表示对状态s下动作a得到的总体回报的一个估计,本专利中使用q_value表示q(s,a),r为此动作的立即回报,γ为折扣因子,其中0≤γ<1。如图4所示,是训练q_table模型的示意图,q_table模型记录q_value的表项,即公式中的q(s,a),图中的ssatus为公式中的s,action为公式中的a。根据增强学习原理,本发明实施例中,包括使用增强学习算法q_learning和深度强化学习算法dqn,增强学习算法如图5所示。其中,agent为训练过程生成旋律的智能体,执行生成旋律操作,旋律用音高和时值结构的序列表示,根据environment(旋律评分模型)中返回的状态响应一个动作,当序列中无音符时,根据约束生成第一个音符,如果序列中含有音符,则根据约束条件添加一个音符,设value为根据增强学习基本原理公式设置的阀值,输出该音符到environment,形式如下:(pithch,time_value)。其中约束条件为:0<pitche<127;1<time_value<127;q(s,a)>value。environment:agent所处的环境,相当于一个旋律评判的模型,模型综合了乐理知识和大量音乐原始数据得到,接收agent传过来动作,并在模型中执行该动作,此处为在原有音高时值结构序列中添加该音高时值结构,得到的当前状态status如下,根据评分模型得到对当前状态做评分(回报)reward,并将二者输出到agent:[…(pithch,time_value)]。action:agent输出到environment的动作,为单个音高时值结构。reward:environment反馈给agent的评分。status:environment执行action之后的状态。步骤s108,根据多个q_table模型和被选取的调式调性生成音乐旋律。得到与数据序列类别相对应的多个q_table模型,用户终端100的用户即可根据该多个q_table模型来生成音乐。具体的,用户可选择一种调式调性,并选择音符的数量,然后用户终端100根据被选择的调式调性和多个q_table模型中与该调式调性对应的模型生成一段音符数量与被选择音符数量相等的音乐旋律。在生成音乐旋律时,该生成的音乐旋律需满足音乐旋律中各个动作所对应的回报总和或平均值高于预设的回报阈值,如此确保生成的音乐旋律符合调式调性和节奏变化,且具备观赏性。进一步的,本发明实施例中,用户终端100的用户还可选择待生成音乐旋律所对应的风格、情感、主题、场景,或者速度、节拍、乐器等参数。在生成音乐旋律时用户终端100还可以结合用户选择的参数生成相应的音乐旋律。图6示出了本发明较佳实施例提供的生成音乐旋律的过程的示意图,如图6所示,生成音乐旋律的过程如图6所示,将状态status和action输入到q_table模型中,得到q_value,根据设置的阀值选择状态下q_value较高的action,可加入随机性,让生成模块具有探索性。请参阅图7,是本发明较佳实施例提供的基于增强学习的音乐旋律生成装置110的功能模块示意图,所述基于增强学习的音乐旋律生成装置110包括获取模块111、结构化处理模块112、数据处理模块113、分类模块114、标签模块115、训练模块116、生成模块117、提取模块118、过滤模块119和空白间隔处理模块1191。获取模块111用于从所述服务器200获得多个目标midi文件。请参阅图8,所述获取模块111包括获取子模块1111和筛选子模块1112。获取子模块1111用于从服务器200获得多个初始midi文件。筛选子模块1112用于对多个初始midi文件进行筛选,得到多个目标midi文件。可以理解的,所述获取模块111可以用于执行上述的步骤s101。所述分类模块114用于将多个目标midi文件按照风格、情感、主题、场景四个维度进行分类。可以理解的,所述分类模块114可以用于执行上述的步骤s102。所述结构化处理模块112用于对所述多个目标midi文件进行结构化处理。可以理解的,所述结构化处理模块112可以用于执行上述的步骤s103。所述数据处理模块113用于将每个所述目标midi文件的音轨处理成包含音高和时值的数据序列。可以理解的,所述数据处理模块113可以用于执行上述的步骤s104。所述提取模块118用于提取出每个所述目标midi文件的旋律中的音轨。所述过滤模块119用于过滤每个音轨中的重叠音符。所述空白间隔处理模块1191用于将音符之间的空白间隔的音高标记为0。所述分类模块114根据调式调性对所有的数据序列进行进行分类。可以理解的,所述分类模块114还可以用于执行上述的步骤s105。所述标签模块115用于根据音轨的属性对分类后的每个数据序列设置相应的标签。可以理解的,所述标签模块115还可以用于执行上述的步骤s106。所述训练模块116用于基于增强学习算法按照数据序列的类别分别进行训练,得到多个q_table模型,每个所述q_table模型中存储各个执行动作对应的回报。可以理解的,所述训练模块116可以用于执行上述的步骤s107。所述生成模块117用于根据多个q_table模型和被选取的调式调性生成音乐旋律。可以理解的,所述生成模块117可以用于执行上述的步骤s108。综上所述,本发明提供的基于增强学习的音乐旋律生成方法、装置及用户终端能够根据从服务器获取到的多个初始midi文件进行筛选得到多个目标midi文件,并对多个目标midi文件结构化处理以将每个音轨中的音符(旋律、伴奏)对齐以及删除掉十分不规整的音轨,以确保目标midi文件规范、可用,将每个目标midi文件的音轨处理成包含音高和时值的数据序列后根据调式调性进行分类,然后基于增强学习算法按照数据序列的类别分别进行训练,得到多个q_table模型,在生成音乐时能够根据多个q_table模型和被选取的调式调性自动生成音乐旋律符合调式调性和节奏变化,且具备观赏性音乐旋律。本发明提供的基于增强学习的音乐旋律生成方法、装置及用户终端可自动生成音乐旋律,采用增强学习,可以使旋律更加具有人性化,也可以单独生成简谱和节奏,更加灵活,并且只要增加音乐文件样本,即可实现自身迭代和优化。在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
:的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1