歌词解析方法及系统与流程
- 国知局
- 2024-11-19 09:46:46
本发明涉及多媒体领域,尤其涉及一种歌词解析方法及系统。
背景技术:
1、卡拉ok功能是ktv点歌机的重要功能之一。为了提升用户体验,需要将歌词与歌曲音频同步显示在屏幕上。
2、现有技术方案通常采用以下方法:将歌词文件解析成包含时间戳和文本内容的列表,然后根据播放进度查找并显示对应的歌词内容。该方法存在以下问题:文本解析过程通常需要遍历整个歌词文件,效率较低,尤其对于较长的歌词文件,解析时间会加长,影响歌词的同步显示。
3、针对现有技术中的以上问题,目前还没有一个有效的解决方法。
技术实现思路
1、为解决上述问题,本发明提供一种歌词解析方法及系统,通过对解析后的文本进行存储,以避免重解析;采用字符串匹配算法匹配歌词文件中的时间戳及对应的文本内容,从而快速得到每个时间戳对应的文本内容;对已经修改的歌词文件对应的解析文本进行更新,以解决现有技术中歌词解析时间长,解析效率低的问题。
2、为达到上述目的,本发明实施例提供了一种歌词解析方法,包括:获取歌词文件,判断缓存中是否存在所述歌词文件对应的解析文本;当缓存中不存在所述歌词文件对应的解析文本时,采用字符串匹配算法对歌词文件中的时间戳及对应文本内容进行提取,得到解析文本,将所述解析文本存储于缓存中,并根据解析文本中的时间戳显示对应文本内容;当缓存中存在所述歌词文件对应的解析文本时,根据所述歌词文件的修改情况更新对应的解析文本,并根据更新后的解析文本中的时间戳显示对应文本内容。
3、进一步可选的,所述字符串匹配算法包括正则表达式匹配算法、kmp算法及boyer-moore算法;所述采用字符串匹配算法对歌词文件中的时间戳及对应文本内容进行提取,包括:根据歌词文件的文本类型确定目标正则表达式,采用目标正则表达式对所述歌词文件中的时间戳及对应文本内容进行提取;或,采用所述kmp算法定位所述歌词文件中的时间戳标识符,并根据时间戳标识符提取所述时间戳及对应文本内容;或,采用boyer-moore算法定位所述歌词文件中的时间戳标识符,并根据时间戳标识符提取所述时间戳及对应文本内容。
4、进一步可选的,所述采用字符串匹配算法对歌词文件中的时间戳及对应文本内容进行提取,得到解析文本,包括:根据预设分割条件对所述歌词文件进行分割,得到多个歌词片段;为每个歌词片段分配一个线程,对每个线程中的歌词片段,采用所述字符串匹配算法提取时间戳的时间信息和对应的文本内容,得到每个歌词片段对应的解析结果;将所有解析结果进行汇总得到解析文本。
5、进一步可选的,所述根据所述歌词文件的修改情况更新对应的解析文本,包括:对比所述歌词文件与对应解析文本的修改时间或哈希值,判断所述歌词文件是否已修改;当所述歌词文件未修改时,加载缓存中的解析文本;当所述歌词文件已修改时,采用文本差异算法计算所述歌词文件与旧歌词文件的差异歌词文件;采用字符串匹配算法对所述差异歌词文件中的时间戳及对应文本内容进行提取,得到更新文本;采用所述更新文本更新对应的解析文本,记录更新后的解析文本的最新修改时间或最新哈希值;其中,所述旧歌词文件与缓存中的解析文本相对应。
6、进一步可选的,所述获取歌词文件之后,包括:识别并删除所述歌词文件中的制表符、换行符及多余空格;识别并删除所述歌词文件中的标签及注释。
7、另一方面,本发明提供了一种歌词解析系统,包括:数据获取模块,用于获取歌词文件,判断缓存中是否存在所述歌词文件对应的解析文本;第一解析模块,用于当缓存中不存在所述歌词文件对应的解析文本时,采用字符串匹配算法对歌词文件中的时间戳及对应文本内容进行提取,得到解析文本,将所述解析文本存储于缓存中,并根据解析文本中的时间戳显示对应文本内容;第二解析模块,用于当缓存中存在所述歌词文件对应的解析文本时,根据所述歌词文件的修改情况更新对应的解析文本,并根据更新后的解析文本中的时间戳显示对应文本内容。
8、进一步可选的,所述字符串匹配算法包括正则表达式匹配算法、kmp算法及boyer-moore算法;所述第一解析模块包括:第一内容提取子模块,用于根据歌词文件的文本类型确定目标正则表达式,采用目标正则表达式对所述歌词文件中的时间戳及对应文本内容进行提取;第二内容提取子模块,用于采用所述kmp算法定位所述歌词文件中的时间戳标识符,并根据时间戳标识符提取所述时间戳及对应文本内容;第三内容提取子模块,用于采用boyer-moore算法定位所述歌词文件中的时间戳标识符,并根据时间戳标识符提取所述时间戳及对应文本内容。
9、进一步可选的,所述第一解析模块包括:分片子模块,用于根据预设分割条件对所述歌词文件进行分割,得到多个歌词片段;并行解析子模块,用于为每个歌词片段分配一个线程,对每个线程中的歌词片段,采用所述字符串匹配算法提取时间戳的时间信息和对应的文本内容,得到每个歌词片段对应的解析结果;汇总子模块,用于将所有解析结果进行汇总得到解析文本。
10、进一步可选的,所述第二解析模块包括:判断子模块,用于对比所述歌词文件与对应解析文本的修改时间或哈希值,判断所述歌词文件是否已修改;加载子模块,用于当所述歌词文件未修改时,加载缓存中的解析文本;更新子模块,用于当所述歌词文件已修改时,采用文本差异算法计算所述歌词文件与旧歌词文件的差异歌词文件;采用字符串匹配算法对所述差异歌词文件中的时间戳及对应文本内容进行提取,得到更新文本;采用所述更新文本更新对应的解析文本,记录更新后的解析文本的最新修改时间或最新哈希值;其中,所述旧歌词文件与缓存中的解析文本相对应。
11、进一步可选的,该系统还包括:第一预处理模块,用于识别并删除所述歌词文件中的制表符、换行符及多余空格;第二预处理模块,用于识别并删除所述歌词文件中的标签及注释。
12、上述技术方案具有如下有益效果:通过将解析后的解析文本存储到缓存,避免对应歌词文件的重解析;通过采用字符串匹配算法快速匹配到歌词文件中的时间戳及时间戳对应文本内容,减少了制表时间,提高了解析效率;对已解析的歌词文件根据修改情况更新对饮解析文本,减少了重新全部解析的时间,提高了歌词文件的解析效率。
技术特征:1.一种歌词解析方法,其特征在于,包括:
2.根据权利要求1所述的歌词解析方法,其特征在于,所述字符串匹配算法包括正则表达式匹配算法、kmp算法及boyer-moore算法;
3.根据权利要求2所述的歌词解析方法,其特征在于,所述采用字符串匹配算法对歌词文件中的时间戳及对应文本内容进行提取,得到解析文本,包括:
4.根据权利要求3所述的歌词解析方法,其特征在于,所述根据所述歌词文件的修改情况更新对应的解析文本,包括:
5.根据权利要求1至4任一项所述的歌词解析方法,其特征在于,所述获取歌词文件之后,包括:
6.一种歌词解析系统,其特征在于,包括:
7.根据权利要求6所述的歌词解析系统,其特征在于,所述字符串匹配算法包括正则表达式匹配算法、kmp算法及boyer-moore算法;
8.根据权利要求7所述的歌词解析系统,其特征在于,所述第一解析模块包括:
9.根据权利要求8所述的歌词解析系统,其特征在于,所述第二解析模块包括:
10.根据权利要求6至9任一项所述的歌词解析系统,其特征在于,还包括:
技术总结本发明实施例公开了一种歌词解析方法及系统,其中该方法包括:获取歌词文件,判断缓存中是否存在所述歌词文件对应的解析文本;当缓存中不存在所述歌词文件对应的解析文本时,采用字符串匹配算法对歌词文件中的时间戳及对应文本内容进行提取,得到解析文本,将所述解析文本存储于缓存中,并根据解析文本中的时间戳显示对应文本内容;当缓存中存在所述歌词文件对应的解析文本时,根据所述歌词文件的修改情况更新对应的解析文本,并根据更新后的解析文本中的时间戳显示对应文本内容。提高了歌词解析效率。技术研发人员:张超锋,钱磊受保护的技术使用者:北京雷石天地电子技术有限公司技术研发日:技术公布日:2024/11/14本文地址:https://www.jishuxx.com/zhuanli/20241118/330198.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表