歌曲的数字乐谱文件的生成方法和装置与流程

文档序号:12274012阅读:895来源:国知局
歌曲的数字乐谱文件的生成方法和装置与流程

本发明涉及计算机领域,具体而言,涉及一种歌曲的数字乐谱文件的生成方法和装置。



背景技术:

目前,数字乐谱文件的制作主要采用人工制作的方式,比如,音乐数字设备接口文件(Musical Instrument Digital Instrument,简称为MIDI)文件均采用人工制作的方式,数字乐谱文件在制作的过程中由于人工的参与,一方面造成数字乐谱文件的制作成本较大,另一方面制作完的数字乐谱文件也没有有效的方法对其质量进行检测,从而造成数字乐谱文件的制作效率比较低。

针对上述的相关技术中数字乐谱文件的制作效率低的技术问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种歌曲的数字乐谱文件的生成方法和装置,以至少解决相关技术中数字乐谱文件的制作效率低的技术问题。

根据本发明实施例的一个方面,提供了一种歌曲的数字乐谱文件的生成方法。该歌曲的数字乐谱文件的生成方法包括:从歌曲对应的清唱音频文件中获取候选清唱音频文件,其中,候选清唱音频文件包括用户对候选满足预设条件的清唱音频文件对应的歌曲进行演唱的清唱数据;根据歌曲的时间信息从候选清唱音频文件中划分出多个有效音频片段;提取出多个有效音频片段的音符信息,其中,音符信息包括一个或多个三元组,每个三元组包括具有映射关系的音符的起始时间,音符的持续时间,音符的音符值;以及根据多个有效音频片段的音符信息生成数字乐谱文件,其中,数字乐谱文件包括三元组中的部分或全部。

根据本发明实施例的另一方面,还提供了一种歌曲的数字乐谱文件的生成装置。该歌曲的数字乐谱文件的生成装置包括:获取单元,用于从歌曲对应的清唱音频文件中获取候选清唱音频文件;划分单元,用于根据歌曲的时间信息从候选清唱音频文件中划分出多个有效音频片段;提取单元,用于提取出多个有效音频片段的音符信息,其中,音符信息包括一个或多个三元组,每个三元组包括具有映射关系的音符的起始时间,音符的持续时间,音符的音符值;以及生成单元,用于根据多个有效音频片段的音符信息生成数字乐谱文件,其中,数字乐谱文件包括三元组中的部分或全部。

在本发明实施例中,从歌曲对应的清唱音频文件中获取满足预设条件的候选清唱音频文件,其中,候选清唱音频文件包括用户对候选清唱音频文件对应的歌曲进行演唱的清唱数据;根据歌曲的时间信息从候选清唱音频文件中划分出多个有效音频片段;提取出多个有效音频片段的音符信息,音符信息包括一个或多个三元组,每个三元组包括具有映射关系的音符的起始时间,音符的持续时间,音符的音符值;根据多个有效音频片段的音符信息生成数字乐谱文件,其中,数字乐谱文件包括三元组中的部分或全部,通过用户候选清唱音频文件对应的歌曲进行演唱的清唱数据生成数字乐谱文件,达到了自动生成数字乐谱文件的目的,从而实现了提高清唱音频文件的制作效率的技术效果,进而解决了相关技术中数字乐谱文件的制作效率低的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种歌曲的数字乐谱文件的生成方法的硬件环境的示意图;

图2是根据本发明实施例的一种歌曲的数字乐谱文件的生成方法的流程图;

图3是根据本发明实施例的一种根据歌曲的时间信息从候选清唱音频文件中划分出多个有效音频片段的方法的流程图;

图4是根据本发明实施例的一种提取出多个有效音频片段的音符信息的方法的流程图;

图5是根据本发明实施例的一种对多个有效音频片段执行处理的方法的流程图;

图6是根据本发明实施例的另一种歌曲的数字乐谱文件的生成方法的流程图;

图7是根据本发明实施例的另一种歌曲的数字乐谱文件的生成方法的流程图;

图8是根据本发明实施例的一种合并音符值的方法的流程图;

图9是根据本发明实施例的一种生成多个有效音频片段对应的三元组的方法的流程图;

图10是根据本发明实施例的一种根据多个有效音频片段的音符信息生成数字乐谱文件的方法的流程图;

图11是根据本发明实施例的一种获取候选清唱音频文件的方法的流程图;

图12是根据本发明实施例的另一种歌曲的数字乐谱文件的生成方法的流程图;

图13是根据本发明实施例的一种根据多个有效音频片段的音符信息生成数字乐谱文件的视化格式的示意图;

图14是根据本发明实施例的一种歌曲的数字乐谱文件的生成装置的示意图;

图15是根据本发明实施例的另一种歌曲的数字乐谱文件的生成装置的示意图;

图16是根据本发明实施例的另一种歌曲的数字乐谱文件的生成装置的示意图;

图17是根据本发明实施例的另一种歌曲的数字乐谱文件的生成装置的示意图;以及

图18是根据本发明实施例的一种终端的结构框图。

具体实施方式

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

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

实施例1

根据本发明实施例,提供了一种歌曲的数字乐谱文件的生成方法实施例。

可选地,在本实施例中,上述歌曲的数字乐谱文件的生成方法可以应用于如图1所示的由服务器102和终端104所构成的硬件环境中。图1是根据本发明实施例的一种歌曲的数字乐谱文件的生成方法的硬件环境的示意图。如图1所示,服务器102通过网络与终端104进行连接,上述网络包括但不限于:广域网、城域网或局域网,终端104并不限定于PC、手机、平板电脑等。本发明实施例的歌曲的数字乐谱文件的生成方法可以由服务器102来执行,也可以由终端104来执行,还可以是由服务器102和终端104共同执行。其中,终端104执行本发明实施例的歌曲的数字乐谱文件的生成方法也可以是由安装在其上的客户端来执行。

图2是根据本发明实施例的一种歌曲的数字乐谱文件的生成方法的流程图。如图2所示,该歌曲的数字乐谱文件的生成方法可以包括以下步骤:

步骤S202,从歌曲对应的清唱音频文件中获取满足预设条件的候选清唱音频文件。

在本申请上述步骤S202提供的技术方案中,从歌曲对应的清唱音频文件中获取满足预设条件的候选清唱音频文件,其中,候选清唱音频文件包括用户对候选清唱音频文件对应的歌曲进行演唱的清唱数据。候选清唱音频文件为满足预设条件的包括用户对候选清唱音频文件对应的歌曲进行演唱的清唱数据的清唱音频文件,且为用于生成数字乐谱文件的文件。在清唱音频文件上传之后,大量的其他用户可以对上传的清唱音频文件进行欣赏,并对其进行评价,当评价结果达到预设阈值时,则确定上传的清唱音频文件达到候选标准,则确定上传的清唱音频文件为候选清唱音频文件。

候选清唱音频文件包括候选清唱音频文件对应的清唱数据。用户演唱候选清唱音频文件的歌曲保留清唱数据。可选地,在确定上传的清唱音频文件达到候选标准之后,再由特定的制作人员对达到候选标准的清唱音频文件进行试听,确定达到候选标准的清唱音频文件的演唱音准是否准确,也即,确定对达到候选标准的清唱音频文件进行演唱的用户的演唱音准是否达到可用标准。如果确定达到候选标准的清唱音频文件的演唱音准准确,则确定上传的清唱音频文件为候选清唱音频文件。

可选地,判断歌曲是否存在对应的清唱音频文件,如果判断出歌曲中不存在对应的清唱音频文件,则发送用于请求上传清唱音频文件的上传请求。

可选地,在发送上传请求之前,对接收上传请求的对象进行筛选。可以获取数据库中存储的用户所演唱的歌曲的历史演唱数据。根据历史演唱数据确定用于表示用户演唱水平的等级数据,将等级数据达到预设阈值的用户确定为目标用户,该目标用户对歌曲进行演唱所生成的清唱音频文件优选为候选清唱音频文件,则收录该目标用户的音频文件的终端也即接收上传请求的对象。

在对接收上传请求的对象进行筛选时,还可以从数据库中获取对用户所演唱的歌曲进行评价的评价数据和对歌曲进行打分的打分数据,根据评价数据和打分数据确定用于表示用户演唱水平的等级数据,进而将等级数据达到预设阈值的用户确定为目标用户,获取该目标用户对歌曲进行演唱所生成的清唱音频文件。

举例而言,待生成数字乐谱文件的歌曲为新歌,暂时没有用户对其进行演唱,则有奖邀请高水平的用户对新歌进行演唱以获取上述新歌对应的清唱音频文件。

步骤S204,根据歌曲的时间信息从候选清唱音频文件中划分出多个有效音频片段。

在本申请上述步骤S204提供的技术方案中,一首歌曲对应一个歌词文件,歌词文件包括每句歌词对应的时间信息。歌词文件中的每一句对应一个音频片段。可选地,将具有歌词且没有多余噪音的音频片段确定为候选清唱音频文件的有效音频片段。在获取候选清唱音频文件之后,从候选清唱音频文件中划分出多个有效音频片段,可选地,获取候选清唱音频文件对应的歌词文件中的每一句的时长信息,按照每一句歌词文件的时长信息对候选清唱音频文件进行划分,得到划分结果,并检测划分结果是否有多余的噪音,从而将没有歌词的部分去除掉,并且确保有效音频片段没有多余的噪音。

步骤S206,提取出多个有效音频片段的音符信息。

在本申请上述步骤S206提供的技术方案中,提取出多个有效音频片段的音符信息,其中,音符信息包括一个或多个三元组,每个三元组包括具有映射关系的音符的起始时间,音符的持续时间,音符的音符值。

音符信息为包括一个或多个三元组的信息,该三元组由具有映射关系的音符的起始时间,音符的持续时间,音符的音符值组成,其中,音符的起始时间也即为三元组的起始时间,该起始时间的单位可以为毫秒,音符的持续时间也即为三元组的持续时间,该持续时间的单位可以为毫秒,音符的音符值也即为三元组的音符值。在从候选清唱音频文件中划分出多个有效音频片段之后,提取出多个有效音频片段的音符信息。

步骤S208,根据多个有效音频片段的音符信息生成数字乐谱文件。

在本申请上述步骤S208提供的技术方案中,根据多个有效音频片段的音符信息生成数字乐谱文件,其中,数字乐谱文件包括三元组中的部分或全部。

在提取出多个有效音频片段的音符信息之后,获取到多个有效音频片段的起始时间,音符的持续时间,音符的音符值,根据多个有效音频片段的起始时间,音符的持续时间,音符的音符值生成数字乐谱文件。可选地,将音符信息中的多个三元组组成三元组序列,对三元组序列进行规整,得到数字乐谱文件,最后按照预设格式输出数字乐谱文件,并且可以对数字乐谱文件进行质量检测,降低了人工对数字乐谱文件的制作成本,提高了数字乐谱文件的制作效率。

可选地,该数字乐谱文件为MIDI文件,从而通过上述步骤有效地降低了制作MIDI文件的人工成本,并且提高了MIDI文件的制作质量,提高了MIDI文件的制作效率。

可选地,该实施例从歌曲对应的清唱音频文件中获取的候选清唱音频文件可以为一个,也可以为多个。当候选音频文件为多个候选音频文件时,根据歌曲的时间信息对每个候选清唱音频文件进行划分,得到每个候选清唱音频文件的多个有效音频片段,根据每个候选清唱音频文件对应的多个有效音频片段的音符信息生成每个候选清唱音频文件对应的数字乐谱文件,每个候选清唱音频文件对应的数字乐谱文件可以为MIDI文件。可选地,每个候选清唱音频文件对应的数字乐谱文件可以由用户自主选择,将选择到的候选清唱音频文件对应的数字乐谱文件确定为该歌曲最终的数字乐谱文件按,也可以对每个候选清唱音频文件对应的数字乐谱文件进行质量检测,得到质量检测结果,将质量检测结果最高的数字乐谱文件确定为该歌曲最终的数字乐谱文件。

通过上述步骤S202至步骤S208,通过从歌曲对应的清唱音频文件中获取候选满足预设条件的清唱音频文件;根据歌曲的时间信息从候选清唱音频文件中划分出多个有效音频片段;提取出多个有效音频片段的音符信息,音符信息包括一个或多个三元组,每个三元组包括具有映射关系的音符的起始时间,音符的持续时间,音符的音符值;以及根据多个有效音频片段的音符信息生成数字乐谱文件,数字乐谱文件包括三元组中的部分或全部,通过用户候选清唱音频文件对应的歌曲进行演唱的清唱数据生成数字乐谱文件,达到了自动生成数字乐谱文件的目的,避免了通过人工制作数字乐谱文件的高成本,从而实现了提高数字乐谱文件的制作效率的技术效果,进而解决了相关技术中数字乐谱文件的制作效率低的技术问题。

作为一种可选的实施方式,步骤S204,根据歌曲的时间信息从候选清唱音频文件中划分出多个有效音频片段,通过根据歌词文件中每句歌词对应的时间信息将将候选清唱音频文件中划分出多个有效音频片段进行实现。

图3是根据本发明实施例的一种根据歌曲的时间信息从候选清唱音频文件中划分出多个有效音频片段的方法的流程图。如图3所示,该从候选清唱音频文件中划分出多个有效音频片段的方法包括以下步骤:

步骤S301,获取歌曲对应的歌词文件。

在本申请上述步骤S301提供的技术方案中,一首歌曲对应一个歌词文件,获取歌曲对应的歌词文件,该歌词文件包括每句歌词对应的时间信息。

候选清唱音频文件自带歌词文件,根据候选清唱音频文件对应的歌词文件获取候选清唱音频文件中每个音频片段的播放时长,歌词文件中包括用于指示播放时长的指示信息,也即,通过指示信息可以确定歌词文件中的每个音频片段在播放过程中的播放时长。

步骤S302,根据歌词文件中每句歌词对应的时间信息将候选清唱音频文件划分出多个有效音频片段。

在本申请上述步骤S302提供的技术方案中,每句歌词对应时间信息,该时间信息,也即,候选清唱音频文件中每个音频片段的播放时长。在获取歌曲对应的歌词文件之后,根据歌词文件中每句歌词对应的时间信息将候选清唱音频文件划分,得到多个音频片段,将每个音频片段中没有歌词的部分去掉,并且去除掉具有多余噪音的部分,从而从多个有效音频片段中提取多个有效音频片段。

可选地,获取候选清唱音频文件中的原始音频数据,根据每句歌词对应的时间信息对原始音频数据进行划分,得到多个音频片段,将每个音频片段中没有歌词的部分去掉,并且去除掉具有多余噪音的部分,从而从多个有效音频片段中提取多个有效音频片段,进而实现了根据歌词文件中每句歌词对应的时间信息将候选清唱音频文件划分出多个有效音频片段的目的。

该实施例通过获取歌曲对应的歌词文件,根据歌词文件中每句歌词对应的时间信息将候选清唱音频文件划分出多个有效音频片段,从而实现了根据歌曲的时间信息从候选清唱音频文件中划分出多个有效音频片段的目的,进而达到提高数字乐谱文件的制作效率的技术效果。

作为一种可选的实施方式,步骤S206,提取出多个有效音频片段的音符信息包括:在多个有效音频片段中基频值为非零的音频片段在播放时的播放时长之和超过预设时间的情况下对多个有效音频片段执行处理,得到基频段,通过对基频段中的基频值执行音符化处理得到的音符值进行合并,实现了对有效音频片段的音符信息的提取。

图4是根据本发明实施例的一种提取出多个有效音频片段的音符信息的方法的流程图。如图4所示,该提取出多个有效音频片段的音符信息的方法包括以下步骤:

步骤S401,提取多个有效音频片段的基频信息。

在本申请上述步骤S401提供的技术方案中,提取多个有效音频片段的基频信息,其中,基频信息包括音频片段的基频值。

在从候选清唱音频文件中划分出多个有效音频片段之后,提取多个有效音频片段的基频信息,该基频信息可以为帧移为10毫秒,帧长为30毫秒的基频,该基频信息包括音频片段的基频值。由于人们在发声时带震动产生的频率经过声道过滤后会产生大量的泛音,为了便于后续对候选清唱音频文件的处理,需要从音频信息中提取直接表现声带震动频率的基音,该基音也决定了整个音符的音高,也即,基频值。

步骤S402,获取多个有效音频片段中基频值为非零的音频片段在播放时的播放时长之和。

在本申请上述步骤S402提供的技术方案中,获取多个有效音频片段中基频值为非零的音频片段在播放时的播放时长之和。

在提取多个有效音频片段的基频信息之后,获取多个有效音频片段的基频值,获取基频值为非零的音频片段,并对基频值为非零的音频片段在播放时的播放时长进行求和计算,从而获取到多个有效音频片段中基频值为非零的音频片段在播放时的播放时长之和。

可选地,根据前后基频点的基频值的差异检测出奇异基频点,并将奇异基频点置零,进而获取基频值为非零的音频片段。

步骤S403,判断播放时长之和是否超过预设时间。

在本申请上述步骤S403提供的技术方案中,判断播放时长之和是否超过预设时间。

在获取多个有效音频片段中基频值为非零的有效音频片段在播放时的播放时长之和之后,判断播放时长之和是否超过预设时间,其中,预设时间可以为10秒,判断基频值为非零的有效音频片段的播放时长之和是否超过10秒。

步骤S404,对多个有效音频片段执行处理,得到基频段。

在本申请上述步骤S404提供的技术方案中,如果判断出播放时长之和超过预设时间,对多个有效音频片段执行处理,得到基频段,得到基频段。

在判断播放时长之和是否超过预设时间之后,如果判断出播放时长之和超过预设时间,对多个有效音频片段执行处理,可选地,对多个有效音频片段执行滤波处理,得到基频段。

步骤S405,获取基频段中的基频值。

在本申请上述步骤S405提供的技术方案中,获取基频段中的基频值。

在对有效音频片段执行处理,得到基频段之后,获取基频段中的基频值。可选地,对基频段中小于预设帧数的零基频段值设置为基频段最后一帧基频值。

步骤S406,对基频值执行音符化处理,得到基频值的音符值。

在本申请上述步骤S406提供的技术方案中,对基频值执行音符化处理,得到基频值的音符值。

在获取基频段中的基频值之后,对基频值进行符号化处理,比如,通过公式计算基频值的音符值f(x),其中,x为基频段的基频值。可选地,对基频段中的全部基频值进行音符化,得到音符值。

步骤S407,合并音符值,得到有效音频片段的音符信息。

在本申请上述步骤S407提供的技术方案中,合并音符值,得到有效音频片段的音符信息。

在对基频值执行音符化处理,得到基频值的音符值之后,合并音符值,合并音符值,将音符值相同的点连在一起,这样就得到一个三元组序列W=Oii,i∈[1,k],其中O为三元组(s,m,l),其中s为该三元组的起始时间(单位为毫秒)、m为该三元组的音符值、l为该三元组的持续时间(单位为毫秒),k为三元组此句话对应的三元组个数,从而得到有效音频片段的音符信息。

该实施例通过提取多个有效音频片段的基频信息,其中,基频信息包括音频片段的基频值;获取多个有效音频片段中基频值为非零的音频片段在播放时的播放时长之和;判断播放时长之和是否超过预设时间;如果判断出播放时长之和超过预设时间,对多个有效音频片段执行处理,得到基频段;获取基频段中的基频值;对基频值执行音符化处理,得到基频值的音符值;以及合并音符值,得到有效音频片段的音符信息,实现了提取出多个有效音频片段的音符信息的目的,进而达到了提高清唱音频文件的制作效率的目的。

作为一种可选的实施方式,步骤S404,对多个有效音频片段执行处理包括:根据音频片段对应的长度对音频片段执行滤波处理,得到滤波片段,获取滤波片段的基频值。

图5是根据本发明实施例的一种对多个有效音频片段执行处理的方法的流程图。如图5所示,对多个有效音频片段执行处理的方法包括以下步骤:

步骤S501,获取多个有效音频片段对应的长度。

在本申请上述步骤S501提供的技术方案中,获取多个有效音频片段对应的长度。

音频片段对应的长度,也即,基频段长度,单位为帧,获取多个有效音频片段对应的长度。

步骤S502,对长度小于第一预设值的音频片段执行第一滤波处理,得到第一滤波片段。

在本申请上述步骤S502提供的技术方案中,对长度小于第一预设值的音频片段执行第一滤波处理,得到第一滤波片段。

在获取多个有效音频片段对应的长度之后,判断多个有效音频片段对应的长度是否小于第一预设值,对长度小于第一预设值的音频片段执行第一滤波处理,得到第一滤波片段,比如,第一预设值为35帧,对基频段长度小于35帧的音频片段直接进行窗长为基频段长度的中值滤波,得到第一滤波片片段。

步骤S503,对长度大于等于第一预设值的音频片段执行第二滤波处理,得到第二滤波片段。

在本申请上述步骤S503提供的技术方案中,对长度大于等于第一预设值的音频片段执行第二滤波处理,得到第二滤波片段。

在获取多个有效音频片段对应的长度之后,判断多个有效音频片段对应的长度是否小于第一预设值,对长度大于等于第一预设值的音频片段执行第一滤波处理,得到第一滤波片段,比如,第一预设值为35帧,对基频段长度大于等于35帧的音频片段,每帧做10点中值滤波,得到第二滤波片段。

可选地,获取基频段中的基频值包括:获取第一滤波片段的基频值和第二滤波片段的基频值。

该实施例通过获取多个有效音频片段对应的长度;对长度小于第一预设值的音频片段执行第一滤波处理,得到第一滤波片段;对长度大于等于第一预设值的音频片段执行第二滤波处理,得到第二滤波片段,达到了对多个有效音频片段执行处理的目的,进而达到了提高数字乐谱文件的制作效率的目的。

作为一种可选的实施方式,在获取多个有效音频片段对应的长度之后,在长度小于第二预设值的有效音频片段中存在零音频片段,将零音频片段的基频值设置为预设基频值。

图6是根据本发明实施例的另一种歌曲的数字乐谱文件的生成方法的流程图。如图6所示,该歌曲的数字乐谱文件的生成方法还包括以下步骤:

步骤S601,判断长度小于第二预设值的有效音频片段中是否存在零音频片段。

在本申请上述步骤S601提供的技术方案中,在获取多个有效音频片段对应的长度之后,判断长度小于第二预设值的有效音频片段中是否存在零音频片段,其中,零音频片段为基频值为零的音频片段。

零音频片段为基频值为零的音频片段,第二预设值可以为15帧,判断长度小于15帧的音频片段中是否存在零音频片段。

步骤S602,将零音频片段的基频值设置为预设基频值。

在本申请上述步骤S602提供的技术方案中,如果判断出长度小于第二预设值的有效音频片段中存在零音频片段,将零音频片段的基频值设置为预设基频值。

在判断长度小于第二预设值的有效音频片段中存在零音频片段之后,如果判断出长度小于第二预设值的有效音频片段中存在零音频片段,将零音频片段的基频值设置为预设基频值,可选地,预设基频值为基频段最后一帧基频值,可以将基频段后面小于15帧的零极品片段的基频值都置为基频段最后一帧基频值。

可选地,获取基频段中的基频值包括:获取第一滤波片段的基频值、第二滤波片段的基频值和预设基频值。

该实施例通过在获取多个有效音频片段对应的长度之后,判断长度小于第二预设值的有效音频片段中是否存在零音频片段,其中,零音频片段为基频值为零的音频片段;如果判断出长度小于第二预设值的有效音频片段中存在零音频片段,将零音频片段的基频值设置为预设基频值;获取第一滤波片段的基频值、第二滤波片段的基频值和预设基频值,达到了对多个有效音频片段执行处理的目的,进而达到了提高清唱音频文件的制作效率的目的。

作为一种可选的实施方式,在获取多个有效音频片段中基频值为非零的音频片段在播放时的时长之和之前,通过在相邻音频片段的基频值的差值满足预设条件的情况下,将相邻音频片段的基频值置零。

图7是根据本发明实施例的另一种歌曲的数字乐谱文件的生成方法的流程图。如图7所示,该歌曲的数字乐谱文件的生成方法还包括以下步骤:

步骤S701,获取多个有效音频片段中相邻音频片段的基频值。

在本申请上述步骤S701提供的技术方案中,在获取多个有效音频片段中基频值为非零的音频片段在播放时的时长之和之前,获取多个有效音频片段中相邻音频片段的基频值。

步骤S702,计算相邻音频片段的基频值的差值。

在本申请上述步骤S702提供的技术方案中,计算相邻音频片段的基频值的差值。

在获取多个有效音频片段中相邻音频片段的基频值之后,对相邻音频片段的基频值进行计算,得到相邻音频片段的基频值的差值。

步骤S703,判断差值是否满足预设条件。

在本申请上述步骤S703提供的技术方案中,判断差值是否满足预设条件。

在计算相邻音频片段的基频值的差值之后,判段差值是否满足预设条件,根据前后基频点的基频值的差异检测奇异基频点。

步骤S704,将相邻音频片段的基频值置零。

在本申请上述步骤S704提供的技术方案中,如果判断出差值满足预设条件,则根据前后基频点的基频值的差异确定出奇异基频点,将相邻音频片段的基频值置零。

该实施例通过在获取多个有效音频片段中基频值为非零的音频片段在播放时的时长之和之前,获取多个有效音频片段中相邻音频片段的基频值;计算相邻音频片段的基频值的差值;判断差值是否满足预设条件;如果判断出差值满足预设条件,将相邻音频片段的基频值置零,实现了对音频片段进行置零处理的操作,进而提高了清唱音频文件的制作效率。

作为一种可选的实施方式,步骤S407,合并音符值,得到有效音频片段的音符信息包括:根据音符值中的相同音符值生成多个有效音频片段对应的三元组,将多个有效音频片段对应的三元组组合成用于表示音符信息的第一三元组序列。

图8是根据本发明实施例的一种合并音符值的方法的流程图。如图8所示,该合并音符值的方法包括以下步骤:

步骤S801,将音符值中的相同音符值进行合并,并生成多个有效音频片段对应的三元组。

在本申请上述步骤S801提供的技术方案中,将音符值中的相同音符值进行合并,并生成多个有效音频片段对应的三元组。

获取音符值中的相同音符值,将相同音符值的点连在一起,并生成多个有效音频片段对应的三元组,多个有效音频片段对应的三元组包括三元组的起始时间,三元组的音符值,三元组的持续时间。

步骤S802,将多个有效音频片段对应的三元组组合成用于表示音符信息的第一三元组序列。

在本申请上述步骤S802提供的技术方案中,将多个有效音频片段对应的三元组组合成用于表示音符信息的第一三元组序列。

在将音符值中的相同音符值进行合并,并生成多个有效音频片段对应的三元组之后,将多个有效音频片段对应的三元组组合成用于表示音符信息的第一三元组序列。

该实施例通过将音符值中的相同音符值进行合并,并生成多个有效音频片段对应的三元组;以及将多个有效音频片段对应的三元组组合成用于表示音符信息的第一三元组序列,实现了合并音符值,得到有效音频片段的音符信息的目的。

作为一种可选的实施方式,步骤S801,生成多个有效音频片段对应的三元组包括:根据相同音符值、多个有效音频片段对应的三元组的起始时间、多个有效音频片段对应的三元组的持续时间生成多个有效音频片段对应的三元组。

图9是根据本发明实施例的一种生成多个有效音频片段对应的三元组的方法的流程图。如图9所示,生成多个有效音频片段对应的三元组的方法包括以下步骤:

步骤S901,获取相同音符值、多个有效音频片段对应的三元组的起始时间、多个有效音频片段对应的三元组的持续时间。

在本申请上述步骤S901提供的技术方案中,获取相同音符值、多个有效音频片段对应的三元组的起始时间、多个有效音频片段对应的三元组的持续时间。

步骤S902,根据相同音符值、多个有效音频片段对应的三元组的起始时间、多个有效音频片段对应的三元组的持续时间生成多个有效音频片段对应的三元组。

在本申请上述步骤S902提供的技术方案中,在获取相同音符值、多个有效音频片段对应的三元组的起始时间、多个有效音频片段对应的三元组的持续时间之后,根据相同音符值、多个有效音频片段对应的三元组的起始时间、多个有效音频片段对应的三元组的持续时间生成多个有效音频片段对应的三元组。

该实施例通过获取相同音符值、多个有效音频片段对应的三元组的起始时间、多个有效音频片段对应的三元组的持续时间;根据相同音符值、多个有效音频片段对应的三元组的起始时间、多个有效音频片段对应的三元组的持续时间生成多个有效音频片段对应的三元组,达到了生成多个有效音频片段对应的三元组的目的,进而提高了清唱音频文件的制作效率。

作为一种可选的实施方式,第一三元组序列包括第一三元组和第二三元组,步骤S208,根据多个有效音频片段的音符信息生成数字乐谱文件包括在不同条件下得到第二三元组序列,将第二三元组序列中的三元组按照预设格式输出,得到数字乐谱文件。

图10是根据本发明实施例的一种根据多个有效音频片段的音符信息生成数字乐谱文件的方法的流程图。如图10所示,该根据多个有效音频片段的音符信息生成数字乐谱文件的方法包括以下步骤:

步骤S1001,合并第一三元组和第二三元组,得到第三三元组,并从第一三元组序列中删除第一三元组,得到第二三元组序列。

在本申请上述步骤S1001提供的技术方案中,获取第一三元组的起始时间,第二三元组的起始时间和第二三元组的持续时间,当第一三元组的起始时间等于第二三元组的起始时间与第二三元组的持续时间之和时,合并第一三元组和第二三元组,得到第三三元组,并从第一三元组序列中删除第一三元组,得到第二三元组序列。

步骤S1002,合并第四三元组和第一三元组,得到第五三元组,并从第一三元组序列中删除第一三元组,得到第二三元组序列。

在本申请上述步骤S1002提供的技术方案中,获取第四三元组的起始时间,当第一三元组的起始时间不等于第二三元组的起始时间与第二三元组的持续时间之和时,当第四三元组的起始时间等于第一三元组的起始时间与第一三元组的持续时间之和时,合并第四三元组和第一三元组,得到第五三元组,并从第一三元组序列中删除第一三元组,得到第二三元组序列。

步骤S1003,从第一三元组序列中删除第一三元组,得到第二三元组序列。

在本申请上述步骤S1003提供的技术方案中,当第一三元组的起始时间不等于第二三元组的起始时间与第二三元组的持续时间之和时,且当第四三元组的起始时间不等于第一三元组的起始时间与第一三元组的持续时间之和时,从第一三元组序列中删除第一三元组,得到第二三元组序列。

步骤S1004,将第二三元组序列中的三元组按照预设格式输出,得到数字乐谱文件。

在本申请上述步骤1004提供的技术方案中,将第二三元组序列中的三元组按照预设格式输出,得到数字乐谱文件。

在通过步骤S1001、步骤S1002、步骤S1003不同条件下得到的第二三元组之后,将第二三元组序列中的三元组按照预设格式输出,得到数字乐谱文件。

作为一种可选的实施方式,当si=si-1+li-1成立时,通过l'i-1=li-1+li计算第三三元组的持续时间l'i-1,其中,si为第一三元组的起始时间,si-1为第二三元组的起始时间,li-1为第二三元组的持续时间,li为第一三元组的持续时间;当si=si-1+li-1不成立,si+1=si+li成立时,通过l'i+1=li+1+li计算第五三元组的持续时间l'i+1,通过s'i+1=si计算第五三元组的起始时间s'i+1,其中,si+1为第四三元组的起始时间,li+1为第四三元组的持续时间。

作为一种可选的实施方式,步骤S202,从歌曲对应的清唱音频文件中获取候选清唱音频文件包括:获取对多个原始清唱音频文件的回复信息,在回复信息所表示的质量等级达到预定等级的情况下,将原始清唱音频文件确定为候选清唱音频文件。

图11是根据本发明实施例的一种获取候选清唱音频文件的方法的流程图。如图11所示,该获取候选清唱音频文件的方法包括以下步骤:

步骤S1101,获取上传的多个原始清唱音频文件。

在本申请上述步骤1101提供的技术方案中,获取上传的多个原始清唱音频文件。

原始清唱音频文件可以为用户演唱歌曲上传的清唱音频文件。

步骤S1102,获取对多个原始清唱音频文件的回复信息。

在本申请上述步骤1102提供的技术方案中,获取对多个原始清唱音频文件的回复信息,其中,回复信息用于表示原始清唱音频文件的质量等级。

在获取上传的多个原始清唱音频文件之后,获取对多个原始清唱音频文件的回复信息,该回复信息用于表示原始清唱音频文件的质量等级,可以为用户演唱歌曲在上传之后,其他用户对其作品进行欣赏及评价,通过评价从而确定质量等级。

步骤S1103,判断回复信息所表示的质量等级是否达到预定等级。

在本申请上述步骤1103提供的技术方案中,在获取对多个原始清唱音频文件的回复信息之后,判断回复信息所表示的质量等级是否达到预定等级。

步骤S1104,将原始清唱音频文件确定为候选清唱音频文件。

在本申请上述步骤1104提供的技术方案中,如果判断出回复信息所表示的质量等级达到预定等级,则将原始清唱音频文件确定为候选清唱音频文件。

可选地,当用户评价达到某一阈值后,则认为此用户演唱歌曲达到候选标准,将原始清唱音频文件确定为候选清唱音频文件。

该实施例通过获取上传的多个原始清唱音频文件;获取对多个原始清唱音频文件的回复信息,回复信息用于表示原始清唱音频文件的质量等级;判断回复信息所表示的质量等级是否达到预定等级;以及如果判断出回复信息所表示的质量等级达到预定等级,则将原始清唱音频文件确定为候选清唱音频文件,达到了获取候选清唱音频文件的目的。

作为一种可选的实施方式,确定原始清唱音频文件符合第一预设条件包括:在判断出评价指标符合预设评价指标的情况下,获取原始清唱音频文件的音准数据;判断音准数据是否符合预设音准;以及如果判断出音准数据符合预设音准,确定原始清唱音频文件为候选清唱音频文件,实现了度候选清唱音频文件的获取。

可选地,在获取候选清唱音频文件之后,将候选清唱音频文件的格式调整为预设格式,比如,16k16bit pcm得到调整清唱音频文件,根据调整清唱音频文件中的文本信息提取有效音频数据。

该实施例通过获取候选清唱音频文件,候选清唱音频文件包括用户候选清唱音频文件对应的歌曲进行演唱的清唱数据;从候选清唱音频文件中划分出多个有效音频片段;提取出多个有效音频片段的音符信息,其中,音符信息包括一个或多个三元组,每个三元组包括具有映射关系的音符的起始时间,音符的持续时间,音符的音符值;根据多个有效音频片段的音符信息生成数字乐谱文件,其中,数字乐谱文件包括三元组中的部分或全部,通过用户候选清唱音频文件对应的歌曲进行演唱的清唱数据生成数字乐谱文件,达到了自动生成数字乐谱文件的目的,从而实现了提高清唱音频文件的制作效率的技术效果,进而解决了相关技术中数字乐谱文件的制作效率低的技术问题。

实施例2

下面结合优选的实施例对本发明的技术方案进行说明。

图12是根据本发明实施例的另一种歌曲的数字乐谱文件的生成方法的流程图。如图12所示,该歌曲的数字乐谱文件的生成方法包括以下步骤:

步骤S1201,基于用户评价选取候选用户演唱歌曲。

用户演唱的清唱音频文件在上传之后,会有大量其他用户对其作品进行欣赏及评分,当用户评价达到某一阈值y后,则认为此用户演唱歌曲达到候选标准,再由之前的清唱音频文件的制作人员进行试听,确定其用户演唱音准是否可用的标准,如果达到可用的标准则执行步骤S1202。

可选地,如果要生成清唱音频文件的歌曲为新歌,暂时没有人演唱,则有奖邀请资深高水平用户演唱即可。

步骤S1202,根据歌词文件提取有效数据段。

歌曲自带的歌词文件中,包含了每一句歌曲的时长信息,通过此时长信息将原始音频数据按照每一句的时间进行切割,将没有歌词的部分扔掉,确保无效部分没有多余的噪音,这样就得到一系列的音频片段{x1,x2…xn},其中n为歌词文件中的句子的个数。

步骤S1203,音符提取。

将用户上传的清唱音频文件规整为16k16bit pcm格式。提取该音频的基频信息(帧移10ms,帧长30ms),由于人在发声时声带震动产生的频率经过声道过滤后会产生大量泛音,为了便于后续操作,需要从音频中提取直接表现声带震动频率的基音,基音也决定了整个音符的音高。根据与前后基频点基频值的差异检测奇异基频点,并置零。判断基频值非零的段落时间和是否超过10秒,如果低于10秒则直接判定为未过关。基频段长度小于35帧,直接进行窗长为基频段长度的中值滤波;基频长度大于等于35帧时,每帧做10点中值滤波。对基频段后面小于15帧的零基频段的基频值都置为基频段最后一帧基频值实现了零基频点填充。

在获取基频段中的基频值之后,对基频值进行符号化处理,比如,通过公式计算基频值的音符值f(x),其中,x为基频段的基频值。可选地,对基频段中的全部基频值进行音符化,得到音符值。

合并音符值,将音符值相同的点连在一起,这样就得到一个三元组序列W=Oii,i∈[1,k],其中O为三元组(s,m,l),其中s为该三元组的起始时间(单位为毫秒)、m为该三元组的音符值、l为该三元组的持续时间(单位为毫秒),k为三元组此句话对应的三元组个数,从而得到有效音频片段的音符信息。

步骤S1204,后端规整。

将所有n个单句音频片段x1对应的三元组Wi连到一起,直接将每一句对应的三元组起始时间s加上该句在整个歌曲中的起始时间即可,得到整首歌对应的三元组序列Wa=Oii∈[1,t],其中t为此三元组序列的三元组个数。去奇异音符,当第i个三元组满足以下条件(i>1and i<t),则对Oi进行特殊处理(其中mi为第i个三元组的音符值,si表示第i个三元组的起始时间,li表示第i个三元组的持续时间):

1)|mi-mi-1|≥6;

2)|mi-mi+1|≥6;

3)|mi-1-mi+1|≤3;

对三元组进行处理:

当si=si-1+li-1成立时,则合并第i-1与第i个二元组,也即,通过l'i-1=li-1+li计算第i-1个三元组的持续时间l'i-1,并删除第i个三元组,其中,si为第i个三元组的起始时间,si-1为第i-1个三元组的起始时间,li-1为第i-1个三元组的持续时间,li为第i个三元组的持续时间。

当si=si-1+li-1不成立,si+1=si+li成立时,通过l'i+1=li+1+li计算第五三元组的持续时间l'i+1,通过s'i+1=si计算第i+1个三元组的起始时间s'i+1,并删除第i个三元组的持续时间,其中,si+1为第i+1个三元组的起始时间,li+1为第i+1个三元组的持续时间。

当si=si-1+li-1不成立时,si+1=si+li也不成立时,直接删除第i个三元组。

本发明实施例通过候选清唱音频文件生成数字乐谱文件,其中,候选清唱音频文件包括用户对候选清唱音频文件对应的歌曲进行演唱的清唱数据,从而使用户的声音自动生成数字乐谱文件,而不需要人工制作,降低了数字乐谱文件制作的成本,提高了数字乐谱文件制作的效率。

实施例3

本发明实施例的应用环境可以但不限于参照上述实施例中的应用环境,本实施例中对此不再赘述。本发明实施例提供了用于实施上述信息获取、传输方法的一种可选的具体应用。

图13是根据本发明实施例的一种根据多个有效音频片段的音符信息生成数字乐谱文件的视化格式的示意图。如图13所示,数字乐谱文件的视化格式为将三元组序列按照每一行(例如,3600015055)表示一个三元组,第一列(例如,36000 36150 36200 36330 36960)为音符的起始时间(单位ms),第二列为音符持续时间(单位ms),第三列为音符的音符值。

在全民k歌应用中,每一首可供演唱的歌曲都会有一个对应的MIDI文件,此文件描述了原唱歌手演绎此歌曲的音高走势。此文件则为可以使用的MIDI文件,其作用有很多,比如,给用户提供可视化音高参考曲线、对于用户不足之处进行修音、对用户演唱进行评价等,之前MIDI文件均采用人工制作的方式,这样一方面人工成本较大,另一方面制作完的MIDI文件也没有有效的办法进行质量检测,通过本发明实施例的获取候选清唱音频文件;从候选清唱音频文件中划分出多个有效音频片段;提取出多个有效音频片段的音符信息,其中,音符信息包括一个或多个三元组,每个三元组包括具有映射关系的音符的起始时间,音符的持续时间,音符的音符值;以及根据多个有效音频片段的音符信息生成数字乐谱文件,其中,数字乐谱文件包括三元组中的部分或全部,通过用户候选清唱音频文件对应的歌曲进行演唱的清唱数据生成数字乐谱文件,达到了自动生成数字乐谱文件的目的,从而实现了提高清唱音频文件的制作效率的技术效果,进而解决了相关技术中数字乐谱文件的制作效率低的技术问题。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

实施例4

根据本发明实施例,还提供了一种用于实施上述歌曲的数字乐谱文件的生成方法的歌曲的数字乐谱文件的生成装置。图14是根据本发明实施例的一种歌曲的数字乐谱文件的生成装置的示意图。如图14所示,该装置可以包括:获取单元10、划分单元20、提取单元30和生成单元40。

获取单元10,用于从歌曲对应的清唱音频文件中获取候选满足预设条件的清唱音频文件,其中,候选清唱音频文件包括用户对候选清唱音频文件对应的歌曲进行演唱的清唱数据。

划分单元20,用于根据歌曲的时间信息从候选清唱音频文件中划分出多个有效音频片段。

提取单元30,用于提取出多个有效音频片段的音符信息,其中,音符信息包括一个或多个三元组,每个三元组包括具有映射关系的音符的起始时间,音符的持续时间,音符的音符值。

生成单元40,用于根据多个有效音频片段的音符信息生成数字乐谱文件,其中,数字乐谱文件包括三元组中的部分或全部。

图15是根据本发明实施例的另一种歌曲的数字乐谱文件的生成装置的示意图。如图15所示,该装置可以包括:获取单元10、划分单元20、提取单元30和生成单元40。其中,划分单元20包括:第一获取模块21、划分模块22。

需要说明的是,该实施例的获取单元10、划分单元20、提取单元30和生成单元40与图14所示实施例的歌曲的数字乐谱文件的生成装置中的作用相同,此处不再赘述。

第一获取模块21,用于获取歌曲对应的歌词文件,歌词文件包括每句歌词对应的时间信息。

划分模块22,用于根据歌词文件中每句歌词对应的时间信息将候选的清唱音频文件划分为多个有效音频片段。

图16是根据本发明实施例的另一种歌曲的数字乐谱文件的生成装置的示意图。如图16所示,该装置可以包括:获取单元10、划分单元20、提取单元30和生成单元40,提取单元30包括:提取模块31、第二获取模块32、判断模块33、第一处理模块34、第三获取模块35、第二处理模块36和合并模块37。

需要说明的是,获取单元10、划分单元20、提取单元30和生成单元40与图14所示实施例的歌曲的数字乐谱文件的生成装置中的作用相同,此处不再赘述。

提取模块31,用于提取多个有效音频片段的基频信息,其中,基频信息包括音频片段的基频值。

第二获取模块32,用于获取多个有效音频片段中基频值为非零的音频片段在播放时的播放时长之和。

判断模块33,用于判断播放时长之和是否超过预设时间。

第一处理模块34,用于在判断出播放时长之和超过预设时间时,对多个有效音频片段执行处理,得到基频段。

第三获取模块35,用于获取基频段中的基频值。

第二处理模块36,用于对基频值执行音符化处理,得到基频值的音符值。

合并模块37,用于合并音符值,得到有效音频片段的音符信息。

可选地,该歌曲的数字乐谱文件的生成装置还包括:计算单元、第一判断单元和置零单元。其中,获取单元10用于在获取多个有效音频片段中基频值为非零的音频片段在播放时的时长之和之前,获取多个有效音频片段中相邻音频片段的基频值;计算单元用于计算相邻音频片段的基频值的差值;第一判断单元用于判断差值是否满足预设条件;置零单元用于在判断出差值满足预设条件时,将相邻音频片段的基频值置零。

可选地,合并模块37包括生成模块和组合模块。其中,生成模块,用于将音符值中的相同音符值进行合并,并生成多个有效音频片段对应的三元组;组合模块用于将多个有效音频片段对应的三元组组合成用于表示音符信息的第一三元组序列。

可选地,生成模块用于获取相同音符值、多个有效音频片段对应的三元组的起始时间、多个有效音频片段对应的三元组的持续时间,以及根据相同音符值、多个有效音频片段对应的三元组的起始时间、多个有效音频片段对应的三元组的持续时间生成多个有效音频片段对应的三元组。

可选地,第一三元组序列包括第一三元组和第二三元组,生成单元40用于当第一三元组的起始时间等于第二三元组的起始时间与第二三元组的持续时间之和时,合并第一三元组和第二三元组,得到第三三元组,并从第一三元组序列中删除第一三元组,得到第二三元组序列;当第一三元组的起始时间不等于第二三元组的起始时间与第二三元组的持续时间之和时,当第四三元组的起始时间等于第一三元组的起始时间与第一三元组的持续时间之和时,合并第四三元组和第一三元组,得到第五三元组,并从第一三元组序列中删除第一三元组,得到第二三元组序列;当第一三元组的起始时间不等于第二三元组的起始时间与第二三元组的持续时间之和时,且当第四三元组的起始时间不等于第一三元组的起始时间与第一三元组的持续时间之和时,从第一三元组序列中删除第一三元组,得到第二三元组序列;以及将第二三元组序列中的三元组按照预设格式输出,得到数字乐谱文件。

可选地,当si=si-1+li-1成立时,通过l'i-1=li-1+li计算第三三元组的持续时间l'i-1,其中,si为第一三元组的起始时间,si-1为第二三元组的起始时间,li-1为第二三元组的持续时间,li为第一三元组的持续时间;当si=si-1+li-1不成立,si+1=si+li成立时,通过l'i+1=li+1+li计算第五三元组的持续时间l'i+1,通过s'i+1=si计算第五三元组的起始时间s'i+1,其中,si+1为第四三元组的起始时间,li+1为第四三元组的持续时间。

图17是根据本发明实施例的另一种歌曲的数字乐谱文件的生成装置的示意图。如图17所示,该装置可以包括:获取单元10、划分单元20、提取单元30和生成单元40。其中,提取单元30包括:提取模块31、第二获取模块32、判断模块33、第一处理模块34、第三获取模块35、第二处理模块36和合并模块37,其中,第一处理模块34包括:获取子模块341、第一处理子模块342和第二处理子模块343。

需要说明的是,该实施例的获取单元10、划分单元20、提取单元30和生成单元40,提取模块31、第二获取模块32、判断模块33、第一处理模块34、第三获取模块35、第二处理模块36和合并模块37与图16所示实施例的歌曲的数字乐谱文件的生成装置中的作用相同,此处不再赘述。

获取子模块341,用于获取多个有效音频片段对应的长度。

第一处理子模块342,用于对长度小于第一预设值的音频片段执行第一滤波处理,得到第一滤波片段。

第二处理子模块343,用于对长度大于等于第一预设值的音频片段执行第二滤波处理,得到第二滤波片段。

第三获取模块35用于获取第一滤波片段的基频值和第二滤波片段的基频值。

可选地,该歌曲的数字乐谱文件的生成装置还包括:第二判断单元和设置单元。其中,第二判断单元,用于在获取多个有效音频片段对应的长度之后,判断长度小于第二预设值的有效音频片段中是否存在零音频片段,其中,零音频片段为基频值为零的音频片段;设置单元,用于在判断出长度小于第二预设值的有效音频片段中存在零音频片段,将零音频片段的基频值设置为预设基频值;第三获取模块35用于获取第一滤波片段的基频值、第二滤波片段的基频值和预设基频值。

可选地,获取单元10包括第四获取模块、第五获取模块和确定模块。其中,第四获取模块,用于获取上传的多个原始清唱音频文件;第五获取模块用于获取对多个原始清唱音频文件的回复信息,其中,回复信息用于表示原始清唱音频文件的质量等级;确定模块,用于判断回复信息所表示的质量等级是否达到预定等级,在判断出回复信息所表示的质量等级达到预定等级,则将原始清唱音频文件确定为候选清唱音频文件。

需要说明的是,该实施例中的获取单元10可以用于执行本申请实施例1中的步骤S202,该实施例中的划分单元20可以用于执行本申请实施例1中的步骤S204,该实施例中的提取单元30可以用于执行本申请实施例1中的步骤S206,该实施例中的生成单元40可以用于执行本申请实施例1中的步骤S208。

在该实施例中,通过获取单元10从歌曲对应的清唱音频文件中获取候选满足预设条件的清唱音频文件,通过划分单元20根据歌曲的时间信息从候选清唱音频文件中划分出多个有效音频片段,通过提取单元30提取出多个有效音频片段的音符信息,其中,音符信息包括一个或多个三元组,每个三元组包括具有映射关系的音符的起始时间,音符的持续时间,音符的音符值,通过生成单元40根据多个有效音频片段的音符信息生成数字乐谱文件,其中,数字乐谱文件包括三元组中的部分或全部,通过用户候选清唱音频文件对应的歌曲进行演唱的清唱数据生成数字乐谱文件,达到了自动生成数字乐谱文件的目的,从而实现了提高清唱音频文件的制作效率的技术效果,进而解决了相关技术中数字乐谱文件的制作效率低的技术问题。

此处需要说明的是,上述单元和模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。

实施例5

根据本发明实施例,还提供了一种用于实施上述歌曲的数字乐谱文件的生成方法的服务器或终端。

图18是根据本发明实施例的一种终端的结构框图。如图18所示,该终端可以包括:一个或多个(图中仅示出一个)处理器181、存储器183、以及传输装置185,如图18所示,该终端还可以包括输入输出设备187。

其中,存储器183可用于存储软件程序以及模块,如本发明实施例中的歌曲的数字乐谱文件的生成方法和装置对应的程序指令/模块,处理器181通过运行存储在存储器183内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的歌曲的数字乐谱文件的生成方法。存储器183可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器183可进一步包括相对于处理器181远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

上述的传输装置185用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置185包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置185为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。

其中,具体地,存储器183用于存储应用程序。

处理器181可以通过传输装置185调用存储器183存储的应用程序,以执行下述步骤:

从歌曲对应的清唱音频文件中获取候选满足预设条件的清唱音频文件,其中,候选清唱音频文件包括用户对候选清唱音频文件对应的歌曲进行演唱的清唱数据;

根据歌曲的时间信息从候选清唱音频文件中划分出多个有效音频片段;

提取出多个有效音频片段的音符信息,其中,音符信息包括一个或多个三元组,每个三元组包括具有映射关系的音符的起始时间,音符的持续时间,音符的音符值;

根据多个有效音频片段的音符信息生成数字乐谱文件,其中,数字乐谱文件包括三元组中的部分或全部。

处理器181还用于执行下述步骤:获取歌曲对应的歌词文件,歌词文件包括每句歌词对应的时间信息;根据歌词文件中每句歌词对应的时间信息将候选清唱音频文件划分出多个有效音频片段。

处理器181还用于执行下述步骤:提取多个有效音频片段的基频信息,其中,基频信息包括音频片段的基频值;获取多个有效音频片段中基频值为非零的音频片段在播放时的播放时长之和;判断播放时长之和是否超过预设时间;如果判断出播放时长之和超过预设时间,对多个有效音频片段执行处理,得到基频段;获取基频段中的基频值;对基频值执行音符化处理,得到基频值的音符值;以及合并音符值,得到有效音频片段的音符信息。

处理器181还用于执行下述步骤:获取多个有效音频片段对应的长度;对长度小于第一预设值的音频片段执行第一滤波处理,得到第一滤波片段;对长度大于等于第一预设值的音频片段执行第二滤波处理,得到第二滤波片段;获取第一滤波片段的基频值和第二滤波片段的基频值。

处理器181还用于执行下述步骤:在获取多个有效音频片段对应的长度之后,判断长度小于第二预设值的有效音频片段中是否存在零音频片段,其中,零音频片段为基频值为零的音频片段;如果判断出长度小于第二预设值的有效音频片段中存在零音频片段,将零音频片段的基频值设置为预设基频值;获取第一滤波片段的基频值、第二滤波片段的基频值和预设基频值。

处理器181还用于执行下述步骤:在获取多个有效音频片段中基频值为非零的音频片段在播放时的时长之和之前,获取多个有效音频片段中相邻音频片段的基频值;计算相邻音频片段的基频值的差值;判断差值是否满足预设条件;以及如果判断出差值满足预设条件,将相邻音频片段的基频值置零。

处理器181还用于执行下述步骤:将音符值中的相同音符值进行合并,并生成多个有效音频片段对应的三元组;以及将多个有效音频片段对应的三元组组合成用于表示音符信息的第一三元组序列。

处理器181还用于执行下述步骤:获取相同音符值、多个有效音频片段对应的三元组的起始时间、多个有效音频片段对应的三元组的持续时间;以及根据相同音符值、多个有效音频片段对应的三元组的起始时间、多个有效音频片段对应的三元组的持续时间生成多个有效音频片段对应的三元组。

处理器181还用于执行下述步骤:第一三元组序列包括第一三元组和第二三元组,当第一三元组的起始时间等于第二三元组的起始时间与第二三元组的持续时间之和时,合并第一三元组和第二三元组,得到第三三元组,并从第一三元组序列中删除第一三元组,得到第二三元组序列;当第一三元组的起始时间不等于第二三元组的起始时间与第二三元组的持续时间之和时,当第四三元组的起始时间等于第一三元组的起始时间与第一三元组的持续时间之和时,合并第四三元组和第一三元组,得到第五三元组,并从第一三元组序列中删除第一三元组,得到第二三元组序列;当第一三元组的起始时间不等于第二三元组的起始时间与第二三元组的持续时间之和时,且当第四三元组的起始时间不等于第一三元组的起始时间与第一三元组的持续时间之和时,从第一三元组序列中删除第一三元组,得到第二三元组序列;以及将第二三元组序列中的三元组按照预设格式输出,得到数字乐谱文件。

处理器181还用于执行下述步骤:当si=si-1+li-1成立时,通过l'i-1=li-1+li计算第三三元组的持续时间l'i-1,其中,si为第一三元组的起始时间,si-1为第二三元组的起始时间,li-1为第二三元组的持续时间,li为第一三元组的持续时间;当si=si-1+li-1不成立,si+1=si+li成立时,通过l'i+1=li+1+li计算第五三元组的持续时间l'i+1,通过s'i+1=si计算第五三元组的起始时间s'i+1,其中,si+1为第四三元组的起始时间,li+1为第四三元组的持续时间。

处理器181还用于执行下述步骤:获取上传的多个原始清唱音频文件;获取对多个原始清唱音频文件的回复信息,其中,回复信息用于表示原始清唱音频文件的质量等级;判断回复信息所表示的质量等级是否达到预定等级;以及如果判断出回复信息所表示的质量等级达到预定等级,则将原始清唱音频文件确定为候选清唱音频文件。

在本发明实施例中,获取候选清唱音频文件;从候选清唱音频文件中划分出多个有效音频片段;提取出多个有效音频片段的音符信息,音符信息包括一个或多个三元组,每个三元组包括具有映射关系的音符的起始时间,音符的持续时间,音符的音符值;根据多个有效音频片段的音符信息生成数字乐谱文件,其中,数字乐谱文件包括三元组中的部分或全部,通过用户候选清唱音频文件对应的歌曲进行演唱的清唱数据生成数字乐谱文件,达到了自动生成数字乐谱文件的目的,从而实现了提高清唱音频文件的制作效率的技术效果,进而解决了相关技术中数字乐谱文件的制作效率低的技术问题。

可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。

本领域普通技术人员可以理解,图18所示的结构仅为示意,终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图18其并不对上述电子装置的结构造成限定。例如,终端还可包括比图18中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图18所示不同的配置。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。

实施例6

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行歌曲的数字乐谱文件的生成方法的程序代码。

可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:

从歌曲对应的清唱音频文件中获取满足预设条件的候选清唱音频文件,其中,候选清唱音频文件包括用户对候选清唱音频文件对应的歌曲进行演唱的清唱数据;

根据歌曲的时间信息从候选清唱音频文件中划分出多个有效音频片段;

提取出多个有效音频片段的音符信息,其中,音符信息包括一个或多个三元组,每个三元组包括具有映射关系的音符的起始时间,音符的持续时间,音符的音符值;

根据多个有效音频片段的音符信息生成数字乐谱文件,其中,数字乐谱文件包括三元组中的部分或全部。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:获取歌曲对应的歌词文件,歌词文件包括每句歌词对应的时间信息;根据歌词文件中每句歌词对应的时间信息将候选清唱音频文件划分出多个有效音频片段。

存储介质还被设置为存储用于执行以下步骤的程序代码:提取多个有效音频片段的基频信息,其中,基频信息包括音频片段的基频值;获取多个有效音频片段中基频值为非零的音频片段在播放时的播放时长之和;判断播放时长之和是否超过预设时间;如果判断出播放时长之和超过预设时间,对多个有效音频片段执行处理,得到基频段;获取基频段中的基频值;对基频值执行音符化处理,得到基频值的音符值;以及合并音符值,得到有效音频片段的音符信息。

存储介质还被设置为存储用于执行以下步骤的程序代码:获取多个有效音频片段对应的长度;对长度小于第一预设值的音频片段执行第一滤波处理,得到第一滤波片段;对长度大于等于第一预设值的音频片段执行第二滤波处理,得到第二滤波片段;获取第一滤波片段的基频值和第二滤波片段的基频值。

存储介质还被设置为存储用于执行以下步骤的程序代码:在获取多个有效音频片段对应的长度之后,判断长度小于第二预设值的有效音频片段中是否存在零音频片段,其中,零音频片段为基频值为零的音频片段;如果判断出长度小于第二预设值的有效音频片段中存在零音频片段,将零音频片段的基频值设置为预设基频值;获取第一滤波片段的基频值、第二滤波片段的基频值和预设基频值。

存储介质还被设置为存储用于执行以下步骤的程序代码:在获取多个有效音频片段中基频值为非零的音频片段在播放时的时长之和之前,获取多个有效音频片段中相邻音频片段的基频值;计算相邻音频片段的基频值的差值;判断差值是否满足预设条件;以及如果判断出差值满足预设条件,将相邻音频片段的基频值置零。

存储介质还被设置为存储用于执行以下步骤的程序代码:将音符值中的相同音符值进行合并,并生成多个有效音频片段对应的三元组;以及将多个有效音频片段对应的三元组组合成用于表示音符信息的第一三元组序列。

存储介质还被设置为存储用于执行以下步骤的程序代码:获取相同音符值、多个有效音频片段对应的三元组的起始时间、多个有效音频片段对应的三元组的持续时间;以及根据相同音符值、多个有效音频片段对应的三元组的起始时间、多个有效音频片段对应的三元组的持续时间生成多个有效音频片段对应的三元组。

存储介质还被设置为存储用于执行以下步骤的程序代码:第一三元组序列包括第一三元组和第二三元组,当第一三元组的起始时间等于第二三元组的起始时间与第二三元组的持续时间之和时,合并第一三元组和第二三元组,得到第三三元组,并从第一三元组序列中删除第一三元组,得到第二三元组序列;当第一三元组的起始时间不等于第二三元组的起始时间与第二三元组的持续时间之和时,当第四三元组的起始时间等于第一三元组的起始时间与第一三元组的持续时间之和时,合并第四三元组和第一三元组,得到第五三元组,并从第一三元组序列中删除第一三元组,得到第二三元组序列;当第一三元组的起始时间不等于第二三元组的起始时间与第二三元组的持续时间之和时,且当第四三元组的起始时间不等于第一三元组的起始时间与第一三元组的持续时间之和时,从第一三元组序列中删除第一三元组,得到第二三元组序列;以及将第二三元组序列中的三元组按照预设格式输出,得到数字乐谱文件。

存储介质还被设置为存储用于执行以下步骤的程序代码:当si=si-1+li-1成立时,通过l'i-1=li-1+li计算第三三元组的持续时间l'i-1,其中,si为第一三元组的起始时间,si-1为第二三元组的起始时间,li-1为第二三元组的持续时间,li为第一三元组的持续时间;当si=si-1+li-1不成立,si+1=si+li成立时,通过l'i+1=li+1+li计算第五三元组的持续时间l'i+1,通过s'i+1=si计算第五三元组的起始时间s'i+1,其中,si+1为第四三元组的起始时间,li+1为第四三元组的持续时间。

存储介质还被设置为存储用于执行以下步骤的程序代码:获取上传的多个原始清唱音频文件;获取对多个原始清唱音频文件的回复信息,其中,回复信息用于表示原始清唱音频文件的质量等级;判断回复信息所表示的质量等级是否达到预定等级;以及如果判断出回复信息所表示的质量等级达到预定等级,则将原始清唱音频文件确定为候选清唱音频文件。

可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。

可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1