CN113516961A - 一种音符生成方法、相关设备、存储介质及程序产品 - Google Patents
一种音符生成方法、相关设备、存储介质及程序产品 Download PDFInfo
- Publication number
- CN113516961A CN113516961A CN202111077441.8A CN202111077441A CN113516961A CN 113516961 A CN113516961 A CN 113516961A CN 202111077441 A CN202111077441 A CN 202111077441A CN 113516961 A CN113516961 A CN 113516961A
- Authority
- CN
- China
- Prior art keywords
- note
- target
- feature vector
- identifier
- vector
- 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
Images
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
- G10H1/0008—Associated control or indicating means
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种音符生成方法、相关设备、存储介质及程序产品,方法包括:获取待生成的目标音符的生成标识符及基于生成标识符生成的目标特征向量;从目标特征向量中读取目标音符的生成指示信息;在根据生成指示信息确定目标音符的生成方式为第一方式时,获取目标特征向量的一个或多个关联特征向量;根据一个或多个关联特征向量中任一关联特征向量及目标特征向量,确定任一关联特征向量对应关联标识符的重现概率;根据每个关联特征向量对应的关联标识符的重现概率,从与关联特征向量对应的关联标识符中选取重现概率满足概率阈值的关联标识符作为生成的目标音符,可生成具备序列结构的音符序列,从而生成有结构性的音乐。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种音符生成方法、相关设备、存储介质及程序产品。
背景技术
随着生活水平的提高,欣赏音乐已经成为人们休闲娱乐的重要方式,并且显而易见的是,优美动听的音乐可以有效地舒缓负面情绪,在一定程度上可以助力于人们心理健康的建设。又得益于计算机科学技术的迅猛发展,如今音乐可以不再完全依赖于人工创作,也就是说,人们可以利用计算机设备来自动化地生成音乐。当前,计算机设备通常采用循环神经网络或注意力机制作为基本结构,然后通过这种计算机设备来基于已生成的音符序列中的各音符,从音符词表中确定出新的音符,基于此方式生成的各个音符,无法构建得到具备序列结构的音符序列。但经试验表明,基于一定序列结构的音符序列生成的音乐更加符合用户的听觉需求,所以,如何使基于各个生成的音符生成的音符序列具备一定的序列结构成为了当前的研究热点。
发明内容
本申请实施例提供了一种音符生成方法、相关设备、存储介质及程序产品,可使得基于目标音符生成的音符序列具备一定的序列结构,进而使得基于目标音符生成的音乐具有结构性。
一方面,本申请实施例提供了一种音符生成方法,包括:
获取待生成的目标音符的生成标识符及基于所述生成标识符生成的目标特征向量,并从所述目标特征向量中读取所述目标音符的生成指示信息;
在根据所述生成指示信息确定针对所述目标音符的生成方式为第一方式时,获取所述目标特征向量的一个或多个关联特征向量,一个关联特征向量与所述目标音符的一个关联标识符对应,所述关联标识符与所述目标音符处于同一音符序列,且在所述音符序列中的出现位置位于所述目标音符之前;
根据所述一个或多个关联特征向量中任一关联特征向量及所述目标特征向量,确定所述任一关联特征向量对应的关联标识符的重现概率;
根据所述一个或多个关联特征向量中每个关联特征向量对应的关联标识符的重现概率,从与所述关联特征向量对应的关联标识符中选取出重现概率满足概率阈值的关联标识符作为生成的目标音符。
再一方面,本申请实施例提供了一种音符生成装置,包括:
获取单元,用于获取待生成的目标音符的生成标识符及基于所述生成标识符生成的目标特征向量,并从所述目标特征向量中读取所述目标音符的生成指示信息;
所述获取单元,还用于在根据所述生成指示信息确定针对所述目标音符的生成方式为第一方式时,获取所述目标特征向量的一个或多个关联特征向量,一个关联特征向量与所述目标音符的一个关联标识符对应,所述关联标识符与所述目标音符处于同一音符序列,且在所述音符序列中的出现位置位于所述目标音符之前;
确定单元,用于根据所述一个或多个关联特征向量中任一关联特征向量及所述目标特征向量,确定所述任一关联特征向量对应的关联标识符的重现概率;
选取单元,用于根据所述一个或多个关联特征向量中每个关联特征向量对应的关联标识符的重现概率,从与所述关联特征向量对应的关联标识符中选取出重现概率满足概率阈值的关联标识符作为生成的目标音符。
再一方面,本申请实施例提供了一种计算机设备,包括:
处理器,所述处理器适于实现一条或多条计算机指令;
存储介质,所述存储介质存储有一条或多条计算机指令,所述一条或多条计算机指令适于由所述处理器加载并执行:
获取待生成的目标音符的生成标识符及基于所述生成标识符生成的目标特征向量,并从所述目标特征向量中读取所述目标音符的生成指示信息;在根据所述生成指示信息确定针对所述目标音符的生成方式为第一方式时,获取所述目标特征向量的一个或多个关联特征向量,一个关联特征向量与所述目标音符的一个关联标识符对应,所述关联标识符与所述目标音符处于同一音符序列,且在所述音符序列中的出现位置位于所述目标音符之前;根据所述一个或多个关联特征向量中任一关联特征向量及所述目标特征向量,确定所述任一关联特征向量对应的关联标识符的重现概率;根据所述一个或多个关联特征向量中每个关联特征向量对应的关联标识符的重现概率,从与所述关联特征向量对应的关联标识符中选取出重现概率满足概率阈值的关联标识符作为生成的目标音符。
再一方面,本申请实施例提供了一种存储介质,所述存储介质存储有一条或多条计算机指令,所述一条或多条计算机指令适于由处理器加载并执行:
获取待生成的目标音符的生成标识符及基于所述生成标识符生成的目标特征向量,并从所述目标特征向量中读取所述目标音符的生成指示信息;在根据所述生成指示信息确定针对所述目标音符的生成方式为第一方式时,获取所述目标特征向量的一个或多个关联特征向量,一个关联特征向量与所述目标音符的一个关联标识符对应,所述关联标识符与所述目标音符处于同一音符序列,且在所述音符序列中的出现位置位于所述目标音符之前;根据所述一个或多个关联特征向量中任一关联特征向量及所述目标特征向量,确定所述任一关联特征向量对应的关联标识符的重现概率;根据所述一个或多个关联特征向量中每个关联特征向量对应的关联标识符的重现概率,从与所述关联特征向量对应的关联标识符中选取出重现概率满足概率阈值的关联标识符作为生成的目标音符。
再一方面,本申请实施例提供了一种计算机程序产品或计算机程序,所述计算机程序产品包括计算机程序,所述计算机程序存储在存储介质中;处理器从存储介质中读取所述计算机程序,处理器执行所述计算机程序,使得计算机设备执行:
获取待生成的目标音符的生成标识符及基于所述生成标识符生成的目标特征向量,并从所述目标特征向量中读取所述目标音符的生成指示信息;在根据所述生成指示信息确定针对所述目标音符的生成方式为第一方式时,获取所述目标特征向量的一个或多个关联特征向量,一个关联特征向量与所述目标音符的一个关联标识符对应,所述关联标识符与所述目标音符处于同一音符序列,且在所述音符序列中的出现位置位于所述目标音符之前;根据所述一个或多个关联特征向量中任一关联特征向量及所述目标特征向量,确定所述任一关联特征向量对应的关联标识符的重现概率;根据所述一个或多个关联特征向量中每个关联特征向量对应的关联标识符的重现概率,从与所述关联特征向量对应的关联标识符中选取出重现概率满足概率阈值的关联标识符作为生成的目标音符。
在本申请实施例中,由于计算机设备在采用第一方式生成目标音符时,是从目标特征向量的关联特征向量对应的关联标识符中确定的,而关联标识符是目标音符所在音符序列中,出现位置位于目标音符之前的音符,也即是说,目标音符是从已经存在的各个音符中确定出的。那么,这使得计算机设备采用第一方式生成的目标音符与关联标识符之间存在重复,合理利用了音乐的不同章节之间可能存在重复音符的特性,可以使得基于该目标音符以及各个关联标识符生成的音符序列具备一定的序列结构,那么,也就进一步使得基于该音符序列生成的音乐可以具备结构性。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种音符生成系统的示意图;
图2是本申请实施例提供的一种音符生成方法的示意流程图;
图3是本申请实施例提供的又一种音符生成方法的示意图;
图4是本申请实施例提供的一种音符生成模型的示意图;
图5是本申请实施例提供的一种音符生成装置的结构示意图;
图6是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
本申请实施例提出了一种音符生成方案,可通过注意力机制生成具备序列结构的音符序列,并可基于该音符序列生成结构性的音频(或音乐)。其中,上述提及的自注意力机制是注意力机制的改进,采用自注意力机制可以快速提取稀疏数据的重要特征;需要说明的是,上述提及的自注意力机制以及注意力机制中的“注意力”可以理解为:计算机设备在重点关注一些信息的同时可以忽略另一些信息的能力。基于此,上述提及的注意力机制可以理解为:计算机设备在进行数据处理时仅提取并参考关键数据,而忽略其他不重要数据的机制;那么进一步地,自注意力机制就可以理解为:一种减少对外部信息的依赖,更擅长捕捉数据与数据(或:特征与特征)之间的内部相关性的注意力机制。本申请实施例主要是采用注意力机制来生成用于确定目标音符的目标特征向量,生成目标特征向量的具体方式将在后续实施例中进行详细阐述,本申请在此不作赘述。
在一个实施例中,上述提及的音符生成方案可以由计算机设备来执行,计算机设备可以是终端设备,也可以是服务器。该音符生成方案的大致原理如下:计算机设备从目标特征向量中读取该目标音符的生成指示信息,以得到该生成指示信息指示的该目标音符的生成方式,其中,目标特征向量是基于待生成的目标音符的生成标识符生成的。进一步地,计算机设备就可以基于目标音符的生成方式来生成目标音符,其中,目标音符的生成方式可以包括第一方式和第二方式。具体来说,若计算机设备采用第一方式生成目标音符,那么,该计算机设备生成目标音符的过程可以大致如下:计算机设备首先获取一个或多个关联标识符中每个关联标识符的重现概率,然后,基于每个关联标识符的重现概率,从一个或多个关联标识符中选取一个关联标识符作为生成的目标音符。其中,关联标识符与生成的目标音符处于同一音符序列中,并且在该音符序列中的出现位置位于目标音符之前,那么,也就是说,关联标识符可以理解为:在音符序列中的出现位置位于目标音符之前的音符。举例来说,假设目标音符A所在音符序列为[B1,B2,B3,目标音符],那么,可以认为目标音符的关联标识符有B1、B2、B3;那么,进一步地可以理解,若目标音符是计算机设备采用第一方式生成的,则计算机设备在生成目标音符的过程中,首先获取了B1的重现概率、B2的重现概率以及B3的重现概率,进一步地,计算机设备基于B1的重现概率、B2的重现概率以及B3的重现概率,从B1、B2、B3中选取出了一个关联标识符作为目标音符。那么,基于上述描述不难理解,目标音符是从音符序列中已经存在的各个音符中选取出来的,那么可见,该目标音符所在的音符序列中,可能存在连续重复的一个或多个音符,在这种情况下,该目标音符所在的音符序列将具有一定的序列结构,进而使得计算机设备可以基于该目标音符所在的音符序列生成具有结构性的音乐,或者说,使得计算机设备可以基于该目标音符所在的音符序列生成音乐章节之间存在呼应关系的音乐。若计算机设备采用第二方式生成目标音符,那么,该计算机设备生成目标音符的过程可以大致如下:计算机设备首先获取备选音符集中各个备选音符的特征向量,然后从各个备选音符的特征向量中确定出与目标特征向量相匹配的特征向量,并从备选音符集中获取与确定出的特征向量对应的目标备选音符,进而将该目标备选音符作为目标音符。
在又一个实施例中,上述提及的音符生成方案可以应用于如图1所示的音符生成系统中。如图1所示,该音符生成系统包括终端设备10以及服务器11,且终端设备10与服务器11建立有通信连接。那么可以理解,在一种实现方式中,上述提及的音符生成方案还可以由图1所示的终端设备10以及服务器11协同执行。具体地,在生成目标音符时,可以由服务器11从终端设备10中获取目标音符的生成标识符以及目标特征向量,当服务器11获取到目标特征向量后,可以基于目标特征向量确定出目标音符的生成方式,并进一步地采用确定出的生成方式来生成目标音符。
需要说明的是,上述提及的终端设备可以包括但不限于:智能手机、平板电脑、笔记本电脑、台式计算机、车载终端、智能家电、智能手表、智能语音交互设备等。对应地,上述提及的服务器可以包括但不限于:独立的物理服务器、多个物理服务器构成的服务器集群或者分布式系统,以及提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。本申请对终端设备和服务器的类型不作具体限制,此外,需要说明的是,为了便于更好的理解本申请,在无特殊说明的情况下,以下均以音符生成方案由单个的计算机设备执行为例来对本申请实施例的具体实施方式进行详细阐述。
请参见图2,图2是本申请提出的一种音符生成方法的示意流程图,该音符生成方法是基于上述音符生成方案提出的,那么,可以理解,该音符生成方法当然可以由上述提及的计算机设备执行。如图2所示,该音符生成方法包括步骤S201-步骤S204:
S201,获取待生成的目标音符的生成标识符及基于生成标识符生成的目标特征向量,并从目标特征向量中读取目标音符的生成指示信息。
其中,待生成的目标音符的生成标识符可以用于指示计算机设备获取:生成目标音符时需要参考的一个或多个音符。所谓的目标音符可以理解为:在计算机设备已生成N(N为非负整数)个音符的情况下,即将生成的第N+1个音符,例如:当计算机设备已生成的音符为[n1,n2,n3]时,目标音符可以为n4。那么,基于此,目标特征向量可以理解为:计算机设备基于获取到的一个或多个需要参考的音符,来构建的用于生成目标音符的特征向量。具体应用中,目标特征向量可以携带目标音符的生成指示信息,该生成指示信息主要用于指示目标音符的生成方式,那么,也就是说,计算机设备可以通过读取生成指示信息来得到目标音符的生成方式,并进一步采用读取到的生成方式来生成目标音符。
在一个实施例中,生成标识符可以是起始标识符,起始标识符可以理解为:计算机设备在生成待生成音符序列中的第一个音符时,所需要参考的音符。其中,所谓的待生成音符序列是指:在生成目标音符后,将该生成的目标音符添加到已有音符序列后得到的音符序列,其包括:计算机设备生成的目标音符,以及在生成目标音符之前所生成的各个音符。示例性地,计算机设备可以将待生成音符序列存储在计算机设备的存储器中,或者,将待生成音符序列存储在与计算机设备建立有通信连接的数据库中,或者,将待生成音符序列存储在与计算机设备建立有通信连接的其他存储空间中,本申请对此不做限制。那么,基于上述描述,可以理解,若待生成音符序列中不存在参考音符,目标音符的生成标识符可以为起始标识符,其中,参考音符指的是:计算机设备在生成目标音符之前所生成的音符。
实际应用中,可选地,上述提及的起始标识符可以存在于一段音乐前奏对应的MIDI(Musical Instrument Digital Interface,乐器数字接口)文件当中,那么,也就是说,起始标识符可以用于指示音乐前奏包括的某个具体音符。其中,上述提及的MIDI文件可以理解为:一种描述性的“音乐语言”,它可以将所要演奏的乐曲信息用字节进行描述,以使计算机设备可以基于该MIDI文件生成音符。为了便于说明,示例性地,音乐前奏可以看作一个音符序列,起始标识符可以是BOS标识符,即:Begin Of Sentence(语句起始)标识符。举例来说,假设音乐前奏对应的音符序列为[a1,b1,c1,d1],在该音符序列中添加起始标识符之后,该音符序列更新为[a1,b1,BOS,c1,d1];那么,可以理解,计算机设备在生成待生成序列中的第一个音符时,需要参考的音符即为c1。进一步地,若计算机设备参考c1生成的音符为C,那么,待生成音符序列的第一个音符即为C,也就是说,待生成音符序列可以为[C]。可选地,起始标识符还可以用于指示任意一个音符(如:后续提及的备选音符集中的任一备选音符),那么,在此情况下,计算机设备可以基于该起始标识符指示的任意一个音符,来生成待生成音符序列的第一个音符。
在又一个实施例中,待生成的目标音符的生成标识符还可以是:待生成音符序列包括的一个或多个参考音符中,生成时间最晚的参考音符。那么,也就是说,若待生成音符序列中已存在一个或多个参考音符,则计算机设备在生成待生成音符序列中的第M(M为正整数)个音符时,可以将第M-1个音符作为第M个音符的生成标识符。举例来说,假设待生成音符序列为[a2,b2,c2,d2,目标音符],且待生成音符序列中的参考音符是按生成时间的先后顺序排列的。那么,不难看出,本示例中的待生成音符序列包括4个参考音符(即:a2,b2,c2,d2),且参考音符a2的生成时间最早,参考音符d2的生成时间最晚。那么,在此情况下,计算机设备可以将参考音符d2作为目标音符的生成标识符,并且不难理解的是,当计算机设备生成目标音符之后,可以得到已生成的音符序列[a2,b2,c2,d2,目标音符]。
S202,在根据生成指示信息确定针对目标音符的生成方式为第一方式时,获取目标特征向量的一个或多个关联特征向量。
其中,一个关联特征向量与目标音符的一个关联标识符对应,关联标识符与目标音符处于同一音符序列,且在音符序列中的出现位置位于目标音符之前。结合步骤S201的描述,也就可以理解,若生成指示信息指示的目标音符的生成方式为第一方式,那么,上述提及的待生成音符序列应当包括一个或多个参考音符。基于此,此处提及的关联标识符也就可以理解为:待生成音符序列中的一个参考音符。需要说明的是,每个关联特征向量都是基于一个或多个参考音符生成的,且这一个或多个参考音符可以为:待生成音符序列中,位于该关联特征向量对应的关联标识符之前的一个或多个音符。
以下结合具体示例来对上述提及的关联特征向量以及关联标识符进行详细说明。假设待生成音符序列为[n1,n2,n3,n4],且n1是基于特征向量H1生成的,n2是基于特征向量H2生成的,n3是基于特征向量H3生成的,n4是基于特征向量H4生成的。基于此,若目标特征向量为H5(用于生成目标音符n5),那么,不难理解,H5是计算机设备基于音符n1,n2,n3以及n4生成的,那么,目标特征向量H5的一个或多个关联特征向量可以为:H1、H2、H3、H4。进一步可以理解,关联特征向量H1对应的关联标识符为n1,关联特征向量H2对应的关联标识符为n2,关联特征向量H3对应的关联标识符为n3,关联特征向量H4对应的关联标识符为n4。那么,也就不难理解,上述提及的“每个关联特征向量都是基于一个或多个参考音符生成的”可以例如:关联特征向量H5是基于参考音符n1,n2,n3以及n4生成的;也可以例如:关联特征向量H4是基于参考音符n1,n2以及n3生成的。
S203,根据一个或多个关联特征向量中任一关联特征向量及目标特征向量,确定任一关联特征向量对应的关联标识符的重现概率。
其中,关联标识符的重现概率可以理解为:计算机设备将关联标识符确定为目标音符的概率。在一个实施例中,计算机设备确定任一关联特征向量对应的关联标识符的重现概率的方式,将在步骤S304中进行详细阐述,本申请实施例在此不做赘述。
S204,根据一个或多个关联特征向量中每个关联特征向量对应的关联标识符的重现概率,从与关联特征向量对应的关联标识符中选取出重现概率满足概率阈值的关联标识符作为生成的目标音符。
在一个实施例中,概率阈值可以是技术人员预先存储至计算机设备中的。那么,在此情况下,若重现概率满足概率阈值的关联标识符有多个,则计算机设备可以从这多个关联标识符中选取任意一个关联标识符作为生成的目标音符;若重现概率满足概率阈值的关联标识符为一个,则计算机设备可以直接将该重现概率满足概率阈值的关联标识符确定为生成的目标音符。
在又一个实施例中,概率阈值还可以是计算机设备在得到每个关联特征向量对应的关联标识符的重现概率后确定的。示例性地,计算机设备可以将计算得到所有重现概率中,概率值最大的重现概率确定为概率阈值;那么,在此情况下,计算机设备生成的目标音符即为:待生成的目标音符对应的所有关联标识符中,重现概率最大的关联标识符。举例来说,假设关联标识符有n1,n2和n3,且n1的重现概率为70%,n2的重现概率为10%,n3的重现概率为20%,那么,计算机设备则可以将70%作为本次生成目标音符时所采用的概率阈值,从而可以将n1确定为生成的目标音符。
在本申请实施例中,一个关联特征向量对应了一个关联标识符,并且关联标识符本质上为计算机设备已经生成的音符。又由前述可知,本申请中的计算机设备可以采用第一方式生成目标音符,且计算机设备在按照第一方式生成目标音符时,先基于目标特征向量与每个关联特征向量确定了每个关联特征向量对应的关联标识符的重现概率,进而计算机设备可以基于各个关联标识符的重现概率,从各个关联标识符中选取出重现概率满足概率阈值的关联标识符作为生成的目标音符。那么,也就不难理解,计算机设备在采用第一方式生成目标音符时,目标音符是计算机设备从一个或多个已经生成的音符中选取的,这使得计算机设备可以重复生成部分音符,进而可以使得基于目标音符构建的音符序列具有更好的结构信息。那么不难理解,若将本申请提供的音符生成方法应用于任意自回归音乐生成模型上,可以使得该音乐生成模型生成得到一段具有首尾呼应结构的音乐,更加满足用户的听觉需求。
基于上述实施例的相关描述,本申请实施例还提供了另一种音符生成方法,该音符生成方法也可以采用上述提及的计算机设备执行。请参见图3,图3是本申请实施例提供的另一种音符生成方法的示意流程图,如图3所示,该方法包括步骤S301-S305:
S301,获取待生成的目标音符的生成标识符及基于生成标识符生成的目标特征向量,并从目标特征向量中读取目标音符的生成指示信息。
S302,在根据生成指示信息确定针对目标音符的生成方式为第一方式时,获取目标特征向量的一个或多个关联特征向量。
在一个实施例中,步骤S301-步骤S302的具体实施方式可以参见上述步骤S201-步骤S202的相关描述,本申请实施例在此不再赘述。
S303,对目标特征向量及任一关联特征向量进行向量相似度运算,得到目标特征向量与任一关联特征向量之间的特征相似度。
其中,特征相似度可以反映目标特征向量与关联特征向量之间的相似性的强弱。由于目标特征向量可以用于生成目标音符,且关联特征向量与一个关联标识符对应,那么,也就不难理解,特征相似度还可以用于指示关联标识符与待生成的目标音符之间的相似度,并且不难理解,与目标音符的相似度越高的关联标识符越容易被选取为目标音符。那么,也就是说,与目标特征向量的特征相似度越高的关联特征向量,其对应的关联标识符越容易被选取为目标音符。因此,在一种实施方式中,计算机设备可以将与目标特征向量之间的特征相似度最大的关联特征向量对应的关联标识符作为目标音符。当然,在其他实施方式中,计算机设备也可以将首个特征相似度满足相似度阈值的关联特征向量对应的关联标识符确定为目标音符,本申请对此不作具体限制。
在一个实施例中,计算机设备在确定任一关联特征向量与目标特征向量之间的特征相似度时,可以具体通过如下方式实现:计算机设备首先获取待生成音符序列的序列结构对应的结构向量,需要说明的是,此处提及的待生成音符序列可以是序列结构对应的结构向量可以用于指示待生成音符序列中音符的循环规律,并且示例性地,序列结构可以例如ABAB,ABAC,AABB等。举例来说,待生成音符序列[n1,n2,n1,n2,n3,n4,n3,n4]可以看作是由子序列(n1,n2)以及子序列(n3,n4)组成的音符序列;那么,由于子序列(n1,n2)连续出现两次之后,子序列(n3,n4)又连续出现两次,因此,待生成音符序列[n1,n2,n1,n2,n3,n4,n3,n4]的序列结构可以理解为AABB。同理地,当待生成音符序列为[n1,n2,n3,n4,n1,n2,n4,n5]时,其对应的序列结构可以理解为ABAC。
进一步地,当计算机设备获取到结构向量之后,可以将该结构向量作为约束向量,并在该约束向量的约束下对目标特征向量及任一关联特征向量进行向量相似度运算,以得到目标特征向量与任一关联特征向量之间的特征相似度。为了更好的描述本申请,以下将结构向量指示的序列结构称为目标序列结构,来对上述提及的“在约束向量的约束下对目标特征向量及任一关联特征向量进行向量相似度运算”进行详细阐述。所谓的约束可以理解为:使得计算机设备以“添加目标音符后的待生成音符序列具备目标序列结构”为目的,来生成目标音符。具体地,计算机设备可以先确定约束向量与任一关联特征向量之间的特征匹配度,约束向量与任一关联特征向量之间的特征匹配度可表达:该任一关联特征向量与约束向量之间的相关性。可以理解,约束向量与任一关联特征向量之间的特征匹配度越大,则说明约束向量与任一关联特征向量之间的相关性越强,而约束向量与该任一关联特征向量之间的相关性越强,又可以说明:计算机设备将该任一关联特征向量对应的关联标识符作为生成的目标音符,可以使得生成的音符序列更加符合该约束向量所指示的目标序列结构。
因此,基于上述描述不难理解,可选地,计算机设备在计算出约束向量与该任一关联特征向量之间的特征匹配度后,可将约束向量与该任一关联特征向量之间的特征匹配度直接作为该任一关联特征向量对应的权重。进一步地,计算机设备可以计算目标特征向量与该任一关联特征向量之间的初始特征相似度,并基于该任一关联特征向量对应的权重(即:特征匹配度)对初始特征相似度进行加权处理,以得到该任一关联特征向量与目标特征向量之间的特征相似度。
可选地,计算机设备还可以先确定约束向量与每个关联特征向量之间的特征匹配度,以得到一个或多个特征匹配度,其中,每个特征匹配度对应一个关联特征向量。那么,计算机设备可以基于一个或多个特征匹配度确定每个关联特征向量对应的权重,以使各个权重之和为1。进一步地,计算机设备可以计算目标特征向量与该任一关联特征向量之间的初始特征相似度,并基于该任一关联特征向量对应的权重对初始特征相似度进行加权处理,以得到该任一关联特征向量与目标特征向量之间的特征相似度。基于此,不难理解,若计算机设备将关联标识符A作为目标音符,可以使得待生成音符序列具备目标序列结构,那么,在此情况下,为了进一步提升关联标识符A被选取为目标音符的概率,计算机设备可以在确定关联标识符A对应关联特征向量对应的权重之后,进一步对关联标识符A对应关联特征向量对应的权重进行增大,进而实现对关联标识符A对应的关联特征向量与目标特征向量之间的特征相似度的增大处理;对应地,若将关联标识符A作为目标音符,不能使得待生成音符序列具备目标序列结构,那么,为了降低关联标识符A被选取为目标音符的概率,计算机设备可以在确定出关联标识符A对应关联特征向量对应的权重之后,进一步减小该关联标识符A对应关联特征向量对应的权重,进而实现对关联标识符A对应的关联特征向量与目标特征向量之间的特征相似度的减小处理。需要说明的是,计算机设备对权重进行增大或减小后,各个权重之和仍然保持为1。基于上述方式来从关联标识符中确定目标音符,在一定程度上可以提升计算机设备生成目标音符的速率。
以下结合具体示例来对计算机设备增大关联标识符对应的关联特征向量与目标特征向量之间的特征相似度的方式进行详细说明。假设关联标识符有B、C、D,且关联标识符B对应的关联特征向量与约束向量之间的特征匹配度为90%,关联标识符C对应的关联特征向量与约束向量之间的特征匹配度为30%,关联标识符D对应的关联特征向量与约束向量之间的特征匹配度为80%。若计算机设备基于这三个特征匹配度确定出关联标识符B对应关联特征向量对应的权重为0.5,关联标识符C对应关联特征向量对应的权重为0.1,关联标识符D对应关联特征向量对应的权重为0.4,那么,不难看出,计算机设备将关联标识符B作为目标音符,更能使得待生成音符序列具备目标序列结构,同时,计算机设备将关联标识符C作为目标音符,几乎不能使得待生成音符序列具备目标序列结构。基于此,为了增大关联标识符B被作为生成的目标音符的概率,计算机设备可以将关联标识符B对应关联特征向量的权重进行增大(如增大至0.7),从而达到增大关联标识符B对应关联特征向量与目标特征向量之间的特征相似度的目的。需要说明的是,当关联标识符B对应关联特征向量的权重增大至0.7之后,计算机设备需要对关联标识符C对应关联特征向量对应的权重,以及关联标识符D对应关联特征向量对应的权重进行对应调整,以使得调整后的这三个权重之和仍然为1,如:将关联标识符C对应关联特征向量对应的权重调整为0.05,将关联标识符D对应关联特征向量对应的权重调整为0.25。
在一个实施例中,上述提及的结构向量可以是计算机设备根据图像对应的情感信息确定的。具体实现中,计算机设备可以先对图像进行分析处理,以得到该图像表达的情感信息,然后再从一个或多个预设的序列结构中查询与该情感信息匹配的序列结构;进一步地,计算机设备可以将查询到的序列结构对应的结构向量,作为待生成音符序列的序列结构的结构向量。其中,图像表达的情感信息包括但不限于:悲伤(如:存在哭泣状表情的图像、色彩灰暗的图像等)、欢快(如:婚纱照、色彩艳丽的图像等)、恐惧(如:包含惊恐状表情的图像)、愤怒(如:包含愤怒状表情的图像)等。那么,基于上述描述不难看出,本申请实施例提供的音符生成方法可以应用的场景包括但不限于:音乐相册制作场景、图像浏览场景等。以音乐相册制作场景为例,在音乐相册制作场景中,计算机设备可以对用户选中的图像(一张或多张图像)进行特征提取处理,得到图像对应的图像特征,然后计算机设备可以对图像特征进行分析处理,以提取出该图像特征蕴含的情感信息,从而根据该情感信息确定出待生成音符序列的序列结构的结构向量,进而可以根据该结构向量生成与该用户选中的图像匹配的音乐。需要说明的是,图像的情感信息也可以由其他设备(如:用于显示图像的终端设备)来提取,在此情况下,计算机设备可以直接从其他设备中获取图像的情感信息,并进一步基于该情感信息确定序列结构的结构向量,这样的处理方式可以减轻计算机设备的处理负担,在一定程度上提升目标音符的生成速率。
在又一个实施例中,上述提及的结构向量也可以是计算机设备根据文本内容的情感信息确定的。具体实现中,计算机设备可以先对文本内容进行语义分析处理,以得到该文本内容对应的语义信息,进而使得计算机设备可以基于语义信息确定出该文本内容对应的情感信息。进一步地,计算机设备可以基于该情感信息确定出序列结构,从而确定出该序列结构的结构向量。其中,文本内容对应的情感信息包括但不限于:严肃、愉悦、沉重、悲伤、犹豫等。那么,基于上述描述不难看出,本申请实施例提供的音符生成方法的应用场景还可以包括但不限于:朗诵背景音乐制作场景、文本阅读时的背景音乐制作场景等。需要说明的是,文本内容的情感信息也可以由其他设备(如:自然语言处理设备)来提取,在此情况下,计算机设备可以直接从其他设备中获取文本内容的情感信息,并进一步基于该情感信息确定序列结构的结构向量,此方式可以降低对计算机设备的性能要求,从而保证本申请提供的音符生成方法可以被广泛应用。
S304,基于特征相似度确定任一关联特征向量对应的关联标识符的重现概率。
其中,重现概率包括:特征相似度,或归一化后的特征相似度。那么,也就是说,在一种实施方式中,计算机设备可以在得到任一关联特征向量与目标特征向量之间的特征相似度之后,直接将该特征相似度作为该任一关联特征向量对应的关联标识符的重现概率。在另一种实施方式中,计算机设备还可以分别计算每个关联特征向量与目标特征向量之间的特征相似度,以得到一个或多个特征相似度(由于目标特征向量的关联特征向量有一个或多个,因此不难理解,计算机设备在分别计算每个关联特征向量与目标特征向量之间的特征相似度之后,可以得到一个或多个特征相似度)。那么,计算机设备可以进一步对这一个或多个特征相似度进行归一化处理,以使得各个特征相似度之间的差异更加明显,进而使得计算机设备可以快速确定出符合条件的特征相似度,也就使得计算机设备可以基于确定出的特征相似度,迅速确定出关联特征向量以及该关联特征向量对应的关联标识符。那么,也就是说,计算机设备可以将归一化后的特征相似度作为关联特征向量对应的关联标识符的重现概率,其中,归一化处理后的一个或多个特征相似度之和为1。
S305,根据一个或多个关联特征向量中每个关联特征向量对应的关联标识符的重现概率,从与关联特征向量对应的关联标识符中选取出重现概率满足概率阈值的关联标识符作为生成的目标音符。
在一个实施例中,步骤S305的相关实施例可以参见步骤S204的相关描述,本申请实施例在此不再赘述。
由前述可知,计算机设备从目标特征向量中读取的目标音符的生成指示信息还可以用于指示:目标音符的生成方式为第二方式。那么,为了更好的理解本申请,以下将结合具体实施例来对计算机设备按照第二方式生成目标音符的方式进行详细说明。
在一个实施例中,若计算机设备在根据生成指示信息确定针对目标音符的生成方式为第二方式,那么,计算机设备可以获取备选音符集中任一备选音符的特征向量。其中,备选音符集包括一个或多个备选音符,计算机设备可以对一个或多个备选音符中任一备选音符进行特征提取处理,以得到该任一备选音符的特征向量。进一步地,计算机设备可以根据目标特征向量及任一备选音符的特征向量,从备选音符集中选取出目标备选音符。具体地,计算机设备可以先计算目标特征向量与该任一备选音符的特征向量之间的特征相似度,若该特征相似度满足相似度条件,则认为该任一备选音符的特征向量与目标特征向量相匹配,那么,也就使得计算机设备可以将该任一备选音符作为目标备选音符。那么,也就是说,目标备选音符的特征向量与目标特征向量相匹配。示例性地,上述提及“相似度条件”可以指:相似度阈值;当然,还可以指:特征相似度为所有特征相似度中的最大值。其中,“所有相似度”包括:备选音符集中每个备选音符的特征向量与目标特征向量与之间的特征相似度。
基于上述描述可知,本申请提供的音符处理方法可以生成具有结构性的音乐。为了使得基于目标音符生成的音乐的结构性,本申请提供的音符生成方法在生成目标特征向量时,采用了自注意力机制。以下将结合具体实施例来对计算机设备基于自注意力机制生成目标特征向量的方式进行详细说明,那么,也就是说,上述步骤S301中的相关具体实施例可以参见如下描述:
在一个实施例中,若待生成音符序列中已存在一个或多个参考音符,计算机设备可以先获取起始标识符对应的特征向量及起始标识符对应的特征向量的注意力分数,以及获取一个或多个参考音符中每个参考音符对应的特征向量及每个参考音符对应的特征向量的注意力分数。在具体应用中,计算机设备在确定任一参考音符对应的特征向量的注意力分数时,可以先调用自注意力模块计算一个或多个参考音符中,每个参考音符对应的特征向量的关键向量K和查询向量Q;具体地,计算机设备可以先获取每个参考音符的特征向量,然后将该特征向量与预设的各个参数矩阵(如:关键参数矩阵WK、查询参数矩阵WQ)相乘,从而可以得到该参考音符对应的特征向量的关键向量K,以及查询向量Q。进一步地,计算机设备可以将得到的每个特征向量的关键向量K与任一参考音符对应的特征向量的查询向量Q进行点积运算,以得到上述任一参考音符对应的特征向量的注意力分数。举例来说,假设参考音符有A、B、C;那么,若参考音符A的关键向量K为KA,查询向量Q为QA,且参考音符B的查询向量Q为QB,参考音符C的查询向量Q为QC,那么,计算机设备获取参考音符A的特征向量的注意力分数时,可以通过计算(KA·QA+KA·QB+KA·QC)的值来得到注意力分数,需要说明的是,(KA·QA+KA·QB+KA·QC)中的“·”是用于表达“点积运算”的数学符号,也就是说,KA·QA表示的是:将KA和QA进行点积运算;KA·QB表示的是:将KA和QB进行点积运算;KA·QC表示的是:将KA和QC进行点积运算。
进一步地,计算机设备可以采用起始标识符对应的特征向量的注意力分数及每个参考音符对应的特征向量的注意力分数,分别对起始标识符对应的特征向量及每个参考音符对应的特征向量进行加权融合处理,得到目标特征向量。具体实现中,计算机设备可以先获取起始标识符对应的特征向量的值向量V,并获取一个或多个参考音符中每个参考音符对应的特征向量的值向量V。具体地,计算机设备可以通过将参考音符的特征向量与参数矩阵WV相乘的方式,计算得到该参考音符对应的特征向量的值向量V;那么,基于此,计算机设备可以采用起始标识符的特征向量的注意力分数,对起始标识符对应的特征向量的值向量V进行加权,以及,计算机设备可以采用任一参考音符对应特征向量的注意力分数对相应参考音符对应特征向量的值向量V进行加权,进而将加权后的各个值向量进行融合,以得到目标特征向量。
在一个实施例中,计算机设备可以采用如图4所示的音符生成模型架构来生成目标音符,该音符生成模型可以是计算机设备采用端到端的方式训练得到的。由图4可见,每个音符都是基于自回归解码器解码得到的,并且在实际应用中,该自回归解码器可以是Transformer模型中的解码器。那么,也就不难看出,本申请实施例中用于生成目标音符的音符生成模型可以作为一个插件应用于任意的音乐生成模型中,且音乐生成模型在引入本申请实施例提出的音符生成模型时无需引入较多的模型参数,也就使得该音乐生成模型可以具备稳定的性能。其中,由图4不难看出,当计算机设备采用该音符生成模型生成n1(即:待生成音符序列中的第一个音符)时,该音符生成模型的输入可以为起始标识符(即:BOS);当计算机设备采用该音符生成模型生成n1之后的各个音符(如:n2,n3等)时,该音符生成模型的输入可以为起始标识符以及已经生成的各个音符(即上述提及的关联标识符)。为了便于描述,以下称已生成的音符为历史音符,并基于此结合图4和具体示例来对计算机设备生成目标音符的具体方式进行说明。假设当前时刻,音符生成模型需要生成的目标音符为n7,或者说,当前时刻的音符生成模型解码到了第七步。那么,自回归解码器可以基于已经解码出的n1,n2,n3,n4,n5和n6进行自注意力计算,以得到H7(即:目标特征向量),进而使得计算机设备可以基于H7生成目标音符n7。在具体实现中,H7可以指一个隐向量(其维度可以为一个超参数,需在生成目标音符前进行定义),那么,进一步地,计算机设备可以基于H7判断当前时刻是否需要从各个历史音符中拷贝一个历史音符来作为目标音符,具体地,计算机设备可以通过将H7输入至二分类器,来实现判断当前时刻是否需要从各个历史音符中拷贝一个历史音符作为目标音符。
可选地,若判断结果为:当前时刻需要从各个历史音符中拷贝一个历史音符作为目标音符,则计算机设备可以将目标特征向量H7输入至拷贝模块,以从各个历史音符中选取出目标音符n7,进而可以基于生成的各个音符构建得到音符具有重复性的音符序列,也就可以进一步得到具有结构性的乐句。需要说明的是,此处的拷贝模块本质上可以是一个FFN(Feed Forward Network,前馈网络,可看做全连接层)和一个softmax层(用于对全连接层输出的各个概率进行归一化处理的数据处理模块)。具体地,该拷贝模块在用于生成n7时,具体输入至FFN的可以是关联特征向量H1,H2,H3,H4,H5和H6;那么,从FFN中输出的就可以是关联特征向量对应的关联标识符(或理解为:历史音符)的重现概率,具体可以理解为:各个历史音符可能出现在当前位置的概率。进一步地,计算机设备可以将这些概率值输入至softmax层,以得到重现概率最大的历史音符作为n7。可选地,若判断结果为:当前时刻不需要从各个历史音符中拷贝一个历史音符作为目标音符,则计算机设备可以基于目标特征向量H7从备选音符集中选取出目标音符,具体地,计算机设备可以获取备选音符集中备选音符的特征向量,然后通过将H7以及备选音符的特征向量输入至一个全连接层,在全连接层中基于H7和备选音符的特征向量,来确定备选音符被选择为目标音符的选择概率,从而计算机设备可以将选择概率满足选择条件的备选音符确定为目标音符,进而得到一段具有延伸性或创新性的乐句。示例性地,选择条件可以是:选择概率阈值,也可以是:概率值最大的选择概率。
本申请实施例中,计算机设备不仅可以采用第一方式生成目标音符,还可以采用第二方式生成目标音符。并且由前述可知,当计算机设备采用第二方式生成目标音符时,是基于备选音符集中备选音符的特征向量与目标特征向量,来从备选音符集中选取出的目标音符。那么,由于备选音符集中的备选音符与上述提及的关联标识符之间的重复概率较小,也就是说,从备选音符集中选取目标音符可以使得目标音符与已经存在的各个音符之间不存在重复性,从而使得计算机设备可以基于目标音符和已存在的各个音符生成一段具有创新性的音乐。那么,又由于计算机设备采用第一方式生成目标音符时,将会生成重复的音符,也就是说,本申请实施例中的计算机设备可以选择性的生成重复的音符,从而可以使得计算机设备可以更好的生成具有结构信息的乐句。
基于上述音符生成方法相关实施例的描述,本申请实施例还公开了一种音符生成装置,该音符生成装置可以是运行于上述所提及的计算机设备中的一个计算机程序(包括程序代码)。该音符生成装置可以执行图2或图3所示的方法。请参见图5,所述音符生成装置可以包括:获取单元501,确定单元502以及选取单元503。
获取单元501,用于获取待生成的目标音符的生成标识符及基于所述生成标识符生成的目标特征向量,并从所述目标特征向量中读取所述目标音符的生成指示信息;
所述获取单元501,还用于在根据所述生成指示信息确定针对所述目标音符的生成方式为第一方式时,获取所述目标特征向量的一个或多个关联特征向量,一个关联特征向量与所述目标音符的一个关联标识符对应,所述关联标识符与所述目标音符处于同一音符序列,且在所述音符序列中的出现位置位于所述目标音符之前;
确定单元502,用于根据所述一个或多个关联特征向量中任一关联特征向量及所述目标特征向量,确定所述任一关联特征向量对应的关联标识符的重现概率;
选取单元503,用于根据所述一个或多个关联特征向量中每个关联特征向量对应的关联标识符的重现概率,从与所述关联特征向量对应的关联标识符中选取出重现概率满足概率阈值的关联标识符作为生成的目标音符。
在一种实施方式中,所述确定单元502具体用于执行:
对所述目标特征向量及所述任一关联特征向量进行向量相似度运算,得到所述目标特征向量与所述任一关联特征向量之间的特征相似度;
基于所述特征相似度确定所述任一关联特征向量对应的关联标识符的重现概率,所述重现概率包括所述特征相似度,或所述重现概率包括归一化后的特征相似度。
在又一种实施方式中,所述确定单元502还可以用于执行:
获取待生成音符序列的序列结构对应的结构向量;
将所述结构向量作为约束向量,并在所述约束向量的约束下对所述目标特征向量及所述任一关联特征向量进行向量相似度运算,得到所述目标特征向量与所述任一关联特征向量之间的特征相似度。
在又一种实施方式中,若待生成音符序列中不存在参考音符,则所述目标音符的生成标识符为起始标识符,且根据所述生成指示信息确定的针对所述目标音符的生成方式为第二方式;
若所述待生成音符序列中已存在一个或多个参考音符,则所述一个或多个参考音符中,生成时间最晚的参考音符为所述目标音符的生成标识符。
在又一种实施方式中,所述确定单元502还用于执行:
在根据所述生成指示信息确定针对所述目标音符的生成方式为第二方式时,获取备选音符集中任一备选音符的特征向量;
根据所述目标特征向量及所述任一备选音符的特征向量,从所述备选音符集中选取出目标备选音符,所述目标备选音符的特征向量与所述目标特征向量相匹配;
将选取出的目标备选音符作为所述目标音符。
在又一种实施方式中,若所述待生成音符序列中已存在一个或多个参考音符;所述获取单元501可以具体执行:
获取所述起始标识符对应的特征向量及所述起始标识符对应的特征向量的注意力分数,并获取所述一个或多个参考音符中每个参考音符对应的特征向量及所述每个参考音符对应的特征向量的注意力分数;
采用所述起始标识符对应的特征向量的注意力分数及所述每个参考音符对应的特征向量的注意力分数,分别对所述起始标识符对应的特征向量及所述每个参考音符对应的特征向量进行加权融合处理,得到所述目标特征向量。
在又一种实施方式中,所述获取单元501还可以具体执行:
调用自注意力模块计算所述一个或多个参考音符中,每个参考音符对应的特征向量的关键向量K和查询向量Q;
将得到的每个特征向量的关键向量K与所述任一参考音符对应的特征向量的查询向量Q进行点积运算,得到所述任一参考音符对应的特征向量的注意力分数。
根据本申请的另一个实施例,图2和图3所示的方法所涉及的各个步骤可以是由图5所示的音符生成装置中的各个单元来执行的。例如:图2所示的步骤S201和步骤S202均可以由图5所示的音符生成装置中的获取单元501来执行,步骤S203可以由图5所示的音符生成装置中的确定单元502来执行,步骤S204可以由图5所示的音符生成装置中的选取单元503来执行。再如,图3所示的步骤S301和步骤S302均可以由图5所示的音符生成装置中的获取单元501来执行,步骤S303至步骤S304均可以由图5所示的音符生成装置中的确定单元502来执行,步骤S305可以由图5所示的音符生成装置中的选取单元503来执行。
根据本申请的另一个实施例,图5所示的音符生成装置中的各个单元是基于逻辑功能划分的,上述各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请实施例的技术效果的实现。在本申请实施例的其它实施例中,音符生成装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请实施例的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图2或图3所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图5所示的音符生成装置,以及来实现本申请实施例的音符生成方法。所述计算机程序可以记载于例如存储介质上,并通过存储介质装载于上述计算设备中,并在其中运行。
在本申请实施例中,由于音符生成装置在采用第一方式生成目标音符时,是从目标特征向量的关联特征向量对应的关联标识符中确定的,而关联标识符是目标音符所在音符序列中,出现位置位于目标音符之前的音符,也即是说,目标音符是从已经存在的各个音符中确定出的。那么,这使得音符生成装置采用第一方式生成的目标音符与关联标识符之间存在重复,合理利用了音乐的不同章节之间可能存在重复音符的特性,可以使得基于该目标音符以及各个关联标识符生成的音符序列具备一定的序列结构,那么,也就进一步使得基于该音符序列生成的音乐可以具备结构性。
基于上述方法实施例以及装置实施例的相关描述,本申请实施例还提出了一种计算机设备。请参见图6,该计算机设备至少包括处理器601以及存储介质602,且该计算机设备内的处理器601和存储介质602可通过总线或其他方式连接。
所述存储介质602是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的存储介质802既可以包括计算机设备中的内置存储介质,当然也可以包括计算机设备所支持的扩展存储介质。存储介质602提供存储空间,该存储空间存储了计算机设备的操作系统。并且,在该存储空间中还存放了适于被处理器601加载并执行的一条或多条计算机指令,这些计算机指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的存储介质。所述处理器601(或称CPU(Central Processing Unit,中央处理器))是计算机设备的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行一条或多条指令从而实现相应方法流程或相应功能。
在一个实施例中,可由处理器601加载并执行存储介质602中存放的一条或多条计算机指令,以实现上述有关图2和图3所示的音符生成方法实施例中的相应方法步骤;具体实现中,计算机存储介质602中的一条或多条计算机指令由处理器601加载并执行如下步骤:
获取待生成的目标音符的生成标识符及基于所述生成标识符生成的目标特征向量,并从所述目标特征向量中读取所述目标音符的生成指示信息;
在根据所述生成指示信息确定针对所述目标音符的生成方式为第一方式时,获取所述目标特征向量的一个或多个关联特征向量,一个关联特征向量与所述目标音符的一个关联标识符对应,所述关联标识符与所述目标音符处于同一音符序列,且在所述音符序列中的出现位置位于所述目标音符之前;
根据所述一个或多个关联特征向量中任一关联特征向量及所述目标特征向量,确定所述任一关联特征向量对应的关联标识符的重现概率;
根据所述一个或多个关联特征向量中每个关联特征向量对应的关联标识符的重现概率,从与所述关联特征向量对应的关联标识符中选取出重现概率满足概率阈值的关联标识符作为生成的目标音符。
在一种实施方式中,所述处理器601具体用于加载并执行:
对所述目标特征向量及所述任一关联特征向量进行向量相似度运算,得到所述目标特征向量与所述任一关联特征向量之间的特征相似度;
基于所述特征相似度确定所述任一关联特征向量对应的关联标识符的重现概率,所述重现概率包括所述特征相似度,或所述重现概率包括归一化后的特征相似度。
在又一种实施方式中,所述处理器601具体用于加载并执行:
获取待生成音符序列的序列结构对应的结构向量;
将所述结构向量作为约束向量,并在所述约束向量的约束下对所述目标特征向量及所述任一关联特征向量进行向量相似度运算,得到所述目标特征向量与所述任一关联特征向量之间的特征相似度。
在又一种实施方式中,若待生成音符序列中不存在参考音符,则所述目标音符的生成标识符为起始标识符,且根据所述生成指示信息确定的针对所述目标音符的生成方式为第二方式;
若所述待生成音符序列中已存在一个或多个参考音符,则所述一个或多个参考音符中,生成时间最晚的参考音符为所述目标音符的生成标识符。
在又一种实施方式中,所述处理器601具体用于加载并执行:
在根据所述生成指示信息确定针对所述目标音符的生成方式为第二方式时,获取备选音符集中任一备选音符的特征向量;
根据所述目标特征向量及所述任一备选音符的特征向量,从所述备选音符集中选取出目标备选音符,所述目标备选音符的特征向量与所述目标特征向量相匹配;
将选取出的目标备选音符作为所述目标音符。
在又一种实施方式中,若所述待生成音符序列中已存在一个或多个参考音符;所述处理器601具体用于加载并执行:
获取所述起始标识符对应的特征向量及所述起始标识符对应的特征向量的注意力分数,并获取所述一个或多个参考音符中每个参考音符对应的特征向量及所述每个参考音符对应的特征向量的注意力分数;
采用所述起始标识符对应的特征向量的注意力分数及所述每个参考音符对应的特征向量的注意力分数,分别对所述起始标识符对应的特征向量及所述每个参考音符对应的特征向量进行加权融合处理,得到所述目标特征向量。
在又一种实施方式中,所述处理器601具体用于加载并执行:
调用自注意力模块计算所述一个或多个参考音符中,每个参考音符对应的特征向量的关键向量K和查询向量Q;
将得到的每个特征向量的关键向量K与所述任一参考音符对应的特征向量的查询向量Q进行点积运算,得到所述任一参考音符对应的特征向量的注意力分数。
在本申请实施例中,由于计算机设备在采用第一方式生成目标音符时,是从目标特征向量的关联特征向量对应的关联标识符中确定的,而关联标识符是目标音符所在音符序列中,出现位置位于目标音符之前的音符,也即是说,目标音符是从已经存在的各个音符中确定出的。那么,这使得计算机设备采用第一方式生成的目标音符与关联标识符之间存在重复,合理利用了音乐的不同章节之间可能存在重复音符的特性,可以使得基于该目标音符以及各个关联标识符生成的音符序列具备一定的序列结构,那么,也就进一步使得基于该音符序列生成的音乐可以具备结构性。
本申请实施例还提供了一种存储介质,该存储介质中存储了上述音符生成方法的一条或多条计算机指令,当一个或多个处理器加载并执行该计算机指令,可以实现音符生成方法实施例中对音符生成方法的描述,在此不再赘述。对采用相同方法的有益效果的描述,在此不再赘述。可以理解的是,计算机指令可以被部署在一个或多个能够相互通信的设备上执行。
需要说明的是,根据本申请实施例的一个方面,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在存储介质中。计算机设备的处理器从存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述图2和图3所示的音符生成方法相关实施例方面的各种可选方式中提供的方法。
此外,应当理解的是,以上所揭露的各个实施例仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (11)
1.一种音符生成方法,其特征在于,包括:
获取待生成的目标音符的生成标识符及基于所述生成标识符生成的目标特征向量,并从所述目标特征向量中读取所述目标音符的生成指示信息;
在根据所述生成指示信息确定针对所述目标音符的生成方式为第一方式时,获取所述目标特征向量的一个或多个关联特征向量,一个关联特征向量与所述目标音符的一个关联标识符对应,所述关联标识符与所述目标音符处于同一音符序列,且在所述音符序列中的出现位置位于所述目标音符之前;
根据所述一个或多个关联特征向量中任一关联特征向量及所述目标特征向量,确定所述任一关联特征向量对应的关联标识符的重现概率;
根据所述一个或多个关联特征向量中每个关联特征向量对应的关联标识符的重现概率,从与所述关联特征向量对应的关联标识符中选取出重现概率满足概率阈值的关联标识符作为生成的目标音符。
2.根据权利要求1所述的方法,其特征在于,所述根据所述一个或多个关联特征向量中任一关联特征向量及所述目标特征向量,确定所述任一关联特征向量对应的关联标识符的重现概率,包括:
对所述目标特征向量及所述任一关联特征向量进行向量相似度运算,得到所述目标特征向量与所述任一关联特征向量之间的特征相似度;
基于所述特征相似度确定所述任一关联特征向量对应的关联标识符的重现概率,所述重现概率包括所述特征相似度,或所述重现概率包括归一化后的特征相似度。
3.根据权利要求2所述的方法,其特征在于,所述对所述目标特征向量及所述任一关联特征向量进行向量相似度运算,得到所述目标特征向量与所述任一关联特征向量之间的特征相似度,包括:
获取待生成音符序列的序列结构对应的结构向量;
将所述结构向量作为约束向量,并在所述约束向量的约束下对所述目标特征向量及所述任一关联特征向量进行向量相似度运算,得到所述目标特征向量与所述任一关联特征向量之间的特征相似度。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若待生成音符序列中不存在参考音符,则所述目标音符的生成标识符为起始标识符,且根据所述生成指示信息确定的针对所述目标音符的生成方式为第二方式;
若所述待生成音符序列中已存在一个或多个参考音符,则所述一个或多个参考音符中,生成时间最晚的参考音符为所述目标音符的生成标识符。
5.根据权利要求1或4所述的方法,其特征在于,所述方法还包括:
在根据所述生成指示信息确定针对所述目标音符的生成方式为第二方式时,获取备选音符集中任一备选音符的特征向量;
根据所述目标特征向量及所述任一备选音符的特征向量,从所述备选音符集中选取出目标备选音符,所述目标备选音符的特征向量与所述目标特征向量相匹配;
将选取出的目标备选音符作为所述目标音符。
6.根据权利要求4所述的方法,其特征在于,若所述待生成音符序列中已存在一个或多个参考音符;所述方法还包括:
获取所述起始标识符对应的特征向量及所述起始标识符对应的特征向量的注意力分数,并获取所述一个或多个参考音符中每个参考音符对应的特征向量及所述每个参考音符对应的特征向量的注意力分数;
采用所述起始标识符对应的特征向量的注意力分数及所述每个参考音符对应的特征向量的注意力分数,分别对所述起始标识符对应的特征向量及所述每个参考音符对应的特征向量进行加权融合处理,得到所述目标特征向量。
7.根据权利要求6所述的方法,其特征在于,获取所述一个或多个参考音符中任一参考音符对应的特征向量的注意力分数的方式包括:
调用自注意力模块计算所述一个或多个参考音符中,每个参考音符对应的特征向量的关键向量K和查询向量Q;
将得到的每个特征向量的关键向量K与所述任一参考音符对应的特征向量的查询向量Q进行点积运算,得到所述任一参考音符对应的特征向量的注意力分数。
8.一种音符生成装置,其特征在于,包括:
获取单元,用于获取待生成的目标音符的生成标识符及基于所述生成标识符生成的目标特征向量,并从所述目标特征向量中读取所述目标音符的生成指示信息;
所述获取单元,还用于在根据所述生成指示信息确定针对所述目标音符的生成方式为第一方式时,获取所述目标特征向量的一个或多个关联特征向量,一个关联特征向量与所述目标音符的一个关联标识符对应,所述关联标识符与所述目标音符处于同一音符序列,且在所述音符序列中的出现位置位于所述目标音符之前;
确定单元,用于根据所述一个或多个关联特征向量中任一关联特征向量及所述目标特征向量,确定所述任一关联特征向量对应的关联标识符的重现概率;
选取单元,用于根据所述一个或多个关联特征向量中每个关联特征向量对应的关联标识符的重现概率,从与所述关联特征向量对应的关联标识符中选取出重现概率满足概率阈值的关联标识符作为生成的目标音符。
9.一种计算机设备,其特征在于,包括:
处理器,所述处理器适于实现一条或多条计算机指令;
存储介质,所述存储介质存储有一条或多条计算机指令,所述一条或多条计算机指令适于由所述处理器加载并执行如权利要求1-7任一项所述的音符生成方法。
10.一种存储介质,其特征在于,所述存储介质存储有一条或多条计算机指令,所述一条或多条计算机指令适于由处理器加载并执行如权利要求1-7任一项所述的音符生成方法。
11.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序适于由处理器加载并执行如权利要求1-7任一项所述的音符生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111077441.8A CN113516961B (zh) | 2021-09-15 | 2021-09-15 | 一种音符生成方法、相关设备、存储介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111077441.8A CN113516961B (zh) | 2021-09-15 | 2021-09-15 | 一种音符生成方法、相关设备、存储介质及程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113516961A true CN113516961A (zh) | 2021-10-19 |
CN113516961B CN113516961B (zh) | 2021-12-03 |
Family
ID=78063319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111077441.8A Active CN113516961B (zh) | 2021-09-15 | 2021-09-15 | 一种音符生成方法、相关设备、存储介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113516961B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110415677A (zh) * | 2018-04-26 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 音频生成方法和装置及存储介质 |
US20210049990A1 (en) * | 2018-02-14 | 2021-02-18 | Bytedance Inc. | A method of generating music data |
CN116704980A (zh) * | 2023-08-03 | 2023-09-05 | 腾讯科技(深圳)有限公司 | 音乐作品的生成方法、音乐生成模型的训练方法及其设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090254206A1 (en) * | 2008-04-02 | 2009-10-08 | David Snowdon | System and method for composing individualized music |
EP2551843A1 (en) * | 2011-07-27 | 2013-01-30 | YAMAHA Corporation | Music analysis apparatus |
CN106205572A (zh) * | 2016-06-28 | 2016-12-07 | 海信集团有限公司 | 音符序列生成方法及装置 |
CN109448683A (zh) * | 2018-11-12 | 2019-03-08 | 平安科技(深圳)有限公司 | 基于神经网络的音乐生成方法及装置 |
CN110444185A (zh) * | 2019-08-05 | 2019-11-12 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种音乐生成方法及装置 |
CN111630590A (zh) * | 2018-02-14 | 2020-09-04 | 字节跳动有限公司 | 生成音乐数据的方法 |
CN113012665A (zh) * | 2021-02-19 | 2021-06-22 | 腾讯音乐娱乐科技(深圳)有限公司 | 音乐生成方法及音乐生成模型的训练方法 |
-
2021
- 2021-09-15 CN CN202111077441.8A patent/CN113516961B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090254206A1 (en) * | 2008-04-02 | 2009-10-08 | David Snowdon | System and method for composing individualized music |
EP2551843A1 (en) * | 2011-07-27 | 2013-01-30 | YAMAHA Corporation | Music analysis apparatus |
CN106205572A (zh) * | 2016-06-28 | 2016-12-07 | 海信集团有限公司 | 音符序列生成方法及装置 |
CN111630590A (zh) * | 2018-02-14 | 2020-09-04 | 字节跳动有限公司 | 生成音乐数据的方法 |
CN109448683A (zh) * | 2018-11-12 | 2019-03-08 | 平安科技(深圳)有限公司 | 基于神经网络的音乐生成方法及装置 |
CN110444185A (zh) * | 2019-08-05 | 2019-11-12 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种音乐生成方法及装置 |
CN113012665A (zh) * | 2021-02-19 | 2021-06-22 | 腾讯音乐娱乐科技(深圳)有限公司 | 音乐生成方法及音乐生成模型的训练方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210049990A1 (en) * | 2018-02-14 | 2021-02-18 | Bytedance Inc. | A method of generating music data |
US11887566B2 (en) * | 2018-02-14 | 2024-01-30 | Bytedance Inc. | Method of generating music data |
CN110415677A (zh) * | 2018-04-26 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 音频生成方法和装置及存储介质 |
CN116704980A (zh) * | 2023-08-03 | 2023-09-05 | 腾讯科技(深圳)有限公司 | 音乐作品的生成方法、音乐生成模型的训练方法及其设备 |
CN116704980B (zh) * | 2023-08-03 | 2023-10-20 | 腾讯科技(深圳)有限公司 | 音乐作品的生成方法、音乐生成模型的训练方法及其设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113516961B (zh) | 2021-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113516961B (zh) | 一种音符生成方法、相关设备、存储介质及程序产品 | |
US10824874B2 (en) | Method and apparatus for processing video | |
CN109165302B (zh) | 多媒体文件推荐方法及装置 | |
CN107909998B (zh) | 语音指令处理方法、装置、计算机设备和存储介质 | |
CN110234018B (zh) | 多媒体内容描述生成方法、训练方法、装置、设备及介质 | |
JP6677419B2 (ja) | 音声対話方法及び装置 | |
JP2021516361A (ja) | 音声ウェイクアップ方法及び装置 | |
US11741941B2 (en) | Configurable neural speech synthesis | |
JP7397094B2 (ja) | リソース構成方法、リソース構成装置、コンピューター機器、及びコンピュータープログラム | |
JP6884947B2 (ja) | 対話システム及びそのためのコンピュータプログラム | |
CN111859940B (zh) | 一种关键词提取方法、装置、电子设备及存储介质 | |
CN110096701A (zh) | 消息转换处理方法、装置、存储介质及电子设备 | |
CN112163067A (zh) | 一种语句答复方法、语句答复装置及电子设备 | |
KR20200084260A (ko) | 전자 장치 및 이의 제어 방법 | |
CN111400481A (zh) | 针对多轮对话生成回复语句的方法和装置 | |
CN114706945A (zh) | 意图识别方法、装置、电子设备及存储介质 | |
CN114118100A (zh) | 用于生成对话语句的方法、装置、设备、介质和程序产品 | |
CN111402864A (zh) | 语音处理方法及电子设备 | |
CN112182255A (zh) | 用于存储媒体文件和用于检索媒体文件的方法和装置 | |
CN114328814A (zh) | 文本摘要模型的训练方法、装置、电子设备及存储介质 | |
CN114119123A (zh) | 信息推送的方法和装置 | |
CN111783429A (zh) | 信息处理方法、装置、电子设备以及存储介质 | |
CN110781329A (zh) | 图像搜索方法、装置、终端设备及存储介质 | |
WO2022262080A1 (zh) | 一种对话关系处理方法、计算机及可读存储介质 | |
CN112487236A (zh) | 确定关联歌单的方法、装置、设备及存储介质 |
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 |