首页 / 专利库 / 信号处理 / 信号处理 / 音频信号处理 / 音频分割 / 一种基于K均值聚类算法生成逐字歌词文件的系统与方法

一种基于K均值聚类算法生成逐字歌词文件的系统与方法

阅读:809发布:2020-05-15

专利汇可以提供一种基于K均值聚类算法生成逐字歌词文件的系统与方法专利检索,专利查询,专利分析的服务。并且本 发明 提供一种基于K均值聚类 算法 生成逐字歌词文件的系统与方法,所述方法包括:获取需要生成歌词文件的音频数据和文字,再将所述的音频数据至少分割成一个音频 片段 ,对所述音频片段进行傅里叶变换,得到对应的频域片段,获取所述频域片段 能量 在频域分布范围值,利用K均值 聚类算法 根据 频率 能量变化差异度数值确定频率变化明显的时间 节点 ,再结合所述音频数据中的文字,将所得的时间节点与所述文字根据先后次序一一对应,生成逐字歌词文件。通过上述方案解决了目前歌词文件逐字歌词时长不精确的问题。,下面是一种基于K均值聚类算法生成逐字歌词文件的系统与方法专利的具体信息内容。

1.一种基于K均值聚类算法生成逐字歌词文件的系统,其特征在于,包括:
获取模,用于获取需要生成歌词文件的音频数据和所述音频数据中的文字;
分割模块,用于对所述的音频数据根据预设分割时长进行分割,至少分割成一个音频片段,所述分割所得的音频片段总数至少为一倍的所述文字总数;
转换模块,用于对所述所有音频片段进行傅里叶变换,得到对应的频域片段;
节点模块,用于获取所述所有频域片段能量在频域分布范围值,利用K均值聚类算法根据频率能量变化差异度值将所述频域片段分成K个簇,其中,所述K值与所述音频数据中的文字总数一致,根据时间先后次序对每个簇中的频域片段进行排序,将每个簇中排序后的起始频域片段对应的时间记为频率发生变化的时间节点;
生成模块,用于将获取的所有时间节点与所述文字根据先后次序一一对应,生成逐字歌词文件。
2.根据权利要求1所述的系统,其特征在于,所述节点模块中,所述K均值聚类算法的算法处理过程为:
步骤1,随机任选K个频率片段作为K个簇中心;
步骤2,分别计算剩余的频率片段与K个簇中心的频率能量变化差异度,将所述差异度数值最低的频域片段划分到同一个簇;
步骤3,根据步骤2的簇聚类结果,重新计算每个簇的簇中心,并对簇中心进行更新,所述计算方法为计算每个簇中所有频域片段频率能量变化差异度的均值;
步骤4,循环执行步骤2和步骤3的过程,直到每个簇的差异度均值小于或等于设定的阈值
3.根据权利要求1所述的系统,其特征在于,所述获取模块包括语音识别模块,用于通过智能语音识别技术,识别所述音频数据中的所有文字。
4.根据权利要求3所述的系统,其特征在于,所述生成模块包括:用于将所得的所述时间节点与所述语音识别模块识别的文字根据先后次序进行一一对应,生成逐字歌词文件。
5.根据权利要求1所述的系统,其特征在于,所述分割模块的预设分割时长可根据所述音频数据的舒缓程度设定。
6.一种基于K均值聚类算法生成逐字歌词文件的方法,其特征在于,包括:
获取需要生成歌词文件的音频数据和所述音频数据中的文字;
对所述的音频数据根据预设分割时长进行分割,至少分割成一个音频片段,所述分割所得的音频片段总数至少为一倍的所述文字总数;
对所述所有音频片段进行傅里叶变换,得到对应的频域片段;
获取所述所有频域片段能量在频域分布范围值,利用K均值聚类算法根据频率能量变化差异度值将所述频域片段分成K个簇,其中,所述K值与所述音频数据中的文字总数一致,根据时间先后次序对每个簇中的频域片段进行排序,将每个簇中排序后的起始频域片段对应的时间记为频率发生变化的时间节点;
将获取的所有时间节点与所述文字根据先后次序一一对应,生成逐字歌词文件。
7.根据权利要求6所述的方法,其特征在于,所述K均值聚类算法的算法处理过程为:
步骤1,随机任选K个频率片段作为K个簇中心;
步骤2,分别计算剩余的频率片段与K个簇中心的频率能量变化差异度,将所述差异度数值最低的频域片段划分到同一个簇;
步骤3,根据步骤2的簇聚类结果,重新计算每个簇的簇中心,并对簇中心进行更新,所述计算方法为计算每个簇中所有频域片段频率能量变化差异度的均值;
步骤4,循环执行步骤2和步骤3的过程,直到每个簇的差异度均值小于或等于设定的阈值。
8.根据权利要求6所述的方法,其特征在于,所述方法包括,通过智能语音识别技术,识别所述音频数据中的所有文字。
9.根据权利要求8所述的方法,其特征在于,所述方法包括,将所得的所述时间节点与所述语音识别模块识别的文字根据先后次序进行一一对应,生成逐字歌词文件。
10.根据权利要求6所述的方法,其特征在于,所述预设分割时长可根据所述音频数据的舒缓程度设定。

说明书全文

一种基于K均值聚类算法生成逐字歌词文件的系统与方法

技术领域

[0001] 本发明涉及音频处理领域,尤其涉及一种基于K均值聚类算法生成逐字歌词文件的系统与方法。

背景技术

[0002] K均值聚类算法是典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为簇是由距离靠近的对象组成的,因此把得到紧凑且独立的簇作为最终目标。
[0003] 现在mp3等音频播放设备播放歌曲文件时,没有逐字对应的歌词,逐字歌词需要人工制作。目前,通过音频检测文件核语音智能识别技术,可以实现所有歌曲自动生成逐字歌词。但是,现有的歌词字幕不能够对歌曲中每个字的发音时长做出准确的判断。比如当我们去KTV唱歌时,往往是通过某个字的颜色渐变等方法来表示这个字需要唱的时长,例如,该字字体颜色由白色逐渐变为蓝色来表示这个字需要唱的时间,但是,由于现阶段歌词字幕往往是人工制作或者根据检测音频文件和语音智能识别自动生成的,存在歌曲文件逐字歌词时长识别不精确的问题。
[0004] 目前,针对上述问题,还没有提出一种能够有效解决问题的技术方案。

发明内容

[0005] 本发明提供了一种基于K均值聚类算法生成逐字歌词文件的系统与方法,可有效解决歌曲文件逐字歌词时长识别不精确的问题。
[0006] 一方面,本发明提供了一种基于K均值聚类算法生成逐字歌词文件的系统,包括:
[0007] 获取模,用于获取需要生成歌词文件的音频数据和所述音频数据中的文字;
[0008] 分割模块,用于对所述的音频数据根据预设分割时长进行分割,至少分割成一个音频片段,所述分割所得的音频片段总数至少为一倍的所述文字总数;
[0009] 转换模块,用于对所述所有音频片段进行傅里叶变换,得到对应的频域片段;
[0010] 节点模块,用于获取所述所有频域片段能量在频域分布范围值,利用K均值聚类算法根据频率能量变化差异度值将所述频域片段分成K个簇,其中,所述K值与所述音频数据中的文字总数一致,根据时间先后次序对每个簇中的频域片段进行排序,将每个簇中排序后的起始频域片段对应的时间记为频率发生变化的时间节点;
[0011] 生成模块,用于将获取的所有时间节点与所述文字根据先后次序一一对应,生成逐字歌词文件。
[0012] 在一个实施例中,所述节点模块中,所述K均值聚类算法的算法处理过程为:
[0013] 步骤1,随机任选K个频率片段作为K个簇中心;
[0014] 步骤2,分别计算剩余的频率片段与K个簇中心的频率能量变化差异度,将所述差异度数值最低的频域片段划分到同一个簇;
[0015] 步骤3,根据步骤2的簇聚类结果,重新计算每个簇的簇中心,并对簇中心进行更新,所述计算方法为计算每个簇中所有频域片段频率能量变化差异度的均值;
[0016] 步骤4,循环执行步骤2和步骤3的过程,直到每个簇的差异度均值小于或等于设定的阈值
[0017] 在一个实施例中,所述获取模块包括语音识别模块,用于通过智能语音识别技术,识别所述音频数据中的所有文字。
[0018] 在一个实施例中,所述生成模块包括:用于将所得的所述时间节点与所述语音识别模块识别的文字根据先后次序进行一一对应,生成逐字歌词文件。
[0019] 在一个实施例中,所述分割模块的预设分割时长可根据所述音频数据的舒缓程度设定。
[0020] 另一方面,本发明还提供了一种基于K均值聚类算法生成逐字歌词文件的方法,包括:
[0021] 获取需要生成歌词文件的音频数据和所述音频数据中的文字;
[0022] 对所述的音频数据根据预设分割时长进行分割,至少分割成一个音频片段,所述分割所得的音频片段总数至少为一倍的所述文字总数;
[0023] 对所述所有音频片段进行傅里叶变换,得到对应的频域片段;
[0024] 获取所述所有频域片段能量在频域分布范围值,利用K均值聚类算法根据频率能量变化差异度值将所述频域片段分成K个簇,其中,所述K值与所述音频数据中的文字总数一致,根据时间先后次序对每个簇中的频域片段进行排序,将每个簇中排序后的起始频域片段对应的时间记为频率发生变化的时间节点;
[0025] 将获取的所有时间节点与所述文字根据先后次序一一对应,生成逐字歌词文件。
[0026] 在一个实施例中,所述K均值聚类算法的算法处理过程为:
[0027] 步骤1,随机任选K个频率片段作为K个簇中心;
[0028] 步骤2,分别计算剩余的频率片段与K个簇中心的频率能量变化差异度,将所述差异度数值最低的频域片段划分到同一个簇;
[0029] 步骤3,根据步骤2的簇聚类结果,重新计算每个簇的簇中心,并对簇中心进行更新,所述计算方法为计算每个簇中所有频域片段频率能量变化差异度的均值;
[0030] 步骤4,循环执行步骤2和步骤3的过程,直到每个簇的差异度均值小于或等于设定的阈值。
[0031] 在一个实施例中,所述方法包括,通过智能语音识别技术,识别所述音频数据中的所有文字。
[0032] 在一个实施例中,所述方法包括,将判断所得的所述时间节点与所述语音识别模块识别的文字根据先后次序进行一一对应,生成逐字歌词文件。
[0033] 在一个实施例中,所述预设分割时长可根据所述音频数据的舒缓程度设定。
[0034] 本发明通过获取需要生成歌词文件的音频数据和文字,再将所述的音频数据至少分割成一个音频片段,对所述音频片段进行傅里叶变换,得到对应的频域片段,获取所述频域片段能量在频域分布范围值,利用K均值聚类算法根据频率能量变化差异度值确定频率变化明显的时间节点,再结合所述音频数据中的文字,将所得的时间节点与所述文字根据先后次序一一对应,生成逐字歌词文件。通过上述方案解决了目前歌词文件逐字歌词时长不精确的问题,可实现自动制作逐字歌词的目的。附图说明
[0035] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0036] 图1是一种基于K均值聚类算法生成逐字歌词文件方法流程图
[0037] 图2是一种K均值聚类算法的运算方法过程图;
[0038] 图3是一种基于K均值聚类算法生成逐字歌词文件系统框架图。

具体实施方式

[0039] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0040] 在本说明书中,诸如第一和第二这样的形容词仅可以用于将一个元素或动作与另一元素或动作进行区分,而不必要求或暗示任何实际的这种关系或顺序。在环境允许的情况下,参照元素或部件或步骤(等)不应解释为局限于仅元素、部件、或步骤中的一个,而可以是元素、部件、或步骤中的一个或多个等。
[0041] 在本说明书中,为了便于描述,附图中所示的各个部分的尺寸并不是按照实际的比例关系绘制的。
[0042] 本发明具体的实施方法流程图如图1所示。
[0043] S11、获取需要生成歌词文件的音频数据和所述音频数据中的文字;
[0044] S12、对所述的音频数据根据预设分割时长进行分割,至少分割成一个音频片段,所述分割所得的音频片段总数至少为一倍的所述文字总数;
[0045] S13、对所述所有音频片段进行傅里叶变换,得到对应的频域片段;
[0046] S14、获取所述所有频域片段能量在频域分布范围值,利用K均值聚类算法根据频率能量变化差异度值将所述频域片段分成K个簇,其中,所述K值与所述音频数据中的文字总数一致,根据时间先后次序对每个簇中的频域片段进行排序,将每个簇中排序后的起始频域片段对应的时间记为频率发生变化的时间节点;
[0047] S15、将所得的所有时间节点与所述文字根据先后次序一一对应,生成逐字歌词文件。
[0048] 在步骤S11中,需要获取需要生成歌词文件的音频数据和该音频数据中所对应的文字信息,该文字信息可以是人工提取的,也可以是通过智能语音识别技术进行识别的,该步骤需要获取该音频数据中的所有文字信息,并计算出所有文字的总个数。
[0049] 步骤S12中,需要对该音频数据根据预设的分割时长进行分割,具体地,该分割时长的设定可以根据音频数据的语调快慢,即舒缓程度进行设定,设定的分割时长最少需满足条件:分割所得的音频片段总数至少为一倍的所述文字总数,优选的,为获得好的运算结果,一般应将分割所得的音频片段设置的远远大于该音频片段内的文字总数。在一个实施例中,可以将该预设分割时长设定为10ms。
[0050] 步骤S13需要对分割所得的所有音频片段进行傅里叶变换,将其转换到频域空间,从而获得与上述音频片段一一对应的频域片段。
[0051] 步骤S14是利用K聚类均值算法对步骤S13所得的频域片段进行处理,从而得到有歌词介入或另一个字开始唱的时间节点。
[0052] 具体的,K均值聚类算法是典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为簇是由距离靠近的对象组成的,因此把得到紧凑且独立的簇作为最终目标,该算法的具体处理过程如下所示:
[0053] 步骤1:从N个数据文档(样本)随机选取K个数据文档作为质心(聚类中心);
[0054] 步骤2:对每个数据文档测量其到每个质心的距离,并把它归到最近的质心的类;
[0055] 步骤3:重新计算已经得到的各个类的质心;
[0056] 步骤4,迭代步骤2、步骤3直至新的质心与原质心相等或小于指定阈值,算法结束。
[0057] 即,当所有样本所属的质心都不再变化时,算法收敛。
[0058] 应用K均值聚类算法处理过程中,K个初始聚类中心点的选取对聚类结果具有较大的影响,因为在该算法第一步中是随机地选取任意k个对象作为初始聚类中心,初始地代表一个簇,该初始聚类中心并不能准确反映样本的簇分类情况,需要根据后续步骤,在每次迭代中对数据集中剩余的每个对象,根据其与各个簇中心的距离赋给最近的簇。当考查完所有数据对象后,一次迭代运算完成,新的聚类中心被计算出来,重复执行迭代过程,直到所有样本所属的质心都不再发生变化时,跳出循环。
[0059] 例如,一个简单的K均值聚类算法应用为:在一个足球史时间轴上,有1997-2009年,每一年相当于切割成N个片段。选取2003年,其中亚洲球队实平差不多,那么中日韩以中国为中心点,日韩和中国实力差不多这3个国家为一个簇,中国为中心,同样的西班牙+葡萄牙+墨西哥实力差不多为另一个簇;巴西实力跟他们都不是一个级别不能进入这两个簇。
[0060] 将K均值聚类算法应用到本发明中的算法处理过程如图2所示:
[0061] S21:随机任选K个频率片段作为K个簇中心;
[0062] S22:分别计算剩余的频率片段与K个簇中心的频率能量变化差异度,将所述差异度数值最低的频域片段划分到同一个簇;
[0063] S23:根据步骤S22的簇聚类结果,重新计算每个簇的簇中心,并对簇中心进行更新,所述计算方法为计算每个簇中所有频域片段频率能量变化差异度的均值;
[0064] S24:循环执行S22和S23的过程,直到每个簇的差异度均值小于或等于设定的阈值。
[0065] 即,在一个具体的实例中,如通过S13获得的待测音频文件对应的频域能量分布范围值如下表所示:
[0066]频率片段 能量值1-100 能量值100-200 能量值200-300 能量值300-400
1 30 401 520 1100
2 41 580 610 920
3 29 460 590 1000
4 50 454 650 1200
5 2 14 32 2000
[0067] 在上表中,通过10ms的分割时长,我们获取了5个频域片段(1,2,3,4,5),对其进行傅里叶变换后,得到对应的频域片段,并获得各个频域片段的频域能量分布范围。
[0068] 若当前待测音频文件中所包含的文字总数为2,则我们选取簇总数K为2。
[0069] 步骤1,随机选取任意两个频域片段,例如2,5;
[0070] 步骤2,分别计算频域片段1,3,4,5与音频片段2的频域能量变化差异度数值,然后将差异度数值较低的频域片段分到一个簇中,例如,从图2中可以看出,频域片段1,3,4与频域片段2的频率能量变化差异度数值较频域片段5与频域片段2的差异度数值小,则将频域片段1,2,3,4分到一个簇中;然后,再分别计算频域片段1,2,3,4与频域片段2的频率能量变化差异度数值,得到一个新的簇,仅包含频域片段5;
[0071] 步骤3,再利用均值算法计算上述每个簇的质心,并将质心设为新的簇中心;
[0072] 步骤4,重新执行上述步骤2和步骤3,直到新的簇中心与簇中每一个频域片段的欧式距离均小于或等于指定的阈值时,跳出循环。
[0073] 步骤5,对步骤4获得的每个簇和每个簇中的频域片段分别根据时间次序进行排序,并将每一个簇中的起始频域片段所对应的时间记为一个时间节点;
[0074] 最后,执行步骤S15,依次将所得的时间节点与所述文字根据先后次序一一对应,生成逐字歌词文件。
[0075] 图3是一种基于K均值聚类算法生成逐字歌词文件的系统,具体包括:
[0076] 获取模块31,用于获取需要生成歌词文件的音频数据和所述音频数据中的文字;
[0077] 分割模块32,用于对所述的音频数据根据预设分割时长进行分割,至少分割成一个音频片段,所述分割所得的音频片段总数至少为一倍的所述文字总数;
[0078] 转换模块33,用于对所述所有音频片段进行傅里叶变换,得到对应的频域片段;
[0079] 节点模块34,用于获取所述所有频域片段能量在频域分布范围值,利用K均值聚类算法根据频率能量变化差异度值将所述频域片段分成K个簇,其中,所述K值与所述音频数据中的文字总数一致,根据时间先后次序对每个簇中的频域片段进行排序,将每个簇中排序后的起始频域片段对应的时间记为频率发生变化的时间节点;
[0080] 生成模块35,用于将所得的时间节点与所述文字根据先后次序一一对应,生成逐字歌词文件。
[0081] 具体的,所述分割模块中,预设分割时长可根据所述音频数据的舒缓程度进行设定,设定的分割时长最最少满足条件:分割所得的音频片段总数至少为一倍的所述文字总数,需要注意的是,为保证较好的判断结果,预设分割时长的设定一般应确保足够小,使得分割所得的音频片段的总数目应远远大于该待测音频数据中文字的总数目。优选的,在一个实施例中,可以将该预设分割时长设定为10ms。
[0082] 上述节点模块中,K均值聚类算法的算法处理过程为:
[0083] 步骤1,随机任选K个频率片段作为K个簇中心;
[0084] 步骤2,分别计算剩余的频率片段与K个簇中心的频率能量变化差异度,将所述差异度数值最低的频域片段划分到同一个簇;
[0085] 步骤3,根据步骤2的簇聚类结果,重新计算每个簇的簇中心,并对簇中心进行更新,所述计算方法为计算每个簇中所有频域片段频率能量变化差异度的均值;
[0086] 步骤4,循环执行步骤2和步骤3的过程,直到每个簇的差异度均值小于或等于设定的阈值。
[0087] 上述K均值聚类算法的详细处理过程在上文有详细的叙述,在此不再赘述。
[0088] 在上述获取模块中,包括语音识别模块36,可通过智能语音识别技术,识别所述音频数据中的所有文字信息。
[0089] 所述生成模块中包括,用于将判断所得的所述时间节点与所述语音识别模块识别的文字根据先后次序进行一一对应,生成逐字歌词文件。
[0090] 从以上的描述中,可以看出,本发明通过获取需要生成歌词文件的音频数据和文字,再将所述的音频数据至少分割成一个音频片段,对所述音频片段进行傅里叶变换,得到对应的频域片段,获取所述频域片段能量在频域分布范围值,利用K均值聚类算法根据频率能量变化差异度值确定频率变化明显的时间节点,再结合所述音频数据中的文字,将所得的时间节点与所述文字根据先后次序一一对应,生成逐字歌词文件。通过上述方案解决了目前歌词文件逐字歌词时长不精确的问题,可实现自动制作逐字歌词的目的。
[0091] 至此,已详细描述了本发明。为了避免蒙蔽本发明的构思,没有对本领域所公知的一些细节进行描述。本领域技术人员根据上面的描述,完全可以明白如何实施本发明公开的技术方案。
[0092] 以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈