掌桥专利:专业的专利平台
掌桥专利
首页

歌唱打分方法、计算机设备及存储介质

文献发布时间:2023-06-19 18:29:06


歌唱打分方法、计算机设备及存储介质

技术领域

本申请涉及计算机技术领域,尤其涉及一种歌唱打分方法、一种计算机设备及一种计算机可读存储介质。

背景技术

除了听歌,唱歌也是人们的一种娱乐方式,不管是线上唱歌还是线下唱歌,人们都希望实时地获取自己演唱一首歌时的评分结果,或高或低、或快或慢,根据这些评分结果,人们才可以适时地调整自己的演唱方式,尤其是针对一些可以歌唱(包括练唱)的软件,用户在进行歌唱时,可以根据评分结果,及时对发音进行纠正,以获得用户比较满意的演唱歌曲。

目前,在用户进行歌唱时,大多数的歌唱软件都是按句反馈演唱结果,即以句子为单位,对每句歌词进行评分,得到每一句的评分结果。但一句歌词往往需要几秒的时间,反馈频率较低,导致无法及时将评分结果反馈给用户;同时,由于是按句进行评分,有的句子太长,还会导致评分结果不准确。因此,在用户进行歌唱时,怎样及时并准确地向用户反馈该歌曲的评分结果成为亟待解决的技术问题。

发明内容

本申请实施例提供了一种歌唱打分方法、计算机设备及存储介质,在用户进行歌唱时,通过歌曲的时间戳信息和音高信息可以以字符为粒度,得到歌词中每个字符的评分结果,可以实现评分结果的实时反馈,并提高了评分结果的准确率。

第一方面,本申请实施例公开了一种歌唱打分方法,该方法包括:

响应于针对目标歌曲的演唱指令,在用户演唱所述目标歌曲的过程中,获取当前歌唱进度对应的目标字符的提取时间窗和标准音高;

根据所述目标字符的提取时间窗,从所述目标字符对应的初始音频中采样得到多个目标音频段;

根据所述目标字符的标准音高对所述多个目标音频段进行评分处理,得到所述目标字符的评分结果;

展示所述目标字符的评分结果。

第二方面,本申请实施例公开了一种歌唱打分装置,该装置包括:

获取单元,用于响应于针对目标歌曲的演唱指令,在用户演唱所述目标歌曲的过程中,获取当前歌唱进度对应的目标字符的提取时间窗和标准音高;

所述获取单元,还用于根据所述目标字符的提取时间窗,从所述目标字符对应的初始音频中采样确定多个目标音频段;

处理单元,用于根据所述目标字符的标准音高对所述多个目标音频段进行评分处理,得到所述目标字符的评分结果;

输出单元,用于展示所述目标字符的评分结果。

第三方面,本申请实施例公开了一种计算机设备,该计算机设备包括处理器,适于实现一条或多条计算机程序;以及,计算机存储介质,所述计算机存储介质存储有一条或多条计算机程序,所述一条或多条计算机程序适于由所述处理器加载并执行以上述的歌唱打分方法。

第四方面,本申请实施公开了一种计算机可读存储介质,该计算机可读存储介质存储有一条或多条计算机程序,所述一条或多条计算机程序适于由处理器加载并执行上述的歌唱打分方法。

第五方面,本申请实施例公开了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行上述的歌唱打分方法。

本申请实施例中,计算机设备响应于针对目标歌曲的演唱指令,在用户演唱所述目标歌曲的过程中,获取当前歌唱进度对应的目标字符的提取时间窗和标准音高,根据目标字符的提取时间窗,从目标字符对应的初始音频中采样获取多个目标音频段,然后根据目标字符的标准音高对多个目标音频段进行评分处理,得到目标字符的评分结果,最后在用户界面中展示目标字符的评分结果。本申请技术方案通过结合准确定位每个字符的时间戳和该字符的标准音高,以字为粒度将用户的音频数据和标准音高进行对比,得到单个字符的演唱结果评分,并反馈一个或多个字符的评估结果,相较于反馈整句歌词评分结果的方案,本申请技术方案可以实现评分结果的实时反馈,并提高评分结果的准确率。

附图说明

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

图1是本申请实施例公开的一种歌唱打分系统的网络架构图;

图2是本申请实施例公开的一种歌唱打分方法的流程示意图;

图3是本申请实施例公开的一种与目标字符相关的时间的示意图;

图4是本申请实施例公开的用户主界面示意图;

图5是本申请实施例公开的另一种歌唱打分方法的流程示意图;

图6是本申请实施例公开的一种对目标字符进行评分的流程图示意图;

图7是本申请实施例公开的一种歌唱打分装置的结构示意图;

图8是本申请实施例公开的一种计算机设备的结构示意图。

具体实施方式

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

为了使得用户及时并准确地获得歌唱歌曲中每个字符的评价结果,本申请实施例提出了一种歌唱打分方法,可以对单个字符进行处理,从而得到每个字符的评分结果(或快或慢、或高或低、或正常)。本申请实施例提供的歌唱打分方法可以基于云技术(Cloudtechnology)和/或区块链技术实现。具体可以涉及云技术中的云存储(Cloudstorage)、云数据库(CloudDatabase)、大数据(Bigdata)中的一种或者多种。例如,从云数据库中获取执行该歌唱打分方法所需要的数据(例如目标歌曲的相关信息)。又例如,执行该歌唱打分方法所需要的数据可以是以区块的形式存储在区块链上;可以将执行该歌唱打分方法所产生的数据(例如评分结果、参考特征信息等)以区块的形式存储到区块链上;另外,执行该歌唱打分方法的数据处理设备可以是区块链网络中的节点设备。

请参见图1,图1是申请实施例公开的一种歌唱打分系统的网络架构图,如图1所示,该歌唱打分系统100至少可以包括至少一个终端设备101以及计算机设备102,其中,终端设备101和计算机设备102可以实现通信连接,其连接方式可以包括有线连接和无线连接,在此不进行限定。在具体的实现过程中,终端设备101主要用于实现本申请的歌唱打分方法,包括根据目标字符的提取时间窗获取用户针对目标字符输入的多个目标音频段,目标字符为当前歌唱进度对应的字符;根据目标字符的标准音高对多个目标音频段进行评分处理,得到目标字符的评分结果;在终端设备101的用户界面中展示评分结果。计算机设备102可以负责云端存储目标歌曲的提取时间窗和标准音高等信息,即终端设备101是从计算机设备102获取目标歌曲的提取时间窗和标准音高等信息。

在一种可能的实现方式中,上述所提及的终端设备101包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等;上述的计算机设备102可以是服务器,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。图1只是示例性地表征歌唱打分系统的网络架构图,并不对此进行限定。例如,图1中的计算机设备102可以部署成区块链网络中的节点,或者将计算机设备102可以接入区块链网络,使得计算机设备102可以将评分结果上传至区块链网络进行存储,以防止内部数据被篡改,从而保证数据安全性。

结合上述歌唱打分系统,本申请实施例的歌唱打分方法大致可以包括:响应于针对目标歌曲的演唱指令,在用户演唱所述目标歌曲的过程中,计算机设备102获取当前歌唱进度对应的目标字符的提取时间窗和标准音高,并根据目标字符的提取时间窗,从目标字符对应的初始音频中采样获取多个目标音频段;然后根据所述目标字符的标准音高对所述多个目标音频段进行评分处理,得到所述目标字符的评分结果;最后将评分结果发送给终端设备101,以使得在终端设备101的用户界面中展示评分结果。本申请通过结合准确定位每个字符的时间戳和该字符的标准音高,以字为粒度将用户的音频数据和标准音高进行对比,得到单个字符的评分结果,并反馈一个或多个字符的评估结果,相较于反馈整句歌词评分结果的方案,本申请技术方案可以实现评分结果的实时反馈,并提高评分结果的准确率。由于单个字符结束后即可得到评分结果,可极大地降低反馈延时,使用户在歌唱过程中可以得到及时的反馈以纠正其在某个字的发音问题,从而提升用户体验。

需要说明的是,在本申请的具体实施方式中,涉及到目标歌曲、目标歌曲的参考特征信息、音频数据等相关的数据,所涉及使用到的数据均是经过用户授权的。当本申请以上实施例运用到具体产品或技术中时,所涉及使用到的数据需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。

请参见图2,是本申请实施例公开的一种歌唱打分方法的流程示意图,该歌唱打分包括但不仅限于步骤S201-S204:

S201:响应于针对目标歌曲的演唱指令,在用户演唱目标歌曲的过程中,获取当前歌唱进度对应的目标字符的提取时间窗和标准音高。

其中,目标歌曲是用户正在或者即将演唱的歌曲,该目标歌曲存储在数据库中,当用户触发了演唱或者练唱该目标歌曲指令时,计算机设备就可以获取该目标歌曲的相关信息,其中,目标歌曲可以是任何语言类型的歌曲,包括但不仅限于中文和英文。在本申请实施例中,当用户触发指令后,计算机设备获取目标歌曲的初始特征信息,初始特征信息包括目标歌曲中每个字符的时间戳信息和标准音高,每个字符的时间戳信息指的是每个字符的开始时间到结束时间,通过时间戳信息可以获知一个字符的持续时间,每个字符的时间戳信息是对目标歌曲的时间戳信息进行解析后得到的,其中,字符可以是一个中文字,也可以是指的一个英文单词;每个字符的标准音高是根据目标歌曲的曲谱信息确定的,曲谱信息中包含有每个字符的音高,这个曲谱信息是标准的曲谱信息,可以直接从数据库中获取。

由于实时打分的一大挑战是用户的歌声和歌词在时间维度上很难做到完全对齐。即便用户完全用心按照歌词的时间顺序来唱,由于反应时间的延时,往往会和歌词的时间戳存在几毫秒到几十毫秒的差距。由于实时打分是以帧为单位提取基频,几十毫秒的差距可能就会对应几帧或十几帧的偏移,这样会在基频与标准音高的匹配上造成巨大的误差,因此,本申请实施例采用了模糊匹配的方法去提取单个字符的音频数据,在提取单个字符的音频数据之前,首先要确定模糊匹配的目标预留时间。该目标预留时间在同一首歌中保持恒定,该时间不宜太短,否则会导致预留时间不足,即便加了模糊匹配也会导致歌声和歌词的时间戳存在较大偏差;该时间亦不要太长,否则不但会加大每一帧的计算量从而产生潜在的算力问题,而且过大的预留时间可能会大幅度占用下一个字符的时序计算区间,极端情况可能会出现三个或三个以上的字的计算区间存在重合。在本申请实施例中,目标预留时间可以根据每个字符的时间戳信息确定,具体的,可以将目标歌曲中时间戳最短字符对应的持续时间的一半作为目标预留时间。例如,若目标歌曲中持续时间最短的字符时间为0.2ms,则目标预留时间为0.1ms。这样一来可以有效避免3个字(字符)或3个字(字符)以上的时间戳存在重叠这种极端复杂的局面,大大简化了系统框架的复杂性。

例如,以单个字符为例,设目标预留时间为t0,如果目标字符在歌词上的时间戳为t1到t2,即标准时长,根据目标歌曲的时间戳确定出来的,那么根据目标预留时间和目标字符的时间戳信息,可以得到该目标字符的提取时间窗为t1-t0到t2+t0。如图3所示,以目标字符为例,其中,301表示的是目标字符的标准时长,302表示的是目标预留时长,303表示的是目标字符的提取时间窗。

进一步的,根据每个字符的时间戳信息和目标预留时间确定每个字符的提取时间窗,并将每个字符的提取时间窗和标准音高作为目标歌曲的参考特征信息。

S202:根据目标字符的提取时间窗,从目标字符对应的初始音频中采样得到多个目标音频段。

在一种可能的实现方式中,在用户歌唱目标歌曲的过程中,针对目标字符,当时间到达目标字符的提取时间窗的时间下限时,开始提取音频数据,当时间到达提取时间窗的上限时,停止对该目标字符的音频数据的提取,由此,便可以得到一段针对该目标字符的初始音频。由于本申请是为了对字符进行评分,需要获取用户歌唱该字符的音高,因此需要对音频数据进行基频提取。

在一种可能的实现方式中,在获取到目标字符所对应的初始音频后,先采用基频提取工具,得到初始音频对应的音频帧数量,具体的,先根据目标字符的提取时间窗和预设帧长确定目标字符的初始音频对应的音频帧数量,预设帧长可以自定义设置,如预设帧长可以设置成5.8ms,将提取时间窗的长度与预设帧长的比值确定为音频帧数量;再基于预设采样方式对音频帧数量进行采样,得到多个目标音频段,每个目标音频段都有一个时长,如图3中的304所示,每一条横线代表一个目标音频段的时长。

这里的预设采样方式可以是等间隔进行采样。例如,目标字符对应的音频帧数量为100,设定每次采样帧数为2,根据这样的采样方式可以得到50个目标音频段。在本申请中,预设采样方式可以根据目标字符的时间戳信息确定,例如,当目标字符的时间戳是t1到t2,则每次采样帧数=(t2-t1)/预设帧长。

其中,需要注意的是,语音中的元音与浊辅音都会有基频,反应了声带震动的频率,其范围一般在100到400hz之间。音高是由声音的基频来决定的,练唱系统评估用户歌唱效果就是基于用户音频数据的基频和歌曲标准音高的匹配程度确定的。目标歌曲的标准音高可以由该歌曲的曲谱文件得到,针对用户的音高则需要通过对音频数据进行基频提取获得。基频提取的工具有多种,所用涉及到的方法包含传统数字信号处理以及深度学习的方法。基于传统数字信号处理的提取方法如Yin,Pyin等,适用性强,计算量小。基于深度学习的基频提取方法,如CREPE,虽然在训练集之外的场景可能适用性较低,但在训练集之内的场景下(如特定噪声场景),准确率很高。考虑到练唱系统所处的使用场景及实时性要求,本申请采用了基于传统数字信号处理的Pyin作为基频提取工具包。Pyin工具包支持按帧提取,可以满足实时性需求。其中,Pyin算法是由Yin算法发展而来。Yin算法是通过计算自相关函数,来寻找语音波形的最小周期。但其往往只采用一个峰谷来进行估计,可能会陷入局部最优,从而导致估计错误。Pyin算法可以在每一帧的计算中,寻找多个候选峰谷值作为候选点,有效地避免了局部最优,且其后续利用隐马尔可夫模型进一步提升了基频曲线的平滑性。

S203:根据目标字符的标准音高对多个目标音频段进行评分处理,得到目标字符的评分结果。

在一种可能的实现方式中,为了更准确地获得对目标字符的评分结果,在得到多个目标音频帧段,然后再根据目标字符的标准音高对这些目标音频段进行评分处理,得到目标字符的评分结果。其中,评分结果包括偏高、偏低、正常;在一些可能的实施例中,评分结果也可以包括唱快了、唱慢了、唱高了以及唱低了等。

在一种可选的实施例中,根据目标歌曲的歌词时间戳,在每一句歌词唱完后,将之前每个字的评价结果汇总到该句总的反馈之中。同时利用自动语音识别技术(ASR),计算音频流中每个字的持续时间,去和歌词中每个字的标准持续时间做对比,从而计算出单个字(字符)是唱快了还是唱慢了。

S204:展示目标字符的评分结果。

基于上述方法,可以得到目标歌曲中每个字符的评分结果,然后向终端设备发送该评分结果,使得可以在用户界面中展示该评分结果,通过该评分结果,用户可以及时纠正发音,从而获得更满意的歌唱效果,实时地反应每个字符的评分结果,可以大大提高用户的满意度。同时,按字符进行反馈,使其反馈效率更高。用户界面可以如图4所示,该界面是针对练唱软件的,主要用于显示目标歌曲的歌词以及评价结果,其中,401中显示多种评分结果,包括唱快了、唱慢了、唱高了以及唱低了,其中,“唱快了”可以用符号

需要说明的是,在获得某单个目标字符的评分结果后,可以即时反馈于界面,或者也可以并非即时反馈于界面,而是为了保证评分结果的稳定性,同时考虑到用户歌唱时发音的稳定性,得到每一个字的评分后,还可以进行后处理,具体地,获取目标歌曲中预设数量的连续多个目标字符的评分结果;若预设数量的连续多个目标字符的评分结果相同时,在用户界面中展示该预设数量的连续多个目标字符的评分结果,例如在连续多个目标字符的最后一个目标字符的位置展示该相同的评分结果。其中,预设数量的数值可以根据具体情况自定义设置。举例来说,如果评分结果指示连续N(预设数量)个字唱高或唱低,就在第N个字反馈评分结果(唱高或唱低)。N不宜取太大,否则或失去打分的敏感性,N取2即可得到良好的反馈结果。本申请中在针对后处理时选择的是基于累积计数的方式。可选的,还可以考虑其它的方式,如平滑算法等。

本申请实施例中,获取目标歌曲中每个字符的提取时间窗和标准音高;在用户歌唱目标歌曲的过程中,根据目标字符的提取时间窗获取用户针对目标字符输入的多个目标音频段,目标字符为当前歌唱进度对应的字符;然后根据目标字符的标准音高对多个目标音频段进行评分处理,得到目标字符的评分结果;最后将评价结果发送给终端设备,以使得在终端设备的用户界面中展示评分结果。技术方案通过结合准定位每个字符的时间戳和该字符的标准音高,以字为粒度将用户的音频数据和标准音高进行对比,得到单个字符的演唱结果评分,并反馈一个或多个字符的评估结果,相较于反馈整句歌词评分结果的方案,本申请技术方案可以实现评分结果的实时反馈,并提高评分结果的准确率。由于单个字符结束后即可得到评分结果,可极大地降低反馈延时,使用户在歌唱过程中可以得到及时的反馈以纠正其在某个字的发音问题,从而提升用户体验。

基于上述阐述,请参见图5,是本申请实施例公开的另一种歌唱打分方法,包括但不仅限于以下步骤:

S501:获取目标歌曲的初始特征信息,初始特征信息包括目标歌曲中每个字符的时间戳信息和标准音高。

S502:根据每个字符的时间戳信息确定目标预留时间。

S503:根据每个字符的时间戳信息和目标预留时间确定每个字符的提取时间窗,将每个字符的提取时间窗和标准音高作为目标歌曲的参考特征信息。

S504:在用户歌唱目标歌曲的过程中,根据目标字符的提取时间窗获取用户针对目标字符输入的多个目标音频段,目标字符为当前歌唱进度对应的字符。

S505:根据目标字符的标准音高确定第一参考音高和第二参考音高。

在一种可能的实现方式中,第一参考音高和第二参考音高是对标准音高进行调整后得到的,在本申请中,第一参考音高可以是相较于标准音高高八度的音高,第二参考音高可以是相较于标准音高低八度的音高,八度可以理解成12个半音,也就是将标准音高分别升高12个半音和下降12个半音。

S506:根据标准音高、第一参考音高以及第二参考音高确定多个目标音频段中各个目标音频段的最小音高差值。

在一种可能的实现方式中,对于每个目标音频段,将该目标音频段分别与标准音高、第一参考音高以及第二参考音高进行计算得到三个音高差值,取这三个音高差值中最小的音高差值作为该目标音频段的最小音高差值。具体地,目标音频段与标准音高的音高差值的计算方式为,将目标音频段中包括的每个音频帧分别与标准音高进行比对得到差值,然后将所有音频帧对应的差值的绝对值相加得到音高差值。目标音频段与第一参考音高的音高差值、目标音频段与第二参考音高的音高差值计算方式相同,不再赘述。以下举例说明:例如,有10个音频段,每个音频段有10帧,对于音频段1,先计算音频段1包括的各个音频帧的音高与标准音高(对应的也有10帧)的差值,计算音频段1的第一帧与标准音高的第一帧之间的差值的绝对值,得到第一个差值,依次类推,得到10个差值,然后将10个差值的绝对值相加,得到音频段1与标准音高之间的第一差值之和;然后计算音频段1包括的各个音频帧的音高与第一参考音高(对应的也有10帧)的差值,计算音频段1的第一帧与第一参考音高的第一帧之间的差值的绝对值,得到第一个差值,依次类推,得到10个差值,然后将10个差值相加,得到音频段1与第一参考音高之间的第二差值之和;然后再计算音频段1包括的各个音频帧的音高与第二参考音高(对应的也有10帧)的差值,计算音频段1的第一帧与第二参考音高的第一帧之间的差值的绝对值,得到第一个差值,依次类推,得到10个差值,然后将10个差值相加,得到音频段1与第二参考音高之间的第三差值之和;从第一差值之和、第二差值之和以及第三差值之和中取最小的作为音频段1的最小音高差值。按照此方法,依次计算其他音频段的最小音高差值,也就是说,有10个音频段,就有10个最小音高差值。

S507:从各个目标音频段的最小音高差值中确定目标音高差值,并将目标音高差值所对应的目标音频段作为评分音频段。

根据上述阐述可知,对于N个音频段,也就有N个最小音高差值。在一种可能的实现方式中,当有N个音频段时,就可以从这N个音频段对应的N个最小音高差值中取最小值作为目标音高差值,并将目标音高差值所对应的音频段作为评分音频段。

S508:将评分音频段的目标音高差值对应的音高确定为基准音高,评分音频段的目标音高差值对应的音高为标准音高、第一参考音高和第二参考音高中的其中一个。

在本申请中,可以用例子对其进行解释,如有10个音频段,根据这10个音频段的最小音高差值确定出音频段5的最小音高差值最小,则将音频段5对应的最小音高差值作为目标音高差值,然后再将音频段5作为评分音频段。然后将音频段5对应的音高确定为基准音高,音频段5对应的音高可能是标准音高、第一参考音高和第二参考音高中的其中一个。

其中,需要注意的是,上述在得到音频段后,是和标准音高作差并取绝对值之和的方法进行音高匹配的。可选的,还可以利用其它向量差异比较技术,如动态时间规整(DTW)或者计算向量距离和夹角等技术进行音高匹配。

S509:基于基准音高和评分音频段包括的各个音频帧的音高确定目标字符的评分结果。

在一种可能的实现方式中,先确定评分音频段包括的音频帧数量,然后将评分音频段包括的各个音频帧的音高依次和基准音高(其帧数和目标音频段的帧数相同)进行对比,得到各个音频帧的对比结果;基于对比结果以及音频帧数量,确定评分音频段中对应的音高高于基准音高的音频帧所占的第一比例,以及确定评分音频段中对应的音高低于基准音高的音频帧所占的第二比例。若第一比例大于设定阈值,且第二比例小于设定阈值,则确定目标字符的评分结果为偏高,也就是说用户对该目标字符的演唱偏高;若第一比例、第二比例均小于或者等于设定阈值,则确定目标字符的评分结果为正常,也就是说用户对该目标字符的演唱是正常的;若第二比例大于设定阈值,且第一比例小于设定阈值,则确定目标字符的评分结果为偏低,也就是说用户对该目标字符的演唱偏低。若第一比例、第二比例均高于设定阈值,则判断第一比例与第二比例谁的值更大,若第一比例更大,则确定目标字符的评分结果为偏高,若第二比例更大,则确定目标字符的评分结果为偏低。其中,设定阈值是一个比例值,如0.5、0.6等。

除了第一比例和第二比例,还有第三比例,第三比例是评分音频段中对应的音高等于基准音高的音频帧占评分音频段中音频帧的比例,第一比例、第二比例以及第三比例之和始终等于1。

上述步骤S506-S510可以参见图6,可以从图6看出,对于目标字符的N个音频段,针对其中任意一个片段,如音频段i,先根据标准音高、第一参考音高、第二参考音高确定出音频片段i的最小音高差值,依次计算,从而得到N个音频段所对应的最小音高差值,即得到一个集合包括:[音频段1的最小音高差值,音频段2的最小音高差值,……,音频段N的最小音高差值]。然后从这N个最小音高差值中确定出最小的音高差值作为目标音高差值,同时将该最小音高差值对应的音频段作为评分音频段。进一步,基于评分音频段,确定基准音高,并将评分音频段包括的各个音频帧的音高依次和基准音高进行对比,得到各个音频帧的对比结果,然后确定评分音频段中对应的音高高于基准音高的音频帧所占的第一比例,以及确定评分音频段中对应的音高低于基准音高的音频帧所占的第二比例。在根据比例与设定阈值的比较结果,确定评分结果,具体的,若第一比例大于设定阈值,且第二比例小于设定阈值,则确定目标字符唱得偏高;若第一比例、第二比例均小于或者等于设定阈值,则确定目标字符唱得正常;若第二比例大于设定阈值,且第一比例小于设定阈值,则确定目标字符唱得偏低。若第一比例、第二比例均高于设定阈值,则判断第一比例与第二比例谁的值更大,若第一比例更大,则确定目标字符唱得偏高,若第二比例更大,则确定目标字符唱得偏低。

S510:在用户界面中展示评分结果。

其中,上述步骤S501-S505以及步骤S510和图2示出的相关实施例阐述的内容一致,这里就不再赘述了。

本申请实施例中,主要基于怎样得到目标字符的评价结果进行阐述,主要是根据音高信息对音频帧依次进行评分的,其准确度较高。同时,按字符对歌唱的歌曲进行打分,并及时地向用户反馈评价结果,其反馈效率较高。对于用户而言,得到及时的评价结果,可以根据评价结果及时对发音进行纠正,从而使得歌唱的歌曲更为准确,进一步提升用户体验。

基于上述的方法实施例,本申请实施例还提供了一种歌唱打分装置的结构示意图。参见图7,为本申请实施例提供的一种歌唱打分装置的结构示意图。图7所示的歌唱打分装置700可运行如下单元:

获取单元701,响应于针对目标歌曲的演唱指令,在用户演唱所述目标歌曲的过程中,获取当前歌唱进度对应的目标字符的提取时间窗和标准音高;根据所述目标字符的提取时间窗,从所述目标字符对应的初始音频中采样获取多个目标音频段;

处理单元702,用于根据所述目标字符的标准音高对所述多个目标音频段进行评分处理,得到所述目标字符的评分结果;

输出单元703,用于展示所述目标字符的评分结果。

在一种可能的实现方式中,所述获取单元701获取当前歌唱进度对应的目标字符的提取时间窗时,具体用于:

获取当前歌唱进度对应的目标字符的时间戳信息,根据所述目标字符的时间戳确定目标预留时间;

根据所述目标字符的时间戳信息和所述目标预留时间确定所述目标字符的提取时间窗。

在一种可能的实现方式中,所述获取单元701根据所述目标字符的提取时间窗,从所述目标字符对应的初始音频中采样得到获取目标音频段时,具体用于:

根据所述目标字符的提取时间窗和预设帧长,确定所述初始音频数据对应的音频帧数量;

根据预设采样方式对所述音频帧数量进行采样处理,得到多个目标音频段。在一种可能的实现方式中,所述处理单元702根据所述目标字符的标准音高对所述多个目标音频段进行评分处理,得到所述目标字符的评分结果时,具体用于:

根据所述目标字符的标准音高确定第一参考音高和第二参考音高;

根据所述标准音高、所述第一参考音高以及所述第二参考音高确定各个目标音频段的最小音高差值;

从所述各个目标音频段的最小音高差值中确定目标音高差值,并根据所述目标音高差值得到所述目标字符的评分结果。

在一种可能的实现方式中,所述处理单元702根据所述目标音高差值得到所述目标字符的评分结果时,具体用于:

将所述目标音高差值所对应的目标音频段作为评分音频段;

将所述评分音频段的目标音高差值对应的音高确定为基准音高,所述评分音频段的目标音高差值对应的音高为所述标准音高、第一参考音高和第二参考音高中的其中一个;

基于所述基准音高和所述评分音频段包括的各个音频帧的音高确定所述目标字符的评分结果。

在一种可能的实现方式中,所述处理单元702基于所述基准音高和所述评分音频段包括的各个音频帧的音高确定所述目标字符的评分结果时,具体用于:

确定所述评分音频段包括的音频帧数量;

将所述评分音频段包括的各个音频帧的音高依次和所述基准音高进行对比,得到各个音频帧的对比结果;

基于所述对比结果以及所述音频帧数量确定所述目标字符的评分结果。

在一种可能的实现方式中,所述评分结果包括正常、偏高和偏低,所述处理单元702基于所述对比结果以及所述音频帧数量确定所述目标字符的评分结果时,具体用于:

基于所述对比结果以及所述音频帧数量,确定所述评分音频段中对应的音高高于所述基准音高的音频帧所占的第一比例,以及确定所述评分音频段中对应的音高低于所述基准音高的音频帧所占的第二比例;

若所述第一比例大于设定阈值,且所述第二比例小于所述设定阈值,则确定所述目标字符的评分结果为偏高;

若所述第一比例、所述第二比例均小于或者等于所述设定阈值,则确定所述目标字符的评分结果为正常;

若所述第二比例大于所述设定阈值,且所述第一比例小于所述设定阈值,则确定所述目标字符的评分结果为偏低。

在一种可能的实现方式中,所述输出单元703展示所述目标字符的评分结果时,具体用于:

获取所述目标歌曲中预设数量的连续多个所述目标字符的评分结果;

若预设数量的连续多个所述目标字符的评分结果相同,则在连续多个所述目标字符的最后一个字符的位置展示相同的所述评分结果。

根据本申请的一个实施例,图2和图5所示的歌唱打分方法所涉及各个步骤可以是由图7所示的歌唱打分装置中的各个单元来执行的。例如,图2所示的歌唱打分方法中步骤S201可由图7所示的歌唱打分装置中的获取单元701来执行,步骤S202和步骤S203可由图7所示的歌唱打分装置中的处理单元702来执行,步骤S204可由图7所示的歌唱打分装置中的输出单元703来执行。

根据本申请的另一个实施例,图7所示的歌唱打分装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,基于歌唱打分装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。

根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图2和图5所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图7中所示的歌唱打分装置,以及来实现本申请实施例歌唱打分方法。所述计算机程序可以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于上述计算机设备中,并在其中运行。

本申请实施例中,获取单元701获取目标歌曲中每个字符的提取时间窗和标准音高;处理单元702在用户歌唱目标歌曲的过程中,根据目标字符的提取时间窗获取用户针对目标字符输入的多个目标音频段,目标字符为当前歌唱进度对应的字符;然后根据目标字符的标准音高对多个目标音频段进行评分处理,得到目标字符的评分结果;最后将评价结果发送给终端设备,以使得输出单元703在终端设备的用户界面中展示评分结果。本申请通过结合准确定位每个字符的时间戳和该字符的标准音高,以字为粒度将用户的多个目标音频段和标准音高进行对比,得到单个字符的演唱结果评分,并反馈一个或多个字符的评估结果,相较于反馈整句歌词评分结果的方案,本申请技术方案可以实现评分结果的实时反馈,并提高评分结果的准确率。由于单个字符结束后即可得到评分结果,可极大地降低反馈延时,使用户在歌唱过程中可以得到及时的反馈以纠正其在某个字的发音问题,从而提升用户体验。

基于上述方法以及装置实施例,本申请实施例提供了一种计算机设备,参见图8,为本申请实施例提供的一种计算机设备的结构示意图。图8所示的计算机设备800至少包括处理器801、输入接口802、输出接口803、计算机存储介质804以及存储器805。其中,处理器801、输入接口802、输出接口803、计算机存储介质804以及存储器805可通过总线或其他方式连接。

计算机存储介质804可以存储在计算机设备800的存储器805中,所述计算机存储介质804用于存储计算机程序,所述计算机程序包括程序指令,所述处理器801用于执行所述计算机存储介质804存储的程序指令。处理器801(或称CPU(Central Processing Unit,中央处理器))是计算机设备800的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行一条或多条计算机指令从而实现相应方法流程或相应功能。

本申请实施例还提供了一种计算机存储介质(Memory),所述计算机存储介质是计算机设备800中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括计算机设备800中的内置存储介质,当然也可以包括计算机设备800支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了计算机设备800的操作系统。并且,在该存储空间中还存放了适于被处理器801加载并执行的一条或多条计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机存储介质。

在一个实施例中,所述计算机存储介质可由处理器801加载并执行计算机存储介质中存放的一条或多条计算机程序,以实现上述有关图2和图5的歌唱打分方法的相应步骤。具体实现中,计算机存储介质中的一条或多条指令由处理器801加载并执行如下步骤:

响应于针对目标歌曲的演唱指令,在用户演唱所述目标歌曲的过程中,获取当前歌唱进度对应的目标字符的提取时间窗和标准音高;

根据所述目标字符的提取时间窗,从所述目标字符对应的初始音频中采样获取多个目标音频段;

根据所述目标字符的标准音高对所述多个目标音频段进行评分处理,得到所述目标字符的评分结果;

展示所述目标字符的评分结果。

在一种可能的实现方式中,所述处理器801获取所述目标歌曲中每个字符的提取时间窗时,具体用于:

获取当前歌唱进度对应的目标字符的时间戳,根据所述目标字符的时间戳确定目标预留时间;

根据所述目标字符的时间戳和所述目标预留时间确定所述目标字符的提取时间窗。

在一种可能的实现方式中,所述处理器801根据所述目标字符的提取时间窗,从所述目标字符对应的初始音频中采样得到获取目标音频段时,具体用于:

根据所述目标字符的提取时间窗和预设帧长,确定所述初始音频数据对应的音频帧数量;

根据预设采样方式对所述音频帧数量进行采样处理,得到多个目标音频段。在一种可能的实现方式中,所述处理器801根据所述目标字符的标准音高对所述多个目标音频段进行评分处理,得到所述目标字符的评分结果时,具体用于:

根据所述目标字符的标准音高确定第一参考音高和第二参考音高;

根据所述标准音高、所述第一参考音高以及所述第二参考音高确定各个目标音频段的最小音高差值;

从所述各个目标音频段的最小音高差值中确定目标音高差值,并根据所述目标音高差值得到所述目标字符的评分结果。

在一种可能的实现方式中,所述处理器801根据所述目标音高差值得到所述目标字符的评分结果时,具体用于:

将所述目标音高差值所对应的目标音频段作为评分音频段;

将所述评分音频段的目标音高差值对应的音高确定为基准音高,所述评分音频段的目标音高差值对应的音高为所述标准音高、第一参考音高和第二参考音高中的其中一个;

基于所述基准音高和所述评分音频段包括的各个音频帧的音高确定所述目标字符的评分结果。

在一种可能的实现方式中,所述处理器801基于所述基准音高和所述评分音频段包括的各个音频帧的音高确定所述目标字符的评分结果时,具体用于:

确定所述评分音频段包括的音频帧数量;

将所述评分音频段包括的各个音频帧的音高依次和所述基准音高进行对比,得到各个音频帧的对比结果;

基于所述对比结果以及所述音频帧数量确定所述目标字符的评分结果。

在一种可能的实现方式中,所述评分结果包括正常、偏高和偏低,所述处理器801基于所述对比结果以及所述音频帧数量确定所述目标字符的评分结果时,具体用于:

基于所述对比结果以及所述音频帧数量,确定所述评分音频段中对应的音高高于所述基准音高的音频帧所占的第一比例,以及确定所述评分音频段中对应的音高低于所述基准音高的音频帧所占的第二比例;

若所述第一比例大于设定阈值,且所述第二比例小于所述设定阈值,则确定所述目标字符的评分结果为偏高;

若所述第一比例、所述第二比例均小于或者等于所述设定阈值,则确定所述目标字符的评分结果为正常;

若所述第二比例大于所述设定阈值,且所述第一比例小于所述设定阈值,则确定所述目标字符的评分结果为偏低。

在一种可能的实现方式中,所述处理器801展示所述目标字符的评分结果时,具体用于:

获取所述目标歌曲中预设数量的连续多个所述目标字符的评分结果;

若预设数量的连续多个所述目标字符的评分结果相同,则在连续多个所述目标字符的最后一个字符的位置展示相同的所述评分结果。

本申请实例中,处理器801响应于针对目标歌曲的演唱指令,在用户演唱所述目标歌曲的过程中,获取当前歌唱进度对应的目标字符的提取时间窗和标准音高,根据目标字符的提取时间窗,从目标字符对应的初始音频中采样获取多个目标音频段,然后根据目标字符的标准音高对多个目标音频段进行评分处理,得到目标字符的评分结果,最后在用户界面中展示目标字符的评分结果。本申请通过结合准确定位每个字符的时间戳和该字符的标准音高,以字为粒度将用户的音频数据和标准音高进行对比,得到单个字符的评分结果,并反馈一个或多个字符的评估结果,相较于反馈整句歌词评分结果的方案,本申请技术方案可以实现评分结果的实时反馈,并提高评分结果的准确率。由于单个字符结束后即可得到评分结果,可极大地降低反馈延时,使用户在歌唱过程中可以得到及时的反馈以纠正其在某个字的发音问题,从而提升用户体验。

根据本申请的一个方面,本申请实施例还提供了一种计算机产品,该计算机产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。处理器801从计算机可读存储介质中读取该计算机程序,处理器801执行该计算机程序,使得计算机设备800执行图2、图5以及图6所示的相关方法。

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

在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 存储器读取错误纠正方法、系统、计算机设备和存储介质
  • 闪存管理方法、闪存存储设备及计算机可读存储介质
  • 一种数据存储方法、装置、设备及计算机可读存储介质
  • 消息数据存储方法、装置、计算机设备和存储介质
  • 用于增强存储设备的服务质量的存储系统、方法和非暂态计算机可读介质
  • 歌唱声音优化方法、装置、设备和计算机可读存储介质
  • 歌唱语音合成方法及合成设备、计算机存储介质
技术分类

06120115582562