CN112580340A - 逐字歌词生成方法及装置、存储介质和电子设备 - Google Patents
逐字歌词生成方法及装置、存储介质和电子设备 Download PDFInfo
- Publication number
- CN112580340A CN112580340A CN202011605281.5A CN202011605281A CN112580340A CN 112580340 A CN112580340 A CN 112580340A CN 202011605281 A CN202011605281 A CN 202011605281A CN 112580340 A CN112580340 A CN 112580340A
- Authority
- CN
- China
- Prior art keywords
- word
- lyric
- text
- decoding network
- audio data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Abstract
本公开实施例提供了一种逐字歌词生成方法、逐字歌词生成装置、存储介质和电子设备,涉及音频处理技术领域。该逐字歌词生成方法包括:获取音频数据及所述音频数据对应的歌词文本;基于预生成的歌曲解码网络对所述音频数据进行语音识别,并通过与所述歌词文本对比,在识别结果中选取多个识别正确的文本,将所述多个识别正确的文本分别对应的时间戳作为锚点;对所述锚点之间的所述音频数据与所述歌词文本进行强制对齐,得到所述歌词文本中每个字的时间戳。本公开通过将逐字歌词生成任务分解为两个阶段,从而可以融合各阶段的校准信息,逐步精确化时间戳,使得逐字歌词的生成更加准确及高效。
Description
技术领域
本公开实施方式涉及音频处理技术领域,更具体地,涉及一种逐字歌词生成方法及装置、存储介质和电子设备。
背景技术
本部分旨在为权利要求书中陈述的本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
现有的各类终端设备中都具有音频播放工具,如各类音乐应用等,这使得人们的日常生活更加丰富多彩,可以起到放松身心、陶冶情操的作用。在一些场景下,人们在欣赏歌曲的同时,也希望能够实时读取对应的歌词文本,以获取更好的听歌体验。
相关技术中,歌词可以通过静态全文本方式展示给用户,也可以通过逐行、逐句或逐字的方式,配合音频动态展示给用户。其中,逐字动态展示歌词为效果最好的展示方式。要实现上述逐字歌词的动态展示,就需要提供逐字歌词生成的方法来实现逐字歌词获取。
目前的逐字获取的方式主要包括人工和自动化两种方式。其中,人工获取主要依赖人工标注,效率低而且成本高。而现有的自动化逐字歌词生成方法大多存在准确率低、系统鲁棒性差等问题,制约了逐字歌词的生产效率。
发明内容
本公开的目的在于提供一种逐字歌词生成方法及装置、存储介质和电子设备,从而至少在一定程度上克服由于相关技术的缺陷和限制而导致的逐字歌词生成效率低、成本高、准确率低以及系统鲁棒性差等问题。
根据本公开的第一方面,提供一种逐字歌词生成方法,包括:
获取音频数据及所述音频数据对应的歌词文本;
基于预生成的歌曲解码网络对所述音频数据进行语音识别,并通过与所述歌词文本对比,在识别结果中选取多个识别正确的文本,将所述多个识别正确的文本分别对应的时间戳作为锚点;
对所述锚点之间的所述音频数据与所述歌词文本进行强制对齐,得到所述歌词文本中每个字的时间戳。
在本公开的一种示例性实施例中,所述方法还包括:
基于所述歌词文本训练得到所述歌词文本对应的语言模型,并生成相应的歌词文本解码网络;
通过所述歌词文本解码网络对基于通用语言模型得到的通用语言解码网络进行修正,生成所述歌曲解码网络。
在本公开的一种示例性实施例中,所述基于所述歌词文本训练得到所述歌词文本对应的语言模型,包括:
以重组方式扩充所述歌词文本,并基于扩充后的歌词文本训练得到n-gram语言模型。
在本公开的一种示例性实施例中,所述方法还包括:
在训练过程中对于在高阶n-gram中未出现的文本组合,利用回退方式计算所述文本组合的出现概率;
其中,所述n-gram语言模型的模型阶数为5。
在本公开的一种示例性实施例中,所述通过所述歌词文本解码网络对基于通用语言模型得到的通用语言解码网络进行修正,生成所述歌曲解码网络,包括:
通过插值融合所述歌词文本解码网络及所述通用语言解码网络,得到所述歌曲解码网络。
在本公开的一种示例性实施例中,所述通过插值融合所述歌词文本解码网络及所述通用语言解码网络,包括:
获取各候选路径在所述歌词文本解码网络以及在所述通用语言解码网络中的概率并做加权运算,得到加权平均概率,以实现所述歌词文本解码网络及所述通用语言解码网络的融合。
在本公开的一种示例性实施例中,所述通过所述歌词文本解码网络对基于通用语言模型得到的通用语言解码网络进行修正,生成所述歌曲解码网络,包括:
获取基于所述通用语言解码网络得到的各候选路径对应的概率;
基于所述歌词文本解码网络对各所述候选路径进行评分,并基于评分结果修正各所述候选路径的概率,生成所述歌曲解码网络。
在本公开的一种示例性实施例中,所述通过与所述歌词文本对比,在识别结果中选取多个识别正确的文本,将对应的时间戳作为锚点,包括:
通过编辑距离算法比对所述歌词文本以及识别到的文本,将识别正确的文本加入候选集合;
基于预定规则从所述候选集合中选取多个文本,并将选取的所述文本对应的时间戳作为锚点。
在本公开的一种示例性实施例中,所述基于预定规则从所述候选集合中选取多个文本,将选取的所述文本对应的时间戳作为锚点,包括:
在所述候选集合中筛除对应于所述音频数据句中位置的所述文本,保留对应于句首以及句尾位置的所述文本,并将保留的所述文本对应的时间戳作为锚点。
在本公开的一种示例性实施例中,所述方法还包括:
对所述锚点对应的所述文本进行发音时长检查,并筛除发音时长小于30毫秒的所述文本对应的所述锚点。
在本公开的一种示例性实施例中,所述对所述锚点之间的所述音频数据与所述歌词文本进行强制对齐,得到所述歌词文本中每个字的时间戳,包括:
基于所述歌词文本生成用于强制对齐所述锚点之间所述音频数据及所述歌词文本的线性对齐解码网络;
通过所述线性对齐解码网络在所述锚点间的区域搜索所述歌词文本的最优对齐路径,得到所述歌词文本中每个字的时间戳。
在本公开的一种示例性实施例中,所述在所述锚点间的区域搜索所述歌词文本的最优对齐路径,包括:
获取所述音频数据的起始语音帧对应的声学概率,并在所述线性对齐解码网络中获取所述起始语音帧对应的当前路径集合;
获取所述音频数据的下一帧语音对应的声学概率,并基于所述当前路径集合以及所述下一帧语音对应的所述声学概率更新所述当前路径集合,重复该步骤,直至所述音频数据中全部语音帧均被获取。
在本公开的一种示例性实施例中,所述方法还包括:
当获取到的语音帧为锚点时,在当前路径中获取所述当前语音帧对应的歌词,以及获取所述锚点中所述当前语音帧对应的歌词;
当所述当前路径和所述锚点中所述当前语音帧对应的歌词相同时,将所述当前路径添加至所述当前路径集合。
在本公开的一种示例性实施例中,在所述基于预生成的歌曲解码网络对所述音频数据进行语音识别之前,所述方法还包括:
通过音轨分离获取所述音频数据中的人声音频,并将所述人声音频作为所述音频数据。
在本公开的一种示例性实施例中,在所述得到所述歌词文本中每个字的时间戳之后,所述方法还包括:
基于对齐结果计算所述歌词文本中逐句歌词的置信度,并在所述置信度小于预设阈值时,标记所述歌词文本的对应位置。
根据本公开的第二方面,提供一种逐字歌词生成装置,包括:
音频数据及歌词文本获取模块,用于获取音频数据及所述音频数据对应的歌词文本;
锚点获取模块,基于预生成的歌曲解码网络对所述音频数据进行语音识别,并通过与所述歌词文本对比,在识别结果中选取多个识别正确的文本,将所述多个识别正确的文本分别对应的时间戳作为锚点;
逐字时间戳生成模块,用于对所述锚点之间的所述音频数据与所述歌词文本进行强制对齐,得到所述歌词文本中每个字的时间戳。
在本公开的一种示例性实施例中,所述装置还包括歌曲解码网络生成模块,所述歌曲解码网络生成模块用于:
基于所述歌词文本训练得到所述歌词文本对应的语言模型,并生成相应的歌词文本解码网络;
通过所述歌词文本解码网络对基于通用语言模型得到的通用语言解码网络进行修正,生成所述歌曲解码网络。
在本公开的一种示例性实施例中,所述歌曲解码网络生成模块通过执行如下实现所述基于所述歌词文本训练得到所述歌词文本对应的语言模型,包括:
以重组方式扩充所述歌词文本,并基于扩充后的歌词文本训练得到n-gram语言模型。
在本公开的一种示例性实施例中,所述歌曲解码网络生成模块还用于:
在训练过程中对于在高阶n-gram中未出现的文本组合,利用回退方式计算所述文本组合的出现概率;其中,所述n-gram语言模型的模型阶数为5。
在本公开的一种示例性实施例中,所述歌曲解码网络生成模块通过执行如下实现所述通过所述歌词文本解码网络对基于通用语言模型得到的通用语言解码网络进行修正,生成所述歌曲解码网络,包括:
通过插值融合所述歌词文本解码网络及所述通用语言解码网络,得到所述歌曲解码网络。
在本公开的一种示例性实施例中,所述歌曲解码网络生成模块通过执行如下实现所述通过插值融合所述歌词文本解码网络及所述通用语言解码网络,包括:
获取各候选路径在所述歌词文本解码网络以及在所述通用语言解码网络中的概率并做加权运算,得到加权平均概率,以实现所述歌词文本解码网络及所述通用语言解码网络的融合。
在本公开的一种示例性实施例中,所述歌曲解码网络生成模块通过执行如下实现所述通过所述歌词文本解码网络对基于通用语言模型得到的通用语言解码网络进行修正,生成所述歌曲解码网络,包括:
获取基于所述通用语言解码网络得到的各候选路径对应的概率;
基于所述歌词文本解码网络对各所述候选路径进行评分,并基于评分结果修正各所述候选路径的概率,生成所述歌曲解码网络。
在本公开的一种示例性实施例中,所述锚点获取模块通过执行如下方法实现所述通过与所述歌词文本对比,在识别结果中选取多个识别正确的文本,将对应的时间戳作为锚点,包括:
通过编辑距离算法比对所述歌词文本以及识别到的文本,将识别正确的文本加入候选集合;
基于预定规则从所述候选集合中选取多个文本,并将选取的所述文本对应的时间戳作为锚点。
在本公开的一种示例性实施例中,所述锚点获取模块通过执行如下方法实现所述基于预定规则从所述候选集合中选取多个文本,将选取的所述文本对应的时间戳作为锚点,包括:
在所述候选集合中筛除对应于所述音频数据句中位置的所述文本,保留对应于句首以及句尾位置的所述文本,并将保留的所述文本对应的时间戳作为锚点。
在本公开的一种示例性实施例中,所述锚点获取模块还用于:
对所述锚点对应的所述文本进行发音时长检查,并筛除发音时长小于30毫秒的所述文本对应的所述锚点。
在本公开的一种示例性实施例中,所述逐字时间戳生成模块通过执行如下方法实现所述对所述锚点之间的所述音频数据与所述歌词文本进行强制对齐,得到所述歌词文本中每个字的时间戳,包括:
基于所述歌词文本生成用于强制对齐所述锚点之间所述音频数据及所述歌词文本的线性对齐解码网络;
通过所述线性对齐解码网络在所述锚点间的区域搜索所述歌词文本的最优对齐路径,得到所述歌词文本中每个字的时间戳。
在本公开的一种示例性实施例中,所述逐字时间戳生成模块通过执行如下方法实现所述在所述锚点间的区域搜索所述歌词文本的最优对齐路径,包括:
获取所述音频数据的起始语音帧对应的声学概率,并在所述线性对齐解码网络中获取所述起始语音帧对应的当前路径集合;
获取所述音频数据的下一帧语音对应的声学概率,并基于所述当前路径集合以及所述下一帧语音对应的所述声学概率更新所述当前路径集合,重复该步骤,直至所述音频数据中全部语音帧均被获取。
在本公开的一种示例性实施例中,所述逐字时间戳生成模块还用于:
当获取到的语音帧为锚点时,在当前路径中获取所述当前语音帧对应的歌词,以及获取所述锚点中所述当前语音帧对应的歌词;
当所述当前路径和所述锚点中所述当前语音帧对应的歌词相同时,将所述当前路径添加至所述当前路径集合。
在本公开的一种示例性实施例中,在所述基于预生成的歌曲解码网络对所述音频数据进行语音识别之前,所述音频数据及歌词文本获取模块还用于:
通过音轨分离获取所述音频数据中的人声音频,并将所述人声音频作为所述音频数据。
在本公开的一种示例性实施例中,在所述得到所述歌词文本中每个字的时间戳之后,逐字时间戳生成模块还用于:
基于对齐结果计算所述歌词文本中逐句歌词的置信度,并在所述置信度小于预设阈值时,标记所述歌词文本的对应位置。
根据本公开的第三方面,提供一种存储介质,其上存储有程序,该程序被处理器执行时实现如以上各技术方案中的方法。
根据本公开的第四方面,提供一种电子设备,包括:处理器和存储器,所述存储器存储有可执行指令,所述处理器用于调用所述存储器存储的可执行指令执行如以上各技术方案中的方法。
根据上述逐字歌词生成方法、逐字歌词生成装置、计算机可读存储介质与电子设备,获取音频数据及音频数据对应的歌词文本;基于预生成的歌曲解码网络对音频数据进行语音识别,并通过与歌词文本对比,在识别结果中选取多个识别正确的文本,将多个识别正确的文本分别对应的时间戳作为锚点;对锚点之间的音频数据与歌词文本进行强制对齐,得到歌词文本中每个字的时间戳。一方面,本公开示例实施方式所提供的逐字歌词生成方法通过歌曲解码网络对音频数据进行语音识别,并从语音识别的结果中选取多个识别正确的文本,将选取到的文本对应的时间戳作为锚点这一过程,可以获取第一层次的相对粗粒度的校准信息,之后,可以对锚点之间的音频数据与歌词文本进行强制对齐,得到歌词文本中每个字的时间戳,以获取到第二层次的更细粒度校准信息。通过将逐字歌词生成的过程分为两个层次进行,通过融合各层次的校准信息,逐步精确化时间戳,提高了逐字歌词生成的准确性。另一方面,上述逐字歌词生成方法中,由于各锚点间的强制对齐过程互不影响,因此,即使当前描点区域的对齐出现错误也不会影响其他区域,进一步提高了逐字歌词生成过程在整体上的准确度和鲁棒性。再一方面,上述逐字歌词的生成无需人工标注,提高了逐字歌词获取的速度,同时大幅度降低了获取逐字歌词标注的成本。同时,通过将上述逐字歌词应用于如逐字歌词动态显示、歌声美化打分等场景,还可以为用户创造良好的查阅体验。
附图说明
通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:
图1示出了相关技术中逐字歌词生成方法中,局部对齐错误造成大范围偏移的示意图;
图2示出了应用本公开示例性实施方式的系统架构示意图;
图3示出了本公开实施例的逐字歌词生成方法的流程图;
图4示出了本公开实施例的逐字歌词生成方法中生成歌曲解码网络的方法的流程图;
图5示出了本公开实施例的逐字歌词生成方法中确定多个锚点的方法的流程图;
图6示出了本公开实施例中通过编辑距离比对得到的歌词文本与识别文本的匹配情况的示例图;
图7示出了本公开实施例的逐字歌词生成方法中得到的一组锚点的示意图;
图8示出了本公开实施例的逐字歌词生成方法中在锚点之间实现音频数据与歌词文本强制对齐及对比结果修正的方法的流程图;
图9示出了本公开实施例的逐字歌词生成方法中得到的锚点间片段间的强制对齐结果的示意图;
图10示出了本公开实施例中的一种逐字歌词生成装置的一种结构示意图;
图11示出了本公开实施例中电子设备的一种结构示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本公开的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本公开的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
本公开中涉及的技术术语解释如下:
语音识别:英文ASR(Automatic Speech Recognition),是指在不同终端设备上通过算法能够把语音信号转化为对应的文字序列或者语言实体的技术。
深度神经网络:英文DNN(Deep Neural Network),一种机器学习模型。
有限状态转换器:英文FST(finite state transducer),主要用来描述一个空间的状态序列与另外一个空间中序列的映射关系。
加权有限状态转换器:英文WFST(weighted finite-state transducer),与FST类似,在状态转移时会额外考虑各个边上的权重关系,一般用在传统语音识别系统的解码模块。
隐马尔科夫模型:英文HMM(Hidden Markov model),一种对语音识别系统中声学模型建模的方法。
强制对齐:英文FA(Forced Alignment),在语音识别训练过程中,需要对待测语音信号的状态和模型状态进行对齐的技术,可以用来为训练模型提供标注好的训练数据。
此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本公开的若干代表性实施方式,详细阐释本公开的原理和精神。
发明概述
在本公开的相关技术中,逐字歌词生成的方式主要包括人工和自动化两种方式,其中自动化生成方式可以通过逐段聚类实现,也可以通过强制对齐实现。
在基于人工的逐字歌词生成方法中,逐字歌词通过人工标注歌曲的逐字时间戳实现,一般会借助波形、频谱图等图像信息辅助人工做逐字时间戳边界确认。技术流程一般如下:
(1)生成歌曲时间轴上的波形或频谱图;
(2)基于逐行歌词时间戳获取逐字歌词的边界;
(3)在逐行歌词的区间内,以固定间距初始化逐字时间戳;
(4)人工听歌曲片段并结合波形或频谱确定逐字时间戳。
该方法虽然可以实现逐字歌词生成,但是,通常一首歌曲需要人工反复细听,才能确认逐字时间戳,这不仅要求标注人员注意力保持集中,且存在歌词产出效率低、准确度难以保证等问题。
在基于逐段聚类的逐字歌词生成方法中,首先将歌曲分成固定长度的音频片段,并计算各片段的频谱能量,通过分类/聚类的方式检测片段间频域能量差异,确定明显变化的时间节点,再结合歌词按先后顺序一一对应,生成逐字歌词。
然而,该方案虽然一定程度上实现了逐字歌词的自动化生成,但仍存在几个问题:首先音频片段的切割长度需要根据不同音频舒缓程度进行特殊设置,降低了系统鲁棒性;其次歌曲中常存在拖长音、变音等现象,比如同一个字的初始音调与结束音调不同,这些都会带来频域上的能量变化,造成此方案的时间点检测不准确;最后该方案依赖于准确的歌词,若歌词出现缺字、多字,甚至不匹配,此方案无法检出错误,造成逐字歌词无效。
目前通过强制对齐生成逐字歌词的方法通常为基于ASR的单层次、全局强制对齐,在该方法中,通常采用ASR声学模型对音频歌词做强制对齐得到逐字歌词,其流程一般为:
(1)音频数据预处理:提取歌曲音频中的人声,以降低伴奏和噪声的影响,在一些情况下,也可以跳过该步骤,直接使用原始音频;
(2)ASR声学概率计算,输入上一步的音频,通过ASR声学模型计算逐帧声学概率。此步骤计算的声学概率直接影响了强制对齐的准确性;
(3)强制对齐获取逐字歌词,基于计算好的声学概率对音频与歌词做强制对齐。
通过该基于ASR的单层次、全局强制对齐的方法,虽然可实现逐字歌词的自动化生成,但未利用歌词实际语言学信息,准确性完全依赖于强制对齐效果。然而,即使是性能优越的声学模型,计算发音概率仍可能出现偏差。并且,由于强制对齐的本质是将音频与文字一一匹配,当歌词与音频不匹配,如歌词多唱或少唱时,强制对齐必然出现偏移现象,而单层次全局对齐的方式又容易因为局部错乱造成大范围偏移,使得此类系统鲁棒性降低,如图1所示,展示了因前一句对齐错误导致后一句也错误的案例。
为了解决上述方案中存在的问题,本公开提出了一种逐字歌词生成方法,获取音频数据及音频数据对应的歌词文本;基于预生成的歌曲解码网络对音频数据进行语音识别,并通过与歌词文本对比,在识别结果中选取多个识别正确的文本,将多个识别正确的文本分别对应的时间戳作为锚点;对锚点之间的音频数据与歌词文本进行强制对齐,得到歌词文本中每个字的时间戳。
在本公开示例实施方式所提供的逐字歌词生成方法中,一方面,通过歌曲解码网络对音频数据进行语音识别,并从语音识别的结果中选取多个识别正确的文本,将选取到的文本对应的时间戳作为锚点这一过程,可以获取第一层次的相对粗粒度的校准信息,之后,可以对锚点之间的音频数据与歌词文本进行强制对齐,得到歌词文本中每个字的时间戳,以获取到第二层次的更细粒度校准信息。通过将逐字歌词生成的过程分为两个层次进行,通过融合各层次的校准信息,逐步精确化时间戳,提高了逐字歌词生成的准确性。另一方面,上述逐字歌词生成方法中,由于各锚点间的强制对齐过程互不影响,因此,即使当前描点区域的对齐出现错误也不会影响其他区域,进一步提高了逐字歌词生成过程在整体上的准确度和鲁棒性。再一方面,上述逐字歌词的生成无需人工标注,提高了逐字歌词获取的速度,同时大幅度降低了获取逐字歌词标注的成本。同时,通过将上述逐字歌词应用于如逐字歌词动态显示、歌声美化打分等场景,还可以为用户创造良好的查阅体验。
在介绍了本公开的基本原理之后,下面具体介绍本公开的各种非限制性实施方式。
应用场景总览
需要注意的是,下述应用场景仅是为了便于理解本公开的精神和原理而示出,本公开的实施方式在此方面不受任何限制。相反,本公开的实施方式可以应用于适用的任何场景。
图2示出了应用本公开示例性实施方式的系统架构示意图。如图2所示,系统架构200可以包括客户端201、202和203,网络204和服务端205。客户端201、202和203可以包括智能手机、平板电脑、笔记本电脑、台式电脑等各种终端设备。服务端205可以包括网络服务器、应用服务器、数据库服务器等各种服务器设备,服务端205可以为客户端201、202和203提供网络资源和数据服务。网络204可以是能够在客户端201、202、203和服务端205之间提供通信链路的各种连接类型的通信介质,例如可以是有线通信链路、无线通信链路或者光纤电缆等等。
根据实现需要,应用本公开示例性实施方式的系统架构可以具有任意数目的客户端、网络和服务端。例如,服务端205可以是由多个服务器设备组成的服务器群组。本公开示例性实施方式提供的逐字歌词生成方法可以应用于客户端201、202、203,也可以应用于服务端205,本公开对此不做特殊限定。
例如,当本公开示例性实施方式提供的逐字歌词生成方法应用于服务端205时,服务器205可以通过网络204从客户端201、202、203获取音频数据及音频数据对应的歌词文本;然后,基于预生成的歌曲解码网络对上述音频数据进行语音识别,并通过与上述歌词文本对比,在识别结果中选取多个识别正确的文本,将多个识别正确的文本分别对应的时间戳作为锚点;最后,在上述确定的锚点之间将上述音频数据与上述歌词文本进行强制对齐,得到歌词文本中每个字的时间戳。
示例性方法
下面结合图3至图9来描述根据本公开示例性实施方式的逐字歌词生成方法。
图3示意性地示出了本公开一些示例性实施方式中的逐字歌词生成方法的步骤流程。如图3所示,该逐字歌词生成方法主要可以包括以下步骤:
步骤S310:获取音频数据及音频数据对应的歌词文本;
步骤S320:基于预生成的歌曲解码网络对上述音频数据进行语音识别,并通过与上述歌词文本对比,在识别结果中选取多个识别正确的文本,将多个识别正确的文本分别对应的时间戳作为锚点;
步骤S330:对锚点之间的音频数据与歌词文本进行强制对齐,得到歌词文本中每个字的时间戳。
在本公开示例实施方式所提供的逐字歌词生成方法中,一方面,通过歌曲解码网络对音频数据进行语音识别,并从语音识别的结果中选取多个识别正确的文本,将选取到的文本对应的时间戳作为锚点这一过程,可以获取第一层次的相对粗粒度的校准信息,之后,可以对锚点之间的音频数据与歌词文本进行强制对齐,得到歌词文本中每个字的时间戳,以获取到第二层次的更细粒度校准信息。通过将逐字歌词生成的过程分为两个层次进行,通过融合各层次的校准信息,逐步精确化时间戳,提高了逐字歌词生成的准确性。另一方面,上述逐字歌词生成方法中,由于各锚点间的强制对齐过程互不影响,因此,即使当前描点区域的对齐出现错误也不会影响其他区域,进一步提高了逐字歌词生成过程在整体上的准确度和鲁棒性。再一方面,上述逐字歌词的生成无需人工标注,提高了逐字歌词获取的速度,同时大幅度降低了获取逐字歌词标注的成本。同时,通过将上述逐字歌词应用于如逐字歌词动态显示、歌声美化打分等场景,还可以为用户创造良好的查阅体验。
以下对本公开实施例的逐字歌词生成方法进行更加详细的阐述。
在步骤S310中,获取音频数据及音频数据对应的歌词文本。
在本示例实施方式中,上述音频数据为任意一段包含人声的音频数据。例如,该音频数据可以为录制的人声清唱的歌曲,也可以为包含伴奏和人声演唱的音频数据,还可以是其他形式的符合上述定义的音频数据。
在本示例实施方式中,上述歌词文本为与上述音频数据的语音内容对应的文本。例如,上述音频数据为人声演唱的歌曲时,该歌词文本即为演唱的歌曲对应的歌词文本。
本示例实施方式所提供的逐字歌词生成方法可以由服务器执行。服务器可以通过网络从终端设备获取上述音频数据及歌词文本。例如,可以从部署在终端设备的音频客户端本地获取音频数据及歌词文本,也可以在线获取音频客户端正在播放的歌曲及对应的歌词文本等,本示例实施方式对此不做特殊限定。
可选地,在获取上述音频数据后,为了消除伴奏及噪声对于后续声学模型计算的干扰,还可以对获取到的音频数据进行预处理操作,该预处理操作可以包括:通过音轨分离获取音频数据中的人声音频,并将人声音频作为音频数据。
在步骤S320中,基于预生成的歌曲解码网络对上述音频数据进行语音识别,并通过与上述歌词文本对比,在识别结果中选取多个识别正确的文本,将多个识别正确的文本分别对应的时间戳作为锚点。
在本示例实施方式中,在获取到上述音频数据及歌词文本后,还需要基于上述音频数据及歌词文本进行两个层次的信息校准,其中,通过第一层次的校准可以得到多个锚点,作为粗粒度时间戳,第二层次的校准为对锚点之间的音频数据进行进一步地对齐,得到细粒度的逐字时间戳,从而最终实现逐字歌词的生成。该步骤为第一层次的校准。
在本示例实施方式中,上述歌曲解码网络用于对上述音频数据进行语音识别的解码网络,并且,对于每一个音频数据,都生成一个个性化的歌曲解码网络,具体地,该歌曲解码网络可以通过各音频数据对应的歌词文本生成,实现可以如下:基于歌词文本训练得到歌词文本对应的语言模型,并生成相应的上述歌词文本解码网络;通过上述歌词文本解码网络对基于通用语言模型得到的通用语言解码网络进行修正,生成歌曲解码网络。
其中,上述基于歌词文本训练得到歌词文本对应的语言模型可以通过以下过程实现:以重组方式扩充上述歌词文本,并基于扩充后的歌词文本训练得到n-gram语言模型。举例而言,该n-gram语言模型的模型阶数可以为5,并且,在上述训练歌词文本对应的语言模型的过程中,对于在高阶n-gram中未出现的文本组合,可以利用回退方式计算该未出现的文本组合的出现概率。
此外,同样由于文本稀疏性,上述歌词文本对应的语言模型存在大量的低概率n-gram条目,这些低概率统计项对优化识别结果作用很小,却会增加后续解码网络资源生成的冗余计算。因此,在该实施例中,还可以对小于回退概率的n-gram条目进行剪枝,最后对n-gram做重新归一化得到最终的歌词文本语言模型。
在一实施例中,上述通过上述歌词文本解码网络对基于通用语言模型得到的通用语言解码网络进行修正的实现可以为:通过插值融合歌词文本解码网络及通用语言解码网络,得到歌曲解码网络。具体地,该过程可以如下:获取各候选路径在上述歌词文本解码网络以及在上述通用语言解码网络中的概率并做加权运算,得到加权平均概率,以实现上述歌词文本解码网络及上述通用语言解码网络的融合。
在另一实施例中,上述通过上述歌词文本解码网络对基于通用语言模型得到的通用语言解码网络进行修正的实现还可以为:获取基于通用语言解码网络得到的各候选路径对应的概率;基于歌词文本解码网络对各候选路径进行评分,并基于评分结果修正各候选路径的概率,生成歌曲解码网络。
需要说明的是,上述场景只是一种示例性说明,本示例实施方式的保护范畴并不以此为限。例如,通过其他方式训练得到歌词文本对应的解码网络,以及通过其他方式融合歌词文本解码网络及通用语言解码网络也属于本示例实施方式的保护范畴。
下面,结合图4所示的流程图,对上述生成歌曲解码网络的过程进行更加详细的阐述。如图4所示,该过程可以包括以下步骤S410至步骤S460:
在步骤S410中,获取歌词文本。
在步骤S420中,生成上述歌词文本对应的语言模型,得到歌词文本解码网络。
该步骤用于根据上述歌词文本生成对应的歌词文本语言模型。以生成的歌词文本语言模型为n-gram为例,该生成过程可以为:基于上述歌词文本训练生成特定n-gram语言模型。
在具体实现的过程中,为了提高歌词文本中的词汇组合在n-gram语言模型中的概率,从而使得该语言模型可以指导后续语音识别模型得到正确的识别结果,在训练时,首先,对歌词文本进行文本复制扩充,例如,可以将歌词文本扩充至20倍,在实际应用中,该扩充倍数可以依据具体应用场景进行调节。接着,基于扩充后的歌词文本预料训练生成n-gram语言模型。
此外,由于通常歌曲对应的歌词文本都不超过几百个词汇,组合方式也十分有限,这种文本稀疏性会使得一些文本组合在生成的语言模型中出现的概率为零。为了解决这一文本稀疏性带来的零概率问题,在上述生成的n-gram语言模型中,可以采用回退(backoff)方式计算未在高阶n-gram中出现的词汇条目。以模型阶数为5的n-gram语言模型为例,如当需要计算词汇Wn-2Wn-1后出现Wn的概率P(Wn|Wn-2Wn-1),而没有相关的3-gram统计时,则使用2-gram来估计:
P(Wn|Wn-2Wn-1)=backoff(Wn-2Wn-1)P(Wn|Wn-1)
同理,若没有2-gram相关统计,则采用1-gram进行估计。我们将n-gram所有上下文中的总回退概率最小值设为0.01,实现语言模型的平滑。
同样由于文本稀疏性,上述得到的语言模型中存在大量的低概率n-gram条目,这些低概率统计项对优化识别结果作用很小,却会增加后续解码网络资源生成的冗余计算。因此,在该步骤中,还可以对小于回退概率的那些n-gram条目进行剪枝,最后对n-gram做重新归一化得到最终的歌词文本语言模型,得到歌词文本解码网络。
在步骤S430中,生成基于通用语言模型的通用语言解码网络。
在该步骤中,生成基于通用语言模型的通用语言解码网络。其中,通用语言模型是基于通用文本语料生成,需要注意的是,其文本规模远大于特定语言模型,对各场景都有不错的建模能力,确保了ASR解码的鲁棒性,其构建流程与传统语音识别框架中的语言模型一致。
在步骤S440中,通过上述歌词文本解码网络对基于通用语言模型得到的通用语言解码网络进行修正。
在该步骤中,通过上述歌词文本解码网络对基于通用语言模型得到的通用语言解码网络进行修正,实现歌词文本解码网络与通用语言解码网络的融合,以便于后续得到融合后的对应于上述音频数据的个性化的歌曲解码网络。
其中,上述通过上述歌词文本解码网络对基于通用语言模型得到的通用语言解码网络进行修正可以基于插值融合的方式实现。具体地,以上述两个语言模型计算的概率分别为P1和P2为例,插值就是计算他们的加权平均概率:
P(Wn|Wn-2Wn-1)=λP1(Wn|Wn-2Wn-1)+(1-λ)P2(Wn|Wn-2Wn-1)
其中,参数λ是用于控制权重的超参数。
此外,上述通过上述歌词文本解码网络对基于通用语言模型得到的通用语言解码网络进行修正还可以通过二次解码的方式实现。具体地,可以采用个性化的歌词文本语言模型对自动语音识别在通用语言模型上的候选路径进行重新打分。
需要说明的是,上述场景只是示例性说明,本示例实施方式的保护范畴并不以此为限。例如,也可以依据实际情况,将上述歌词文本语言模型及通用语言模型生成的解码网络通过策略融合在一起。
在步骤S450中,生成融合后的歌曲解码网络。
在该步骤中,得到歌词文本解码网络与通用语言解码网络融合后的歌曲解码网络。基于WFST的语音识别是结合声学模型与语言模型的得分确定最终的识别结果,因此语言模型对识别结果的指导至关重要。语音识别的解码可用公式表示为:
在上述实施例中,采用了基于HMM的ASR声学模型与WFST的解码方法,所以解码网络是由H(HMM模型)、C(上下文相关音素模型)、L(发音字典模型)、G(语言模型)构成的WFST,其中H、C、L在ASR声学模型训练过程中就已确定,其中,G就包含了上述歌词文本语言模型与通用语言模型。上述HCLG网络即为融合后得到的歌曲解码网络。
在本示例实施方式中,在生成上述歌曲解码网络后,为了获取作为粗粒度时间戳的锚点,还需要基于该歌曲解码网络对上述获取到的音频数据进行语音识别,上述锚点即为从该语音识别得到的文本中选取的多个识别正确的文本对应的时间戳。这一过程可以实现如下:基于上一阶段得到的个性化的歌曲解码网络,通过ASR对上述音频数据进行语音数据识别,并在逐帧解码过程中记录识别结果的时间戳信息;从记录的识别结果中选取多个识别正确的文本对应的时间戳作为上述锚点。
其中,上述从记录的识别结果中选取多个识别正确的文本对应的时间戳作为上述锚点的实现,具体地,可以为:通过编辑距离算法比对歌词文本以及识别到的文本,将识别正确的文本加入候选集合;基于预定规则从候选集合中选取多个文本,并将选取的文本对应的时间戳作为锚点。
实际应用中,由于句首句尾的音频通常更为清晰,识别结果和对应时间戳都更为稳定、准确,因此,上述根据预定规则选取锚点的过程可以为:在候选集合中筛除对应于音频数据句中位置的文本,保留对应于句首以及句尾位置的文本,并将保留的文本对应的时间戳作为锚点。
此外,由于人发音的每个音素时长通常不会短于30ms。因此,在得到有效的句首/尾时间戳对应的锚点后,还可以进一步地对这些锚点进行ASR发音时长的检查,将音素发音时长短于30ms的音频数据对应的锚点筛除,进一步保证锚点的准确性。
下面在本示例实施方式的一个实施例中,对上述确定锚点的过程进行完整的阐述,如图5所示,该确定锚点的过程可以包括以下步骤:
在步骤S510中,获取上述音频数据、歌词文本以及预生成的歌曲解码网络。
在步骤S520中,对上述音频数据做音轨分离获取人声音频。
在步骤S530中,基于歌曲解码网络对音频数据进行语音识别。
在该步骤中,基于上述生成的歌曲解码网络,对人声音频做ASR识别,并在逐帧解码过程中记录识别结果的时间戳信息。
在步骤S540中,比对识别结果与歌词文本的编辑距离。
由于无论如何完善的ASR系统也会存在识别错误的情况,因此,在该步骤中,在ASR结果中只选择识别正确的部分。该选择过程可以通过编辑距离算法实现。在该过程中,对ASR结果与文本歌词进行编辑距离比对,将匹配的部分加入候选集合。图6展示了一个比对匹配示例,其中,ASR结果中浅色区域对应的部分就是被正确识别且与歌词文本匹配上的候选区域,深色区域对应的部分则由于ASR识别错误被排除。
在步骤S550中,选取句首和句尾的文本对应的时间戳作为锚点。
由于句首句尾的音频通常更为清晰,识别结果和对应时间戳都更为稳定、准确,因此,在该步骤中,将候选集合中属于句中的文本对应的时间戳(如图6中的“来”)筛除,保留句首和句尾的文本对应的时间戳作为锚点。需要说明的是,图6只是一种示例性说明,本示例实施方式的保护范畴并不以此为限。
在步骤S560中,进一步对候选集合筛选,得到最终的锚点集合。
由于人发音的每个音素时长通常不会短于30ms,因此,在该步骤中,对上述得到的各锚点进行ASR发音时长的检查,将出现音素短于30ms的锚点筛除,进一步保证锚点的准确性,如图7所示,为一组锚点(毫秒)示例。需要说明的是,图7只是一种示例性说明,本示例实施方式的保护范畴并不以此为限。
在步骤S330中,对锚点之间的音频数据与歌词文本进行强制对齐,得到歌词文本中每个字的时间戳。
在通过步骤S320得到作为粗粒度时间戳的锚点之后,还需要将锚点之间的音频数据与歌词文本强制对齐,从而得到逐字的细粒度时间戳,实现逐字歌词的生成。
上述将将锚点之间的音频数据与歌词文本强制对齐,得到歌词文本中每个字的时间戳的过程,可以实现如下:基于歌词文本生成用于强制对齐锚点之间音频数据及歌词文本的线性对齐解码网络,举例而言,该线性对齐解码网络可以为FST解码网络;通过生成的线性对齐解码网络在锚点间的区域搜索歌词文本的最优对齐路径,得到歌词文本中每个字的时间戳。
具体地,上述在锚点间的区域搜索歌词文本的最优对齐路径的过程,可以实现如下:获取音频数据的起始语音帧对应的声学概率,并在上述线性对齐解码网络中获取起始语音帧对应的当前路径集合;获取音频数据的下一帧语音对应的声学概率,并基于当前路径集合以及下一帧语音对应的声学概率更新当前路径集合,重复该步骤,直至音频数据中全部语音帧均被获取。
在该过程中,当获取到的语音帧为锚点时,在当前路径中获取当前语音帧对应的歌词,以及获取锚点中当前语音帧对应的歌词;在当前路径和锚点中当前语音帧对应的歌词相同时,将当前路径添加至当前路径集合。
在本示例实施方式的一个实施例中,上述在锚点间的区域搜索歌词文本的最优对齐路径的过程可以通过如下代码实现:
该代码的实现思想已在上述在锚点间的区域搜索歌词文本的最优对齐路径的过程对应的文字部分进行了详细的阐述,故在此不再赘述。此外,需要说明的是,该代码实现只是一种示例性说明,本示例实施方式的保护范畴并不以此限。
在本示例实施方式中,在得到歌词文本中每个字的时间戳之后,还可以计算逐字歌词生成的置信度,以便对对齐不准确的地方引入人工检查或其他处理措施进行纠正。该置信度计算的过程可以实现如下:基于对齐结果计算歌词文本中逐句歌词的置信度,并在置信度小于预设阈值时,标记歌词文本的对应位置。
下面在本示例实施方式的一个实施例中,对上述过程进行完整的阐述,如图8所示,可以包括以下步骤:
在步骤S810中,获取步骤S320得到的作为粗粒度时间戳的锚点以及音频数据。
在步骤S820中,对音频数据做音轨分离,获取人声音频。
在步骤S830中,在锚点之间的区域内进行音频数据及歌词文本的强制对齐。
在该步骤中,以锚点为粗粒度时间戳,进行锚点间音频数据及歌词文本的强制对齐,从而实现更细粒度的对齐,实现逐字歌词的获取,该过程前文已进行了详细描述,故在此不再赘述。
由于该过程实现了对锚点之间歌词音频的独立对齐,将搜索空间限制在局部区域,因此,锚点的使用不仅指导了当前区域的对齐,而且即使当前部分对齐错误也对其他部分不产生影响,大幅提高逐字歌词的准确度与鲁棒性。如图9所示,展示了锚点间片段间的强制对齐结果,其中,音频中多唱的“嗯”被强制对齐在静音sil中。
在步骤S840中,计算置信度。
在该步骤中,为了衡量当前得到的逐字对齐结果是否准确,还可以统计对齐结果中存在异常发音时长的歌词占比。由于人的声韵母发音一般不存在时长小于30ms的情况,因此,可以将对齐结果中发音时长小于30ms的声韵母视为对齐错误。因此可以得到如下计算置信度的公式:
置信度=1–(对齐错误的字数/逐行歌词字数)
其中,置信度偏低的情况一般出现在歌词不匹配或音频质量较差的场景。应用中,可以对每一句歌词都计算一个置信度。
在步骤S850中,判断置信度是否大于预设阈值。
在该步骤中,将经步骤S840计算得到的置信度与预设阈值进行比较,该预设阈值可以基于实际情景设定。当置信度小于该预设阈值时,跳转至步骤S860;当置信度大于该预设阈值时,跳转至步骤S870。
在步骤S860中,引入人工检查或其他处理措施进行纠正。
在该步骤中,对置信度小于预设阈值的逐字对齐结果引入人工检查或其他处理措施进行纠正,从而保证逐字歌词的准确性。
在步骤S870中,生成逐字歌词。
本示例实施方式通过上述逐字歌词生成方法提高了逐字歌词的对齐准确度与鲁棒性,加速了逐字歌词获取的速度,同时大幅降低了获取逐字歌词标注的成本。
示例性装置
图10示出了本公开实施例中逐字歌词生成装置的一种结构示意图,如图10所示,逐字歌词生成装置1000主要可以包括:
音频数据及歌词文本获取模块1010,可以用于获取音频数据及音频数据对应的歌词文本;
锚点获取模块1020,可以用于基于预生成的歌曲解码网络对音频数据进行语音识别,并通过与歌词文本对比,在识别结果中选取多个识别正确的文本,将多个识别正确的文本分别对应的时间戳作为锚点;
逐字时间戳生成模块1030,可以用于对锚点之间的音频数据与歌词文本进行强制对齐,得到歌词文本中每个字的时间戳。
在本示例实施方式中,上述锚点获取模块可以包括歌曲解码网络生成单元及锚点选取单元。
其中,上述歌曲解码网络生成单元可以用于基于上述歌词文本训练得到歌词文本对应的语言模型,并生成相应的歌词文本解码网络;以及通过歌词文本解码网络对基于通用语言模型得到的通用语言解码网络进行修正,生成歌曲解码网络。
举例而言,上述基于上述歌词文本训练得到歌词文本对应的语言模型可以实现如下:以重组方式扩充歌词文本,并基于扩充后的歌词文本训练得到n-gram语言模型。并且,以5阶n-gram语言模型为例,在训练过程中对于在高阶n-gram中未出现的文本组合,利用回退方式计算文本组合的出现概率,例如,当需要计算词汇Wn-2Wn-1后出现Wn的概率P(Wn|Wn- 2Wn-1),而没有相关的3-gram统计时,则使用2-gram来估计。
此外,同样由于文本稀疏性,上述歌词文本对应的语言模型存在大量的低概率n-gram条目,这些低概率统计项对优化识别结果作用很小,却会增加后续解码网络资源生成的冗余计算。因此,在该实施例中,还可以对小于回退概率的n-gram条目进行剪枝,最后对n-gram做重新归一化得到最终的歌词文本语言模型。
上述通过歌词文本解码网络对基于通用语言模型得到的通用语言解码网络进行修正,生成歌曲解码网络的过程,可以为:通过插值融合歌词文本解码网络及通用语言解码网络,得到歌曲解码网络。具体地,可以获取各候选路径在歌词文本解码网络以及在通用语言解码网络中的概率并做加权运算,得到加权平均概率,以实现歌词文本解码网络及通用语言解码网络的融合。
上述通过歌词文本解码网络对基于通用语言模型得到的通用语言解码网络进行修正,生成歌曲解码网络的过程,还可以为:获取基于通用语言解码网络得到的各候选路径对应的概率;基于歌词文本解码网络对各候选路径进行评分,并基于评分结果修正各候选路径的概率,生成歌曲解码网络。需要说明的是,上述场景只是一种示例性说明,本示例实施方式的保护范畴并不以此为限。
上述锚点选取单元可以用于通过编辑距离算法比对歌词文本以及识别到的文本,将识别正确的文本加入候选集合;基于预定规则从候选集合中选取多个文本,并将选取的文本对应的时间戳作为锚点。
其中,由于句首句尾的音频通常更为清晰,识别结果和对应时间戳都更为稳定、准确,因此,上述基于预定规则从候选集合中选取多个文本,并将选取的文本对应的时间戳作为锚点的过程,可以为:在候选集合中筛除对应于音频数据句中位置的文本,保留对应于句首以及句尾位置的文本,并将保留的文本对应的时间戳作为锚点。
此外,由于通常人发音的每个音素时长不会短于30ms,所以,在得到上述锚点后,还可以对锚点对应的文本进行发音时长检查,并筛除发音时长小于30毫秒的文本对应的锚点,以保证锚点的准确性。
在本示例实施方式中,上述逐字时间戳生成模块包括线性对齐网络生成单元及强制对齐单元。其中,上述线性对齐网络生成单元可以用于基于歌词文本生成用于强制对齐锚点之间音频数据及歌词文本的线性对齐解码网络。
上述强制对齐单元可以用于通过上述线性对齐解码网络在锚点间的区域搜索歌词文本的最优对齐路径,得到歌词文本中每个字的时间戳。
具体地,上述通过上述线性对齐解码网络在锚点间的区域搜索歌词文本的最优对齐路径可以通过如下过程实现:获取音频数据的起始语音帧对应的声学概率,并在线性对齐解码网络中获取起始语音帧对应的当前路径集合;获取音频数据的下一帧语音对应的声学概率,并基于当前路径集合以及下一帧语音对应的声学概率更新当前路径集合,重复该步骤,直至音频数据中全部语音帧均被获取。
其中,在上述过程中,当获取到的语音帧为锚点时,在当前路径中获取当前语音帧对应的歌词,以及获取锚点中当前语音帧对应的歌词;当当前路径和锚点中当前语音帧对应的歌词相同时,将当前路径添加至当前路径集合。
此外,上述逐字时间戳生成模块还可以包括对齐结果修正单元,用于对逐字歌词的准确度进行判断,并对对齐结果进行修正。具体地,可以实现如下:基于对齐结果计算歌词文本中逐句歌词的置信度,并在置信度小于预设阈值时,标记歌词文本的对应位置。
上述置信度可以通过统计对齐结果中存在异常发音时长的歌词占比来计算。由于人的声韵母发音一般不存在时长小于30ms的情况,因此,可以将对齐结果中发音时长小于30ms的声韵母视为对齐错误。因此可以得到如下计算置信度的公式:
置信度=1–(对齐错误的字数/逐行歌词字数)
其中,置信度偏低的情况一般出现在歌词不匹配或音频质量较差的场景。应用中,可以对每一句歌词都计算一个置信度。并且,当置信度小于预设阈值时,对对应的逐字对齐结果引入人工检查或其他处理措施进行纠正,从而保证逐字歌词的准确性。需要说明的是,上述场景只是一种示例性说明,本示例实施方式的保护范畴并不以此为限。
以上各示例性实施方式中的逐字歌词生成装置的具体细节已在相应的示例性方法部分做出详细说明,因此此处不再赘述。
示例性介质
在介绍了本公开示例性实施方式的方法之后,接下来,对本公开示例性实施方式的介质进行说明。
在一些可能的实施方式中,本公开的各个方面还可以实现为一种介质,其上存储有程序代码,当所述程序代码被设备的处理器执行时用于实现本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的逐字歌词生成方法中的步骤。
在本公开的一些示例性实施方式中,所述设备的处理器执行所述程序代码时可以用于实现上述方法实施例的各个步骤。
需要说明的是:上述的介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于:电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线、光缆、RF等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
示例性设备
在介绍了本公开示例性实施方式的逐字歌词生成方法和逐字歌词生成装置之后,接下来,将对本公开的示例性实施方式的电子设备进行描述。其中,本公开的示例性实施方式的电子设备包括上述逐字歌词生成装置。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本公开的电子设备可以至少包括至少一个处理单元、以及至少一个存储单元。其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行本说明书上述“方法”部分中描述的根据本公开各种示例性实施方式的逐字歌词生成方法中的步骤等。例如,所述处理单元可以执行如图3所示的步骤S310至步骤S330,如图4所示的步骤S410至步骤S450,如图5所示的步骤S510至步骤S560,以及如图8所示的步骤S810至步骤S870。
下面参照图11来描述根据本公开的这种实施方式的电子设备1100。图11显示的电子设备1100仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图10所示,计算机系统1100包括中央处理器1101,其可以根据存储在只读存储器1102中的程序或者从存储部分1108加载到随机访问存储器1103中的程序而执行各种适当的动作和处理。在随机访问存储器1103中,还存储有系统操作所需的各种程序和数据中央处理器1101、只读存储器1102以及随机访问存储器1103通过总线1104彼此相连。输入/输出接口1105也连接至总线1104。
以下部件连接至输入/输出接口1105:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如局域网(LAN)卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至输入/输出接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。在该计算机程序被中央处理器1101执行时,执行本申请的装置中限定的各种功能。
在本公开的示例性实施例中,还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的方法。
需要说明的是,本公开所示的计算机可读存储介质例如可以是—但不限于—电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、射频等等,或者上述的任意合适的组合。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当注意,尽管在上文详细描述中提及了逐字歌词生成装置的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
此外,尽管在附图中以特定顺序描述了本公开方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本公开的精神和原理,但是应该理解,本公开并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本公开旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
Claims (10)
1.一种逐字歌词生成方法,包括:
获取音频数据及所述音频数据对应的歌词文本;
基于预生成的歌曲解码网络对所述音频数据进行语音识别,并通过与所述歌词文本对比,在识别结果中选取多个识别正确的文本,将所述多个识别正确的文本分别对应的时间戳作为锚点;
对所述锚点之间的所述音频数据与所述歌词文本进行强制对齐,得到所述歌词文本中每个字的时间戳。
2.根据权利要求1所述的逐字歌词生成方法,其特征在于,所述方法还包括:
基于所述歌词文本训练得到所述歌词文本对应的语言模型,并生成相应的歌词文本解码网络;
通过所述歌词文本解码网络对基于通用语言模型得到的通用语言解码网络进行修正,生成所述歌曲解码网络。
3.根据权利要求2所述的逐字歌词生成方法,其特征在于,所述通过所述歌词文本解码网络对基于通用语言模型得到的通用语言解码网络进行修正,生成所述歌曲解码网络,包括:
通过插值融合所述歌词文本解码网络及所述通用语言解码网络,得到所述歌曲解码网络。
4.根据权利要求2所述的逐字歌词生成方法,其特征在于,所述通过所述歌词文本解码网络对基于通用语言模型得到的通用语言解码网络进行修正,生成所述歌曲解码网络,包括:
获取基于所述通用语言解码网络得到的各候选路径对应的概率;
基于所述歌词文本解码网络对各所述候选路径进行评分,并基于评分结果修正各所述候选路径的概率,生成所述歌曲解码网络。
5.根据权利要求1所述的逐字歌词生成方法,所述通过与所述歌词文本对比,在识别结果中选取多个识别正确的文本,将对应的时间戳作为锚点,包括:
通过编辑距离算法比对所述歌词文本以及识别到的文本,将识别正确的文本加入候选集合;
基于预定规则从所述候选集合中选取多个文本,并将选取的所述文本对应的时间戳作为锚点。
6.根据权利要求1所述的逐字歌词生成方法,其特征在于,所述对所述锚点之间的所述音频数据与所述歌词文本进行强制对齐,得到所述歌词文本中每个字的时间戳,包括:
基于所述歌词文本生成用于强制对齐所述锚点之间所述音频数据及所述歌词文本的线性对齐解码网络;
通过所述线性对齐解码网络在所述锚点间的区域搜索所述歌词文本的最优对齐路径,得到所述歌词文本中每个字的时间戳。
7.根据权利要求6所述的逐字歌词生成方法,其特征在于,所述在所述锚点间的区域搜索所述歌词文本的最优对齐路径,包括:
获取所述音频数据的起始语音帧对应的声学概率,并在所述线性对齐解码网络中获取所述起始语音帧对应的当前路径集合;
获取所述音频数据的下一帧语音对应的声学概率,并基于所述当前路径集合以及所述下一帧语音对应的所述声学概率更新所述当前路径集合,重复该步骤,直至所述音频数据中全部语音帧均被获取。
8.一种逐字歌词生成装置,包括:
音频数据及歌词文本获取模块,用于获取音频数据及所述音频数据对应的歌词文本;
锚点获取模块,基于预生成的歌曲解码网络对所述音频数据进行语音识别,并通过与所述歌词文本对比,在识别结果中选取多个识别正确的文本,将所述多个识别正确的文本分别对应的时间戳作为锚点;
逐字时间戳生成模块,用于对所述锚点之间的所述音频数据与所述歌词文本进行强制对齐,得到所述歌词文本中每个字的时间戳。
9.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法。
10.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011605281.5A CN112580340A (zh) | 2020-12-30 | 2020-12-30 | 逐字歌词生成方法及装置、存储介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011605281.5A CN112580340A (zh) | 2020-12-30 | 2020-12-30 | 逐字歌词生成方法及装置、存储介质和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112580340A true CN112580340A (zh) | 2021-03-30 |
Family
ID=75144347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011605281.5A Pending CN112580340A (zh) | 2020-12-30 | 2020-12-30 | 逐字歌词生成方法及装置、存储介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112580340A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113393830A (zh) * | 2021-06-11 | 2021-09-14 | 腾讯音乐娱乐科技(深圳)有限公司 | 混合声学模型训练及歌词时间戳生成方法、设备、介质 |
CN114022668A (zh) * | 2021-10-29 | 2022-02-08 | 北京有竹居网络技术有限公司 | 一种文本对齐语音的方法、装置、设备及介质 |
CN115482809A (zh) * | 2022-09-19 | 2022-12-16 | 北京百度网讯科技有限公司 | 关键词检索方法、装置、电子设备以及存储介质 |
CN115906781A (zh) * | 2022-12-15 | 2023-04-04 | 广州文石信息科技有限公司 | 音频识别加锚点方法、装置、设备及可读存储介质 |
-
2020
- 2020-12-30 CN CN202011605281.5A patent/CN112580340A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113393830A (zh) * | 2021-06-11 | 2021-09-14 | 腾讯音乐娱乐科技(深圳)有限公司 | 混合声学模型训练及歌词时间戳生成方法、设备、介质 |
CN113393830B (zh) * | 2021-06-11 | 2022-10-11 | 腾讯音乐娱乐科技(深圳)有限公司 | 混合声学模型训练及歌词时间戳生成方法、设备、介质 |
CN114022668A (zh) * | 2021-10-29 | 2022-02-08 | 北京有竹居网络技术有限公司 | 一种文本对齐语音的方法、装置、设备及介质 |
WO2023071578A1 (zh) * | 2021-10-29 | 2023-05-04 | 北京有竹居网络技术有限公司 | 一种文本对齐语音的方法、装置、设备及介质 |
CN114022668B (zh) * | 2021-10-29 | 2023-09-22 | 北京有竹居网络技术有限公司 | 一种文本对齐语音的方法、装置、设备及介质 |
CN115482809A (zh) * | 2022-09-19 | 2022-12-16 | 北京百度网讯科技有限公司 | 关键词检索方法、装置、电子设备以及存储介质 |
CN115482809B (zh) * | 2022-09-19 | 2023-08-11 | 北京百度网讯科技有限公司 | 关键词检索方法、装置、电子设备以及存储介质 |
CN115906781A (zh) * | 2022-12-15 | 2023-04-04 | 广州文石信息科技有限公司 | 音频识别加锚点方法、装置、设备及可读存储介质 |
CN115906781B (zh) * | 2022-12-15 | 2023-11-24 | 广州文石信息科技有限公司 | 音频识别加锚点方法、装置、设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Xiong | Fundamentals of speech recognition | |
US9990915B2 (en) | Systems and methods for multi-style speech synthesis | |
US6910012B2 (en) | Method and system for speech recognition using phonetically similar word alternatives | |
JP4657736B2 (ja) | ユーザ訂正を用いた自動音声認識学習のためのシステムおよび方法 | |
US7124080B2 (en) | Method and apparatus for adapting a class entity dictionary used with language models | |
EP1447792B1 (en) | Method and apparatus for modeling a speech recognition system and for predicting word error rates from text | |
CN113168828A (zh) | 基于合成数据训练的会话代理管线 | |
CN106297800B (zh) | 一种自适应的语音识别的方法和设备 | |
CN112580340A (zh) | 逐字歌词生成方法及装置、存储介质和电子设备 | |
US11810471B2 (en) | Computer implemented method and apparatus for recognition of speech patterns and feedback | |
JP2016062069A (ja) | 音声認識方法、及び音声認識装置 | |
Chen et al. | The ustc system for blizzard challenge 2011 | |
CN113327574A (zh) | 一种语音合成方法、装置、计算机设备和存储介质 | |
Granell et al. | Multimodality, interactivity, and crowdsourcing for document transcription | |
CN117099157A (zh) | 用于端到端自动语音识别置信度和删除估计的多任务学习 | |
US20040006469A1 (en) | Apparatus and method for updating lexicon | |
JP2014115499A (ja) | 音声認識装置、誤り修正モデル学習方法、及びプログラム | |
KR20130126570A (ko) | 핵심어에서의 음소 오류 결과를 고려한 음향 모델 변별 학습을 위한 장치 및 이를 위한 방법이 기록된 컴퓨터 판독 가능한 기록매체 | |
KR102299269B1 (ko) | 음성 및 스크립트를 정렬하여 음성 데이터베이스를 구축하는 방법 및 장치 | |
Tripathi et al. | Multilingual and multimode phone recognition system for Indian languages | |
Savchenko et al. | Fuzzy Phonetic Encoding of Speech Signals in Voice Processing Systems | |
Mann et al. | Tamil talk: What you speak is what you get! | |
KR102637025B1 (ko) | 자동 음성 인식을 위한 다언어 리스코어링 모델들 | |
Rasipuram et al. | Probabilistic lexical modeling and unsupervised training for zero-resourced ASR | |
Sindana | Development of robust language models for speech recognition of under-resourced language |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |