1.本技术涉及语音识别技术领域,特别涉及一种确定歌词时间方法、设备和存储介质。
背景技术:
2.在音乐播放应用程序播放歌曲时,歌曲播放界面通常可以显示对应当前歌曲播放进度的歌词。实现这一效果需要用到带有歌词时间戳的歌词文本。歌词时间戳即包括歌词文本中每个字的演唱起始时间点和演唱结束时间点。
3.目前,歌词文件中的歌词时间戳通常是通过人工标注得到的,但是音乐播放应用程序对应的曲库中每天都会新增大量的歌曲,如果仅通过人工标注的方法得到各个歌曲歌词时间戳,效率较低。
技术实现要素:
4.本技术实施例提供了一种确定歌词时间方法、设备和存储介质,能够解决相关技术中确定歌词时间戳效率低的问题。
所述技术方案如下:
5.第一方面,提供了一种确定歌词时间戳的方法,所述方法包括:
6.获取目标歌曲的歌词文本,提取所述目标歌曲中每个
音频帧的音频
特征;
7.获取预先训练的多个语音识别模型,所述多个语音识别模型分别为不同语言的歌曲数据样本训练的语音识别模型;
8.对于每个所述语音识别模型,将所述目标歌曲中每个音频帧的音频特征输入所述语音识别模型,得到每帧音频特征在所述语音识别模型的语言下对应的参考
音素状态以及参考音素状态的置信度;
9.对于每帧所述音频特征,将所述音频特征的多个置信度中的最大置信度对应的参考音素状态作为所述音频特征的对齐音素状态,并根据所述音频特征的对齐音素状态,确定所述音频特征对应的音素;
10.根据每帧所述音频特征对应的音素及演唱时间,确定所述歌词文本的歌词时间戳。
11.在一种可能的实现方式中,所述将所述目标歌曲中每个音频帧的音频特征输入所述语音识别模型,得到每帧音频特征在所述语音识别模型的语言下对应的参考音素状态以及参考音素状态的置信度,包括:
12.将所述目标歌曲中每个音频帧的音频特征和所述歌词文本的音素序列输入所述语音识别模型,得到所述语音识别模型输出的每帧所述音频特征在所述音素序列中对应的参考音素状态以及对应所述参考音素状态的第一概率;
13.将所述目标歌曲中每个音频帧的音频特征和所述语音识别模型所属语言的音素集输入所述语音识别模型,得到所述语音识别模型输出的每帧所述音频特征在所述音素集中对应所述参考音素状态的第二概率;
14.对于每帧音频特征,根据所述音频特征对应所述参考音素状态的第一概率和第二概率,确定所述音频特征在所述语音识别模型的语言下对应所述参考音素状态的置信度。
15.在一种可能的实现方式中,所述将所述目标歌曲中每个音频帧的音频特征和所述歌词文本的音素序列输入所述语音识别模型,得到所述语音识别模型输出的每帧所述音频特征在所述音素序列中对应的参考音素状态以及对应所述参考音素状态的第一概率,包括:
16.将所述目标歌曲中每个音频帧的音频特征和所述歌词文本的音素序列输入所述语音识别模型,得到所述语音识别模型输出的每帧所述音频特征在所述音素序列中对应每个音素状态的概率;
17.对于每个所述音频特征,将所述音频特征的最大概率对应的音素状态作为所述音频特征对应的参考音素状态,并将所述最大概率确定为所述音频特征对应所述参考音素状态的第一概率。
18.在一种可能的实现方式中,所述将所述目标歌曲中每个音频帧的音频特征和所述语音识别模型所属语言的音素集输入所述语音识别模型,得到所述语音识别模型输出的每帧所述音频特征在所述音素集中对应所述参考音素状态的第二概率,包括:
19.将所述目标歌曲中每个音频帧的音频特征和所述语音识别模型所属语言的音素集输入所述语音识别模型,得到所述语音识别模型输出的每帧所述音频特征在所述音素集中对应每个音素状态的概率;
20.在所述音频特征对应每个音素状态的概率中,获取所述音频特征对应所述参考音素状态概率作为所述第二概率。
21.在一种可能的实现方式中,所述根据所述音频特征对应所述参考音素状态的第一概率和第二概率,确定所述音频特征在所述语音识别模型的语言下对应所述参考音素状态的置信度,包括:
22.将所述音频特征对应所述参考音素状态的第一概率除以对应所述参考音素状态的第二概率,得到所述音频特征在所述语音识别模型的语言下对应所述参考音素状态的置信度。
23.在一种可能的实现方式中,还包括:
24.根据混合发音词典,确定所述歌词文本的音素序列;其中所述混合发音词典由所述多个语音识别模型所属语言的发音词典组成。
25.在一种可能的实现方式中,所述根据所述音频特征的对齐音素状态,确定所述音频特征对应的音素,包括:
26.根据音素状态和音素的对应关系,确定所述音频特征的对齐音素状态对应的音素,作为所述音频特征对应的音素。
27.在一种可能的实现方式中,所述获取目标歌曲的歌词文本,包括:
28.获取所述目标歌曲的初始歌词文本;
29.对所述初始歌词文本进行非歌词信息滤除处理,得到所述目标歌曲的歌词文本。
30.第二方面,提供了一种确定歌词时间戳的装置,所述装置包括:
31.获取模块,用于获取目标歌曲的歌词文本,提取所述目标歌曲中每个音频帧的音频特征;
32.识别模块,用于获取预先训练的多个语音识别模型,所述多个语音识别模型分别为不同语言的歌曲数据样本训练的语音识别模型;对于每个所述语音识别模型,将所述目标歌曲中每个音频帧的音频特征输入所述语音识别模型,得到每帧音频特征在所述语音识别模型的语言下对应的参考音素状态以及参考音素状态的置信度;
33.对齐模块,用于对于每帧所述音频特征,将所述音频特征的多个置信度中的最大置信度对应的参考音素状态作为所述音频特征的对齐音素状态,并根据所述音频特征的对齐音素状态,确定所述音频特征对应的音素;
34.确定模块,用于根据每帧所述音频特征对应的音素及演唱时间,确定所述歌词文本的歌词时间戳。
35.在一种可能的实现方式中,所述识别模块,用于:
36.将所述目标歌曲中每个音频帧的音频特征和所述歌词文本的音素序列输入所述语音识别模型,得到所述语音识别模型输出的每帧所述音频特征在所述音素序列中对应的参考音素状态以及对应所述参考音素状态的第一概率;
37.将所述目标歌曲中每个音频帧的音频特征和所述语音识别模型所属语言的音素集输入所述语音识别模型,得到所述语音识别模型输出的每帧所述音频特征在所述音素集中对应所述参考音素状态的第二概率;
38.对于每帧音频特征,根据所述音频特征对应所述参考音素状态的第一概率和第二概率,确定所述音频特征在所述语音识别模型的语言下对应所述参考音素状态的置信度。
39.在一种可能的实现方式中,所述识别模块,用于:
40.将所述目标歌曲中每个音频帧的音频特征和所述歌词文本的音素序列输入所述语音识别模型,得到所述语音识别模型输出的每帧所述音频特征在所述音素序列中对应每个音素状态的概率;
41.对于每个所述音频特征,将所述音频特征的最大概率对应的音素状态作为所述音频特征对应的参考音素状态,并将所述最大概率确定为所述音频特征对应所述参考音素状态的第一概率。
42.在一种可能的实现方式中,所述识别模块,用于:
43.将所述目标歌曲中每个音频帧的音频特征和所述语音识别模型所属语言的音素集输入所述语音识别模型,得到所述语音识别模型输出的每帧所述音频特征在所述音素集中对应每个音素状态的概率;
44.在所述音频特征对应每个音素状态的概率中,获取所述音频特征对应所述参考音素状态概率作为所述第二概率。
45.在一种可能的实现方式中,所述识别模块,用于:
46.将所述音频特征对应所述参考音素状态的第一概率除以对应所述参考音素状态的第二概率,得到所述音频特征在所述语音识别模型的语言下对应所述参考音素状态的置信度。
47.在一种可能的实现方式中,所述获取模块,还用于:
48.根据混合发音词典,确定所述歌词文本的音素序列;其中所述混合发音词典由所述多个语音识别模型所属语言的发音词典组成。
49.在一种可能的实现方式中,所述对齐模块,用于:
50.根据音素状态和音素的对应关系,确定所述音频特征的对齐音素状态对应的音素,作为所述音频特征对应的音素。
51.在一种可能的实现方式中,所述获取模块,用于:
52.获取所述目标歌曲的初始歌词文本;
53.对所述初始歌词文本进行非歌词信息滤除处理,得到所述目标歌曲的歌词文本。
54.第三方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上述第一方面所述的确定歌词时间戳的方法所执行的操作。
55.第四方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如上述第一方面所述的确定歌词时间戳的方法所执行的操作。
56.第五方面,提供了一种计算机程序产品,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如上述第一方面所述的确定歌词时间戳的方法所执行的操作。
57.本技术实施例所示的方案至少包括如下有益效果:
58.在本技术实施例提供的确定歌词时间戳的方法中,无需人工进行歌词时间戳标注,而是使用模型自动确定歌词时间戳,可以提高歌词时间戳的确定效率。此外,本本技术中,通过多个语音识别模型得到每帧音频特征在多种语言下对应的参考音素状态以及对应相应参考音素状态的置信度。进而,对于每帧音频特征来说,在多种语言下分别对应的参考音素状态中,选择置信度最大的参考音素状态作为该音频特征的对齐音素状态。相比于使用单一语音识别模型,通过本技术提供的方法选择出的对齐音素状态更加准确,从而,使得最后得到的歌词时间戳更加准确。
附图说明
59.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
60.图1是本技术实施例提供的确定歌词时间戳的一种方法流程图;
61.图2是本技术实施例提供的确定歌词时间戳的另一方法流程图;
62.图3是本技术实施例提供的确定歌词时间戳的又一方法流程图;
63.图4是本技术实施例提供的确定歌词时间戳的装置结构示意图;
64.图5是本技术实施例提供的终端的结构示意图;
65.图6是本技术实施例提供的服务器的结构示意图。
具体实施方式
66.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
67.为了便于对本技术实施例的理解,下面对本技术实施例中涉及的名词进行说明:
68.一、音素
69.音素是根据语言的自然属性划分出来的最小语音单位,一个发音动作形成一个音素。例如,“啊”、“波”、“得”的发音,每个发音可对应一个音素。音素有多种表示方式,例如普通话的发音对应的音素可以通过拼音表示,如“普通话”这三个字的发音对应的音素可以分别通过“p、u、t、o、ng、h、u、a”表示。对于英文的发音对应的音素可以通过音标表示,如/i/、/i/、/e/等。
70.二、音素状态
71.音素状态是通过将每个音素进行划分,得到的更细致的语音单位,一般一个音素可对应三个音素状态(音素状态可以以隐马尔科夫状态表示),三个音素状态分别为:音素发音的起始音状态、持续音状态和结束音状态。
72.三、发音词典
73.发音词典中可以记录字(单词)与音素之间的映射关系,即每个字(单词)对应的音素。根据所属语言不同,发音词典可以分为汉语发音词典、英语发音词典、日语发音词典等。在汉语发音词典中可以记录每个汉字与拼音的映射关系,在英语发音词典中可以记录每个英文单词与音标的映射关系。其中,拼音和音标都是音素的表示方式。或者,在每种语言的发音词典中均可以采用国际音标(international phonetic alphabet,ipa)作为音素的表示方式。还可以采用字素到音素(grapheme-to-phoneme,g2p)代替ipa。还有一种发音词典,可以称为混合发音词典,混合发音词典是各语言发音词典的集合。
74.本技术实施例提供了一种确定歌词时间戳的方法,该方法可以由终端实现,也可以由服务器实现。
75.在由服务器实现时,可以是技术人员批量制作带有歌词时间戳的歌词文件,在此情况下,技术人员便可以通过控制服务器执行本技术实施例的确定歌词时间戳的方法,制作带有歌词时间戳的歌词文本。
76.在由终端实现时,可以是终端获取到歌曲音频和歌词文本,且歌曲音频和歌词属于同一首歌,用户想要在播放歌曲音频时,歌词文本随歌曲音频的播放而显示相应的歌词。在此情况下,终端便可以通过执行本技术实施例提供的方法,确定歌词文本中歌词的时间戳,进而,便可以实现歌词根据对应的时间戳进行突出显示。当然,在由终端实现时,也可以是技术人员批量制作带有歌词时间戳的歌词文件,对于具体的应用场景本技术实施例不做限定。
77.在本技术实施例提供的确定歌词时间戳的方法中,通过多个语音识别模型得到每帧音频特征在多种语言下对应的参考音素状态以及对应相应参考音素状态的置信度。进而,对于每帧音频特征来说,在多种语言下分别对应的参考音素状态中,选择置信度最大的参考音素状态作为该音频特征的对齐音素状态。相比于使用单一语音识别模型,通过本技术提供的方法选择出的对齐音素状态更加准确,从而,使得最后得到的歌词时间戳更加准确。
78.为了便于理解,下面结合图1,对本技术实施例提供的确定歌词时间戳的方法进行示例性说明。参见图1,将目标歌曲的音频特征输入预先训练的多个语音识别模型中,其中,多个语音识别模型包括语言1的语音识别模型、语言2的语音识别模型
…
语言n的语音识别模型等。对于每帧音频特征来说,通过语言1的语音识别模型可以得到该音频特征在语言1
下对应的参考音素状态1,以及对应参考音素状态1的置信度;通过语言2的语音识别模型可以得到该音频特征在语言2下对应的参考音素状态2,以及对应参考音素状态2的置信度;通过语言n的语音识别模型可以得到该音频特征在语言n下对应的参考音素状态n,以及对应参考音素状态n的置信度,其他语音识别模型同理。然后,对于该帧音频特征来说,在参考音素状态1、参考音素状态2
…
参考音素状态n中选择置信度最高的参考音素状态,作为该帧音频特征的对齐音素状态。进而,根据每帧音频特征的对齐音素状态,确定歌词文本的歌词时间戳。
79.下面对本技术实施例提供的确定歌词时间戳的方法进行说明,参见图2,该方法的处理可以包括如下步骤:
80.步骤201、获取目标歌曲的歌词文本。
81.在实施中,可以在数据库或者网络上下载目标歌曲的初始歌词文本,或者在本地获取目标歌曲的初始歌词文本。由于歌曲的初始歌词文本中除了歌词之外,通常还包括一些非歌词信息,因此,可以对初始歌词文本进行非歌词信息滤除处理,得到后续处理待使用的歌词文本。
82.非歌词信息,例如目标歌曲对应歌名以及对应的歌手、作曲、作词等信息。相应的,非歌词信息的滤除处理可以包括检测关键字、关键符号等,对初始歌词文本进行非歌词信息滤除处理。例如,可以对“《》”进行检测,删除“《》”以及“《》”中包括的文本,又例如,删除包括“作曲”、“演唱者”、“作词”等关键字的句子。
83.步骤202、获取歌词文本对应的音素序列。
84.其中,歌词文本对应的音素序列中包括歌词文本中每个字对应的音素。
85.在实施中,在混合发音词典中,确定出歌词文本中每个字对应的音素。每个字对应的音素按照对应字在歌词文本中的顺序排列,便组成了歌词文本对应的音素序列。
86.其中,混合发音词典可以包括各种语言的字(单词)所对应的音素,这里的音素可以为国际音标。各种语言可以为不同国家的官方语言,如汉语、英语、韩语、日语等,也可以为一个国家的不同方言,如粤语、闽语、客家语、赣语等。
87.步骤203、提取目标歌曲的音频特征。
88.在实施中,在提取音频特征之前,可以先对目标歌曲的音频进行分帧处理,然后,对每个音频帧提取音频特征,一帧音频对应一帧音频特征。
89.在一种可能的实现方式中,音频特征可以为梅尔频率倒谱(mel-frequency cepstrum,mfcc)特征。
90.步骤204、对于预先训练的多个语音识别模型中的每个语音识别模型,将目标歌曲的音频特征输入该语音识别模型中,得到每帧音频特征在该语音识别模型所属语言下对应的参考音素状态以及对应参考音素状态的置信度。
91.其中,每个语音识别模型由声学模型和语言模型组成,不同的语音识别模型是由不同语言的歌曲数据样本(包括歌曲音频和对应的歌词文本)训练得到的。不同的语言模型是由不同语言的字所对应的音素状态、音素状态的自转移和音素状态间转移的概率构成的。
92.例如,多个语音识别模型分别对应汉语、英语、韩语、日语。其中,对应汉语的语音识别模型是由汉语歌曲和歌词文本训练得到的,且该语音识别模型中的语言模型是由汉语
歌词中的字所对应的音素状态、音素状态的自转移和音素状态间转移的概率构成的;对应英语的语音识别模型是由英语歌曲和歌词文本训练得到的,且该语音识别模型中的语言模型是由英语歌词中的字(单词)所对应的音素状态、音素状态的自转移和音素状态间转移的概率构成的;对应韩语的语音识别模型是由韩语歌曲和歌词文本训练得到的,且该语音识别模型中的语言模型是由韩语歌词中的字所对应的音素状态、音素状态的自转移和音素状态间转移的概率构成的;对应日语的语音识别模型是由日语歌曲和歌词文本训练得到的,且该语音识别模型中的语言模型是由日语歌词中的字所对应的音素状态、音素状态的自转移和音素状态间转移的概率构成的。
93.对于任一语言的语音识别模型中的语言模型来说,语言模型的构建方法可以如下:
94.从曲库中获取大量该语言的歌词文本,进行分字、分词处理,然后,使用国际音标给每个字添加对应的音素,得到该语言的歌词发音词典。再然后,在该歌词发音词典中,分离出所有音素,构建该语言的音素集。然后,对于音素集中的每个音素使用三个隐马尔科夫状态(音素状态)表示,并统计各音素状态的自转移和音素状态间转移的转移概率,得到该语言的隐马尔科夫模型(也即是语言模型)。
95.下面对步骤204的处理进行说明,步骤204的处理可以包括如下几个子步骤:
96.步骤2041、对于每个语音识别模型,将目标歌曲的音频特征和音素序列输入该语音识别模型中,对于每帧音频特征,得到该语音识别模型输出的该音频特征对应音素序列中每个音素状态的概率,将最大概率对应的音素状态作为该音频特征对应的参考音素状态,相应的,该最大概率可以称为该音频特征对应该参考音素状态的第一概率。
97.在实施中,语音识别模型根据解码图输出音频特征对应各音素状态的概率。在输入相同音频特征的情况下,如果语音识别模型基于的解码图不同,所输出的音频特征对应各音素状态的概率也是不同的。
98.对于每个语音识别模型,首先,根据目标歌曲的音素序列以及该语音识别模型的全局解码图,确定音素序列对应的解码图,音素序列对应的解码图是语音识别模型的全局解码图的子集。音素序列对应的解码图中的各可能解码路径仅包括该音素序列和目标语言的音素集的共有音素的音素状态,而全局解码图中解码路径可以包括该语音识别模型所属的目标语言的音素集中各音素的音素状态。然后,将目标歌曲的音频序列输入语音识别模型,使语音识别模型根据音素序列对应的解码图,输出每帧音频特征对应音素序列中每个音素状态的概率。对于每帧音频特征,将最大概率对应的音素状态,作为该音频特征在该语音识别所属语言下对应的参考音素状态,将对应的概率记作第一概率。
99.例如,如图3所示,对于语言1的语音识别模型,首先,确定音素序列对应的第一解码图。然后,将音素序列输入语言1的语音识别模型。对于目标歌曲的任一帧音频特征(记作音频特征1),语言1的语音识别模型输出该音频特征1对应音素状态1的概率、对应音素状态2的概率
…
对应音素状态a的概率,其中,音素状态1、音素状态2
…
音素状态a为音素序列和语言1的音素集共有音素的音素状态,也即是,第一解码图中的各音素状态。然后,在该音频特征1对应第一解码图中各音素状态的概率中,选择最大概率对应的音素状态作为参考音素状态1,相应的,该最大概率作为该音频特征1对应参考音素状态1的第一概率。同理,对于语言2的语音识别模型,可以得到音频特征1对应参考音素状态2,以及对应该参考音素状态
2的第一概率。对于语言n的语音识别模型,可以得到音频特征1对应参考音素状态n,以及对应该参考音素状态n的第一概率。对于具体使用多少个语音识别模型可以根据实际需求配置,本技术不做限定。
100.步骤2042、对于每个语音识别模型,将目标歌曲的音频特征和该语音识别模型所属语言的音素集输入该语音识别模型,对于每帧音频特征,得到该语音识别模型输出的该音频特征对应该音素集中每个音素状态的概率,在该音频特征对应该音素集中每个音素状态的概率中,获取该音频特征对应参考音素状态的第二概率。
101.在实施中,对于每个语音识别模型,首先,根据语音识别模型所属语言的音素集确定该语音识别模型的全局解码图。在一种可能的实现中,全局解码图可以是预设的,此处只需在本地获取该语音识别模型的全局解码图即可。然后,将目标歌曲的音频序列输入语音识别模型,使语音识别模型根据全局解码图,输出每帧音频特征对应该语音识别模型所属语言的音素集中每个音素状态的概率。对于每帧音频特征,在该音频特征对应该语音识别模型所属语言的音素集中每个音素状态的概率中,获取该音频特征对应其在该语音识别模型所属语言下的参考音素状态的第二概率。其中,该音频特征在该语音识别模型所属语言下的参考音素状态在步骤2041中已经被确定。
102.下面结合步骤2041中的示例,对步骤2042的处理进行举例说明。
103.例如,如图3所示,对于语言1的语音识别模型,首先获取该语音识别模型的全局解码图。然后,将音素序列输入语言1的语音识别模型。对于目标歌曲的任一帧音频特征(记作音频特征1),语言1的语音识别模型输出该音频特征1对应音素状态1的概率、对应音素状态2的概率
…
对应音素状态b的概率,其中,音素状态1、音素状态2
…
音素状态b为语言1的音素集中的各音素状态,也即是,全局解码图中的各音素状态。然后,在该音频特征1对应全局解码图中各音素状态的概率中,确定参考音素状态1的第二概率。同理,对于语言2的语音识别模型,可以得到音频特征1对应参考音素状态2的第二概率。对于语言n的语音识别模型,可以得到音频特征1对应参考音素状态n的第二概率。
104.步骤2043、对于每帧音频特征,将该音频特征在语音识别模型所属语言下对应参考音素状态的第一概率除以第二概率,得到音频特征在语音识别模型所属语言下对应参考音素状态的置信度。
105.下面结合步骤2041和步骤2042的示例,对步骤2043的处理进行举例说明。
106.例如,如图3所示,对于目标歌曲的任一帧音频特征(记作音频特征1),计算该音频特征1对应参考音素状态1的第一概率和对应参考音素状态1的第二概率的比值,得到音频特征1在语言1下对应参考音素状态1的置信度。计算该音频特征1对应参考音素状态2的第一概率和对应参考音素状态2的第二概率的比值,得到音频特征1在语言2下对应参考音素状态2的置信度。计算该音频特征1对应参考音素状态n的第一概率和对应参考音素状态n的第二概率的比值,得到音频特征1在语言n下对应参考音素状态n的置信度。
107.步骤205、对于每帧音频特征,将该音频特征的多个置信度中的最大置信度对应的参考音素状态作为该音频特征的对齐音素状态。
108.下面结合步骤2043的示例,对步骤205的处理进行说明。
109.例如,对于目标歌曲的任一帧音频特征(记作音频特征1),假设音频特征1在语言1下对应参考音素状态1的置信度为a1、音频特征1在语言2下对应参考音素状态2的置信度为
a2、
…
、音频特征1在语言n下对应参考音素状态n的置信度为an。比较a1、a2、
…
、an的大小,选择其中最大值对应的参考音素状态,作为音频特征1对应的对齐音素状态。
110.步骤206、对于每帧音频特征,根据该音频特征对应的对齐音素状态、音素状态和音素的对应关系,确定该音频特征对应的音素。
111.在实施中,每帧音频特征对应有对齐音素状态,按照音频特征的发音时间先后,可以将各音频特征对应的对齐音素状态组成对齐音素状态序列。然后,根据预先存储的音素和音素状态的对应关系,确定出对齐音素状态序列中各音素状态所对应的音素,也即确定出了各音频帧对应的音素。确定出的这些音素便组成了对齐音素状态序列对应的对齐音素序列。
112.步骤207、根据每帧音频特征对应的音素,确定每帧音频特征在歌词文本中对应的字,根据每帧音频特征对应的演唱时间,确定歌词文本的歌词时间戳。
113.其中,演唱时间包括演唱起始时间点和演唱结束时间点。
114.在实施中,对于步骤206中确定出的对齐音素序列,可以采用动态时间规划(dynamic time warping,dtw)算法,确定出对齐音素序列对应的识别歌词文本。或者,可以将对齐音素序列输入预先设置的语言模型,得到对齐音素序列对应的识别歌词文本。
115.这样,由于音频特征和对齐音素序列中的音素存在对应关系,而对齐音素序列中的音素和识别歌词文本中的字存在对应关系,则可以确定出识别歌词文本中的字和音频特征的对应关系。进而,根据音频特征演唱起始时间点和演唱结束时间点,可以确定出音频特征对应的字的演唱起始时间点和演唱结束时间点。该识别歌词文本即目标歌曲的歌词文本,其中每个字的演唱起始时间点和演唱结束时间点,便组成了目标歌曲的歌词文本的歌词时间戳。
116.在本技术实施例提供的确定歌词时间戳的方法中,无需人工进行歌词时间戳标注,而是使用模型自动确定歌词时间戳,可以提高歌词时间戳的确定效率。此外,本本技术中,通过多个语音识别模型得到每帧音频特征在多种语言下对应的参考音素状态以及对应相应参考音素状态的置信度。进而,对于每帧音频特征来说,在多种语言下分别对应的参考音素状态中,选择置信度最大的参考音素状态作为该音频特征的对齐音素状态。相比于使用单一语音识别模型,通过本技术提供的方法选择出的对齐音素状态更加准确,从而,使得最后得到的歌词时间戳更加准确。
117.上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
118.基于相同的技术构思,本技术实施例还提供了一种确定歌词时间戳的装置,该装置可以为计算机设备,如图4所示,该装置包括获取模块410、识别模块420、对齐模块430和确定模块440,其中:
119.获取模块410,用于获取目标歌曲的歌词文本,提取所述目标歌曲中每个音频帧的音频特征;
120.识别模块420,用于获取预先训练的多个语音识别模型,所述多个语音识别模型分别为不同语言的歌曲数据样本训练的语音识别模型;对于每个所述语音识别模型,将所述目标歌曲中每个音频帧的音频特征输入所述语音识别模型,得到每帧音频特征在所述语音识别模型的语言下对应的参考音素状态以及参考音素状态的置信度;
121.对齐模块430,用于对于每帧所述音频特征,将所述音频特征的多个置信度中的最大置信度对应的参考音素状态作为所述音频特征的对齐音素状态,并根据所述音频特征的对齐音素状态,确定所述音频特征对应的音素;
122.确定模块440,用于根据每帧所述音频特征对应的音素及演唱时间,确定所述歌词文本的歌词时间戳。
123.在一种可能的实现方式中,所述识别模块420,用于:
124.所述目标歌曲中每个音频帧的音频特征和所述歌词文本的音素序列输入所述语音识别模型,得到所述语音识别模型输出的每帧所述音频特征在所述音素序列中对应的参考音素状态以及对应所述参考音素状态的第一概率;
125.将所述目标歌曲中每个音频帧的音频特征和所述语音识别模型所属语言的音素集输入所述语音识别模型,得到所述语音识别模型输出的每帧所述音频特征在所述音素集中对应所述参考音素状态的第二概率;
126.对于每帧音频特征,根据所述音频特征对应所述参考音素状态的第一概率和第二概率,确定所述音频特征在所述语音识别模型的语言下对应所述参考音素状态的置信度。
127.在一种可能的实现方式中,所述识别模块420,用于:
128.将所述目标歌曲中每个音频帧的音频特征和所述歌词文本的音素序列输入所述语音识别模型,得到所述语音识别模型输出的每帧所述音频特征在所述音素序列中对应每个音素状态的概率;
129.对于每个所述音频特征,将所述音频特征的最大概率对应的音素状态作为所述音频特征对应的参考音素状态,并将所述最大概率确定为所述音频特征对应所述参考音素状态的第一概率。
130.在一种可能的实现方式中,所述识别模块420,用于:
131.将所述目标歌曲中每个音频帧的音频特征和所述语音识别模型所属语言的音素集输入所述语音识别模型,得到所述语音识别模型输出的每帧所述音频特征在所述音素集中对应每个音素状态的概率;
132.在所述音频特征对应每个音素状态的概率中,获取所述音频特征对应所述参考音素状态概率作为所述第二概率。
133.在一种可能的实现方式中,所述识别模块420,用于:
134.将所述音频特征对应所述参考音素状态的第一概率除以对应所述参考音素状态的第二概率,得到所述音频特征在所述语音识别模型的语言下对应所述参考音素状态的置信度。
135.在一种可能的实现方式中,所述获取模块410,还用于:
136.根据混合发音词典,确定所述歌词文本的音素序列;其中所述混合发音词典由所述多个语音识别模型所属语言的发音词典组成。
137.在一种可能的实现方式中,所述对齐模块430,用于:
138.根据音素状态和音素的对应关系,确定所述音频特征的对齐音素状态对应的音素,作为所述音频特征对应的音素。
139.在一种可能的实现方式中,所述获取模块410,用于:
140.获取所述目标歌曲的初始歌词文本;
141.对所述初始歌词文本进行非歌词信息滤除处理,得到所述目标歌曲的歌词文本。
142.在本技术实施例提供的确定歌词时间戳的方法中,无需人工进行歌词时间戳标注,而是使用模型自动确定歌词时间戳,可以提高歌词时间戳的确定效率。此外,本本技术中,通过多个语音识别模型得到每帧音频特征在多种语言下对应的参考音素状态以及对应相应参考音素状态的置信度。进而,对于每帧音频特征来说,在多种语言下分别对应的参考音素状态中,选择置信度最大的参考音素状态作为该音频特征的对齐音素状态。相比于使用单一语音识别模型,通过本技术提供的方法选择出的对齐音素状态更加准确,从而,使得最后得到的歌词时间戳更加准确。
143.需要说明的是:上述实施例提供的确定歌词时间戳的装置在触发智能网业务时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的触发智能网业务的装置与触发智能网业务的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
144.图5示出了本技术一个示例性实施例提供的电子设备500的结构框图。该电子设备500可以是便携式移动终端,比如:智能手机、平板电脑、mp3播放器(moving picture experts group audio layer iii,动态影像专家压缩标准音频层面3)、mp4(moving picture experts group audio layer iv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。电子设备500还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
145.通常,电子设备500包括有:处理器501和存储器502。
146.处理器501可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器501可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器501也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器501可以集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器501还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
147.存储器502可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器502还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器502中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器501所执行以实现本技术中方法实施例提供的确定歌词时间戳的方法。
148.在一些实施例中,电子设备500还可选包括有:外围设备接口503和至少一个外围设备。处理器501、存储器502和外围设备接口503之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口503相连。具体地,外围设备包括:射频电路504、显示屏505、摄像头组件506、音频电路507、定位组件508和电源509中的至少一
种。
149.外围设备接口503可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器501和存储器502。在一些实施例中,处理器501、存储器502和外围设备接口503被集成在同一芯片或电路板上;在一些其他实施例中,处理器501、存储器502和外围设备接口503中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
150.射频电路504用于接收和发射rf(radio frequency,射频)信号,也称电磁信号。射频电路504通过电磁信号与通信网络以及其他通信设备进行通信。射频电路504将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路504包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路504可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wireless fidelity,无线保真)网络。在一些实施例中,射频电路504还可以包括nfc(near field communication,近距离无线通信)有关的电路,本技术对此不加以限定。
151.显示屏505用于显示ui(user interface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏505是触摸显示屏时,显示屏505还具有采集在显示屏505的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器501进行处理。此时,显示屏505还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏505可以为一个,设置在电子设备500的前面板;在另一些实施例中,显示屏505可以为至少两个,分别设置在电子设备500的不同表面或呈折叠设计;在另一些实施例中,显示屏505可以是柔性显示屏,设置在电子设备500的弯曲表面上或折叠面上。甚至,显示屏505还可以设置成非矩形的不规则图形,也即异形屏。显示屏505可以采用lcd(liquid crystal display,液晶显示屏)、oled(organic light-emitting diode,有机发光二极管)等材质制备。
152.摄像头组件506用于采集图像或视频。可选地,摄像头组件506包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtual reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件506还可以包括闪光灯。闪光灯可以是单温闪光灯,也可以是双温闪光灯。双温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同温下的光线补偿。
153.音频电路507可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器501进行处理,或者输入至射频电路504以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在电子设备500的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器501或射频电路504的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将
电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路507还可以包括耳机插孔。
154.定位组件508用于定位电子设备500的当前地理位置,以实现导航或lbs(location based service,基于位置的服务)。定位组件508可以是基于美国的gps(global positioning system,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
155.电源509用于为电子设备500中的各个组件进行供电。电源509可以是交流电、直流电、一次性电池或可充电电池。当电源509包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
156.在一些实施例中,电子设备500还包括有一个或多个传感器510。该一个或多个传感器510包括但不限于:加速度传感器511、陀螺仪传感器512、压力传感器513、指纹传感器514、光学传感器515以及接近传感器516。
157.加速度传感器511可以检测以电子设备500建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器511可以用于检测重力加速度在三个坐标轴上的分量。处理器501可以根据加速度传感器511采集的重力加速度信号,控制显示屏505以横向视图或纵向视图进行用户界面的显示。加速度传感器511还可以用于游戏或者用户的运动数据的采集。
158.陀螺仪传感器512可以检测电子设备500的机体方向及转动角度,陀螺仪传感器512可以与加速度传感器511协同采集用户对电子设备500的3d动作。处理器501根据陀螺仪传感器512采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。
159.压力传感器513可以设置在电子设备500的侧边框和/或显示屏505的下层。当压力传感器513设置在电子设备500的侧边框时,可以检测用户对电子设备500的握持信号,由处理器501根据压力传感器513采集的握持信号进行左右手识别或快捷操作。当压力传感器513设置在显示屏505的下层时,由处理器501根据用户对显示屏505的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
160.指纹传感器514用于采集用户的指纹,由处理器501根据指纹传感器514采集到的指纹识别用户的身份,或者,由指纹传感器514根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器501授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器514可以被设置在电子设备500的正面、背面或侧面。当电子设备500上设置有物理按键或厂商logo时,指纹传感器514可以与物理按键或厂商logo集成在一起。
161.光学传感器515用于采集环境光强度。在一个实施例中,处理器501可以根据光学传感器515采集的环境光强度,控制显示屏505的显示亮度。具体地,当环境光强度较高时,调高显示屏505的显示亮度;当环境光强度较低时,调低显示屏505的显示亮度。在另一个实施例中,处理器501还可以根据光学传感器515采集的环境光强度,动态调整摄像头组件506的拍摄参数。
162.接近传感器516,也称距离传感器,通常设置在电子设备500的前面板。接近传感器
516用于采集用户与电子设备500的正面之间的距离。在一个实施例中,当接近传感器516检测到用户与电子设备500的正面之间的距离逐渐变小时,由处理器501控制显示屏505从亮屏状态切换为息屏状态;当接近传感器516检测到用户与电子设备500的正面之间的距离逐渐变大时,由处理器501控制显示屏505从息屏状态切换为亮屏状态。
163.本领域技术人员可以理解,图5中示出的结构并不构成对电子设备500的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
164.图6是本技术实施例提供的一种服务器的结构示意图,该服务器600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,cpu)601和一个或一个以上的存储器602,其中,所述存储器1002中存储有至少一条指令,所述至少一条指令由所述处理器601加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
165.在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由终端中的处理器执行以完成上述实施例中确定歌词时间戳的方法。该计算机可读存储介质可以是非暂态的。例如,所述计算机可读存储介质可以是rom(read-only memory,只读存储器)、ram(random access memory,随机存取存储器)、cd-rom(compact disc read-only memory,光盘只读存储器)、磁带、软盘和光数据存储设备等。
166.需要说明的是,本技术所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号(包括但不限于用户终端与其他设备之间传输的信号等),均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本技术中涉及到的歌曲音频、歌词文本等都是在充分授权的情况下获取的。
167.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
168.以上所述仅为本技术的可选实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
技术特征:
1.一种确定歌词时间戳的方法,其特征在于,所述方法包括:获取目标歌曲的歌词文本,提取所述目标歌曲中每个音频帧的音频特征;获取预先训练的多个语音识别模型,所述多个语音识别模型分别为不同语言的歌曲数据样本训练的语音识别模型;对于每个所述语音识别模型,将所述目标歌曲中每个音频帧的音频特征输入所述语音识别模型,得到每帧音频特征在所述语音识别模型的语言下对应的参考音素状态以及参考音素状态的置信度;对于每帧所述音频特征,将所述音频特征的多个置信度中的最大置信度对应的参考音素状态作为所述音频特征的对齐音素状态,并根据所述音频特征的对齐音素状态,确定所述音频特征对应的音素;根据每帧所述音频特征对应的音素及演唱时间,确定所述歌词文本的歌词时间戳。2.根据权利要求1所述的方法,其特征在于,所述将所述目标歌曲中每个音频帧的音频特征输入所述语音识别模型,得到每帧音频特征在所述语音识别模型的语言下对应的参考音素状态以及参考音素状态的置信度,包括:将所述目标歌曲中每个音频帧的音频特征和所述歌词文本的音素序列输入所述语音识别模型,得到所述语音识别模型输出的每帧所述音频特征在所述音素序列中对应的参考音素状态以及对应所述参考音素状态的第一概率;将所述目标歌曲中每个音频帧的音频特征和所述语音识别模型所属语言的音素集输入所述语音识别模型,得到所述语音识别模型输出的每帧所述音频特征在所述音素集中对应所述参考音素状态的第二概率;对于每帧音频特征,根据所述音频特征对应所述参考音素状态的第一概率和第二概率,确定所述音频特征在所述语音识别模型的语言下对应所述参考音素状态的置信度。3.根据权利要求2所述的方法,其特征在于,所述将所述目标歌曲中每个音频帧的音频特征和所述歌词文本的音素序列输入所述语音识别模型,得到所述语音识别模型输出的每帧所述音频特征在所述音素序列中对应的参考音素状态以及对应所述参考音素状态的第一概率,包括:将所述目标歌曲中每个音频帧的音频特征和所述歌词文本的音素序列输入所述语音识别模型,得到所述语音识别模型输出的每帧所述音频特征在所述音素序列中对应每个音素状态的概率;对于每个所述音频特征,将所述音频特征的最大概率对应的音素状态作为所述音频特征对应的参考音素状态,并将所述最大概率确定为所述音频特征对应所述参考音素状态的第一概率。4.根据权利要求2所述的方法,其特征在于,所述将所述目标歌曲中每个音频帧的音频特征和所述语音识别模型所属语言的音素集输入所述语音识别模型,得到所述语音识别模型输出的每帧所述音频特征在所述音素集中对应所述参考音素状态的第二概率,包括:将所述目标歌曲中每个音频帧的音频特征和所述语音识别模型所属语言的音素集输入所述语音识别模型,得到所述语音识别模型输出的每帧所述音频特征在所述音素集中对应每个音素状态的概率;在所述音频特征对应每个音素状态的概率中,获取所述音频特征对应所述参考音素状
态概率作为所述第二概率。5.根据权利要求2所述的方法,其特征在于,所述根据所述音频特征对应所述参考音素状态的第一概率和第二概率,确定所述音频特征在所述语音识别模型的语言下对应所述参考音素状态的置信度,包括:将所述音频特征对应所述参考音素状态的第一概率除以对应所述参考音素状态的第二概率,得到所述音频特征在所述语音识别模型的语言下对应所述参考音素状态的置信度。6.根据权利要求2所述的方法,其特征在于,还包括:根据混合发音词典,确定所述歌词文本的音素序列;其中所述混合发音词典由所述多个语音识别模型所属语言的发音词典组成。7.根据权利要求1-6中任一项所述的方法,其特征在于,所述根据所述音频特征的对齐音素状态,确定所述音频特征对应的音素,包括:根据音素状态和音素的对应关系,确定所述音频特征的对齐音素状态对应的音素,作为所述音频特征对应的音素。8.根据权利要求1-6中任一项所述的方法,其特征在于,所述获取目标歌曲的歌词文本,包括:获取所述目标歌曲的初始歌词文本;对所述初始歌词文本进行非歌词信息滤除处理,得到所述目标歌曲的歌词文本。9.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如权利要求1至权利要求8中任一项所述的确定歌词时间戳的方法所执行的操作。10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1至权利要求8中任一项所述的确定歌词时间戳的方法所执行的操作。
技术总结
本申请公开了一种确定歌词时间戳的方法、设备和存储介质,属于语音识别技术领域。所述方法包括:对于预先训练的多个语音识别模型中的每个语音识别模型,将所述目标歌曲的音频特征输入所述语音识别模型中,得到每帧音频特征在语音识别模型所属语言下对应参考音素状态的置信度;对于每帧音频特征,将音频特征对应的最大置信度的参考音素状态作为音频特征对应的对齐音素状态;对于每帧音频特征,根据音频特征对应的对齐音素状态,确定音频特征对应的音素;根据每帧音频特征对应的音素,确定每帧音频特征在所述歌词文本中对应的字,根据每帧音频特征对应的演唱时间,确定所述歌词文本的歌词时间戳。本申请可以提高确定歌词时间戳的效率。的效率。的效率。
技术研发人员:
王武城
受保护的技术使用者:
腾讯音乐娱乐科技(深圳)有限公司
技术研发日:
2022.07.29
技术公布日:
2022/11/8