一种基于语谱图识别的歌词时间戳生成方法

文档序号:1755576 发布日期:2019-11-29 浏览:8次 >En<

阅读说明:本技术 一种基于语谱图识别的歌词时间戳生成方法 (A kind of lyrics timestamp generation method based on sound spectrograph identification ) 是由 鄢腊梅 郑杰文 蒋琤琤 袁友伟 王奕菲 施振浪 于 2019-07-18 设计创作,主要内容包括:本发明公开了一种基于语谱图识别的歌词时间戳生成方法,步骤S1:利用音频空间位置差异分离人声与伴奏;步骤S2:根据响度与BPM对处理后的音频作基于行的时间分割;步骤S3:将上述分割后的音频转化为语谱图,并利用图像识别对其进行基于单字的时间分割,得到所需的歌词时间戳。采用本发明的技术方案,将原始音频进行人声提取,并结合Adaboost模型对其语谱图进行识别,能有效提高对齐准确性,并大大降低人工对齐的成本。(The invention discloses a kind of lyrics timestamp generation method based on sound spectrograph identification, step S1: audio space position difference separation voice and accompaniment are utilized;Step S2: according to loudness and BPM, to treated, audio is made to divide based on the capable time;Step S3: converting sound spectrograph for the audio after above-mentioned segmentation, and carries out the time segmentation based on individual character to it using image recognition, obtains required lyrics timestamp.Using technical solution of the present invention, original audio is subjected to voice extraction, and identify to its sound spectrograph in conjunction with Adaboost model, alignment accuracy can be effectively improved, and substantially reduce the cost being manually aligned.)

一种基于语谱图识别的歌词时间戳生成方法

技术领域

本发明涉及音乐信息检索领域,具体地,涉及一种依据给定歌词及音频生 成歌词时间戳的方法。

背景技术

在现代流行音乐中,歌词作为一种传达歌曲内容与思想的媒介,对于帮助 观众更好的理解歌曲有着不可替代的作用,而歌词与歌曲不同步则严重影响观 众的欣赏体验。现有技术在歌词对齐时需要人员凭听觉确定歌词在歌曲中的位 置,不同人员对同一首歌曲的时间戳划分往往相差较大,人工方法不仅工作量 大,成本高,耗时长,而且准确度也与个人水平有很大关系。

并且现有的一些对齐方法对原始音频要求高,往往只对纯净的人声音频分 划效果较为理想,而实际情况下的音频多为双声道乐曲,因此对齐准确度低。 同时,传统方法对于不同风格乐曲对齐准确性差异巨大,具体与学习样本有很 大关联,因此其鲁棒性较差,难以应用于实际问题中。

此外,现有的手工歌词对齐方法多应用于逐行歌词对齐中,而逐字歌词对 齐因需要较对的内容显著增加,且无统一的文件格式和标准,导致带有逐字歌 词时间戳的歌词文本数量稀少。

针对上述问题,目前仍未有有效的解决方法被提出。

发明内容

本发明目的在于,针对当前需要手动对齐歌词时间戳,特别是逐字歌词时 间戳文本稀少这一现状,提供一种方便,快捷,自动的时间戳生成方法,解决 歌词与歌曲同步放映中的时间对齐问题。

为实现上述目的,本发明提供了一种基于语谱图识别的歌词时间戳生成 方法,该方法包括如下步骤:对输入的歌曲音频应用主旋律提取技术,得到分 离后的人声音频;依据给定的歌词文件进行基于行的片段提取;生成对应音频 文件的语谱图;利用图像识别模块对该部分的语谱图分划,判断出可能的单字 位置,与给定的歌词在该行字数做匹配,优化识别结果,最终得到带有时间戳 的歌词文本。

本发明的技术方案如下:

一种基于语谱图识别的歌词时间戳生成方法,包含以下步骤:

步骤S1:音频预处理,利用输入声源的空间位置差异作人声伴奏分离,具 体包括以下步骤:

步骤S1.1:分别获取音频左右声道的音频信息,并对左声道音频作反转处 理,反转处理公式如下:

其中,代表左声道每个采样点反转后的信息,代表左声道每个原始 采样点信息,即对应时间i下的振幅x;此外,左声道每个采样点信息还可表示 为:

其中表示位于中置声道的每个采样点信息,表示左声道中偏离中置 声道的音频信息。

步骤S1.2:将反转后的左声道音频叠加至右声道上,得到远离中置声道的 音频,其叠加公式如下:

式中为每个远离中置声道的音频采样点,为右声道每个采样点的原始 数据,为左声道中偏离中置声道的音频信息。

步骤S1.3:依据上述得到的远离中置声道的音频作中置声道析取,得到中 置声道音频,中置声道表达式为:

其中为每个位于中置声道音频信息的采样信息,sign(*)为符号函数,xi是原始音频合并左右声道合并后的采样点信息。

步骤S1.4:对得到的中置声道作滤波处理:

其中为滤波后得到的音频采样点信息,f(*)函数表示滤波函数,在本例 中将使用减谱法作为滤波函数,其步骤如下:

步骤S1.4.1:优选地,使用线性预测的方法估计噪声;

步骤S1.4.2:对原始音频及估计噪声作DFT(离散傅里叶变换)处理,解 得其功率谱;

步骤S1.4.3:对两者功率谱相减后求其二范数;

步骤S1.4.4:利用噪声相位作相位变换;

步骤S1.4.5:对最终结果作IDFT(离散傅里叶逆变换)处理。

步骤S1.5:对原始音频及上述步骤S1.4得到的音频作基音检测,基音检 测公式如下:

其中T表示其间周期,τmin表示基音周期最小值,τmax表示基音周期最大 值,argmin表示取最小自变量。具体地,步骤如下:

步骤S1.5.1:对输入的音频数据作DFT处理,得到其复数谱;

步骤S1.5.2:对复数谱的模长作平方运算,得到功率谱;

步骤S1.5.3:对功率谱取对数后作IDFT,最终得到其倒谱。

步骤S1.6:将两者基音作比较,判断差异点,并依据差异点返回步骤S1.4 调整该时间范围内的滤波参数,最终得到分离后的人声

需要注意的是,也可以对右声道音频作上述操作,最终得到的结果相同。

步骤S2:基于行的音频分离及歌词对齐,包括以下步骤:

步骤S2.1:以音频响度为阈值分隔音频,并与输入的歌词行数作对比,得 到可能的基于行的分划Sj,j=1,2,…。

步骤S2.2:对每个分划Sj作BPM(每分钟节拍数)检测,具体地:

步骤S2.2.1:对某个小区间作相位估计,若其相位估计值与实践值相差过 大,则认定其为起始点;

步骤S2.2.2:对起始点信息作平滑滤波处理;

步骤S2.2.3:对上述起始点函数作移动均值门限预处理;

步骤S2.2.4:计算其自相关函数;

步骤S2.2.5:通过构建HMM(隐马尔可夫模型)预测下一帧的节拍速度;

步骤S2.2.5:输出节拍周期。

BPM计算公式如下:

其中Φi表示每个时间点处估计相位与实际相位的差,φi是实际相位,为 估计相位,ti为给定时间点,N表示在该分划下的时间点总个数,Time是该分 划总时间,单位为分钟,A表示相位差阈值,由经验给出。

步骤S2.3:对BPM值突变的分划做出标记,记作

步骤S2.4:采用二分法,对每个标记的分划取时间中点为分划点作再分划并对每个分划再次检测BPM,直到BPM变化值小于给定值A或循环次数 超过给定范围。如BPM变化值小于给定值,则取消该分划的标记,否则将BPM 突变的点视作一个新的分划点,将原本标记的分划修改成两个新的分划。

步骤S2.5:对新的分划个数与歌词行数对比,可能有如下三种情况:分划 个数与歌词行数相等,则进行步骤S3;分划个数小于歌词行数,加大BPM变 化值阈值,返回步骤S2.5,得到新的分划;分划个数大于歌词行数的,减小 BPM变化值阈值,返回步骤S2.5,得到新的分划;直到分划个数与歌词行数相 等,进入步骤S3。

步骤S3:基于词的歌词对齐及时间戳生成,具体包括以下步骤:

步骤S3.1:将步骤S1分离出的人声转化为语谱图,具体地:

步骤S3.1.1:预加重处理:

其中为处理后的音频数据;

步骤S3.1.2:以10ms为帧长进行分帧;

步骤S3.1.3:对每一帧加窗,优选地,使用汉明窗;

步骤S3.1.4:对每帧信号补零使其长度等于2的幂;

步骤S3.1.5:对上述数据作DFT变换,并计算其功率谱;

步骤S3.1.6:计算梅尔频率:

Mel(M,N)=10log10(X(m,n)·X(m,n)T)

其中m是帧个数,n为帧长,M为时间,N为频率,X(m,n)是经DFT变换得 到的数据,符号T为转置符号,Mel(M,N)是所求的在给定时间及频率时的能 量密度。

步骤S3.1.7:对上述输出取对数;

步骤S3.1.8:对S3.1.7中的输出进行DCT(离散余弦变换);

步骤S3.1.9:对上述结果进行归一化处理。

步骤S3.2:引入图像识别模块,优选地,使用Adaboost机器学习算法, 对步骤S2给出的每行音频的语谱图作检测,找出其中能量密度最大的部分, 并基于能量密度对该行音频的时间再次分割,得到每部分的音频时间Tj,w及总 分割数Nj。在本方法中,Adaboost算法主要包括以下几个步骤:

步骤S3.2.1:弱分类器建立,对输入数据的权重初始化;

步骤S3.2.2:求解其权向量的最优解;

步骤S3.2.3:计算误差,输出置信度;

步骤S3.2.4:利用上述结论更新权重,并对权重作归一化处理;

步骤S3.2.5:读入一组新的数据并得用上述解得的弱分类器计算下一个弱 分类器;

步骤S3.2.6:当计算完所有弱分类器后输出强分类器,得到模型结果。

步骤S3.3:对给定的歌词在该行字数与步骤S3.2分割总数对比,若字数 与分割总数相等,则将分割时间作为该行歌词的时间戳;其它情况则返回步骤 S3.2,修改分类器权重后重新计算。

同时记录下该行的循环次数,同之前对比的行的循环次数作比较,若循环 次数不断递增,则以之前行中循环次数最小的行为基准,在该行之后的行返回 步骤S2重新分划音频,该行及该行之前的语句则保留歌词时间戳。

步骤S3.4:输出整首歌曲的歌词时间戳。

与现有技术比较,本发明具有的有益效果如下:

准确性高:相较于传统方法直接对歌曲进行歌词对齐,本发明采用了基于 音频空间差异的中置声道析取方法,对人声与伴奏进行分离,减少了无关信息 的干扰。

鲁棒性强:使用了先行对齐后字对齐的方法,有效避免了歌曲中语气词对 歌词对齐的影响,同时在基于字对齐的模块时采用了返回参数防止误差累积。

成本低:由于本方法只需要歌曲音频与歌词即可完成歌词时间戳生成,不 需要人工参与,极大地降低了歌词对齐的成本。

附图说明

图1为本发明提供的一种基于语谱图识别的歌词时间戳生成方法的框架流 程图;

图2为步骤1中人声分离的流程图;

图3(a)为原始音频左声道波形图;

图3(b)为左声道反转后波形图;

图3(c)为远离中置声道的音频波形图;

图3(d)为中置声道析取后得到的音频波形图;

图3(e)为分离后的人声音频波形图;

图4为步骤2中基于行的音频分划流程图;

图5为基于行的音频波形时间划分;

图6为该行某小区间上的音频相位图;

图7为步骤3中基于单字的音频分割流程图;

图8为以对数刻度为坐标的音频语谱图;

图9为基于单字的语谱图分割;

图10为不同对齐方案对各音乐风格的平均对齐准确率;

如下

具体实施方式

将结合上述附图进一步说明本发明。

具体实施方式

以下将结合附图对本发明提供的方法作进一步说明。

基于语谱图图像识别的歌词时间戳生成,在音乐信息检索领域,通过使用 机器学习对语谱图作图像识别,将传统的音频分析问题转化为图像处理问题, 较以往方法有着更直观的、更简洁的优势,同时在多数情况下有更理想的结果。 利用基音检测能优化基于究竟位置差异的旋律分离效果,较单纯的重混缩计算 有巨大优势。而利用BPM判断语句分行则在效果可控的基础上很大程度地提高 了运算效率。利用Adaboost模型对人声语谱图作图像识别,能有效排除噪声、 伴奏等因此的干扰。因此,本发明提供了一种基于语谱图识别的歌词时间戳生 成方法。

本发明提供一种基于语谱图识别的歌词时间戳生成方法,整体而方,本发 明包括三大步骤,步骤S1:音频预处理,分离人声与伴奏;步骤S2:对预处 理后的音频作基于行的时间分割;步骤S3:对上述每行音频作基于单字的时 间分割,得到所需的歌词时间戳。

参见图1,为本发明方法实施例的步骤流程图,包括以下步骤:

步骤S1:音频预处理,利用输入声源的空间位置差异作人声伴奏分离,参 见图2所示为本发明提供的一种基于语谱图识别的歌词时间戳生成方法中人 声分离流程图,其具体包括以下步骤:

步骤S1.1:分别获取音频左右声道的音频信息,并对左声道音频作反转处 理,如图3(a)、图3(b)所示,分别展示了左声道原始音频波形图与左声道 反转处理后的音频的波形图,可以看到从图像上反转处理即将图像沿振幅为0 的轴翻转,其反转处理公式如下:

其中,代表左声道每个采样点反转后的信息,代表左声道每个原始 采样点信息,即对应时间i下的振幅x;此外,左声道每个采样点信息还可表示 为:

其中表示位于中置声道的每个采样点信息,表示左声道中偏离中置 声道的音频信息。

步骤S1.2:将反转后的左声道音频叠加至右声道上,得到远离中置声道的 音频,如图3(c)所示,不难看出经步骤S1.2处理后波形振幅的均值较原本 单声道下更大,表明该首歌曲左右声道信息差异可能较大。其叠加处理公式如 下:

式中为每个远离中置声道的音频采样点,为右声道每个采样点的原始 数据,为左声道中偏离中置声道的音频信息。

步骤S1.3:依据上述得到的远离中置声道的音频作中置声道析取,得到中 置声道音频,中置声道表达式为:

其中xci为每个位于中置声道音频信息的采样信息,sign(*)为符号函数, xi是原始音频合并左右声道合并后的采样点信息,最终的结果见图3(d)所 示,在该图中有明显的波形变化点,是为可能的分割点,但在其开始端仍可 以看到有明显的不属于人声的伴奏存在,因此下一步需要对该部分进行处 理。

步骤S1.4:对得到的中置声道作滤波处理:

其中为滤波后得到的音频采样点信息,f(*)函数表示滤波函数,在本例 中将使用减谱法作为滤波函数,其步骤如下:

步骤S1.4.1:优选地,使用线性预测的方法估计噪声;

步骤S1.4.2:对原始音频及估计噪声作DFT(离散傅里叶变换)处理,解 得其功率谱;

步骤S1.4.3:对两者功率谱相减后求其二范数;

步骤S1.4.4:利用噪声相位作相位变换;

步骤S1.4.5:对最终结果作IDFT(离散傅里叶逆变换)处理。

步骤S1.5:对原始音频及上述步骤S1.4得到的音频作基音检测,公式如 下:

其中T表示其间周期,τmin表示基音周期最小值,τmax表示基音周期最大 值,argmin表示取最小自变量。具体地,步骤如下:

步骤S1.5.1:对输入的音频数据作DFT处理,得到其复数谱;

步骤S1.5.2:对复数谱的模长作平方运算,得到功率谱;

步骤S1.5.3:对功率谱取对数后作IDFT,最终得到其倒谱。

步骤S1.6:将两者基音作比较,判断差异点,并依据差异点返回步骤S1.4 调整该时间范围内的滤波参数,最终得到分离后的人声最终输出的人声音 频波形图见图3(e)所示,从图上可以看到在时域上已经将无人声部分较好 的剔除,人声与伴奏混合部分经过上述处理后的音频已经较为纯净,可以用于 下一步的歌词对齐操作。

需要注意的是,也可以对右声道音频作上述操作,最终得到的结果相同。

步骤S2:参见图4基于行的音频分离及歌词对齐流程图,包括以下步骤:

步骤S2.1:以音频响度为阈值分隔音频,并与输入的歌词行数作对比,得 到可能的基于行的分划Sj,j=1,2,…。

步骤S2.2:对每个分划Sj作BPM(Beat Per Minute,每分钟节拍数)检测, 具体地:

步骤S2.2.1:对某个小区间作相位估计,若其相位估计值与实践值相差过 大,则认定其为起始点。图5展示了在一段小区间内的双声道音频相位图,图 中颜色亮的部分表明了带有高能量的音频所在的声相位置。本步骤所要作的即 预测亮色音频在下一时间可能的声相位置并与实际值作对比;

步骤S2.2.2:对起始点信息作平滑滤波处理;

步骤S2.2.3:对上述起始点函数作移动均值门限预处理;

步骤S2.2.4:计算其自相关函数;

步骤S2.2.5:通过构建HMM(隐马尔可夫模型)预测下一帧的节拍速度;

步骤S2.2.5:输出节拍周期。

BPM计算公式如下:

其中Φi表示每个时间点处估计相位与实际相位的差,φi是实际相位,为 估计相位,ti为给定时间点,N表示在该分划下的时间点总个数,Time是该分 划总时间,单位为分钟,A表示相位差阈值,由经验给出。

步骤S2.3:对BPM值突变的分划作出标记,记作

步骤S2.4:采用二分法,对每个标记的分划取时间中点为分划点作再分划 并对每个分划再次检测BPM,直到BPM变化值小于给定值A或循环次数 超过给定范围。如BPM变化值小于给定值,则取消该分划的标记,否则将BPM 突变的点视作一个新的分划点,将原本标记的分划修改成两个新的分划。

步骤S2.5:对新的分划个数与歌词行数对比,可能有如下三种情况:分划 个数与歌词行数相等,则进行步骤S3;分划个数小于歌词行数,加大BPM变 化值阈值,返回步骤S2.5,得到新的分划;分划个数大于歌词行数的,减小 BPM变化值阈值,返回步骤S2.5,得到新的分划;直到分划个数与歌词行数相 等,进入步骤S3。通过该方法分划的以文本行为分划标准的结果见图6,通过 该步骤已经能输出常见的基于行对齐的歌词时间戳。

步骤S3:图7展示了一种基于词的歌词对齐及时间戳生成流程图,具体包 括以下步骤:

步骤S3.1:将步骤S1分离出的人声转化为语谱图,具体地:

步骤S3.1.1:预加重处理:

其中为处理后的音频数据;

步骤S3.1.2:以10ms为帧长进行分帧;

步骤S3.1.3:对每一帧加窗,优选地,使用汉明窗;

步骤S3.1.4:对每帧信号补零使其长度等于2的幂;

步骤S3.1.5:对上述数据作DFT变换,并计算其功率谱;

步骤S3.1.6:计算梅尔频率:

Mel(M,N)=10log10(X(m,n)·X(m,n)T)

其中m是帧个数,n为帧长,M为时间,N为频率,X(m,n)是经DFT变换得 到的数据,符号T为转置符号,Mel(M,N)是所求的在给定时间及频率时的能 量密度。

步骤S3.1.7:对上述输出取对数;

步骤S3.1.8:对S3.1.7中的输出进行DCT(离散余弦变换);

步骤S3.1.9:对上述结果进行归一化处理。

图8即为上述步骤作出的语谱图,特别地,在图8中纵轴使用了对数刻度 坐标,能更加清晰的观察到高能音频所在处置,有利于下一步图像识别。

步骤S3.2:引入图像识别模块,优选地,使用Adaboost机器学习算法, 对步骤S2给出的每行音频的语谱图作检测,找出其中能量密度最大的部分, 并基于能量密度对该行音频的时间再次分割,得到每部分的音频时间Tj,w及总 分割数Nj。在本方法中,Adaboost算法主要包括以下几个步骤:

步骤S3.2.1:弱分类器建立,对输入数据的权重初始化;

步骤S3.2.2:求解其权向量的最优解;

步骤S3.2.3:计算误差,输出置信度;

步骤S3.2.4:利用上述结论更新权重,并对权重作归一化处理;

步骤S3.2.5:读入一组新的数据并得用上述解得的弱分类器计算下一个弱 分类器;

步骤S3.2.6:当计算完所有弱分类器后输出强分类器,得到模型结果。

步骤S3.3:对给定的歌词在该行字数与步骤S3.2分割总数对比,若字数 与分割总数相等,则将分割时间作为该行歌词的时间戳;其它情况则返回步骤 S3.2,修改分类器权重后重新计算。

同时记录下该行的循环次数,同之前对比的行的循环次数作比较,若循环 次数不断递增,则以之前行中循环次数最小的行为基准,在该行之后的行返回 步骤S2重新分划音频,该行及该行之前的语句则保留歌词时间戳。

步骤S3.4:输出整首歌曲的歌词时间戳。图9则展示了其中一句的分划, 可以看到在该方法下能自动找到给定歌词文本中每个字的发音时间,进而生成 时间戳。

为验证本发明的技术效果,以下将对基于语谱图识别的歌词时间戳生成方 法与其他传统歌词对齐方法进行比较:

实验所使用测试歌曲采样率为44.1KHz,采样位深度16位(无抖动)的wav 文件,以人工对齐的时间戳作为标准,将本发明所提供的方法与LyricAlly 系统、基于GMM-HMM(高斯混合模型-隐马尔可夫模型)的对齐方法进行比较。 需要注意的是,因人工对齐总存在误差,在本次实验中认为误差小于0.1s的 时间戳为有效时间戳(假设一首歌曲平均BPM为240,则大约一个音符时间为 0.25s,而绝大多数流行歌曲的BPM小于200)。其中LyricAlly系统作为本领 域早期的对齐方案,通过将一首流行歌曲拆分为前奏、合声、高潮等部分,并对可能的部分作人声检测,后使用音素时长估计语句时长并与歌词文本对齐; 而GMM-HMM对齐方法是通过将歌曲音频转化为MFCC(梅尔频率倒谱系数)后 利用GMM-HMM模型行进对齐,是现最主流的对齐方法。

图10展示了不同对齐方案对各音乐风格的平均对齐准确率,因LyricAlly 系统为基于英文歌曲开发的系统,移植难度较大,故本实验选取了不同乐曲风 格的英文歌曲共计25首,每种风格各5首。可以看到LyricAlly系统作为本 领域早期方案,仅具有研究意义,无法在实际工作中应用;而GMM-HMM模型对 齐则具有相对较好的对齐准确率,配合人工能极大的降低人员的工作量;本发 明提出的基于语谱图识别的歌词时间戳生成方法则全面优于上述两种方案,对 齐准确率高,且能适应不同风格的乐曲。

下表1为上述对比实验的详细数据。可以看到,本发明提供的方法较 GMM-HMM模型在25首不同风格乐曲中有21首(84%)对齐准确率更高,其平 均对齐准确率达81.91%,最低对齐准确率70.52%,较传统方法表现优异。

表1本发明与其它传统方法对齐准确率百分比

以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指 出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还 可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的 保护范围内。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本 发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的, 本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它 实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要 符合与本文所公开的原理和新颖特点相一致的最宽的范围。

21页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于分类器的歌曲节奏生成方法、设备、存储介质及装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!