用户演唱数据处理方法和装置与流程

文档序号:11691872阅读:271来源:国知局
用户演唱数据处理方法和装置与流程

本发明涉及语音处理技术领域,特别是涉及一种用户演唱数据处理方法和装置。



背景技术:

语音处理技术的不断进步,使得语音可以记录为语音数据,语音数据可在需要时被读取并再现为声音。目前基于语音数据可以进行语音精确分析,比如进行语音评测,可评测出用户发音是否准确。在进行语音评测时,可预先准备一段文字,并设置相应的标准发音模型,录制用户读取文字的语音数据,并将录制的语音数据与标准发音模型进行比较,便可以评测出用户发音是否准确。

然而,目前语音分析技术还无法应用于演唱数据的精确分析,其中一个原因是当读取相同的一段文字时,同一个人读取的发音基本是稳定不变的,不同人读取的发音也基本是相似的,不会有太大差异。但如果是唱一段歌词,由于与歌词匹配的作曲可能有很多种,不同人唱歌的演唱数据差异也很大,即使同一人唱歌的演唱数据也可能有或大或小的差异,这种情况下利用语音分析技术中的发声模型进行演唱数据的分析结果是混乱的,基本无法实现对演唱数据的精确分析。



技术实现要素:

基于此,有必要针对目前难以对演唱数据进行精确分析的技术问题,提供一种用户演唱数据处理方法和装置。

一种用户演唱数据处理方法,所述方法包括:

根据指定歌曲的各参考音素的参考音调值、参考发音时长值以及相邻音素获取与每个参考音素对应的音素声学模型,获得音素声学模型序列;

将所述指定歌曲的用户演唱数据划分音频帧;

将所述音频帧与所述音素声学模型序列中的各音素声学模型进行匹配,获 得匹配结果;

根据所述匹配结果从所述用户演唱数据中切分出用户发音切分结果。

一种用户演唱数据处理装置,所述装置包括:

音素声学模型获取模块,用于根据指定歌曲的各参考音素的参考音调值、参考发音时长值以及相邻音素获取与每个参考音素对应的音素声学模型,获得音素声学模型序列;

音频帧划分模块,用于将所述指定歌曲的用户演唱数据划分音频帧;

匹配模块,用于将所述音频帧与所述音素声学模型序列中的各音素声学模型进行匹配,获得匹配结果;

切分模块,用于根据所述匹配结果从所述用户演唱数据中切分出用户发音切分结果。

上述用户演唱数据处理方法和装置,将指定歌曲的参考演唱数据划分音素,每个音素具有参考音调值、参考发音时长值以及相邻音素,从而可获得每个音素对应的音素声学模型,构成音素声学模型序列。将指定歌曲的用户演唱数据按音频帧与音素声学模型序列中的各音素声学模型按顺序进行匹配,并根据匹配结果从用户演唱数据中切分用户发音音素,便可以将用户演唱数据进行精确分析。其中音素声学模型按照音调值、发音时长以及相邻音素进行细分,使得音素声学模型可以准确地识别出不同演唱场景下的音素,适用于演唱数据的音素的精确分析。

附图说明

图1为一个实施例中用于实施用户演唱数据处理方法的电子设备的结构示意图;

图2为一个实施例中用户演唱数据处理方法的流程示意图;

图3为一个实例中音频帧与音素声学模型的匹配关系的示意图;

图4为一个实施例中训练音素声学模型的步骤的流程示意图;

图5为一个实施例中将音频帧与音素声学模型序列中的各音素声学模型进行匹配,获得匹配结果的步骤的流程示意图;

图6为一个实例中音频帧与音素声学模型序列中的音素声学模型的可选路径的示意图;

图7为另一个实施例中用户演唱数据处理方法的流程示意图;

图8为一个实施例中根据用户音调值与相应的参考音素的参考音调值的差异,和/或用户发音时长值与相应的参考音素的参考发音时长值的差异,进行用户演唱发音评测的步骤的流程示意图;

图9为一个实施例中用户演唱数据处理装置的结构框图;

图10为另一个实施例中用户演唱数据处理装置的结构框图;

图11为一个实施例中匹配模块的结构框图;

图12为再一个实施例中用户演唱数据处理装置的结构框图;

图13为一个实施例中用户演唱数据处理装置的结构框图;

图14为另一个实施例中用户演唱数据处理装置的结构框图;

图15为一个实施例中用户演唱发音评测模块的结构框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,在一个实施例中,提供了一种电子设备,包括通过系统总线连接的处理器、非易失性存储介质和内存储器。其中处理器具有计算功能和控制电子设备工作的功能,该处理器被配置为执行一种用户演唱数据处理方法。非易失性存储介质包括磁存储介质、光存储介质和闪存式存储介质中的至少一种,非易失性存储介质存储有操作系统和用户演唱数据处理装置,该用户演唱数据处理装置用于实现一种用户演唱数据处理方法。

如图2所示,在一个实施例中,提供了一种用户演唱数据处理方法,本实施例以该方法应用于上述图1中的电子设备来举例说明。该方法具体包括如下 步骤:

步骤202,根据指定歌曲的各参考音素的参考音调值、参考发音时长值以及相邻音素获取与每个参考音素对应的音素声学模型,获得音素声学模型序列。

具体地,电子设备可根据指定歌曲的简谱文件获得各参考音素的参考音调值、参考发音时长值以及相邻音素。电子设备可将指定歌曲的歌词单字序列转换为音素序列,从而根据歌词单字对应的音调值和发音时长值确定该歌词单字所转换成的音素所对应的音调值和发音时长值。电子设备获取到每个参考音素的音素声学模型后,按照参考音素的顺序构成音素声学模型序列。

音素声学模型是指可用来识别音素的数学模型,可采用gmm-hmm(gaussianmixturemodel-hiddenmarkovmodel,隐马尔科夫高斯混合模型)或者dnn-hmm(deepneuralnetwork-hiddenmarkovmodel,深度神经网络高斯混合模型),音素声学模型可采用mfcc(melfrequencycepstralcoefficents,梅尔频率倒谱系数)、lpc(线性预测参数)或者plp(perceptuallinearpredictive,感知线性预测系数)等特征。

发明人发现,同样的歌词单字在不同的音乐下产生不同的发音主要受到两个因素影响,一个是演唱每个歌词单字时的音调值,另一个是演唱歌词单字的发音时长值,在音调值和发音时长值中的至少一个发生变化时,同一个因素的发音可能会有很大不同。音素声学模型按照音调值、发音时长以及相邻音素进行细分,使得音素声学模型可以准确地识别出不同演唱场景下的音素,适用于演唱数据的音素的精确分析。

其中,简谱文件包括歌词单字、音调值、歌词单字与音调值之间的匹配关系、歌词单字的播放时间段以及音调值的发音时间段。简谱文件可将歌词文件和音调文件合并后进行对齐而生成。

举例说明,歌曲名称为《新鸳鸯蝴蝶梦》所对应的简谱文件的部分内容可如下所示:

“word_01昨4243242761

note_0714243242761

word_11日4276143090

note_1744276143090

……”

其中,word_0、word_1……是歌词单字的标识,note_0、note_1……是音调值的标识。每行表示一个歌词单字的属性或者一个音调值的属性,一个歌词单字的属性之后的是相匹配的音调值的属性,以表示歌词单字和音调值的匹配。

比如,“word_01昨4243242761”这一行中,歌词单字的标识之后的“1”表示“word_0”匹配的音调值数量,“昨”表示“word_0”表示的歌词单字的内容,“42432”表示“word_0”对应的播放时间段的起始时间点,“42761”表示“word_0”对应的结束时间点。再比如,“note_0714243242761”这一行中,“71”表示音调值,“42432”表示“note_0”对应的发音时间段的起始时间点,“42761”表示“note_0”对应的结束时间点。

音素是一种语言中的基本发音单元,不同语言的音素是不同的。汉语中的音素比如汉语拼音中辅音和元音,汉语拼音中的辅音比如“b”、“p”、“m”、“f”、“d”、“t”、“n”、“l”、“g”、“k”、“h”、“j”、“q”、“x”、“z”、“c”、“s”、“r”、“zh”、“ch”、“sh”以及“ng”,汉语拼音中的元音比如“a”、“o”、“e”、“i”、“u”、“ü”以及“er”。英语中的音素比如英语中的元音和辅音,这里不再赘述。

发音时长值是指音素的发音时长,发音时长值具有离散的发音时长值取值范围。音调值也可以称为音高值,音调值具有离散的音调值取值范围,比如。一个音符(note)的音调值(midinumber)可以根据该音符的频率值计算出,假设音调值为mi,相应的频率值为fm,则可通过以下公式(1)将音调值m和频率值fm彼此转换:

mi=12×log2(fm/400hz)+69;

fm=2^((mi-69)/(12×440hz))公式(1)

其中,公式1中“^”是幂次运算符。

指定歌曲的参考音素是指用来作为比对基准的音素,参考音素的音调值称为参考音调值,参考音素的发音时长值称为参考发音时长值。指定歌曲的各个音素构成音素时序,参考音素的相邻音素是指参考音素在该音素时序中相邻的音素。

具体地,假设一个音素为a,按时序音素a的前一个音素为n,a的后一个音素为m,音素a的音调值为69,发音时长值为20。其中发音时长20的单位为50ms(毫秒),则20表示1s(秒),音调值69对应的频率值为440hz,音素n和音素m为音素a的相邻音素。则该音素a可表示为n-a+m-69-20,其中n-a+m表示按时序音素a的前一个音素是n,后一个音素是m。

举例说明,歌词单字序列“我们”可以转换为音素序列:sil-w+ow-o+mo-m+enm-en+sil,其中sil表示静音,则音素sil-w+o和音素w-o+m对应的音调值可均为歌词单字“我”所对应的音调值,音素o-m+en和音素m-en+sil对应的音调值可均为歌词单字“们”所对应的音调值;音素sil-w+o和音素w-o+m对应的发音时长值的和可为歌词单字“我”所对应的发音时长值,音素o-m+en和音素m-en+sil对应的发音时长值的和可为歌词单字“们”所对应的发音时长值。

步骤204,将指定歌曲的用户演唱数据划分音频帧。

具体地,电子设备可按照指定帧长将指定歌曲的用户演唱数据划分音频帧,指定帧长是预先指定的一个音频帧的长度,指定帧长可以用时间长度来表示。电子设备可按照指定帧长以及指定帧移长度将指定歌曲的用户演唱数据划分音频帧,其中指定帧移长度是指从一个音频帧的起始位置到下一个音频帧的起始位置的长度,且指定帧移长度小于指定帧长,此时音频帧之间是重叠的,可反映音频帧之间的相关性,使得最终的结果更加准确。其中指定帧长可取30ms,指定帧移长度可取10ms。指定帧长优选可与音素的发音时长值接近。

步骤206,将音频帧与音素声学模型序列中的各音素声学模型进行匹配,获得匹配结果。

具体地,音频帧本身是具有顺序的,音素声学模型序列中的各音素声学模型也是具有顺序的,电子设备将音频帧按顺序通过音素声学模型序列中的各音素声学模型,以将音频帧与音素声学模型序列中的各音素声学模型进行匹配,获得音频帧与音素声学模型序列中的各音素声学模型的匹配结果。匹配结果具体可表现为音频帧与音素声学模型的匹配关系。

步骤208,根据匹配结果从用户演唱数据中切分出用户发音切分结果。

具体地,音频帧本身携带有时间戳,电子设备按照音频帧与音素声学模型 序列中各音素声学模型的匹配关系,以音频帧为单位进行切分,可获得用户发音切分结果。用户发音切分结果至少包括切分出的用户发音音素,还可以包括用户发音音素的在用户演唱数据中的位置。

举例说明,参照图3,假设音素声学模型序列为m1m2m3m4m5m6……,音频帧序列为p1p2p3p4p5p6p7p8p9p10p11p12……,图3中音频帧与音素声学模型的连线表示音频帧与音素声学模型的匹配关系,则从用户演唱数据中划分出的用户发音切分结果为(p1p2),(p3p4),(p5p6),(p7),(p8p9p10),(p11p12)……。

上述用户演唱数据处理方法,将指定歌曲的参考演唱数据划分音素,每个音素具有参考音调值、参考发音时长值以及相邻音素,从而可获得每个音素对应的音素声学模型,构成音素声学模型序列。将指定歌曲的用户演唱数据按音频帧与音素声学模型序列中的各音素声学模型按顺序进行匹配,并根据匹配结果从用户演唱数据中切分用户发音音素,便可以将用户演唱数据进行精确分析。其中音素声学模型按照音调值、发音时长以及相邻音素进行细分,使得音素声学模型可以准确地识别出不同演唱场景下的音素,适用于演唱数据的音素的精确分析。

如图4所示,在一个实施例中,该用户演唱数据处理方法还包括训练音素声学模型的步骤,具体包括如下步骤:

步骤402,为待训练的音素集合中的每个音素分配可选相邻音素、可选音调值和可选发音时长值。

具体地,待训练的音素集合是指需要训练出音素声学模型的音素的集合,该音素集合包括指定歌曲中出现的音素,可以是指定歌曲所采用语言的所有音素。对于音素集合中的每个音素,可选相邻音素是指可能与相应音素相邻的音素,可选音调值是相应音素的音调值可能的取值,可选发音时长值则是相应音素的发音时长值的可能的取值。可选相邻音素、可选音调值和可选发音时长值的数量均是有限的。

步骤404,对于音素集合中的每个音素,根据相应的可选相邻音素、可选音调值以及可选发音时长值的各种组合所对应的训练样本,训练获得与每个音素 对应的音素声学模型。

具体地,可收集大量预料数据,将预料数据按音素切分,切分出的数据作为训练样本,并记录训练样本所对应的相邻音素、音调值以及发音时长值,比如记录为t1-n-a+m-69-20,其中t1是训练样本的唯一标识。为保证训练结果的准确性,可收集尽可能多的语料数据。电子设备在训练音素声学模型时,对于音素集合中的每个音素,根据该音素的可选相邻音素、可选音调值以及可选发音时长值的各种组合,查找到对应的训练样本,从而根据该训练样本训练每个音素对应的音素声学模型。当训练样本不足时,除了重新寻找适用的训练样本之外,还可以将经统计的出现概率低于预设值的音素映射到其它音素的音素声学模型。

本实施例中,在训练音素声学模型时,考虑待训练的音素的各种可选相邻音素、可选音调值以及可选发音时长值的组合,以可尽可能覆盖待训练的音素可能的上下文环境以及音乐环境,进而可以保证训练出的音素声学模型可适用于演唱数据的精确分析。

在一个实施例中,步骤206包括:计算每个音频帧与音素声学模型序列中每个音素声学模型的匹配度,根据计算出的匹配度确定音频帧与音素声学模型序列中的各音素声学模型的匹配结果。

如图5所示,在一个实施例中,步骤206具体包括如下步骤:

步骤502,计算每个音频帧与音素声学模型序列中每个音素声学模型的匹配度。

具体地,匹配度反映的是音频帧与音素声学模型的匹配程度,匹配度的值可与匹配程度正相关,也就是匹配程度越高匹配度值越大,匹配程度越低匹配度值越低。匹配度取值可为[0,1],此时匹配度在0到1之间变化,方便计算。具体在计算匹配度时,可直接将音频帧输入相应的音素声学模型,输出的值为匹配度。

步骤504,确定将用户演唱数据中的音频帧与音素声学模型序列中的各音素声学模型按顺序进行匹配的可选路径。

具体地,可选路径是指音频帧与音素声学模型序列中的各音素声学模型的 可能的匹配组合。举例说明,参照图6,假设有5个音频帧p1p2p3p4p5,音素声学模型序列包括2个音素声学模型m1和m2,则按照音频帧与音素声学模型各自的顺序,音频帧与音素声学模型序列中的音素声学模型共有6种可选路径,可分别表示为(5,0)、(4,1)、(3,2)、(2,3)、(1,4)以及(0,5)。括号中的第一个数字表示5个音频帧中与音素声学模型序列中第一个音素声学模型匹配的音频帧数量,括号中的第二个数字表示5个音频帧中与音素声学模型序列中第二个音素声学模型匹配的音频帧数量。

步骤506,根据每种可选路径下相应的匹配度计算每种可选路径的置信度。

具体地,每种可选路径的置信度反映的是相应的可选路径中各个音频帧与相应的音素声学模型的匹配度,进而可以反映出相应的可选路径作为最优路径的可信程度。每种可选路径下相应的匹配度与计算出的置信度正相关,若仅有一个匹配度变化,其它匹配度不变,则置信度随着变化的匹配度的增大而增大、减小而减小。电子设备可将每种可选路径下相应的匹配度求乘积或者求和来计算相应可选路径的置信度。

举例说明,如上述图6所示的音频帧序列和音素声学模型序列,对于可选路径(5,0),可将5个音频帧中每个音频帧与音素声学模型m1的匹配度相乘来计算置信度。对于可选路径(4,1),可将前4个音频帧中每个音频帧与音素声学模型m1的匹配度相乘,再乘以最后一个音频帧与音素声学模型m2的匹配度。依此类推,对于可选路径(0,5),可将5个音频帧中每个音频帧与音素声学模型m2的匹配度相乘来计算置信度。

步骤508,根据置信度从可选路径中确定最优路径,以获得最优路径所表示的音频帧与音素声学模型序列中的各音素声学模型的匹配结果。

具体地,获取到每种可选路径的置信度,可选择置信度最高的可选路径作为最优路径,该最优路径所表示的音频帧与音素声学模型序列中的各音素声学模型的匹配关系,便是需要的匹配结果。当然也可以根据需要选择置信度次高的可选路径;也可以将置信度与其它音素结合起来确定最优路径,尽量优先选择置信度较高的可选路径。匹配结果中音频帧的时序以及音素声学模型的时序应当是正确的,比如上述图6所示的实例中,如果p1与m2匹配,p2到p5就 不会与m1匹配,因为按照时序m1在m2之前。

本实施例中,通过计算音频帧与音素声学模型序列的匹配度,从而根据匹配度计算可选路径的置信度,进而根据置信度确定最优路径,以确定音频帧与音素声学模型序列中的各音素声学模型的匹配结果。这样可以搜索到最优的匹配结果,可尽量保证匹配结果的准确性,进而保证用户发音切分结果的准确性。

在一个实施例中,步骤206包括:计算每个音频帧与音素声学模型序列中每个音素声学模型的匹配度,按照音频帧的时序,逐帧查找每个音频帧的匹配度最高的音素声学模型,以确定音频帧与音素声学模型序列中的各音素声学模型的匹配结果。

在一个实施例中,步骤206包括:计算每个音频帧与音素声学模型序列中每个音素声学模型的匹配度,按照音素声学模型序列中音素声学模型的时序,逐个查找与每个音素声学模型匹配度最高的音频帧,以确定音频帧与音素声学模型序列中的各音素声学模型的匹配结果。

在一个实施例中,该用户演唱数据处理方法还包括:根据用户发音切分结果获得新的音素声学模型序列,当不满足迭代停止条件时,继续将音频帧与新的音素声学模型序列中的各音素声学模型按顺序进行匹配,获得匹配结果,直至满足迭代停止条件。

具体地,电子设备在从用户演唱数据中切分出用户发音切分结果后,由于用户发音通常会与标准的音素声学模型有差别,比如音调值或者发音时长会有偏差,这样切分出的用户发音切分结果准确性需要进一步提高。根据用户发音切分结果可以获得新的音素声学模型序列,新的音素声学模型序列是更靠近用户真实发音的音素声学模型序列,将音频帧与新的音素声学模型序列中的各音素声学模型按顺序进行匹配,获得匹配结果,直至满足迭代停止条件。通过迭代可以逐次提高用户发音切分结果的准确性,逐渐靠近用户的真实发音情况。

迭代停止条件是指在满足时停止迭代的判断条件,可以是获得的新的音素声学模型序列与前次获得的音素声学模型序列一致,也可以是迭代次数达到预设次数,还可以是获得的新的音素声学模型序列与前次获得的音素声学模型序列偏差小于预设偏差,该偏差可以是新的音素声学模型序列与前次获得的音素 声学模型序列中相同位置处的音素声学模型不相同的次数。

本实施例中,通过迭代来逐渐提高从用户演唱数据中切分出用户发音切分结果的准确性,从而使得根据用户发音切分结果所进行的精确分析更加准确。

如图7所示,在一个实施例中,一种用户演唱数据处理方法,具体包括如下步骤:

步骤702,根据指定歌曲的各参考音素的参考音调值、参考发音时长值以及相邻音素获取与每个参考音素对应的音素声学模型,获得音素声学模型序列。

步骤704,将指定歌曲的用户演唱数据划分音频帧。

步骤706,将音频帧与音素声学模型序列中的各音素声学模型进行匹配,获得匹配结果。

步骤708,根据匹配结果从用户演唱数据中切分出用户发音切分结果。

步骤710,计算用户发音切分结果对应的用户发音音素的用户音调值和用户发音时长值,并获得用户发音音素的相邻音素。

具体地,电子设备根据匹配结果,并按照音频帧将用户演唱数据进行切分,获得用户发音切分结果。切分出的数据是与音素声学模型序列中的各音素声学模型匹配的,从而可以确定用户发音音素序列,从而可以根据用户发音音素序列确定其中每个用户发音音素的相邻音素。

而且,根据用户演唱数据中与用户发音音素对应的音频数据的时间戳可以计算出用户发音时长值,比如求取用户演唱数据中与用户发音音素对应的音频数据的最大时间戳与最小时间戳的差作为用户发音时长值。

音调值是与频率值正相关的,利用上述公式(1),根据用户演唱数据中与用户发音音素对应的音频数据的频率值便可以计算出用户音调值,具体可采用求对应的音频数据的所有频率值的平均值后,利用该平均值求取用户音调值;或者也可以从用户演唱数据的与用户发音音素对应的音频数据中按照预设方式采集若干样本计算平均值,再利用该平均值求取用户音调值。

步骤712,根据用户发音音素的用户音调值、户发音时长值以及相邻音素获取相应的音素声学模型,获得新的音素声学模型序列。

具体地,电子设备可根据用户发音音素的用户音调值、户发音时长值以及 相邻音素,从训练好的音素声学模型中获取相应的音素声学模型,将获取的音素声学模型按照用户发音音素的顺序构成音素声学模型序列。

步骤714,判断当前获得的新的音素声学模型序列是否与前次获得的音素声学模型序列一致。若一致则执行步骤716,若不一致则根据新的音素声学模型序列执行步骤706。

具体地,判断当前获得的新的音素声学模型序列是否与前次获得的音素声学模型序列一致,是判断是否满足迭代停止条件的步骤。如果判定一致,相邻两次获得的音素声学模型序列是一致的,说明迭代收敛,当前获得的音素声学模型序列是与用户真实发音适配的。如果不一致,则需要进一步迭代来获得更接近用户真实发音的音素声学模型序列,则将音频帧与当前新的音素声学模型序列中的各音素声学模型进行匹配,获得匹配结果,并经过步骤708至步骤712之后,再次判断当前获得的新的音素声学模型序列是否与前次获得的音素声学模型序列一致。

步骤716,输出当前切分出的用户发音切分结果。

具体地,当判定当前获得的新的音素声学模型序列与前次获得的音素声学模型序列一致时,可将当前切分出的用户发音结果作为最终的用户发音切分结果输出。

步骤718,获取用户发音切分结果对应的用户发音音素的用户音调值和用户发音时长值。

具体地,电子设备获得最终的用户发音切分结果后,获取相应的用户发音音素的用户音调值和用户发音时长值。根据用户演唱数据中与用户发音音素对应的音频数据的时间戳可以计算出用户发音时长值,比如求取用户演唱数据中与用户发音音素对应的音频数据的最大时间戳与最小时间戳的差作为用户发音时长值。音调值是与频率值正相关的,利用上述公式(1),根据用户演唱数据中与用户发音音素对应的音频数据的频率值便可以计算出用户音调值,具体可采用求对应的音频数据的所有频率值的平均值后,利用该平均值求取用户音调值;或者也可以从用户演唱数据的与用户发音音素对应的音频数据中按照预设方式采集若干样本计算平均值,再利用该平均值求取用户音调值。

步骤720,根据用户音调值与相应的参考音素的参考音调值的差异,和/或用户发音时长值与相应的参考音素的参考发音时长值的差异,进行用户演唱发音评测。

其中,用户演唱发音评测是指对用户发音与指定歌曲的参考文件(比如简谱文件)中记录的参考数据是否相符或者相符程度的量化评价。电子设备可根据用户发音切分结果与参考文件的差异来进行用户演唱发音评测。用户发音切分结果与参考文件的差异包括用户音调值与相应的参考音素的参考音调值的差异,和/或用户发音时长值与相应的参考音素的参考发音时长值的差异。进行用户演唱发音评测可以是将差异之处标识出来,也可以将差异量化后输出评测分数。

本实施例中,考虑到在对用户演唱数据进行用户演唱发音评测时,当用户演唱的部分音调和发音时长没掌握好,就会导致与最初确定的音素声学模型序列不匹配,这种情况下可以说用户唱的不好,并不是完全唱错了。因此,这里通过迭代来不断地纠正音素声学模型序列,使得切分出的用户发音切分结果更加符合用户的真实发音,进而使得用户演唱发音评测更加准确。

如图8所示,在一个实施例中,步骤720具体包括如下步骤:

步骤802,将用户音调值与相应参考音素的参考音调值进行比较,确定偏离参考音调值超过第一预设幅度的用户音调值。

具体地,将用户发音切分结果对应的用户发音音素的用户音调值,与相应的参考音素的参考音调值进行比较,确定存在差异的用户音调值。其中用户音调值与相应的参考音调值的偏离幅度不超过第一预设幅度是用户音调值差异的容错范围,在该容错范围内的用户音调值可视为是准确的,而在该容错范围之外的用户音调值则可认为是存在差异的用户音调值。

步骤804,将用户发音时长值与相应参考音素的参考发音时长值进行比较,确定偏离参考发音时长值超过第二预设幅度的用户发音时长值。

具体地,将用户发音切分结果对应的用户发音音素的用户发音时长值,与相应的参考音素的参考发音时长值进行比较,确定存在差异的用户发音时长值。其中用户发音时长值与相应的参考发音时长值的偏离幅度不超过第二预设幅度 是用户发音时长值差异的容错范围,在该容错范围内的用户发音时长值可视为是准确的,而在该容错范围之外的用户发音时长值则可认为是存在差异的用户发音时长值。

步骤806,分别标记确定的用户音调值和确定的用户发音时长值在用户演唱数据中的位置。

具体地,电子设备可记录确定的用户音调值的时间戳和确定的用户发音时长值的时间戳,以标记出确定的用户音调值和确定的用户发音时长值在用户演唱数据中的位置。

电子设备还可以记录确定的用户音调值所对应的歌词单字在用户演唱数据中的位置,以及确定的用户发音时长值所对应的歌词单字在用户演唱数据中的位置,以标记出确定的用户音调值和确定的用户发音时长值在用户演唱数据中的位置。

电子设备还可以将标记的位置所对应的歌词单字进行差异化展示。差异化展示是指以区别于其它歌词单字的形式进行展示,比如可将标记的位置所对应的歌词单字展示为特殊的字体、字颜色以及字标记等,字标记比如下划线或标记圆点。电子设备还可以将确定的用户音调值和确定的用户发音时长值的差异程度量化为分数输出。

本实施例中,在针对用户演唱数据进行用户演唱发音评测时,将超过容错范围的用户音调值和用户发音时长值在用户演唱数据中标记出相应的位置,可以使得用户可以准确知晓演唱时与参考文件不符的地方,可实现对用户演唱数据准确地进行评测。

如图9,在一个实施例中,提供了一种用户演唱数据处理装置900,包括:音素声学模型获取模块901、音频帧划分模块902、匹配模块903和切分模块904。

音素声学模型获取模块901,用于根据指定歌曲的各参考音素的参考音调值、参考发音时长值以及相邻音素获取与每个参考音素对应的音素声学模型,获得音素声学模型序列。

音频帧划分模块902,用于将指定歌曲的用户演唱数据划分音频帧。

匹配模块903,用于将音频帧与音素声学模型序列中的各音素声学模型进行匹配,获得匹配结果。

切分模块904,用于根据匹配结果从用户演唱数据中切分出用户发音切分结果。

上述用户演唱数据处理装置900,将指定歌曲的参考演唱数据划分音素,每个音素具有参考音调值、参考发音时长值以及相邻音素,从而可获得每个音素对应的音素声学模型,构成音素声学模型序列。将指定歌曲的用户演唱数据按音频帧与音素声学模型序列中的各音素声学模型按顺序进行匹配,并根据匹配结果从用户演唱数据中切分用户发音音素,便可以将用户演唱数据进行精确分析。其中音素声学模型按照音调值、发音时长以及相邻音素进行细分,使得音素声学模型可以准确地识别出不同演唱场景下的音素,适用于演唱数据的音素的精确分析。

如图10所示,在一个实施例中,用户演唱数据处理装置900还包括:训练模块905,用于为待训练的音素集合中的每个音素分配可选相邻音素、可选音调值和可选发音时长值。对于音素集合中的每个音素,根据相应的可选相邻音素、可选音调值以及可选发音时长值的各种组合所对应的训练样本,训练获得与每个音素对应的音素声学模型。

本实施例中,在训练音素声学模型时,考虑待训练的音素的各种可选相邻音素、可选音调值以及可选发音时长值的组合,以可尽可能覆盖待训练的音素可能的上下文环境以及音乐环境,进而可以保证训练出的音素声学模型可适用于演唱数据的精确分析。

如图11所示,在一个实施例中,匹配模块903包括:匹配度计算模块903a、可选路径确定模块903b、置信度计算模块903c和最优路径确定模块903d。

匹配度计算模块903a,用于计算每个音频帧与音素声学模型序列中每个音素声学模型的匹配度。

可选路径确定模块903b,用于确定将用户演唱数据中的音频帧与音素声学模型序列中的各音素声学模型按顺序进行匹配的可选路径。

置信度计算模块903c,用于根据每种可选路径下相应的匹配度计算每种可 选路径的置信度。

最优路径确定模块903d,用于根据置信度从可选路径中确定最优路径,以获得最优路径所表示的音频帧与音素声学模型序列中的各音素声学模型的匹配结果。

本实施例中,通过计算音频帧与音素声学模型序列的匹配度,从而根据匹配度计算可选路径的置信度,进而根据置信度确定最优路径,以确定音频帧与音素声学模型序列中的各音素声学模型的匹配结果。这样可以搜索到最优的匹配结果,可尽量保证匹配结果的准确性,进而保证用户发音切分结果的准确性。

如图12所示,在一个实施例中,用户演唱数据处理装置900还包括:音素声学模型序列更新模块906,用于根据用户发音切分结果获得新的音素声学模型序列,并通知匹配模块903将音频帧与新的音素声学模型序列中的各音素声学模型按顺序进行匹配,直至满足迭代停止条件。本实施例中,通过迭代来逐渐提高从用户演唱数据中切分出用户发音切分结果的准确性,从而使得根据用户发音切分结果所进行的精确分析更加准确。

如图13所示,在一个实施例中,用户演唱数据处理装置900还包括:计算模块907、判断模块909和输出模块910。

计算模块907,用于计算用户发音切分结果对应的用户发音音素的用户音调值和用户发音时长值,并获得用户发音音素的相邻音素。

音素声学模型序列更新模块906,用于根据用户发音音素的用户音调值、户发音时长值以及相邻音素获取相应的音素声学模型,获得新的音素声学模型序列。

判断模块909,用于判断当前获得的新的音素声学模型序列是否与前次获得的音素声学模型序列一致。

输出模块910,用于若判断模块判断结果为一致,则输出当前切分出的用户发音切分结果。

匹配模块903还用于若判断模块判断结果为不一致,则将音频帧与当前获得的音素声学模型序列中的各音素声学模型进行匹配。

如图14所示,在一个实施例中,用户演唱数据处理装置900还包括:获取 模块911和用户演唱发音评测模块912。

获取模块911,用于获取用户发音切分结果对应的用户发音音素的用户音调值和用户发音时长值。

用户演唱发音评测模块912,用于根据用户音调值与相应的参考音素的参考音调值的差异,和/或用户发音时长值与相应的参考音素的参考发音时长值的差异,进行用户演唱发音评测。

本实施例中,考虑到在对用户演唱数据进行用户演唱发音评测时,当用户演唱的部分音调和发音时长没掌握好,就会导致与最初确定的音素声学模型序列不匹配,这种情况下可以说用户唱的不好,并不是完全唱错了。因此,这里通过迭代来不断地纠正音素声学模型序列,使得切分出的用户发音切分结果更加符合用户的真实发音,进而使得用户演唱发音评测更加准确。

如图15所示,在一个实施例中,用户演唱发音评测模块912包括:第一比较模块912a、第二比较模块912b和标记模块912c。

第一比较模块912a,用于将用户音调值与相应参考音素的参考音调值进行比较,确定偏离参考音调值超过第一预设幅度的用户音调值。

第二比较模块912b,用于将用户发音时长值与相应参考音素的参考发音时长值进行比较,确定偏离参考发音时长值超过第二预设幅度的用户发音时长值。

标记模块912c,用于分别标记确定的用户音调值和确定的用户发音时长值在用户演唱数据中的位置。

本实施例中,在针对用户演唱数据进行用户演唱发音评测时,将超过容错范围的用户音调值和用户发音时长值在用户演唱数据中标记出相应的位置,可以使得用户可以准确知晓演唱时与参考文件不符的地方,可实现对用户演唱数据准确地进行评测。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory, rom)等非易失性存储介质,或随机存储记忆体(randomaccessmemory,ram)等。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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