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

一种基于K最近邻算法生成逐字歌词文件的系统与方法

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

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

1.一种基于K最近邻算法生成逐字歌词文件的系统,其特征在于,包括:
获取模,用于获取需要生成歌词文件的音频数据和所述音频数据中的文字;
分割模块,用于对所述的音频数据根据预设分割时长进行分割,至少分割成一个音频片段,所述分割所得的音频片段总数至少为一倍的所述文字总数;
转换模块,用于对所述所有音频片段进行傅里叶变换,得到对应的频域片段;
判断模块,用于获取所述所有频域片段能量在频域分布范围值,并利用K最近邻算法进行分类处理,判断每一个频域片段能量与其相邻的至少一个频域片段能量是否属于同一个类别;
节点模块,用于当所述待判断频域片段能量和与其相邻的至少一个频域片段能量在频域分布范围值不属于同一个类别时,将该段频域片段对应的时间设定为一个时间节点;
生成模块,用于将判断所得的时间节点与所述文字根据先后次序一一对应,生成逐字歌词文件。
2.根据权利要求1所述的系统,其特征在于,所述判断模块中,所述K最近邻算法判断是否属于同一个类别的频率片段数K值可通过循环迭代进行测试,选取通过判断获取的总的时间节点数等于所述文字数所对应的K值。
3.根据权利要求1所述的系统,其特征在于,所述获取模块包括语音识别模块,用于通过智能语音识别技术,识别所述音频数据中的所有文字。
4.根据权利要求3所述的系统,其特征在于,所述生成模块包括:用于将判断所得的所述时间节点与所述语音识别模块识别的文字根据先后次序进行一一对应,生成逐字歌词文件。
5.根据权利要求1所述的系统,其特征在于,所述分割模块的预设分割时长可根据所述音频数据的舒缓程度设定。
6.一种基于K最近邻算法生成逐字歌词文件的方法,其特征在于,包括:
获取需要生成歌词文件的音频数据和所述音频数据中的文字;
对所述的音频数据根据预设分割时长进行分割,至少分割成一个音频片段,所述分割所得的音频片段总数至少为一倍的所述文字总数;
对所述所有音频片段进行傅里叶变换,得到对应的频域片段;
获取所述所有频域片段能量在频域分布范围值,并利用K最近邻算法进行分类处理,判断每一个频域片段能量与其相邻的至少一个频域片段能量是否属于同一个类别;
当所述待判断频域片段能量和与其相邻的至少一个频域片段能量在频域分布范围值不属于同一个类别时,将该段频域片段对应的时间设定为一个时间节点;
将判断所得的时间节点与所述文字根据先后次序一一对应,生成逐字歌词文件。
7.根据权利要求6所述的方法,其特征在于,所述K最近邻算法判断是否属于同一个类别的频率片段数K值可通过循环迭代进行测试,选取通过判断获取的总的时间节点数等于所述文字数所对应的K值。
8.根据权利要求6所述的方法,其特征在于,所述方法包括,通过智能语音识别技术,识别所述音频数据中的所有文字。
9.根据权利要求8所述的方法,其特征在于,所述方法包括,将判断所得的所述时间节点与所述语音识别模块识别的文字根据先后次序进行一一对应,生成逐字歌词文件。
10.根据权利要求6所述的装置,其特征在于,所述预设分割时长可根据所述音频数据的舒缓程度设定。

说明书全文

一种基于K最近邻算法生成逐字歌词文件的系统与方法

技术领域

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

背景技术

[0002] K最近邻算法的思想是,如果一个样本在特征空间中的K个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。该方法在确定分类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。
[0003] 现在mp3等音频播放设备播放歌曲文件时,没有逐字对应的歌词,逐字歌词需要人工制作。目前,通过音频检测文件核语音智能识别技术,可以实现所有歌曲自动生成逐字歌词。但是,现有的歌词字幕不能够对歌曲中每个字的发音时长做出准确的判断。比如当我们去KTV唱歌时,往往是通过某个字的颜色渐变等方法来表示这个字需要唱的时长,例如,该字字体颜色由白色逐渐变为蓝色来表示这个字需要唱的时间,但是,由于现阶段歌词字幕往往是人工制作或者根据检测音频文件和语音智能识别自动生成的,存在歌曲文件逐字歌词时长识别不精确的问题。
[0004] 目前,针对上述问题,还没有提出一种能够有效解决问题的技术方案。

发明内容

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

具体实施方式

[0032] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0033] 在本说明书中,诸如第一和第二这样的形容词仅可以用于将一个元素或动作与另一元素或动作进行区分,而不必要求或暗示任何实际的这种关系或顺序。在环境允许的情况下,参照元素或部件或步骤(等)不应解释为局限于仅元素、部件、或步骤中的一个,而可以是元素、部件、或步骤中的一个或多个等。
[0034] 在本说明书中,为了便于描述,附图中所示的各个部分的尺寸并不是按照实际的比例关系绘制的。
[0035] 本发明具体的实施方法流程图如图1所示。
[0036] S11、获取需要生成歌词文件的音频数据和所述音频数据中的文字;
[0037] S12、对所述的音频数据根据预设分割时长进行分割,至少分割成一个音频片段,所述分割所得的音频片段总数至少为一倍的所述文字总数;
[0038] S13、对所述所有音频片段进行傅里叶变换,得到对应的频域片段;
[0039] S14、获取所述所有频域片段能量在频域分布范围值,并利用K最近邻算法进行分类处理,判断每一个频域片段能量与其相邻的至少一个频域片段能量是否属于同一个类别;
[0040] S15、当所述待判断频域片段能量和与其相邻的至少一个频域片段能量在频域分布范围值不属于同一个类别时,将该段频域片段对应的时间设定为一个时间节点;
[0041] S16、将判断所得的时间节点与所述文字根据先后次序一一对应,生成逐字歌词文件。
[0042] 在步骤S11中,需要获取需要生成歌词文件的音频数据和该音频数据中所对应的文字信息,该文字信息可以是人工提取的,也可以是通过智能语音识别技术进行识别的,该步骤需要获取该音频数据中的所有文字信息,并计算出所有文字的总个数。
[0043] 步骤S12中,需要对该音频数据根据预设的分割时长进行分割,具体地,该分割时长的设定可以根据音频数据的语调快慢,即舒缓程度进行设定,设定的分割时长最少满足条件:分割所得的音频片段总数至少为一倍的所述文字总数,优选的,为获得好的运算结果,一般应将分割所得的音频片段设置的远远大于该音频片段内的文字总数。在一个实施例中,可以将该预设分割时长设定为100ms。
[0044] 步骤S13需要对分割所得的所有音频片段进行傅里叶变换,将其转换到频域空间,从而获得与上述音频片段一一对应的频域片段。
[0045] 步骤S14是利用K最近邻算法对步骤S13所得的频域片段进行处理,从而得到有歌词介入或另一个字开始唱的时间节点。
[0046] 具体地,K最近邻算法的核心思想是:如果一个样本在特征空间中的K个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。该方法在确定分类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。
[0047] 在该实施例的操作过程中,可以通过判断当前频域片段于其左右相邻的至少一个频域片段是否属于同一个类别,当判断不属于同一个类别时,则说明歌词的频率发生的变化,即说明歌曲中有歌词介入或者歌词应为另一个字的起始。
[0048] 具体的,如下表所述,为一种待测音频文件对应的能量在频域分布范围值分布范围实例。
[0049]
[0050]
[0051] 在表中,通过100ms的分割时长,我们获取了5个音频片段(1,2,3,4,5),对其进行傅里叶变换后,得到对应的频域片段,并获得各个频域片段的频域能量分布范围。
[0052] 通过K最近邻算法,可以对上述5个音频片段进行分类,通过表中的能量值分布范围数据,可以计算得到至少1,2,3,4属于同一个类别,音频片段5是不属于音频片段1、2、3、4这一类的音频片段所述的类别,即,待测音频文件中有语音频率的变换,暗示该待测音频文件中存在新的歌词,记录当前音频片段5的起始时刻为一个时间节点。
[0053] 根据上述具体实施例中的方法,判断所有频域片段和与其相邻的至少一个频域片段能量在频域分布范围值是否属于同一个类别,当不属于同一个类别时,将该段频域片段对应的时间设定为一个时间节点。
[0054] 当然,上述根据K最近邻算法判断类别的过程中,存在一定的差异。特别是在实际情况中,由于K最近邻算法中的K值(即,判断K个最相邻的样本属于同一个类别)并不是一个固定的值,需要人为选取,这样不可避免地会引入很大的误差,如果任意选取的话,分类的性能较差,无法得出有效的结果。另外,如果K值选取的过大或者过小,都有可能无法得到与歌词文字一一对应的时间节点,另外,如果K值选取的过大的话,还可能造成过大的运算量,影响运算的速度。
[0055] 为增强该方法的稳健性,在此,特别采用了循环迭代进行测试的方法选取K值,循环迭代的结果结束的标志为:通过K最近邻算法所得到的总的时间节点数与该待测音频数据中文字的总数目一致时,则跳出循环,记录该K值,并获取该K值下所得的时间节点。
[0056] 最后,执行步骤S16,将判断所得的时间节点与所述文字根据先后次序一一对应,生成逐字歌词文件。
[0057] 图2是一种基于K最近邻算法生成逐字歌词文件的系统,具体包括:
[0058] 获取模块21,用于获取需要生成歌词文件的音频数据和所述音频数据中的文字;
[0059] 分割模块22,用于对所述的音频数据根据预设分割时长进行分割,至少分割成一个音频片段,所述分割所得的音频片段总数至少为一倍的所述文字总数;
[0060] 转换模块23,用于对所述所有音频片段进行傅里叶变换,得到对应的频域片段;
[0061] 判断模块24,用于获取所述所有频域片段能量在频域分布范围值,并利用K最近邻算法进行分类处理,判断每一个频域片段能量与其相邻的至少一个频域片段能量是否属于同一个类别;
[0062] 节点模块25,用于当所述待判断频域片段能量和与其相邻的至少一个频域片段能量在频域分布范围值不属于同一个类别时,将该段频域片段对应的时间设定为一个时间节点;
[0063] 生成模块26,用于将判断所得的时间节点与所述文字根据先后次序一一对应,生成逐字歌词文件。
[0064] 具体的,所述分割模块中,预设分割时长可根据所述音频数据的舒缓程度进行设定,设定的分割时长最最少满足条件:分割所得的音频片段总数至少为一倍的所述文字总数,需要注意的是,为保证较好的判断结果,预设分割时长的设定一般应确保足够小,使得分割所得的音频片段的总数目应远远大于该待测音频数据中文字的总数目。优选的,在一个实施例中,可以将该预设分割时长设定为100ms。
[0065] 具体的,在判断模块24中,K最近邻算法中的K值(即,判断K个最相邻的样本属于同一个类别)并不是一个固定的值,如果任意选取的话,分类的性能较差,无法得出有效的结果。如果K值选取的过大或者过小,都有可能无法得到与歌词文字一一对应的时间节点,另外,如果K值选取的过大的话,还可能造成过大的运算量,影响运算的速度。
[0066] 为增强该方法的稳健性,在此,特别采用了循环迭代进行测试的方法选取K值,循环迭代的结果结束的标志为:通过K最近邻算法所得到的总的时间节点数与该待测音频数据中文字的总数目一致时,则跳出循环,记录该K值,并获取该K值下所得的时间节点。
[0067] 在上述获取模块中,包括语音识别模块27,可通过智能语音识别技术,识别所述音频数据中的所有文字信息。
[0068] 所述生成模块中包括,用于将判断所得的所述时间节点与所述语音识别模块识别的文字根据先后次序进行一一对应,生成逐字歌词文件。
[0069] 从以上的描述中,可以看出,本发明通过获取需要生成歌词文件的音频数据,再将所述的音频数据至少分割成一个音频片段,对所述音频片段进行傅里叶变换,得到对应的频域片段,获取所述所有频域片段能量在频域分布范围值,并利用K最近邻算法检测所有频域片段能量在频域分布范围值的变动,从而检测出所述音频数据出现歌词的时间节点,再结合所述音频数据中的文字,将判断所得的时间节点与所述文字根据先后次序一一对应,生成逐字歌词文件。通过上述方案解决了目前歌词文件逐字歌词时长不精确的问题,可实现自动制作逐字歌词的目的。
[0070] 至此,已详细描述了本发明。为了避免蒙蔽本发明的构思,没有对本领域所公知的一些细节进行描述。本领域技术人员根据上面的描述,完全可以明白如何实施本发明公开的技术方案。
[0071] 以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
高效检索全球专利

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈