1.本技术涉及计算机技术领域,尤其涉及一种歌曲处理方法、装置、计算机设备、存储介质及程序产品。
背景技术:2.随着计算机技术领域中tts(text
‑
to
‑
speech,语音合成)技术的不断发展,语音在各类应用场景中的自动生成任务也被不断探索,歌曲合成作为tts技术在歌曲应用场景中延伸出的新兴研究领域,受到了学者们的广泛关注。歌曲合成简单来说就是根据伴奏音频、节奏信息、以及语音等合成一首歌曲的过程,在歌曲合成的过程中,节奏信息是决定合成的歌曲是否符合乐理听感的关键因素,因此,如何获取节奏信息成为歌曲合成过程中的关键问题。
3.目前,节奏信息的获取主要依靠两种途径,第一种是人工手动编写节奏信息,第二种是直接获取现有歌曲中的节奏信息,前者需要具备创作能力的专业人员,更加可行的方法往往是后者。而后者同样依赖于人工,由标注人员标注现有歌曲中的节奏信息,在这样的节奏信息获取方式中,节奏信息的标注速度依赖于标注人员的专业程度和熟练程度,并且长时间进行标注容易造成听觉疲劳从而导致标注的节奏信息不准确;可见,目前的节奏信息获取方式在效率和准确率上均存在不足。
技术实现要素:4.本技术实施例提供了一种歌曲处理方法、装置、计算机设备、存储介质及程序产品,可以高效且准确地获取歌曲中的节奏信息。
5.一方面,本技术实施例提供了一种歌曲处理方法,该歌曲处理方法包括:从待处理的目标歌曲中提取演唱音频和伴奏音频,演唱音频包括一个或多个音频段;对演唱音频中的各个音频段进行节奏识别处理,得到各个音频段的初始节奏信息;基于伴奏音频确定目标歌曲对应的节奏规整标准;按照节奏规整标准,对各个音频段的初始节奏信息进行节奏校准处理,得到各个音频段的目标节奏信息。
6.相应地,本技术实施例提供了一种歌曲处理装置,该歌曲处理装置包括:获取单元,用于获取待处理的目标歌曲;处理单元,用于从待处理的目标歌曲中提取演唱音频和伴奏音频,演唱音频包括一个或多个音频段;处理单元,还用于对演唱音频中的各个音频段进行节奏识别处理,得到各个音频段的初始节奏信息;基于伴奏音频确定目标歌曲对应的节奏规整标准;按照节奏规整标准,对各个音
频段的初始节奏信息进行节奏校准处理,得到各个音频段的目标节奏信息。
7.在一种实现方式中,演唱音频中包括n个音频段,n为正整数;n个音频段中的任一个音频段表示为第i个音频段,i为小于或等于n的正整数;对第i个音频段进行节奏识别处理还得到一个或多个识别字符;第i个音频段的初始节奏信息包括每个识别字符的识别发音时长,第i个音频段的目标节奏信息包括每个识别字符的目标发音时长;处理单元,用于按照节奏规整标准,对第i个音频段的初始节奏信息进行节奏校准处理,得到第i个音频段的目标节奏信息时,具体用于执行如下步骤:按照节奏规整标准,对第i个音频段的初始节奏信息中各个识别字符的识别发音时长进行发音时长校准处理,得到第i个音频段的目标节奏信息中各个识别字符的目标发音时长。
8.在一种实现方式中,节奏规整标准包括多个标准发音时长;对第i个音频段进行节奏识别处理得到m个识别字符,m为正整数;m个识别字符中的任一个识别字符表示为第j个识别字符,j为小于或等于m的正整数;处理单元,用于按照节奏规整标准,对第j个识别字符的识别发音时长进行发音时长校准处理,得到第j个识别字符的目标发音时长时,具体用于执行如下步骤:计算第j个识别字符的识别发音时长与节奏规整标准中的各个标准发音时长之间的发音时长差;确定计算得到的发音时长差中的最小发音时长差;将计算最小发音时长差所采用的标准发音时长,确定为第j个识别字符的目标发音时长。
9.在一种实现方式中,处理单元,用于对第i个音频段进行节奏识别处理,得到第i个音频段的初始节奏信息时,具体用于执行如下步骤:对第i个音频段进行节奏识别处理,得到一个或多个识别字符,以及每个识别字符在第i个音频段中的发音起始时间和发音结束时间;根据各个识别字符在第i个音频段中的发音起始时间和发音结束时间,确定各个识别字符的识别发音时长。
10.在一种实现方式中,节奏规整标准包括多个标准发音时长,每个标准发音时长对应一个音符,任一个音符表示为目标音符;处理单元,用于基于伴奏音频确定目标歌曲对应的节奏规整标准时,具体用于执行如下步骤:对伴奏音频进行节拍数量检测,得到目标歌曲的节拍数量信息;基于节拍数量信息计算目标歌曲的单位节拍时长;获取目标歌曲的节拍时值信息,根据节拍时值信息、单位节拍时长、以及目标音符的基准数值,计算目标音符对应的标准发音时长。
11.在一种实现方式中,获取单元,还用于执行如下步骤:获取目标歌曲的歌词文件,歌词文件中包括一句或多句歌词,演唱音频中的各个音频段是按照歌词文件中的歌词句数进行划分的,演唱音频中的任一个音频段是对歌词文件中的对应歌词进行演唱得到的音频数据;处理单元,还用于执行如下步骤:基于各个音频段对应的歌词,对各个音频段的目标节奏信息进行节奏优化处理,得到各个音频段的优化节奏信息。
12.在一种实现方式中,演唱音频中包括n个音频段,n为正整数;n个音频段中的任一
个音频段表示为第i个音频段,i为小于或等于n的正整数;歌词文件包括n句歌词,第i个音频段对应n句歌词中的第i句歌词,第i句歌词中包括一个或多个原始字符;对第i个音频段进行节奏识别处理还得到一个或多个识别字符;第i个音频段的目标节奏信息包括每个识别字符的目标发音时长;处理单元,用于基于第i句歌词,对第i个音频段的目标节奏信息进行节奏优化处理,得到第i个音频段的优化节奏信息时,具体用于执行如下步骤:将第i个音频段的识别字符与第i句歌词的原始字符进行字符匹配检查;若第i个音频段的识别字符与第i句歌词的原始歌词之间存在未匹配的识别字符,则获取未匹配的识别字符;对第i个音频段的目标节奏信息中,未匹配的识别字符的目标发音时长进行发音时长优化处理,得到第i个音频段的优化节奏信息。
13.在一种实现方式中,未匹配的识别字符包括:第i个音频段中相邻的多个误识别字符,相邻的多个误识别字符是由第i句歌词中的目标原始字符误识别得到的;处理单元,用于对第i个音频段的目标节奏信息中,未匹配的识别字符的目标发音时长进行发音时长优化处理,得到第i个音频段的优化节奏信息时,具体用于执行如下步骤:获取相邻的多个误识别字符的目标发音时长;计算相邻的多个误识别字符的目标发音时长的总发音时长;将第i个音频段的目标节奏信息中,未匹配的识别字符的目标发音时长修改为总发音时长,得到第i个音频段的优化节奏信息。
14.在一种实现方式中,未匹配的识别字符包括:第i个音频段中不存在于所述第i句歌词中的识别字符;处理单元,用于对第i个音频段的目标节奏信息中,未匹配的识别字符的目标发音时长进行发音时长优化处理,得到第i个音频段的优化节奏信息时,具体用于执行如下步骤:将第i个音频段中不存在于第i句歌词中的识别字符的目标发音时长,从第i个音频段的目标节奏信息中删除,得到第i个音频段的优化节奏信息。
15.在一种实现方式中,未匹配的识别字符包括:第i个音频段中遗漏的识别字符,第i个音频段的识别字符中排列于遗漏的识别字符之前的相邻识别字符为目标识别字符;处理单元,用于对第i个音频段的目标节奏信息中,未匹配的识别字符的目标发音时长进行发音时长优化处理,得到第i个音频段的优化节奏信息时,具体用于执行如下步骤:获取目标识别字符的目标发音时长;确定目标识别字符的目标发音时长与基准发音时长之间的倍数信息;基于倍数信息确定多个填补发音时长;将多个填补发音时长,填补至第i个音频段的目标节奏信息中,得到第i个音频段的优化节奏信息。
16.在一种实现方式中,处理单元,还用于执行如下步骤:在第i个音频段的优化节奏信息中发音时长的数量,与第i句歌词中原始字符的数量之间进行数量匹配检查;若数量不匹配,则获取节奏优化标准,节奏优化标准中包括多个基准节奏信息,任一个基准节奏信息包括:各个音频段的目标节奏信息中识别字符与对应歌词的原始字符匹配的目标节奏信息,或各个音频段的优化节奏信息中发音时长的数量与对应歌词中原始字符的数量匹配的优化节奏信息;
计算第i个音频段的优化节奏信息与各个基准节奏信息之间的编辑距离;采用编辑距离小于编辑距离阈值的目标基准节奏信息,对第i个音频段的优化节奏信息进行更新。
17.相应地,本技术实施例提供一种计算机设备,该设备包括处理器和计算机可读存储介质,其中,处理器适于实现计算机程序,计算机可读存储介质存储有计算机程序,计算机程序适于由处理器加载并执行上述的歌曲处理方法。
18.相应地,本技术实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被计算机设备的处理器读取并执行时,使得计算机设备执行上述的歌曲处理方法。
19.相应地,本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的歌曲处理方法。
20.本技术实施例中,从待处理的目标歌曲中提取伴奏音频和演唱音频之后,可以对演唱音频中的各个音频段进行节奏识别处理,得到各个音频段的初始节奏信息,然后可以基于伴奏音频确定目标歌曲对应的节奏规整标准,节奏规整标准可以用于对各个音频段的初始节奏信息进行节奏校准处理,得到各个音频段的目标节奏信息。基于上述过程,本技术实施例可以自动获取歌曲中的节奏信息,提升了节奏信息的获取效率;并且,考虑到对音频段进行节奏识别处理得到的初始节奏信息可能存在不准确的问题,采用基于伴奏音频确定的节奏规整标准对初始节奏信息进行节奏校准处理,这样可以提高获取到的节奏信息的准确率,从而可以准确地获取歌曲中的节奏信息。
附图说明
21.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
22.图1是本技术实施例提供的一种歌曲处理系统的架构示意图;图2是本技术实施例提供的一种歌曲处理方法的流程示意图;图3a是本技术实施例提供的一种初始节奏信息的示意图;图3b是本技术实施例提供的一种节奏规整标准的示意图;图3c是本技术实施例提供的一种节奏校准处理过程的示意图;图4是本技术实施例提供的另一种歌曲处理方法的流程示意图;图5a是本技术实施例提供的一种字符匹配检查的字符匹配结果的示意图;图5b是本技术实施例提供的另一种字符匹配检查的字符匹配结果的示意图;图5c是本技术实施例提供的一种节奏优化处理过程的示意图;图5d是本技术实施例提供的另一种节奏优化处理过程的示意图;图5e是本技术实施例提供的另一种节奏优化处理过程的示意图;图6是本技术实施例提供的另一种歌曲处理方法的流程示意图;
图7是本技术实施例提供的一种歌曲处理装置的结构示意图;图8是本技术实施例提供的一种计算机设备的结构示意图。
具体实施方式
23.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
24.本技术实施例提供一种歌曲处理方案,该歌曲处理方案可以高效且准确地获取已有歌曲中的节奏信息,即可以快速且准确地根据一首已有的歌曲生成可用的节奏信息,得到的节奏信息可以用于与新的歌词结合形成新的歌曲,也可以作为机器学习中的模型训练数据,用于对歌曲合成模型进行训练。为了更清楚地对本技术实施例提供的歌曲处理方案进行理解,下面先对该方案中涉及的一些关键术语进行介绍:(1)歌曲。歌曲是由歌词和曲谱相结合的一种艺术形式,也是一种表现形式,可以包括演唱音频和伴奏音频。其中,歌曲中的演唱音频是对歌词文件进行演唱得到的音频数据;演唱音频可以按照歌词文件中的歌词句数划分为一个或多个音频段,也就是说,歌词文件中包含多少句歌词,演唱音频就可以划分为多少个音频段,任一个音频段是对该音频段对应的歌词进行演唱得到的音频数据;举例来说,歌曲的歌词文件中包含20句歌词,那么可以将演唱音频划分为20个音频段,第一个音频段是对第一句歌词进行演唱得到的音频数据,第二个音频段是对第二句歌词进行演唱得到的音频数据,以此类推。歌曲中的伴奏音频是伴随衬托演唱音频的器乐演奏所形成的音频数据,从伴奏音频中可以获取反映歌曲在单位时间(例如1分钟、1秒等)内节拍数量的节拍数量信息。另外,本技术实施例提及的歌曲可以是流行、摇滚、民谣、爵士、说唱(rap)等任意类型的歌曲,本技术实施例以歌曲是说唱歌曲为例进行介绍,也就是说,可以快速且准确地根据一首已有的说唱歌曲生成可用的节奏信息,当歌曲是其他类型的情况时,可以参照歌曲是说唱歌曲的相关描述。
25.(2)节奏信息。歌曲的节奏信息可以由演唱音频中的各个音频段的节奏信息组成;任一个音频段的节奏信息可以包括:该音频段对应的歌词中的各个字符在该音频段中的发音时长;字符的发音时长即发音时间长度,是指演唱者在音频段中演唱该字符所花费的时间长度。举例来说,某个音频段(以下可以称为目标音频段)对应的歌词中包括3个字符“我最帅”,字符“我”在该目标音频段中的发音时长为0.28秒,字符“最”在该目标音频段中的发音时长为0.07秒,字符“帅”在该目标音频段中的发音时长为0.14秒,则该目标音频段的节奏信息可以包括这三个字符在该目标音频段中的发音时长。
26.节奏信息可以采用发音时长序列或音符序列的形式进行表示。发音时长序列是指由各个字符的发音时长组成的序列;例如,上述目标音频段的节奏信息可以表示为如下发音时长序列:[0.28,0.07,0.14]。音符序列是指由各个字符的发音时长对应的音符组成的序列;例如,上述目标音频段的节奏信息可以表示为如下音符序列:[8,32,16],8表示8分音符,32表示32分音符,16表示16分音符。需要说明的是,当歌曲是中文歌曲(即歌曲的歌词文件中的内容为中文)时,可以将歌词中的一个汉字作为一个字符。当歌曲是其他语言的歌曲时,例如是英文歌曲(即歌曲的歌词文件中的内容为英文)时,可以将歌词中的一个音节作
为一个字符;举例来说,歌词“beautiful”中包括3个音节,即包括3个字符,分别是字符“beau”、字符“ti”、以及字符“ful”。
[0027]
在介绍完本方案涉及的关键术语之后还需说明的是,本技术实施例提供的歌曲处理方案所实现的功能可以被集成于一个工具包中,任意设备、软件、或应用等可以通过接入该工具包具备歌曲处理功能,也就是说,任意设备、软件、或应用等在接入该工具包后可以获取歌曲中的节奏信息;该工具包可以包括但不限于:sdk(software development kit,软件开发工具包)、插件等等;其中,sdk是指辅助开发某一类软件的相关文档、范例和工具的集合,插件是指一种遵循一定规范的应用程序接口编写出来的程序。
[0028]
另外,本技术实施例提供的歌曲处理方案可以由一个计算机设备执行,该计算机设备可以是用户终端或服务器。此处所提及的用户终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端、智能电视等,但并不局限于此。此处所提及的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。也就是说,用户终端可以通过接入工具包获得歌曲处理能力,从而可以获取歌曲中的节奏信息。同样地,服务器可以通过接入工具包获得歌曲处理能力,从而可以获取歌曲中的节奏信息。用户终端与服务器还可以组成如图1所示的歌曲处理系统,用户终端101可以用于获取待处理的歌曲,并将获取到的歌曲上传至服务器102,服务器102可以用于获取歌曲中的节奏信息;图1所示歌曲处理系统中的用户终端101和服务器102仅用于举例,在实际应用场景中,用户终端的数量可以为一个或多个,服务器的数量可以为一个或多个,本技术实施例对此不作限定。
[0029]
本技术实施例中提及的多个所指示的数量为两个或两个以上,提及的多句所指示的数量为两句或两句以上,在此说明。
[0030]
基于上述描述,下面结合图2至图6所示实施例对歌曲处理方案进行更为详细地介绍。
[0031]
本技术实施例提出一种歌曲处理方法,该歌曲处理方法主要介绍节奏信息的识别过程以及节奏信息的校准过程,该歌曲处理方法可以由前述所提及的计算机设备执行。如图2所示,该歌曲处理方法可以包括以下步骤s201至步骤s204:s201,从待处理的目标歌曲中提取演唱音频和伴奏音频。
[0032]
目标歌曲中可以包括演唱音频和伴奏音频,可以采用伴奏演唱分离工具从目标歌曲中提取演唱音频和伴奏音频。其中,伴奏演唱分离工具可以包括但不不限于以下任意一种:具备伴奏演唱分离能力的应用程序、具备伴奏演唱分离能力的插件、具备伴奏演唱分离能力的sdk、具备伴奏演唱分离能力的应用程序接口(通过该应用程序接口可以调用伴奏演唱分离服务)等等。
[0033]
由前述内容可知,目标歌曲的歌词文件可以包括一句或多句歌词,演唱音频可以按照歌词文件中的歌词句数划分为一个或多个音频段,一个音频段对应一句歌词,任一个音频段是目标歌曲的演唱者对该音频段对应的歌词进行演唱得到的音频数据。为了便于对本技术实施例中的方案进行介绍,在此将演唱音频中的音频段的数量表示为n个,歌词文件中的歌词的数量表示为n句,即演唱音频中包括n个音频段,歌词文件中包括n句歌词,音频
段与歌词一一对应,n为正整数。
[0034]
s202,对演唱音频中的各个音频段进行节奏识别处理,得到各个音频段的初始节奏信息。
[0035]
从目标歌曲中提取演唱音频之后,可以采用节奏识别工具对演唱音频中的各个音频段进行节奏识别处理,得到各个音频段的初始节奏信息。其中,节奏识别工具可以包括但不限于以下任意一种:具备节奏识别能力的应用程序、具备节奏识别能力的插件、具备节奏识别能力的sdk、具备节奏识别能力的应用程序接口(通过该应用程序接口可以调用节奏识别服务)等等。
[0036]
在此以演唱音频中的任一个音频段的节奏识别处理过程为例进行介绍,演唱音频中除该任一个音频段之外的其他音频段的节奏识别处理过程,均可以参见该任一个音频段的节奏识别处理过程的相关描述。演唱音频包括的n个音频段中的任一个音频段可以表示为第i个音频段,i为小于或等于n的正整数;对第i个音频段进行节奏识别处理,得到第i个音频段的初始节奏信息的过程,可以包括:
①
对第i个音频段进行节奏识别处理,得到一个或多个识别字符,以及每个识别字符在第i个音频段中的发音起始时间和发音结束时间。采用节奏识别工具(例如可以是montreal
‑
forced
‑
aligner(一种通过将音频和文字脚本在时间维度上对齐而实现节奏识别的节奏识别工具)),对音频段进行节奏识别处理得到的部分识别结果如下代码所示:
如上述代码所示的节奏识别处理的部分识别结果中,包括7个识别字符的字符内容以及每个识别字符的发音起始时间和发音结束时间;由于节奏识别工具是按照拼音来划
分字符的边界的,因此识别字符的字符内容是采用拼音的形式进行展示的,例如上述代码中的“pei2”、“wai4”等。
[0037]
②
根据各个识别字符在第i个音频段中的发音起始时间和发音结束时间,确定各个识别字符的识别发音时长,第i个音频段的初始节奏信息包括各个识别字符的识别发音时长。其中,任一个识别字符的识别发音时长等于该识别字符的发音结束时间减去该识别字符的发音起始时间;例如,识别字符“wai4”的识别发音时长等于识别字符“wai4”的发音结束时间1.310秒,减去识别字符“wai4”的发音起始时间1.080秒,得到识别字符“wai4”的识别发音时长0.23秒。图3a示出了对音频段进行节奏识别处理得到的初始节奏信息的示意,各个识别字符的识别发音时长如虚线方框内的数字所示,初始节奏信息中包括11个识别字符中每个识别字符的识别发音时长,该音频段的初始节奏信息可以表示为如下的发音时长序列:[0.12,0.11,0.12,0.11,0.14,0.13,0.26,0.16,0.12,0.31,0.30]。
[0038]
s203,基于伴奏音频确定目标歌曲对应的节奏规整标准。
[0039]
从目标歌曲中提取伴奏音频之后,可以基于伴奏音频确定目标歌曲对应的节奏规整标准。节奏规整标准是指目标歌曲下的节奏标准,可以用于对各个音频段的初始节奏信息进行节奏校准处理,节奏规整标准可以包括多个标准发音时长,每个标准发音时长对应一个音符;也就是说,节奏规整标准包括的是根据伴奏音频确定出的各个音符在伴奏音频(即目标歌曲)下的准确的发音时长,这样的标准发音时长是符合乐理听感的。其中,音符是用来记录不同长短的音的进行符号,音符可以包括2分音符、4分音符、8分音符、16分音符、32分音符、4分附点音符、8分附点音符等等;4分音符的音符时值(也可称为发音时长)是2分音符的一半,8分音符的音符时值是4分音符的一半,以此类推;4分附点音符的音符时值是4分音符的1.5倍,8分附点音符的音符时值是8分音符的1.5倍,以此类推;并且每个音符可以对应一个基准数值,例如4分音符对应的基准数值为4,8分音符对应的基准数值为8。也就是说,目标歌曲对应的节奏规整标准可以理解为包括各个音符在目标歌曲的伴奏音频下的标准发音时长。
[0040]
在此以基于伴奏音频确定任一个音符在目标歌曲的伴奏音频下的标准发音时长为例进行介绍,除该任一个音符之外的其他音符对应的标准发音时长的确定过程,可以参见该任一个音符对应的标准发音时长的确定过程的相关描述。任一个音符可以表示为目标音符,基于伴奏音频确定目标音符对应的标准发音时长的过程可以包括:
①
对伴奏音频进行节拍数量检测,得到目标歌曲的节拍数量信息。其中,节拍数量检测具体可以是采用节拍数量检测工具进行的,节拍数量检测工具可以包括但不限于以下任意一种:具备节拍数量检测能力的应用程序、具备节拍数量检测能力的插件、具备节拍数量检测能力的sdk、具备节拍数量检测能力的应用程序接口(通过该应用程序接口可以调用节拍数量检测服务)等等。目标歌曲的节拍数量信息是指:目标歌曲的伴奏音频在单位时间(例如1分钟、1秒等)内包含的节拍数量,节拍数量信息可以包括bpm(beat per minute,每分钟节拍数)、bps(beat per second,每秒钟节拍数)等等。
[0041]
②
基于节拍数量信息计算目标歌曲的单位节拍时长。其中,单位节拍时长是指目标歌曲的每个节拍所占的时长。基于节拍数量信息计算目标歌曲的单位节拍时长的过程可参见如下公式1:t
bpm
=60/bpm
ꢀꢀꢀꢀ
公式1
上述公式1以节拍数量信息是bpm为例,t
bpm
表示单位节拍时长,bpm表示节拍数量信息,通过上述公式1计算得到的单位节拍时长的单位为秒。
[0042]
③
获取目标歌曲的节拍时值信息,根据节拍时值信息、单位节拍时长、以及目标音符的基准数值,计算目标音符对应的标准发音时长。其中,节拍时值信息是指目标歌曲中表示固定单位时值和强弱规律的组织形式;节拍时值信息可以表示为a/b拍,a/b表示以b分音符为一拍,每小节a拍。例如,目标歌曲的节拍时值信息为4/4拍,表示该目标歌曲以4分音符为一拍,每小节4拍;按照各个音符的音符时值之间的关系,当目标歌曲的节拍时值信息为4/4拍时,4分音符可以表示一拍,8分音符可以表示二分之一拍,16分音符可以表示四分之一拍。基于节拍时值信息可以确定该节拍时值信息对应的节拍常数;举例来说,当目标歌曲的节拍时值信息为4/4拍(即以4分音符为一拍)时,节拍常数的取值为4;当目标歌曲的节拍时值信息为4/2拍(即以2分音符为一拍)时,节拍常数的取值为2;根据节拍时值信息、单位节拍时长、以及目标音符的基准数值,计算目标音符对应的标准发音时长,可以包括:根据节拍时值信息对应的节拍常数、单位节拍时长、以及目标音符的基准数值,计算目标音符对应的标准发音时长,计算过程可参见如下公式2:t
x
=ct
bpm
/x
ꢀꢀꢀꢀ
公式2如上述公式2所示,t
x
表示目标音符对应的标准发音时长,x表示目标音符的基准数值,t
bpm
表示单位节拍时长,c表示节拍时值信息对应的的节拍常数。
[0043]
下面以一个具体的例子来介绍目标音符对应的标准发音时长的计算过程,目标歌曲的节拍时值信息为4/4拍,也就是说,节拍常数的取值为4(即c=4);对目标歌曲的伴奏信息进行节拍数量检测得到的节拍数量信息指示:该目标歌曲每分钟的节拍数为107.6(即bpm=107.6)。经上述公式1可以计算得到目标歌曲的单位节拍时长t
bpm
=60/bpm=60/107.6=0.54秒;当目标音符为4分音符时,基准数值为4(即x=4),经上述公式2可以计算得到4分音符对应的标准发音时长t4=4t
bpm
/4=(4
×
0.56)/4=0.56秒;当目标音符为8分音符时,基准数值为8(即x=8),经上述公式2可以计算得到8分音符对应的标准发音时长t8=4t
bpm
/8=(4
×
0.56)/8=0.28秒;当目标音符为16分音符时,基准数值为16(即x=16),经上述公式2可以计算得到16分音符对应的标准发音时长t
16
=4t
bpm
/16=(4
×
0.56)/16=0.14秒;按照上述公式1和公式2对各个音符的标准发音时长进行计算,可以得到如图3b所示的节奏规整标准,该节奏规整标准中包含了当bpm为107.6,节拍时值信息为4/4拍时的7个音符对应的标准发音时长。
[0044]
需要说明的是,本技术实施例不对步骤s202和步骤s203的执行顺序进行限定,可以先执行步骤s202,后执行步骤s203;或者,可以先执行步骤s203,后执行步骤s202;或者,可以在执行步骤s203的过程中执行步骤s202;或者,可以在执行步骤s202的过程中执行步骤s203。
[0045]
s204,按照节奏规整标准,对各个音频段的初始节奏信息进行节奏校准处理,得到各个音频段的目标节奏信息。
[0046]
由于经节奏识别处理得到的各个音频段的初始节奏信息可能存在不准确的情况,例如初始节奏信息中的某个识别字符在演唱音频中的真实发音时长为0.28秒,但是识别出的该识别字符的识别发音时长为0.26秒;这样提取出的初始节奏信息在后期的歌曲合成过程中还会进一步放大误差,举例来说,歌曲合成通常是将新歌词中各个字符的发音时长,拉
伸至节奏信息中对应的发音时长,由于常用的时长拉伸算法中附带随机性或粗略性,拉伸后的发音时长往往与节奏信息中的发音时长存在一定的差别(例如识别得到的识别发音时长为0.26秒,拉伸后的发音时长为0.23秒,这样与上述真实发音时长0.28秒的差距就更大了),也就是说,如果识别出的节奏信息不准确,在歌曲合成过程中该节奏信息的不准确会被继续放大,使得合成的歌曲更不准确,听感极不自然;因此需要对初始节奏信息进行节奏校准处理,这样才能确保获取到准确的节奏信息,通过节奏校准处理,即使在后期的歌曲合成过程中由于时长拉伸算法的缺陷,导致拉伸后的发音时长与节奏信息中的发音时长存在一定的差别,也会确保拉伸后的发音时长围绕准确的发音时长上下波动,减小误差,最终合成的歌曲整体听感效果趋于稳定自然。节奏校准处理是基于节奏规整标准进行的,基于伴奏音频确定节奏规整标准之后,可以按照节奏规整标准,对各个音频段的初始节奏信息进行节奏校准处理,得到各个音频段的目标节奏信息;对各个音频段的初始节奏信息进行节奏校准处理,可以理解为是将初始节奏信息中不准确的识别发音时长,校准为节奏规整标准中的标准发音时长,从而得到准确的目标节奏信息。
[0047]
本技术实施例以对演唱音频中的任一个音频段(即第i个音频段)的初始节奏信息进行节奏校准处理为例进行介绍;演唱音频中除第i个音频段之外的其他音频段的初始节奏信息的节奏校准处理过程,可以参见对第i个音频段的初始节奏信息的节奏校准处理过程的相关描述。由前述内容可知,第i个音频段的初始节奏信息中可以包括各个识别字符的识别发音时长,对各个识别字符的识别发音时长进行节奏校准处理可以得到各个识别字符的目标发音时长,也就是说,第i个音频段的目标节奏信息中可以包括各个识别字符的目标发音时长。按照节奏规整标准,对第i个音频段的初始节奏信息进行节奏校准处理,得到第i个音频段的目标节奏信息的过程,可以包括:按照节奏规整标准,对第i个音频段的初始节奏信息中各个识别字符的的识别发音时长进行发音时长校准处理,得到第i个音频段的目标节奏信息中各个识别字符的目标发音时长。
[0048]
为了便于对本技术实施例中的方案进行介绍,将对第i个音频段进行节奏识别处理得到的识别字符的数量表示为m个,m为正整数;也就是说,第i个音频段的初始节奏信息包括m个识别字符的初始发音时长,第i个音频段的目标节奏信息包括m个识别字符的目标发音时长。在此以m个识别字符中的任一个识别字符为例,介绍该任一个识别字符对应的初始发音时长的发音时长校准处理过程,m个识别字符中除该任一个识别字符之外的其他识别字符的发音时长校准处理过程,可以参见该任一个识别字符的发音时长校准处理过程的相关描述。m个识别字符中的任一个识别字符可以表示为第j个识别字符,j为小于或等于m的正整数;按照节奏规整标准,对第j个识别字符的的识别发音时长进行发音时长校准处理,得到第j个识别字符的目标发音时长的过程,可以包括:计算第j个识别字符的识别发音时长与节奏规整标准中的各个标准发音时长之间的发音时长差;确定计算得到的发音时长差中的最小发音时长差;将计算最小发音时长差所采用的标准发音时长,确定为第j个识别字符的目标发音时长。需要说明的是,此处的发音时长差是指:第j个识别字符的识别发音时长减去节奏规整标准中的标准发音时长后,得到的差值的绝对值。
[0049]
如图3c所示的节奏校准处理示例,第j个识别字符的识别发音时长为0.26秒,如图3b所示的节奏规整标准中的8分音符对应的标准发音时长与第j个识别字符的识别发音时长之间的发音时长差,相对于节奏规整标准中的其他音符对应的标准发音时长与第j个识
别字符的识别发音时长之间的发音时长差而言最小,因此可以将如图3b所示的节奏规整标准中的8分音符对应的标准发音时长0.28秒,确定为第j个识别字符的目标发音时长。采用如图3b所示的节奏规整标准,对第i个音频段的初始节奏信息[0.12,0.11,0.12,0.11,0.14,0.13,0.26,0.16,0.12,0.31,0.30]进行节奏校准处理后,可以得到第i个音频段的目标节奏信息[0.14,0.14,0.14,0.14,0.14,0.14,0.28,0.14,0.14,0.28,0.28],上述第i个音频段的目标节奏信息是采用发音时长序列进行表示的,第i个音频段的目标节奏信息还可以采用音符序列进行表示,上述第i个音频段的目标节奏信息是采用音符序列可以表示为[16,16,16,16,16,16,8,16,16,8,8]。
[0050]
本技术实施例中,获取目标歌曲中的目标节奏信息的过程是自动执行的,是智能的,可以提升从目标歌曲中获取节奏信息的效率。并且,节奏规整标准中包括各个音符在目标歌曲的伴奏音频下的标准发音时长,采用节奏规整标准对初始节奏信息中不准确的识别发音时长进行校准处理,可以将初始节奏信息中不准确的识别发音时长,校准为目标节奏信息中符合目标歌曲的标准发音时长的、准确的目标发音时长,可以确保从目标歌曲中获取到的节奏信息是准确的,是符合乐理听感的。
[0051]
本技术实施例还提出一种歌曲处理方法,该歌曲处理方法主要介绍节奏信息的优化过程,该歌曲处理方法可以由前述所提及的计算机设备执行。如图4所示,该歌曲处理方法可以包括以下步骤s401至步骤s406:s401,从待处理的目标歌曲中提取演唱音频和伴奏音频。
[0052]
s402,对演唱音频中的各个音频段进行节奏识别处理,得到各个音频段的初始节奏信息。
[0053]
s403,基于伴奏音频确定目标歌曲对应的节奏规整标准。
[0054]
s404,按照节奏规整标准,对各个音频段的初始节奏信息进行节奏校准处理,得到各个音频段的目标节奏信息。
[0055]
本技术实施例中步骤s401的执行过程与图2所示实施例中步骤s201的执行过程相同,步骤s402的执行过程与图2所示实施例中步骤s202的执行过程相同,步骤s403的执行过程与图2所示实施例中步骤s203的执行过程相同,步骤s404的执行过程与图2所示实施例中步骤s204的执行过程相同,步骤s401至步骤s404中各步骤的执行过程可以参见上述图2所示实施例中对应步骤的描述,在此不再赘述。
[0056]
在对节奏信息的优化过程进行介绍之前,在此先对节奏信息的优化原因进行介绍:大部分时候由于歌曲的伴奏音频和演唱音频的混合程度较高,在采用伴奏演唱分离工具从歌曲中提取伴奏音频和演唱音频时,很难做到将伴奏音频和演唱音频完全分离;常见的分离结果是演唱音频中演唱者的声音忽大忽小、模糊不清,演唱音频中夹杂部分的伴奏音频。这样的分离结果极易导致对演唱音频中的音频段进行节奏识别处理时,识别得到的识别字符与对应歌词中的原始字符不匹配;识别得到的识别字符与对应歌词中的原始字符不匹配是指:识别得到的识别字符与对应歌词中的原始字符不完全相同,可以包括以下至少一种情况:将对应歌词中的单个原始字符识别为多个识别字符、漏识别对应歌词中的一个或多个原始字符、将伴奏音频误识别成识别字符;识别得到的识别字符与对应歌词中的原始字符不匹配,这将对节奏信息的准确性造成影响;上述图2所描述的节奏校准过程对于与原始字符匹配的识别字符的识别发音时长而言,具有显著的校准效果,但是对于与原始
字符不匹配的识别字符而言,校准后的节奏信息仍然不准确。可见,对节奏信息进行优化处理的非常必要的,在本技术实施例中,通过将各个音频段的识别字符与对应歌词中的原始字符进行匹配,确定出未匹配的识别字符,然后对初始节奏信息中未匹配的识别字符的目标发音时长进行优化,确定各个音频段的优化节奏信息。下面通过本技术实施例中的步骤s405至步骤s406对节奏信息的优化过程进行详细介绍。
[0057]
s405,获取目标歌曲的歌词文件。
[0058]
除基于伴奏音频确定的节奏规整标准可以用于对节奏信息进行节奏校准处理之外,目标歌曲的歌词文件也是一个有价值的标注信息,可用于对节奏信息进行节奏优化处理;歌曲在上传至音频播放器时往往都会附带上传歌曲的歌词文件,歌词文件的文件格式通常为“.irc(一种歌词文件的扩展名)”,歌词文件可以从音频播放器中下载获得。由前述内容可知,歌词文件中可以包括一句或多句歌词,演唱音频中的各个音频段可以是按照歌词文件中的歌词句数进行划分的,演唱音频中的任一个音频段是对歌词文件中的对应歌词进行演唱得到的音频数据。为了便于对本技术实施例中的方案进行介绍,在此将演唱音频中的音频段的数量表示为n个,歌词文件中的歌词的数量表示为n句,即演唱音频中包括n个音频段,歌词文件中包括n句歌词,音频段与歌词一一对应,n为正整数。
[0059]
获取到的歌词文件中除包括一句或多句歌词之外,还可以包括每句歌词在对应音频段中的演唱起始时间和演唱结束时间。如下表1示出了歌曲文件的一种示例:表1上述表1示出的歌曲文件中包含4句歌词,第一句歌词在第一个音频段中的演唱起始时间为00:17.373(即0分17.373秒),演唱结束时间为00:19.423(即0分19.423秒);第二句歌词在第二个音频段中的演唱起始时间为00:19.423(即0分19.423秒),演唱结束时间为00:20.339(即0分20.339秒);其他歌词在对应音频段中的演唱起始时间和演唱结束时间可参见上述表1,在此不再重复说明。
[0060]
需要说明的是,歌曲文件中各句歌词的演唱起始时间,与对应音频段经节奏识别工具进行节奏识别处理得到的第一个识别字符的发音起始时间可能存在略微差异;类似地,歌曲文件中各句歌词的演唱结束时间与对应音频段经节奏识别工具进行节奏识别处理得到的最后一个识别字符的发音结束时间也可能存在略微差异;例如,第i句歌词在第i个音频段中的演唱起始时间为00:17.373(即0分17.373秒),但是对第i个音频段进行节奏识别处理得到的第一个识别字符的发音起始时间为00:17.300(即0分17.300秒),这两个时间是不相同的;又如,第i句歌词在第i个音频段中的演唱结束时间为00:19.423(即0分19.423秒),但是对第i个音频段进行节奏识别处理得到的最后一个识别字符的发音结束时间为00:19.400(即0分19.400秒),这两个时间也是不相同的。
[0061]
基于上述情况,在获取到歌词文件之后,可以对各句歌词在对应音频段中的演唱
起始时间和演唱结束时间进行更新,确保各句歌词更新后的演唱起始时间和演唱结束时间所形成的时间区间,能够覆盖对应音频段识别得到的所有识别字符的发音起始时间和发音结束时间。以歌词文件中的第i句歌词为例,更新过程具体如下:将第i句歌词在第i个音频段中的旧的演唱起始时间、以及对第i个音频段进行节奏识别处理得到的第一个识别字符的发音起始时间中较早的时间,确定为第i句歌词在第i个音频段中的新的演唱起始时间;将第i句歌词在第i个音频段中的旧的演唱结束时间、以及对第i个音频段进行节奏识别处理得到的最后一个识别字符的发音结束时间中较晚的时间,确定为第i句歌词在第i个音频段中的新的演唱结束时间;具体可参见下述公式3:公式3举例来说,第一句歌词的旧的演唱起始时间00:17.373,第一个音频段识别得到的第一个识别字符的发音起始时间为00:17.300,则可以确定第一句歌词的新的演唱起始时间为00:17.300;第一句歌词的旧的演唱结束时间00:19.423,第一个音频段识别得到的最后一个识别字符的发音结束时间为00:19.400,则可以确定第一句歌词的新的演唱结束时间为00:19.423;即第一句歌词的新的时间区间为[00:17.300,00:19.423]。
[0062]
对各句歌词在对应音频段中的演唱起始时间和演唱结束时间进行更新之后,可以按照各句歌词在对应音频段中的新的演唱起始时间和新的演唱结束时间,对各句歌词进行重新划分。并且,由前述内容可知,采用节奏识别工具识别得到的识别字符是采用拼音的形式展示的,因此为了便于在识别字符与歌词中的原始字符之间进行匹配,可以采用拼音转换工具(例如可以是pypinyin)将各句歌词中的原始字符转换为拼音进行展示。
[0063]
s406,基于各个音频段对应的歌词,对各个音频段的目标节奏信息进行节奏优化处理,得到各个音频段的优化节奏信息。
[0064]
由前述内容可知,演唱音频包括的n个音频段中的任一个音频段可以表示为第i个音频段,第i个音频段对应歌词文件包含的n句歌词中的第i句歌词,第i句歌词中包括一个或多个原始字符;对第i个音频段进行节奏识别处理得到一个或多个识别字符;第i个音频段的目标节奏信息包括每个识别字符的目标发音时长。在此以第i个音频段为例对节奏优化处理过程为例进行介绍,n个音频段中除第i个音频段之外的其他音频段的节奏优化处理过程,可以参见第i个音频段的节奏优化处理过程。基于第i句歌词,对第i个音频段的目标节奏信息进行节奏优化处理,得到第i个音频段的优化节奏信息的过程可以包括以下子步骤s4061至子步骤s4063:s4061,将第i个音频段的识别字符与第i句歌词的原始字符进行字符匹配检查。
[0065]
由于识别字符与原始字符均是采用拼音表示的,因此对识别字符与原始字符进行字符匹配检查的实质,是对识别字符的拼音与原始字符的拼音进行音素匹配检查;其中,音素是根据语音的自然属性划分出的最小语音单位,如中文字符“啊”的拼音“ā”有一个音素,字符“爱”的拼音
“à
i”有两个音素,字符“代”的拼音“d
à
i”有三个音素。
[0066]
如图5a示出了第i个音频段的识别字符与第i句歌词的原始字符完全匹配的字符匹配结果,第i个音频段的识别字符的拼音中的音素,与第i句歌词的原始字符的拼音中的
音素完全匹配。在此情况下,可以将第i个音频段的目标节奏信息作为一个基准节奏信息添加至基准节奏信息集合中,以便于在后续过程中进行使用。
[0067]
如图5b示出了第i个音频段的识别字符与第i句歌词的原始字符之间存在未匹配的识别字符的字符匹配结果,未匹配的识别字符可以包括但不限于以下至少一种:(1)第i个音频段中遗漏的识别字符。第i个音频段中遗漏的识别字符是指:存在于第i句歌词中,但对第i个音频段进行节奏识别处理时未识别出的字符(也可称为漏字或吞字)。如图5b中的
①
所示,字符“一”存在于第i句歌词中,但是对第i个音频段进行节奏识别处理时未能识别出来,因此,字符“一”是第i个音频段中遗漏的识别字符,即字符“一”是漏字,也就是吞字。
[0068]
(2)第i个音频段中相邻的多个误识别字符。第i个音频段中相邻的多个误识别字符是指:对第i个音频段进行节奏识别处理时,由第i句歌词中的单个原始字符误识别出的多个识别字符。如图5b中的
②
所示,第i句歌词中的原始字符“帅”,在对第i个音频段进行节奏识别处理时,被误识别为识别字符“shu”和识别字符“ai”,因此,识别字符“shu”和识别字符“ai”是第i个音频段中相邻的两个误识别字符。
[0069]
(3)第i个音频段中多余的识别字符。第i个音频段中多余的识别字符是指:不存在于第i句歌词中字符,该字符可能是对演唱音频中夹带的伴奏音频识别得到的。如图5b中的
③
所示,识别字符“xi”在第i句歌词中未出现,因此,识别字符“xi”是第i个音频段中多余的识别字符。
[0070]
s4062,若第i个音频段的识别字符与第i句歌词的原始歌词之间存在未匹配的识别字符,则获取未匹配的识别字符。
[0071]
s4063,对第i个音频段的目标节奏信息中未匹配的识别字符的目标发音时长进行发音时长优化处理,得到第i个音频段的优化节奏信息。
[0072]
子步骤s4062至子步骤s4063中,若第i个音频段的识别字符与第i句歌词的原始歌词之间存在未匹配的识别字符,则可以获取未匹配的识别字符,以及对第i个音频段的目标节奏信息中,未匹配的识别字符的目标发音时长进行发音时长优化处理,得到第i个音频段的优化节奏信息。对应于上述三种未匹配的识别字符,在此提出针对上述三种未匹配的识别字符的节奏优化措施:(1)当未匹配的识别字符包括第i个音频段中遗漏的识别字符时,第i个音频段的识别字符中排列于遗漏的识别字符之前的相邻识别字符为目标识别字符,此处对第i个音频段的目标节奏信息中,未匹配的识别字符的目标发音时长进行发音时长优化处理,得到第i个音频段的优化节奏信息可以包括:获取目标识别字符的目标发音时长;确定目标识别字符的目标发音时长与基准发音时长之间的倍数信息;基于倍数信息确定多个填补发音时长;将多个填补发音时长,填补至第i个音频段的目标节奏信息中。
[0073]
需要注意以下三个方面:第一方面,由于存在遗漏的识别字符,因此目标识别字符的目标发音时长中应该包含的是目标识别字符和遗漏的识别字符的总目标发音时长。第二方面,基准发音时长可以是指节奏规整标准中的某个音符对应的标准发音时长,具体选取的是哪个音符,取决于音符的标准发音时长的长短;例如,说唱歌曲(rap)中最短的发音时长通常是32分音符对应的发音时长,其余的发音时长与32分音符对应的发音时长存在倍数关系,因此对于说唱歌曲而言,基准发音时长可以是指节奏规整标准中的32分音符对应的
标准发音时长。第三方面,多个填补发音时长中可以包括第一填补发音时长和第二填补发音时长,甚至可以包括第三、第四或更多的填补发音时长,在此以多个填补发音时长包括第一填补发音时长和第二填补发音时长为例进行介绍;基于倍数信息确定多个填补发音时长的过程,可以是确定第一填补发音时长的数量和第二填补发音时长的数量的过程;任一个填补发音时长可以是指节奏规整标准中的某个音符对应的标准发音时长,具体选取哪一个音符,可以取决于音符在该类型的歌曲中出现的频率;例如,说唱歌曲中16分音符的出现频率非常高,其次是8分音符和32分音符,因此16分音符在说唱歌曲中是一个非常通用的存在,将它加入到节奏信息通常不会有违和感,对于说唱歌曲而言,可以将节奏规整标准中的16分音符对应的标准发音时长作为第一填补发音时长,优先考虑填补至节奏信息中,其次可以考虑将节奏规整标准中的32分音符对应的标准发音时长作为第二填补发音时长,填补至节奏信息中。
[0074]
下面详细介绍基于倍数信息确定多个填补发音时长,将多个填补发音时长,填补至第i个音频段的目标节奏信息中的过程,具体可以包括:基于倍数信息确定第一填补发音时长的数量和第二填补发音时长的数量,按照数量将第一填补发音时长和第二填补发音时长,填补至第i个音频段的目标节奏信息中目标识别字符和遗漏的识别字符对应的位置处。上述过程中需要注意的是,在填补时优先填补第一填补发音时长,在第一填补发音时长全部填补完后,再填补第二填补发音时长;在填补过程中不保留目标识别字符的目标发音时长,可以理解为将目标识别字符作为遗漏的识别字符重新填补。
[0075]
以说唱歌曲为例,基于倍数信息确定第一填补发音时长的数量和第二填补发音时长的数量的计算过程可参见下述公式4和公式5:n
16
=int(x/2)公式4n
32
=x%2公式5如上述公式4和公式5所示,x表示倍数信息,n
16
表示第一填补发音时长(对于说唱歌曲为16分音符对应的标准发音时长)的数量,n
32
表示第二填补发音时长(对于说唱歌曲为32分音符对应的标准发音时长)的数量。
[0076]
除上述公式4和公式5适用的情况外,还存在以下三种特殊的情况:当倍数信息为2(即x=2),目标识别字符与遗漏的识别字符的总字符数为2时,多个填补发音时长采用音符序列可以表示为[32,32]。当倍数信息为3(即x=3),目标识别字符与遗漏的识别字符的总字符数为2时,多个填补发音时长采用音符序列可以表示为[16,32]。当倍数信息为4(即x=4),目标识别字符与遗漏的识别字符的总字符数为2时,多个填补发音时长采用音符序列可以表示为[16,16]。
[0077]
示例性的针对遗漏的识别字符的目标发音时长的优化过程可参见图5c,基准发音时长为32分音符对应的标准发音时长0.07秒,目标识别字符和遗漏的识别字符的总目标发音时长0.35秒,总目标发音时长是基准发音时长的5倍,即倍数信息为5;第一填补发音时长的数量n
16
=int(x/2)=int(5/2)=2,即第一填补发音时长(例如可以是16音符对应的标准发音时长)的数量为2个;第二填补发音时长的数量n
32
=x%2=5%2=1,即第二填补发音时长(例如可以是32分音符对应的标准发音时长)的数量为1个;如图5c所示,可以采用2个16分音符,1个32分音符,填充至采用音符序列表示的第i个音频段的目标节奏信息中。
[0078]
(2)当未匹配的识别字符包括第i个音频段中相邻的多个误识别字符时,相邻的多
个误识别字符是由第i句歌词中的目标原始字符误识别得到的,此处,对第i个音频段的目标节奏信息中,未匹配的识别字符的目标发音时长进行发音时长优化处理,得到第i个音频段的优化节奏信息可以包括:获取相邻的多个误识别字符的目标发音时长;计算相邻的多个误识别字符的目标发音时长的总发音时长;将第i个音频段的目标节奏信息中未匹配的识别字符的目标发音时长,修改为总发音时长。也就是说,采用相邻的多个误识别字符的目标发音时长的总发音时长,替换相邻的多个误识别字符的目标发音时长。
[0079]
示例性的针对遗漏的识别字符的目标发音时长的优化过程可参见图5d,第i个音频段中相邻的两个误识别字符“shu”和“ai”,误识别字符“shu”的目标发音时长为0.14秒,误识别字符“ai”的目标发音时长为0.14秒,两个误识别字符的总发音时长为0.28秒,可以采用相邻的两个误识别字符的总发音时长0.28秒,替换两个误识别字符的目标发音时长0.14秒。
[0080]
(3)当未匹配的识别字符包括第i个音频段中多余的识别字符时,多余的识别字符不存在于第i句歌词中,多余的识别字符可能是对演唱音频中夹带的伴奏音频识别得到的;此处,对第i个音频段的目标节奏信息中,未匹配的识别字符的目标发音时长进行发音时长优化处理,得到第i个音频段的优化节奏信息可以包括:将多余识别字符的目标发音时长,从第i个音频段的目标节奏信息中删除。示例性的针对多余的识别字符的目标发音时长的优化过程可参见图5e,多余的识别字符“xi”不存在于第i句歌词中,可以将第i个音频段的目标节奏信息中该多余的识别字符“xi”的目标发音时长删除。
[0081]
上述步骤s405至步骤s406描述了对各个音频段的目标节奏信息的第一次节奏优化处理过程,第一次节奏优化处理过程通过确定第i个音频段的识别字符中与第i个歌词中的原始字符未匹配的识别字符,然后对第i个音频段的目标节奏信息中未匹配的识别字符的目标发音时长进行节奏优化处理,得到第i个音频段的优化节奏信息;其中,未匹配的识别字符可以包括以下至少一种:第i个音频段中遗漏的识别字符、第i个音频段中相邻的多个误识别字符、以及第i个音频段中多余的识别字符;经第一次优化后,可以得到各个音频段的优化节奏信息,获取到的各个音频段的优化节奏信息与各个音频段的真实节奏信息非常接近,优化节奏信息中各个识别字符的发音时长已经基本符合乐理听感的需求,有效提升了节奏信息的准确率。但是由于在第一次优化过程中未考虑音频段的识别字符与对应歌词中的原始字符之间的数量匹配情况,例如在对第i个音频段中遗漏的识别字符的发音时长进行优化时,并未要求填补发音时长的数量与遗漏的识别字符的数量保持一致;因此,音频段的优化节奏信息中各个识别字符的发音时长的数量,与对应歌词中的原始字符的数量可能不匹配,在此可以采用第二次节奏优化处理过程进行节奏优化处理。以第i个音频段为例,对第i个音频段的优化节奏信息进行第二次节奏优化处理的过程,可以包括:
①
在第i个音频段的优化节奏信息中发音时长的数量,与第i句歌词中原始字符的数量之间进行数量匹配检查。此处,数量匹配是指:第i个音频段的优化节奏信息中发音时长的数量,与第i句歌词中原始字符的数量相同;数量不匹配是指:第i个音频段的优化节奏信息中发音时长的数量,与第i句歌词中原始字符的数量不相同。
[0082]
②
若数量不匹配,则可以获取节奏优化标准,节奏优化标注是指由正确的节奏信息组成的节奏信息库,节奏优化标准中可以包括多个基准节奏信息,任一个基准节奏信息可以包括:各个音频段的目标节奏信息中识别字符与对应歌词的原始字符匹配的目标节奏
信息,或各个音频段的优化节奏信息中发音时长的数量与对应歌词中原始字符的数量匹配的优化节奏信息。由前述内容可知,当某个音频段的识别字符与该音频段对应歌词中的原始字符完全匹配,则可以将该音频段的目标节奏信息作为一个基准节奏信息添加至基准节奏信息集合中,基准节奏信息集合就是节奏优化标准。此处,当某个音频段的优化节奏信息中的发音时长的数量,与该音频段对应歌词中的原始字符的数量匹配时,也可以将该音频段的优化节奏信息作为一个基准节奏信息添加至节奏优化标准中。也就是说,节奏优化标准中的基准节奏信息是获取到的准确的节奏信息,节奏优化标准可以用于对发音时长的数量与对应歌词中原始字符的数量之间不匹配的优化节奏信息进行更新。
[0083]
③
计算第i个音频段的优化节奏信息与各个基准节奏信息之间的编辑距离。其中,优化节奏信息与基准节奏信息之间的编辑距离是指:将优化节奏信息转换为基准节奏信息所需的编辑操作的次数,编辑操作可以包括插入操作、删除操作和替换操作中的任意一种或多种。优化节奏信息与基准节奏信息之间的编辑距离越大,表示将优化节奏信息转换为基准节奏信息所需的编辑操作的次数越多,优化节奏信息与基准节奏信息之间的近似度越低;优化节奏信息与基准节奏信息之间的编辑距离越小,表示将优化节奏信息转换为基准节奏信息所需的编辑操作的次数越少,优化节奏信息与基准节奏信息之间的近似度越高。
[0084]
下面通过一个具体的例子来对编辑距离的计算过程进行介绍,某个优化节奏信息采用音符序列可以表示为[16,16,8,16,8],某个基准节奏信息采用音符序列可以表示为[16,16,16,16,8,8],将该优化节奏信息转化为该基准节奏信息需要执行的编辑操作为2次:第一次是将优化节奏信息中的排列于左起第三位的8分音符替换为16分音符,即[16,16,8,16,8]
→
[16,16,16,16,8];第二次是将优化节奏信息的末尾插入一个8分音符,即[16,16,16,16,8]
→
[16,16,16,16,8,8];即该优化节奏信息转化为该基准节奏信息之间的编辑距离为2。
[0085]
④
采用编辑距离小于编辑距离阈值的目标基准节奏信息,对第i个音频段的优化节奏信息进行更新。节奏优化标准中与第i个音频段的优化节奏信息之间的编辑距离,小于编辑距离阈值的目标基准节奏信息的数量可以为一个或多个;当目标基准节奏信息的数量为一个时,则可以采用该目标基准节奏信息,对第i个音频段的优化节奏信息进行更新;当目标基准节奏信息的数量为多个时,可以将多个目标基准节奏信息中随机选取的任一个目标基准节奏信息,或多个目标基准节奏信息中与第i个音频段的优化节奏信息之间编辑距离最小的目标基准节奏信息,对第i个音频段的优化节奏信息进行更新。
[0086]
节奏优化标准中的基准节奏信息是获取到的准确的节奏信息,借助准确的节奏信息对各个音频段的优化节奏信息进行进一步的节奏优化处理,不仅能够进一步提高节奏信息的准确率,还能满足歌曲中同一节奏信息重复出现的特性。
[0087]
本技术实施例中的歌曲处理方案的整体流程可参见图6,获取到待处理的目标歌曲之后,可以从目标歌曲中分离出演唱音频和伴奏音频;对于伴奏音频,可以基于对伴奏音频检测得到的节拍数量信息确定节奏规整标准,节奏规整标准中可以包括各个音符在伴奏音频下的标准发音时长;对于演唱音频,可以对演唱音频中的各个音频段进行节奏识别处理,得到各个音频段的初始节奏信息,任一音频段的初始节奏信息中可以包括该音频段的识别字符的识别发音时长;然后可以根据节奏规整标准中的标准发音时长,对各个音频段的初始节奏信息中识别字符的识别发音时长进行发音时长校准处理,得到各个音频段的目
标节奏信息中识别字符的目标发音时长。在这之后,还可以对各个音频段的目标节奏信息进行第一次节奏优化处理,第一次节奏优化处理主要针对的是,各个音频段的目标节奏信息中与对应歌词中的原始字符未匹配的识别字符的目标发音时长,第二次节奏优化处理主要针对的是,各个音频段的优化节奏信息中发音时长的数量与对应歌词中原始字符的数量不匹配的优化节奏信息。通过对识别出的各音频段的初始节奏信息进行节奏校准处理以及两次节奏优化处理,可以从目标歌曲中获取准确的、符合乐理听感的节奏信息,并且获取到的节奏信息可以存储至节奏信息库中,以便于当存在歌曲合成需求时,从节奏信息库中获取节奏信息进行歌曲合成,获取准确的节奏信息可以为准确地进行歌曲合成作资源准备。
[0088]
上述详细阐述了本技术实施例的方法,为了便于更好地实施本技术实施例的上述方案,相应地,下面提供了本技术实施例的装置。
[0089]
请参见图7,图7是本技术实施例提供的一种歌曲处理装置的结构示意图,该歌曲处理装置可以设置于本技术实施例提供的计算机设备中,计算机设备可以是上述方法实施例中提及的用户终端或服务器;在一些实施例中,该歌曲处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),该歌曲处理装置可以用于执行图2或图4所示的方法实施例中的相应步骤。请参见图7,该歌曲处理装置可以包括如下单元:获取单元701,用于获取待处理的目标歌曲;处理单元702,用于从待处理的目标歌曲中提取演唱音频和伴奏音频,演唱音频包括一个或多个音频段;处理单元702,还用于对演唱音频中的各个音频段进行节奏识别处理,得到各个音频段的初始节奏信息;基于伴奏音频确定目标歌曲对应的节奏规整标准;处理单元702,还用于按照节奏规整标准,对各个音频段的初始节奏信息进行节奏校准处理,得到各个音频段的目标节奏信息。
[0090]
在一种实现方式中,演唱音频中包括n个音频段,n为正整数;n个音频段中的任一个音频段表示为第i个音频段,i为小于或等于n的正整数;对第i个音频段进行节奏识别处理还得到一个或多个识别字符;第i个音频段的初始节奏信息包括每个识别字符的识别发音时长,第i个音频段的目标节奏信息包括每个识别字符的目标发音时长;处理单元702,用于按照节奏规整标准,对第i个音频段的初始节奏信息进行节奏校准处理,得到第i个音频段的目标节奏信息时,具体用于执行如下步骤:按照节奏规整标准,对第i个音频段的初始节奏信息中各个识别字符的识别发音时长进行发音时长校准处理,得到第i个音频段的目标节奏信息中各个识别字符的目标发音时长。
[0091]
在一种实现方式中,节奏规整标准包括多个标准发音时长;对第i个音频段进行节奏识别处理得到m个识别字符,m为正整数;m个识别字符中的任一个识别字符表示为第j个识别字符,j为小于或等于m的正整数;处理单元702,用于按照节奏规整标准,对第j个识别字符的识别发音时长进行发音时长校准处理,得到第j个识别字符的目标发音时长时,具体用于执行如下步骤:计算第j个识别字符的识别发音时长与节奏规整标准中的各个标准发音时长之间的发音时长差;确定计算得到的发音时长差中的最小发音时长差;将计算最小发音时长差所采用的标准发音时长,确定为第j个识别字符的目标发
音时长。
[0092]
在一种实现方式中,处理单元702,用于对第i个音频段进行节奏识别处理,得到第i个音频段的初始节奏信息时,具体用于执行如下步骤:对第i个音频段进行节奏识别处理,得到一个或多个识别字符,以及每个识别字符在第i个音频段中的发音起始时间和发音结束时间;根据各个识别字符在第i个音频段中的发音起始时间和发音结束时间,确定各个识别字符的识别发音时长。
[0093]
在一种实现方式中,节奏规整标准包括多个标准发音时长,每个标准发音时长对应一个音符,任一个音符表示为目标音符;处理单元702,用于基于伴奏音频确定目标歌曲对应的节奏规整标准时,具体用于执行如下步骤:对伴奏音频进行节拍数量检测,得到目标歌曲的节拍数量信息;基于节拍数量信息计算目标歌曲的单位节拍时长;获取目标歌曲的节拍时值信息,根据节拍时值信息、单位节拍时长、以及目标音符的基准数值,计算目标音符对应的标准发音时长。
[0094]
在一种实现方式中,获取单元701,还用于执行如下步骤:获取目标歌曲的歌词文件,歌词文件中包括一句或多句歌词,演唱音频中的各个音频段是按照歌词文件中的歌词句数进行划分的,演唱音频中的任一个音频段是对歌词文件中的对应歌词进行演唱得到的音频数据;处理单元702,还用于执行如下步骤:基于各个音频段对应的歌词,对各个音频段的目标节奏信息进行节奏优化处理,得到各个音频段的优化节奏信息。
[0095]
在一种实现方式中,演唱音频中包括n个音频段,n为正整数;n个音频段中的任一个音频段表示为第i个音频段,i为小于或等于n的正整数;歌词文件包括n句歌词,第i个音频段对应n句歌词中的第i句歌词,第i句歌词中包括一个或多个原始字符;对第i个音频段进行节奏识别处理还得到一个或多个识别字符;第i个音频段的目标节奏信息包括每个识别字符的目标发音时长;处理单元702,用于基于第i句歌词,对第i个音频段的目标节奏信息进行节奏优化处理,得到第i个音频段的优化节奏信息时,具体用于执行如下步骤:将第i个音频段的识别字符与第i句歌词的原始字符进行字符匹配检查;若第i个音频段的识别字符与第i句歌词的原始歌词之间存在未匹配的识别字符,则获取未匹配的识别字符;对第i个音频段的目标节奏信息中,未匹配的识别字符的目标发音时长进行发音时长优化处理,得到第i个音频段的优化节奏信息。
[0096]
在一种实现方式中,未匹配的识别字符包括:第i个音频段中相邻的多个误识别字符,相邻的多个误识别字符是由第i句歌词中的目标原始字符误识别得到的;处理单元702,用于对第i个音频段的目标节奏信息中,未匹配的识别字符的目标发音时长进行发音时长优化处理,得到第i个音频段的优化节奏信息时,具体用于执行如下步骤:获取相邻的多个误识别字符的目标发音时长;计算相邻的多个误识别字符的目标发音时长的总发音时长;将第i个音频段的目标节奏信息中,未匹配的识别字符的目标发音时长修改为总发音时长,得到第i个音频段的优化节奏信息。
[0097]
在一种实现方式中,未匹配的识别字符包括:第i个音频段中不存在于所述第i句歌词中的识别字符;处理单元702,用于对第i个音频段的目标节奏信息中,未匹配的识别字符的目标发音时长进行发音时长优化处理,得到第i个音频段的优化节奏信息时,具体用于执行如下步骤:将第i个音频段中不存在于第i句歌词中的识别字符的目标发音时长,从第i个音频段的目标节奏信息中删除,得到第i个音频段的优化节奏信息。
[0098]
在一种实现方式中,未匹配的识别字符包括:第i个音频段中遗漏的识别字符,第i个音频段的识别字符中排列于遗漏的识别字符之前的相邻识别字符为目标识别字符;处理单元702,用于对第i个音频段的目标节奏信息中,未匹配的识别字符的目标发音时长进行发音时长优化处理,得到第i个音频段的优化节奏信息时,具体用于执行如下步骤:获取目标识别字符的目标发音时长;确定目标识别字符的目标发音时长与基准发音时长之间的倍数信息;基于倍数信息确定多个填补发音时长;将多个填补发音时长,填补至第i个音频段的目标节奏信息中,得到第i个音频段的优化节奏信息。
[0099]
在一种实现方式中,处理单元702,还用于执行如下步骤:在第i个音频段的优化节奏信息中发音时长的数量,与第i句歌词中原始字符的数量之间进行数量匹配检查;若数量不匹配,则获取节奏优化标准,节奏优化标准中包括多个基准节奏信息,任一个基准节奏信息包括:各个音频段的目标节奏信息中识别字符与对应歌词的原始字符匹配的目标节奏信息,或各个音频段的优化节奏信息中发音时长的数量与对应歌词中原始字符的数量匹配的优化节奏信息;计算第i个音频段的优化节奏信息与各个基准节奏信息之间的编辑距离;采用编辑距离小于编辑距离阈值的目标基准节奏信息,对第i个音频段的优化节奏信息进行更新。
[0100]
根据本技术的一个实施例,图2或图4所示的方法所涉及的各个方法步骤可以是由图7所示的歌曲处理装置中的各个单元来执行的。例如,图2所示的步骤s201可由图7所示的获取单元701来执行,图2所示的步骤s202至步骤s204可由图7所示的处理单元702来执行。又如,图4所示的步骤s401可由图7所示的获取单元701来执行,图4所示的步骤s402至步骤s404可由图7所示的处理单元702来执行,图4所示的步骤s405可由图7所示的获取单元701来执行,图4所示的步骤s406可由图7所示的处理单元702来执行。
[0101]
根据本技术的另一个实施例,图7所示的歌曲处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本技术的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本技术的其它实施例中,歌曲处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
[0102]
根据本技术的另一个实施例,可以通过在包括中央处理单元(cpu)、随机存取存储介质(ram)、只读存储介质(rom)等处理元件和存储元件的例如计算机的通用计算设备上运
行能够执行如图2或图4所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图7中所示的歌曲处理装置,以及来实现本技术实施例的歌曲处理方法。计算机程序可以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于上述计算设备中,并在其中运行。
[0103]
本技术实施例中,从待处理的目标歌曲中提取伴奏音频和演唱音频之后,可以对演唱音频中的各个音频段进行节奏识别处理,得到各个音频段的初始节奏信息,然后可以基于伴奏音频确定目标歌曲对应的节奏规整标准,节奏规整标准可以用于对各个音频段的初始节奏信息进行节奏校准处理,得到各个音频段的目标节奏信息。基于上述过程,本技术实施例可以自动获取歌曲中的节奏信息,提升了节奏信息的获取效率;并且,考虑到对音频段进行节奏识别处理得到的初始节奏信息可能存在不准确的问题,采用基于伴奏音频确定的节奏规整标准对初始节奏信息进行节奏校准处理,这样可以提高获取到的节奏信息的准确率,从而可以准确地获取歌曲中的节奏信息。
[0104]
基于上述方法以及装置实施例,本技术实施例提供了一种计算机设备,该计算机设备可以是前述所提及的用户终端或服务器。请参见图8,图8是本技术实施例提供的一种计算机设备的结构示意图。图8所示的计算机设备至少包括处理器801、输入接口802、输出接口803以及计算机可读存储介质804。其中,处理器801、输入接口802、输出接口803以及计算机可读存储介质804可通过总线或其他方式连接。
[0105]
输入接口802可以用于获取待处理的目标歌曲,获取目标歌曲的歌词文件等;输出接口803可以用于输出各个音频段的目标节奏信息,各个音频段的优化节奏信息等。
[0106]
计算机可读存储介质804可以存储在计算机设备的存储器中,计算机可读存储介质804用于存储计算机程序,计算机程序包括计算机指令,处理器801用于执行计算机可读存储介质804存储的程序指令。处理器801(或称cpu(central processing unit,中央处理器))是计算机设备的计算核心以及控制核心,其适于实现一条或多条计算机指令,具体适于加载并执行一条或多条计算机指令从而实现相应方法流程或相应功能。
[0107]
本技术实施例还提供了一种计算机可读存储介质(memory),计算机可读存储介质是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括计算机设备中的内置存储介质,当然也可以包括计算机设备支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了计算机设备的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或多条的计算机指令,这些计算机指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速ram存储器,也可以是非不稳定的存储器(non
‑
volatile memory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机可读存储介质。
[0108]
在一种实现方式中,可由处理器801加载并执行计算机可读存储介质804中存放的一条或多条计算机指令,以实现上述有关图2或图4所示的歌曲处理方法的相应步骤。具体实现中,计算机可读存储介质804中的计算机指令由处理器801加载并执行如下步骤:从待处理的目标歌曲中提取演唱音频和伴奏音频,演唱音频包括一个或多个音频段;对演唱音频中的各个音频段进行节奏识别处理,得到各个音频段的初始节奏信
息;基于伴奏音频确定目标歌曲对应的节奏规整标准;按照节奏规整标准,对各个音频段的初始节奏信息进行节奏校准处理,得到各个音频段的目标节奏信息。
[0109]
在一种实现方式中,演唱音频中包括n个音频段,n为正整数;n个音频段中的任一个音频段表示为第i个音频段,i为小于或等于n的正整数;对第i个音频段进行节奏识别处理还得到一个或多个识别字符;第i个音频段的初始节奏信息包括每个识别字符的识别发音时长,第i个音频段的目标节奏信息包括每个识别字符的目标发音时长;计算机可读存储介质804中的计算机指令由处理器801加载并执行按照节奏规整标准,对第i个音频段的初始节奏信息进行节奏校准处理,得到第i个音频段的目标节奏信息时,具体用于执行如下步骤:按照节奏规整标准,对第i个音频段的初始节奏信息中各个识别字符的识别发音时长进行发音时长校准处理,得到第i个音频段的目标节奏信息中各个识别字符的目标发音时长。
[0110]
在一种实现方式中,节奏规整标准包括多个标准发音时长;对第i个音频段进行节奏识别处理得到m个识别字符,m为正整数;m个识别字符中的任一个识别字符表示为第j个识别字符,j为小于或等于m的正整数;计算机可读存储介质804中的计算机指令由处理器801加载并执行按照节奏规整标准,对第j个识别字符的识别发音时长进行发音时长校准处理,得到第j个识别字符的目标发音时长时,具体用于执行如下步骤:计算第j个识别字符的识别发音时长与节奏规整标准中的各个标准发音时长之间的发音时长差;确定计算得到的发音时长差中的最小发音时长差;将计算最小发音时长差所采用的标准发音时长,确定为第j个识别字符的目标发音时长。
[0111]
在一种实现方式中,计算机可读存储介质804中的计算机指令由处理器801加载并执行对第i个音频段进行节奏识别处理,得到第i个音频段的初始节奏信息时,具体用于执行如下步骤:对第i个音频段进行节奏识别处理,得到一个或多个识别字符,以及每个识别字符在第i个音频段中的发音起始时间和发音结束时间;根据各个识别字符在第i个音频段中的发音起始时间和发音结束时间,确定各个识别字符的识别发音时长。
[0112]
在一种实现方式中,节奏规整标准包括多个标准发音时长,每个标准发音时长对应一个音符,任一个音符表示为目标音符;计算机可读存储介质804中的计算机指令由处理器801加载并执行基于伴奏音频确定目标歌曲对应的节奏规整标准时,具体用于执行如下步骤:对伴奏音频进行节拍数量检测,得到目标歌曲的节拍数量信息;基于节拍数量信息计算目标歌曲的单位节拍时长;获取目标歌曲的节拍时值信息,根据节拍时值信息、单位节拍时长、以及目标音符的基准数值,计算目标音符对应的标准发音时长。
[0113]
在一种实现方式中,计算机可读存储介质804中的计算机指令由处理器801加载并还执行如下步骤:获取目标歌曲的歌词文件,歌词文件中包括一句或多句歌词,演唱音频中
的各个音频段是按照歌词文件中的歌词句数进行划分的,演唱音频中的任一个音频段是对歌词文件中的对应歌词进行演唱得到的音频数据;计算机可读存储介质804中的计算机指令由处理器801加载并还执行如下步骤:基于各个音频段对应的歌词,对各个音频段的目标节奏信息进行节奏优化处理,得到各个音频段的优化节奏信息。
[0114]
在一种实现方式中,演唱音频中包括n个音频段,n为正整数;n个音频段中的任一个音频段表示为第i个音频段,i为小于或等于n的正整数;歌词文件包括n句歌词,第i个音频段对应n句歌词中的第i句歌词,第i句歌词中包括一个或多个原始字符;对第i个音频段进行节奏识别处理还得到一个或多个识别字符;第i个音频段的目标节奏信息包括每个识别字符的目标发音时长;计算机可读存储介质804中的计算机指令由处理器801加载并执行基于第i句歌词,对第i个音频段的目标节奏信息进行节奏优化处理,得到第i个音频段的优化节奏信息时,具体用于执行如下步骤:将第i个音频段的识别字符与第i句歌词的原始字符进行字符匹配检查;若第i个音频段的识别字符与第i句歌词的原始歌词之间存在未匹配的识别字符,则获取未匹配的识别字符;对第i个音频段的目标节奏信息中,未匹配的识别字符的目标发音时长进行发音时长优化处理,得到第i个音频段的优化节奏信息。
[0115]
在一种实现方式中,未匹配的识别字符包括:第i个音频段中相邻的多个误识别字符,相邻的多个误识别字符是由第i句歌词中的目标原始字符误识别得到的;计算机可读存储介质804中的计算机指令由处理器801加载并执行对第i个音频段的目标节奏信息中,未匹配的识别字符的目标发音时长进行发音时长优化处理,得到第i个音频段的优化节奏信息时,具体用于执行如下步骤:获取相邻的多个误识别字符的目标发音时长;计算相邻的多个误识别字符的目标发音时长的总发音时长;将第i个音频段的目标节奏信息中,未匹配的识别字符的目标发音时长修改为总发音时长,得到第i个音频段的优化节奏信息。
[0116]
在一种实现方式中,未匹配的识别字符包括:第i个音频段中不存在于所述第i句歌词中的识别字符;计算机可读存储介质804中的计算机指令由处理器801加载并执行对第i个音频段的目标节奏信息中,未匹配的识别字符的目标发音时长进行发音时长优化处理,得到第i个音频段的优化节奏信息时,具体用于执行如下步骤:将第i个音频段中不存在于第i句歌词中的识别字符的目标发音时长,从第i个音频段的目标节奏信息中删除,得到第i个音频段的优化节奏信息。
[0117]
在一种实现方式中,未匹配的识别字符包括:第i个音频段中遗漏的识别字符,第i个音频段的识别字符中排列于遗漏的识别字符之前的相邻识别字符为目标识别字符;计算机可读存储介质804中的计算机指令由处理器801加载并执行对第i个音频段的目标节奏信息中,未匹配的识别字符的目标发音时长进行发音时长优化处理,得到第i个音频段的优化节奏信息时,具体用于执行如下步骤:获取目标识别字符的目标发音时长;确定目标识别字符的目标发音时长与基准发音时长之间的倍数信息;
基于倍数信息确定多个填补发音时长;将多个填补发音时长,填补至第i个音频段的目标节奏信息中,得到第i个音频段的优化节奏信息。
[0118]
在一种实现方式中,计算机可读存储介质804中的计算机指令由处理器801加载并还执行如下步骤:在第i个音频段的优化节奏信息中发音时长的数量,与第i句歌词中原始字符的数量之间进行数量匹配检查;若数量不匹配,则获取节奏优化标准,节奏优化标准中包括多个基准节奏信息,任一个基准节奏信息包括:各个音频段的目标节奏信息中识别字符与对应歌词的原始字符匹配的目标节奏信息,或各个音频段的优化节奏信息中发音时长的数量与对应歌词中原始字符的数量匹配的优化节奏信息;计算第i个音频段的优化节奏信息与各个基准节奏信息之间的编辑距离;采用编辑距离小于编辑距离阈值的目标基准节奏信息,对第i个音频段的优化节奏信息进行更新。
[0119]
本技术实施例中,从待处理的目标歌曲中提取伴奏音频和演唱音频之后,可以对演唱音频中的各个音频段进行节奏识别处理,得到各个音频段的初始节奏信息,然后可以基于伴奏音频确定目标歌曲对应的节奏规整标准,节奏规整标准可以用于对各个音频段的初始节奏信息进行节奏校准处理,得到各个音频段的目标节奏信息。基于上述过程,本技术实施例可以自动获取歌曲中的节奏信息,提升了节奏信息的获取效率;并且,考虑到对音频段进行节奏识别处理得到的初始节奏信息可能存在不准确的问题,采用基于伴奏音频确定的节奏规整标准对初始节奏信息进行节奏校准处理,这样可以提高获取到的节奏信息的准确率,从而可以准确地获取歌曲中的节奏信息。
[0120]
根据本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选方式中提供的歌曲处理方法。
[0121]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。