CN113377992A - 歌曲分段方法、设备和存储介质 - Google Patents
歌曲分段方法、设备和存储介质 Download PDFInfo
- Publication number
- CN113377992A CN113377992A CN202110688029.3A CN202110688029A CN113377992A CN 113377992 A CN113377992 A CN 113377992A CN 202110688029 A CN202110688029 A CN 202110688029A CN 113377992 A CN113377992 A CN 113377992A
- Authority
- CN
- China
- Prior art keywords
- target
- initial
- song
- similarity
- sentence
- 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.)
- Granted
Links
- 230000011218 segmentation Effects 0.000 title claims abstract description 297
- 238000000034 method Methods 0.000 title claims abstract description 68
- 239000012634 fragment Substances 0.000 claims abstract description 85
- 238000012545 processing Methods 0.000 claims abstract description 29
- 239000011159 matrix material Substances 0.000 claims description 143
- 230000008569 process Effects 0.000 claims description 14
- 230000015654 memory Effects 0.000 claims description 12
- 238000004445 quantitative analysis Methods 0.000 claims description 5
- 238000012163 sequencing technique Methods 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 claims 1
- 239000002131 composite material Substances 0.000 claims 1
- 238000013139 quantization Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 4
- 241001342895 Chorus Species 0.000 description 3
- HAORKNGNJCEJBX-UHFFFAOYSA-N cyprodinil Chemical compound N=1C(C)=CC(C2CC2)=NC=1NC1=CC=CC=C1 HAORKNGNJCEJBX-UHFFFAOYSA-N 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/61—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/68—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/683—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
- G06F16/685—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using automatically derived transcript of audio data, e.g. lyrics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/68—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/686—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, title or artist information, time, location or usage information, user ratings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Library & Information Science (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种歌曲分段方法、设备和存储介质,属于计算机处理技术领域。所述方法包括:确定目标歌曲的歌词中的多个目标歌词句,获取每个目标歌词句对应的开始时间点;根据每两个相邻目标歌词句的开始时间点之间的时间差,对目标歌曲进行分段,得到第一分段结果;根据目标歌曲中每两个目标歌词句之间的相似度,在歌词中确定至少一个相似片段对,其中,相似片段对中的单个片段包含的目标歌词句的数目大于第一数目阈值;根据至少一个相似片段对,对目标歌曲进行分段,得到第二分段结果;根据第一分段结果和第二分段结果,确定目标歌曲的综合分段结果。采用本申请,可以得到较为准确的歌曲分段,提高了用户的使用体验。
Description
技术领域
本申请涉及计算机处理技术领域,特别涉及一种歌曲分段方法、设备和存储介质。
背景技术
在当前社会中,歌曲成为人们休闲娱乐中重要的一部分,其中,K歌应用程序更是为人们提供了更具乐趣的娱乐方式。在K歌应用软件中,通常设置有片段模式和合唱模式等等,片段模式为只演唱一个歌曲中的一个片段,合唱模式为每人演唱一个片段,然后将这些片段拼接起来得到合唱的完整音频,为了实现上述模式,需要预先设置歌曲中的分段位置,以便于用户的后续使用。
传统的歌曲分段方法为根据歌曲中每个歌词句对应的开始时间,计算每两个歌词句之间的开始时间差,然后根据歌曲中计算出的多个开始时间差设置时间差阈值,将开始时间差大于该时间差阈值的位置设置为分段位置。这种分段方法只是根据时间来进行分段,考虑的因素比较单一,因此可能存在分段不准确的问题,降低了用户的使用体验。
发明内容
本申请实施例提供了一种歌曲分段的方法,能够解决现有技术中对于歌曲的分段不准确,降低了用户的使用体验的问题。
第一方面,提供了一种歌曲分段方法,所述方法包括:
确定目标歌曲的歌词中的多个目标歌词句,获取每个目标歌词句对应的开始时间点;
根据每两个相邻目标歌词句的开始时间点之间的时间差,对所述目标歌曲进行分段,得到第一分段结果;
根据所述目标歌曲中每两个目标歌词句之间的相似度,在所述歌词中确定至少一个相似片段对,其中,所述相似片段对中的单个片段包含的目标歌词句的数目大于第一数目阈值;
根据所述至少一个相似片段对,对所述目标歌曲进行分段,得到第二分段结果;
根据所述第一分段结果和所述第二分段结果,确定所述目标歌曲的综合分段结果。
在一种可能的实现方式中,所述根据所述目标歌曲中每两个歌词句之间的相似度,在所述歌词中确定至少一个相似片段对,包括:
根据所述目标歌曲中每两个目标歌词句之间的相似度,确定目标歌曲的初始相似度矩阵,其中,所述初始相似度矩阵的第N行第M列的元素表示所述目标歌曲中第N个目标歌词句与第M个目标歌词句之间的相似度;
将所述初始相似度矩阵中的小于第一相似度阈值的元素和主对角线的元素置零,得到待处理相似度矩阵;
根据所述待处理相似度矩阵和递归量化分析RQA算法,确定所述歌词中的至少一个相似片段对。
在一种可能的实现方式中,所述根据所述待处理相似度矩阵和RQA算法,确定所述歌词中的至少一个相似片段对,包括:
将所述待处理相似度矩阵输入RQA算法,得到初始相似片段对;
将所述初始相似片段对对应的目标歌词句在所述待处理相似度矩阵中对应的元素置零,以更新所述待处理相似度矩阵;
确定是否满足预设的循环结束条件,如果不满足所述循环结束条件,则转至执行将更新后的待处理相似度矩阵输入RQA算法得到初始相似片段对的步骤,如果满足所述循环结束条件,则将包含的片段中的目标歌词句的数目大于第一数目阈值的初始相似片段对,确定为所述歌词中的相似片段对。
在一种可能的实现方式中,
所述确定是否满足预设的循环结束条件,如果不满足所述循环结束条件,则转至执行将更新后的待处理相似度矩阵输入RQA算法得到初始相似片段对的步骤,如果满足所述循环结束条件,则将包含的片段中的目标歌词句的数目大于第一数目阈值的初始相似片段对,确定为所述歌词中的相似片段对,包括:
确定当前循环次数是否达到预设次数阈值,或最后一次得到的初始相似片段对中单个片段包含的目标歌词句的数目是否小于所述第一数目阈值;
如果当前循环次数未达到预设次数阈值,且最后一次得到的初始相似片段对中单个片段包含的目标歌词句的数目不小于所述第一数目阈值,则转至执行将更新后的待处理相似度矩阵输入RQA算法得到初始相似片段对的步骤;
如果当前循环次数达到预设次数阈值,或最后一次得到的初始相似片段对中单个片段包含的目标歌词句的数目小于所述第一数目阈值,则将包含的片段中的目标歌词句的数目大于所述第一数目阈值的初始相似片段对,确定为所述歌词中的相似片段对。
在一种可能的实现方式中,还包括:
如果当前循环次数达到预设次数阈值、且最后一次得到的初始相似片段对中单个片段包含的目标歌词句的数目大于或者等于所述第一数目阈值,按照所述初始相似片段对的输出顺序,对每个初始相似片段对中单个片段包含的目标歌词句数目,进行排序,得到目标歌词句数目序列;
在所述目标歌词句数目序列中,计算每两个相邻目标歌词句数目之间的差值;
确定最大差值对应的两个相邻目标歌词句数目中较大的目标歌词句数目对应的目标初始相似片段对;
将所述目标初始相似片段对和在所述目标初始相似片段对之前输出的初始相似片段对,确定为所述歌词中的相似片段对。
在一种可能的实现方式中,所述将所述初始相似度矩阵中的小于第一相似度阈值的元素和主对角线的元素置零,得到待处理相似度矩阵,包括:
将所述初始相似度矩阵中的小于第一相似度阈值的元素和主对角线的元素置零;
将置零处理后的初始相似度矩阵确定为待处理相似度矩阵;或者,根据所述第一分段结果,将置零处理后的初始相似度矩阵分割为多个子矩阵,分别作为待处理相似度矩阵。
在一种可能的实现方式中,所述确定目标歌曲的歌词中的多个目标歌词句,包括:
确定目标歌曲的歌词中的多个初始歌词句;
对于每两个字数不相同的初始歌词句,确定所述两个初始歌词句中字数多的第一初始歌词句与字数少的第二初始歌词句的相似度;
如果所述第一初始歌词句与所述第二初始歌词句的相似度小于或等于第二相似度阈值,且所述第一初始歌词句中与所述第二初始歌词句字数相同的部分内容与所述第二初始歌词句的相似度大于所述第二相似度阈值,则将所述第二初始歌词句分别与前一个初始歌词句、后一个初始歌词句合并,得到第一合并歌词句和第二合并歌词句;确定所述第一初始歌词句与所述第一合并歌词句的第一相似度、以及所述第一初始歌词句与所述第二合并歌词句的第二相似度;如果第一相似度大于所述第二相似度阈值,则将所述第一合并歌词句确定为所述歌词中的目标歌词句,如果第二相似度大于所述第二相似度阈值,则将所述第二合并歌词句确定为所述歌词中的目标歌词句;
将所述多个初始歌词句中所述目标歌词句之外的所有初始歌词句,确定为所述歌词中的目标歌词句。
在一种可能的实现方式中,所述根据所述至少一个相似片段对,对所述目标歌曲进行分段,得到第二分段结果,包括:
分别确定所述至少一个相似片段对中每个片段的首句对应的开始时间点,以及所述至少一个相似片段对中每个片段的尾句的后一句对应的开始时间点,将确定出的各开始时间点分别作为分段开始时间点,组成所述第二分段结果。
在一种可能的实现方式中,所述根据所述至少一个相似片段对,对所述目标歌曲进行分段,得到第二分段结果,包括:
对于每个相似片段对,确定所述相似片段对中两个片段的片段首句之间间隔的目标歌词句数目,如果所述间隔的目标歌词句数目小于所述第二数目阈值,则将所述相似片段对中的两个片段合并,得到合并片段;
根据所述合并片段、以及除了所述合并片段对应的相似片段对之外的相似片段对包含的片段,对所述目标歌曲进行分段,得到第二分段结果。
在一种可能的实现方式中,所述第一分段结果包括多个第一分段的开始时间点,所述第二分段结果包括多个第二分段的开始时间点,所述根据所述第一分段结果和所述第二分段结果,确定所述目标歌曲的综合分段结果,包括:
依据所述多个第一分段的开始时间点及所述多个第二分段的开始时间点将所述第一分段结果和所述第二分段结果进行合并去重处理,得到第三分段结果;
根据所述第三分段结果,确定所述目标歌曲的综合分段结果。
在一种可能的实现方式中,所述根据合并去重处理得到的第三分段结果,确定所述目标歌曲的综合分段结果,包括:
在合并去重处理得到的第三分段结果中,确定每个开始时间点对应的分段首句,如果在确定出的各分段首句中第一分段首句与第二分段首句之间间隔的目标歌词句数目小于或者等于第三数目阈值,且所述第一分段首句对应的第一开始时间点属于所述第一分段结果,所述第二分段首句对应的第二开始时间点属于所述第二分段结果,则在所述第三分段结果中删除所述第二开始时间点,得到第四分段结果;
根据所述第四分段结果,确定所述目标歌曲的综合分段结果。
在一种可能的实现方式中,所述根据所述第四分段结果,确定所述目标歌曲的综合分段结果,包括:
确定所述第四分段结果对应的最后一个分段包含的目标歌词句的数目m;
如果m等于1,则确定最后一个分段包含的目标歌词句与前一个目标歌词句之间的相似度,得到第三相似度;如果m大于1且小于所述第四数目阈值,则将所述最后一个分段中的所有目标歌词句合并,得到第三合并歌词句,将最后一个分段之前的m个目标歌词句合并,得到第四合并歌词句,确定所述第三合并歌词句和所述第四合并歌词句之间的第三相似度;
如果所述第三相似度大于第三相似度阈值,则在第四分段结果中删除最后一个分段的开始时间点,得到所述目标歌曲的综合分段结果。
在一种可能的实现方式中,所述根据每两个相邻目标歌词句对应的开始时间点之间的时间差,对所述目标歌曲进行分段,得到第一分段结果,包括:
根据预设的时间差阈值和所述每两个相邻目标歌词句对应的开始时间点之间的时间差,在所述时间差大于或等于所述时间差阈值的两个相邻目标歌词句之间设置分段点,得到所述第一分段结果。
第二方面,提供一种歌曲分段装置,所述装置包括:
第一确定模块,用于确定目标歌曲的歌词中的多个目标歌词句,获取每个目标歌词句对应的开始时间点;
第一分段模块,用于根据每两个相邻目标歌词句的开始时间点之间的时间差,对所述目标歌曲进行分段,得到第一分段结果;
第二确定模块,用于根据所述目标歌曲中每两个目标歌词句之间的相似度,在所述歌词中确定至少一个相似片段对,其中,所述相似片段对中的单个片段包含的目标歌词句的数目大于第一数目阈值;
第二分段模块,用于根据所述至少一个相似片段对,对所述目标歌曲进行分段,得到第二分段结果;
综合分段模块,用于根据所述第一分段结果和所述第二分段结果,确定所述目标歌曲的综合分段结果。
在一种可能的实现方式中,所述第二确定模块,用于:
根据所述目标歌曲中每两个目标歌词句之间的相似度,确定目标歌曲的初始相似度矩阵,其中,所述初始相似度矩阵的第N行第M列的元素表示所述目标歌曲中第N个目标歌词句与第M个目标歌词句之间的相似度;
将所述初始相似度矩阵中的小于第一相似度阈值的元素和主对角线的元素置零,得到待处理相似度矩阵;
根据所述待处理相似度矩阵和递归量化分析RQA算法,确定所述歌词中的至少一个相似片段对。
在一种可能的实现方式中,所述第二确定模块,用于:
将所述待处理相似度矩阵输入RQA算法,得到初始相似片段对;
将所述初始相似片段对对应的目标歌词句在所述待处理相似度矩阵中对应的元素置零,以更新所述待处理相似度矩阵;
确定是否满足预设的循环结束条件,如果不满足所述循环结束条件,则转至执行将更新后的待处理相似度矩阵输入RQA算法得到初始相似片段对的步骤,如果满足所述循环结束条件,则将包含的片段中的目标歌词句的数目大于第一数目阈值的初始相似片段对,确定为所述歌词中的相似片段对。
在一种可能的实现方式中,所述第二确定模块,用于:
确定当前循环次数是否达到预设次数阈值,或最后一次得到的初始相似片段对中单个片段包含的目标歌词句的数目是否小于所述第一数目阈值;
如果当前循环次数未达到预设次数阈值,且最后一次得到的初始相似片段对中单个片段包含的目标歌词句的数目不小于所述第一数目阈值,则转至执行将更新后的待处理相似度矩阵输入RQA算法得到初始相似片段对的步骤;
如果当前循环次数达到预设次数阈值,或最后一次得到的初始相似片段对中单个片段包含的目标歌词句的数目小于所述第一数目阈值,则将包含的片段中的目标歌词句的数目大于所述第一数目阈值的初始相似片段对,确定为所述歌词中的相似片段对。
在一种可能的实现方式中,所述第二确定模块,还用于:
如果当前循环次数达到预设次数阈值、且最后一次得到的初始相似片段对中单个片段包含的目标歌词句的数目大于或者等于所述第一数目阈值,按照所述初始相似片段对的输出顺序,对每个初始相似片段对中单个片段包含的目标歌词句数目,进行排序,得到目标歌词句数目序列;
在所述目标歌词句数目序列中,计算每两个相邻目标歌词句数目之间的差值;
确定最大差值对应的两个相邻目标歌词句数目中较大的目标歌词句数目对应的目标初始相似片段对;
将所述目标初始相似片段对和在所述目标初始相似片段对之前输出的初始相似片段对,确定为所述歌词中的相似片段对。
在一种可能的实现方式中,所述第二确定模块,用于:
将所述初始相似度矩阵中的小于第一相似度阈值的元素和主对角线的元素置零;
将置零处理后的初始相似度矩阵确定为待处理相似度矩阵;或者,根据所述第一分段结果,将置零处理后的初始相似度矩阵分割为多个子矩阵,分别作为待处理相似度矩阵。
在一种可能的实现方式中,所述第一确定模块,用于:
确定目标歌曲的歌词中的多个初始歌词句;
对于每两个字数不相同的初始歌词句,确定所述两个初始歌词句中字数多的第一初始歌词句与字数少的第二初始歌词句的相似度;
如果所述第一初始歌词句与所述第二初始歌词句的相似度小于或等于第二相似度阈值,且所述第一初始歌词句中与所述第二初始歌词句字数相同的部分内容与所述第二初始歌词句的相似度大于所述第二相似度阈值,则将所述第二初始歌词句分别与前一个初始歌词句、后一个初始歌词句合并,得到第一合并歌词句和第二合并歌词句;确定所述第一初始歌词句与所述第一合并歌词句的第一相似度、以及所述第一初始歌词句与所述第二合并歌词句的第二相似度;如果第一相似度大于所述第二相似度阈值,则将所述第一合并歌词句确定为所述歌词中的目标歌词句,如果第二相似度大于所述第二相似度阈值,则将所述第二合并歌词句确定为所述歌词中的目标歌词句;
将所述多个初始歌词句中所述目标歌词句之外的所有初始歌词句,确定为所述歌词中的目标歌词句。
在一种可能的实现方式中,所述第二分段模块,用于:
分别确定所述至少一个相似片段对中每个片段的首句对应的开始时间点,以及所述至少一个相似片段对中每个片段的尾句的后一句对应的开始时间点,将确定出的各开始时间点分别作为分段开始时间点,组成所述第二分段结果。
在一种可能的实现方式中,所述第二分段模块,用于:
对于每个相似片段对,确定所述相似片段对中两个片段的片段首句之间间隔的目标歌词句数目,如果所述间隔的目标歌词句数目小于所述第二数目阈值,则将所述相似片段对中的两个片段合并,得到合并片段;
根据所述合并片段、以及除了所述合并片段对应的相似片段对之外的相似片段对包含的片段,对所述目标歌曲进行分段,得到第二分段结果。
在一种可能的实现方式中,所述第一分段结果包括多个第一分段的开始时间点,所述第二分段结果包括多个第二分段的开始时间点,所述综合分段模块,用于:
依据所述多个第一分段的开始时间点及所述多个第二分段的开始时间点将所述第一分段结果和所述第二分段结果进行合并去重处理,得到第三分段结果;
根据所述第三分段结果,确定所述目标歌曲的综合分段结果。
在一种可能的实现方式中,所述综合分段模块,用于:
在合并去重处理得到的第三分段结果中,确定每个开始时间点对应的分段首句,如果在确定出的各分段首句中第一分段首句与第二分段首句之间间隔的目标歌词句数目小于或者等于第三数目阈值,且所述第一分段首句对应的第一开始时间点属于所述第一分段结果,所述第二分段首句对应的第二开始时间点属于所述第二分段结果,则在所述第三分段结果中删除所述第二开始时间点,得到第四分段结果;
根据所述第四分段结果,确定所述目标歌曲的综合分段结果。
在一种可能的实现方式中,所述综合分段模块,用于:
确定所述第四分段结果对应的最后一个分段包含的目标歌词句的数目m;
如果m等于1,则确定最后一个分段包含的目标歌词句与前一个目标歌词句之间的相似度,得到第三相似度;如果m大于1且小于所述第四数目阈值,则将所述最后一个分段中的所有目标歌词句合并,得到第三合并歌词句,将最后一个分段之前的m个目标歌词句合并,得到第四合并歌词句,确定所述第三合并歌词句和所述第四合并歌词句之间的第三相似度;
如果所述第三相似度大于第三相似度阈值,则在第四分段结果中删除最后一个分段的开始时间点,得到所述目标歌曲的综合分段结果。
在一种可能的实现方式中,所述第一分段模块,用于:
根据预设的时间差阈值和所述每两个相邻目标歌词句对应的开始时间点之间的时间差,在所述时间差大于或等于所述时间差阈值的两个相邻目标歌词句之间设置分段点,得到所述第一分段结果。
第三方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,存储器中存储有至少一条指令,指令由处理器加载并执行以实现歌曲分段方法所执行的操作。
第四方面,提供了一种计算机可读存储介质,存储介质中存储有至少一条指令,指令由处理器加载并执行以实现歌曲分段方法所执行的操作。
本申请实施例提供的技术方案带来的有益效果是:本申请实施例中提到的方案,可以根据每两个相邻目标歌词句对应的开始时间点之间的时间差确定出目标歌曲的第一分段结果,根据每两个目标歌词句之间的相似度确定出目标歌曲的第二分段结果,然后将第一分段结果和第二分段结果结合在一起使用,得到综合分段结果,因此,该综合分段结果不仅仅是根据时间差进行简单的分段,还根据歌词对目标歌曲进行了进一步的划分,可以得到较为准确的歌曲分段,提高了用户的使用体验。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种歌曲分段方法的流程图;
图2是本申请实施例提供的一种存在分句错误的歌词示意图;
图3是本申请实施例提供的一种对分句进行修正后的歌词示意图;
图4是本申请实施例提供的一种初始相似度矩阵的示意图;
图5是本申请实施例提供的一种将相似度小于第一相似度阈值的元素置零后的初始相似度矩阵的示意图;
图6是本申请实施例提供的一种待处理相似度矩阵的示意图;
图7是本申请实施例提供的一种目标歌曲的分段示意图;
图8是本申请实施例提供的一种将初始相似度矩阵分割为多个子矩阵的示意图;
图9是本申请实施例提供的一种更新后的处理相似度矩阵的示意图;
图10是本申请实施例提供的一种更新后的处理相似度矩阵的示意图;
图11是本申请实施例提供的一种待处理相似度矩阵的示意图;
图12是本申请实施例提供的一种目标歌曲的分段示意图;
图13是本申请实施例提供的一种目标歌曲的分段示意图;
图14是本申请实施例提供的一种歌曲分段装置的结构示意图;
图15是本申请实施例提供的一种服务器的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请实施例提供了一种歌曲分段方法,该方法可以由服务器实现。服务器可以是单个服务器或者也可以是多个服务器组成的服务器集群。
服务器可以是应用程序的后台服务器等,例如,可以是K歌、音乐等有关的网站或者应用程序。服务器可以包括处理器、存储器、通信部件等,处理器分别与存储器、通信部件连接。
处理器可以是CPU(Central Processing Unit,中央处理器)。处理器可以用于读取指令和对数据进行处理,例如,获取每个目标歌词句对应的开始时间点、获取每两个目标歌词句之间的相似度、确定第一分段结果和第二分段结果、确定综合分段结果,等等。
存储器可以包括ROM(Read-Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、CD-ROM(Compact Disc Read-Only Memory,光盘只读存储器)、磁盘、光数据存储设备等。存储器可以用于数据存储,例如,目标歌曲的歌词对应的数据、每个目标歌词句对应的开始时间点的数据、在确定第一分段结果、第二分段结果和综合分段结果的过程中产生的数据,等等。
通信部件可以是有线网络连接器、WiFi(Wireless Fidelity,无线保真)模块、蓝牙模块、蜂巢网通信模块等。通信部件可以用于接收和发送信号。
在一些K歌应用程序中,用户通常可以选择只唱或听一首歌曲中的一个片段,或者和其他人一起合唱一首歌曲,这种情况下,需要先在K歌应用程序的后台对歌曲设置分段位置,才可以在用户使用的时候提供满足用户需求的演唱方式。
需要说明的是,说明书和说明书附图中出现的A、B、C、D、E和F仅是初始歌词句或者目标歌词句的示意,并不代表任何具体的文本内容和文本字数。
图1是本申请实施例提供的一种歌曲分段方法的流程图。参见图1,该实施例包括:
101、确定目标歌曲的歌词中的多个目标歌词句,获取每个目标歌词句对应的开始时间点。
在实施中,对目标歌曲进行分段,需要先获取目标歌曲的歌词中的每个目标歌词句,以及每个目标歌词句对应的在目标歌曲中的开始时间点。技术人员可以获取该目标歌曲的QRC歌词文件,QRC歌词文件中包括了目标歌曲中的每个目标歌词句对应的开始时间点,或者也可能通过其他方式获取目标歌词句对应的开始时间点,本实施例对此不做限制。
可选的,一些歌曲对应的QRC文件中的歌词经常会出现一些不合理或者错误的地方,例如,歌词中的一个目标歌词句,在前半部分出现了一次为完整的句子,在后半部分又出现了一次,但是在后半部分中,一个目标歌词句被划分成了两句,例如,如图2所示,歌词的第二个目标歌词句为“ABCDEFCADB”,而在歌词的第七个目标歌词句为“ABCDEF”,第八个目标歌词句为“CADB”,可以看出,第七个和第八个目标歌词句的歌词合并在一起即为第二个目标歌词句,说明第七个和第八个目标歌词句的歌词出现了错误。为了避免这种源于歌词的错误,本实施例在对歌曲进行分段之前,可以先获取歌词中的多个初始歌词句,并针对上述问题对歌词中的初始歌词句进行检测和修正,对应的处理过程可以参考步骤a-c:
a、确定目标歌曲的歌词中的多个初始歌词句。在实施中,可以获取目标歌曲的QRC歌词文件中对应的歌词句作为初始歌词句。
b、对于每两个字数不相同的初始歌词句,确定两个初始歌词句中字数多的第一初始歌词句与字数少的第二初始歌词句的相似度;如果第一初始歌词句与第二初始歌词句的相似度小于或等于第二相似度阈值,且第一初始歌词句中与第二初始歌词句字数相同的部分内容与第二初始歌词句的相似度大于第二相似度阈值,则将第二初始歌词句分别与前一个初始歌词句、后一个初始歌词句合并,得到第一合并歌词句和第二合并歌词句;确定第一初始歌词句与第一合并歌词句的第一相似度、以及第一初始歌词句与第二合并歌词句的第二相似度;如果第一相似度大于第二相似度阈值,则将第一合并歌词句确定为歌词中的目标歌词句,如果第二相似度大于第二相似度阈值,则将第二合并歌词句确定为歌词中的目标歌词句。
在实施中,为了避免目标歌曲的歌词中的一个完整的初始歌词句在歌词的其他部分被划分为两句的情况,由于一个初始歌词句被划分为了两个分句,所以每个分句与完整句之间的字数对比一定存在差异,因此,可以先对歌词中的每两个初始歌词句的字数目进行对比,当检测到两个字数不相同的初始歌词句时可以对其进行检测,这两个初始歌词句可以分为字数多的第一初始歌词句和字数少的第二初始歌词句,然后可以计算第一初始歌词句和第二初始歌词句之间的相似度,如果相似度大于技术人员预设的第二相似度阈值,则说明这两个初始歌词句并未出现上述问题,如果相似度小于或者等于第二相似度阈值,则说明这两个初始歌词句有可能出现上述问题,可以继续对这两个初始歌词句进行检测。
在确定了第一初始歌词句与第二初始歌词句之间的相似度小于或者等于第二相似度阈值后,可以对这种情况进行进一步的检测。可以按照顺序获取第一初始歌词句中字数与第二初始歌词句的字数相同的内容(为了便于描述,获取到的相同内容可以称为部分内容),然后计算获取到的这部分内容与第二初始歌词句之间的相似度。当第二初始歌词句的字数为n时,可以在第一初始歌词句中从第一个字开始获取前n个字,作为第一初始歌词句的第一部分内容,从第一初始歌词句的第二个字开始获取前n个字,作为第一初始歌词句的第二部分内容,以此类推,直到获取到的最后部分内容的最后一个字为第一初始歌词句的最后一个字,到此,获取到了第一初始歌词句的字数与第二初始歌词句字数相同的多个部分内容。分别计算这多个部分内容与第二初始歌词句之间的相似度,当这些相似度中存在大于第二相似度阈值的相似度时,说明第一初始歌词句中的一部分内容与第二初始歌词句极度相似甚至是相同,从而进一步判定了第一初始歌词句与第二初始歌词句满足歌词出现错误的情况,然后可以进行下一步的检测和确定。
在确定了第一初始歌词句中与第二初始歌词句字数相同的部分内容与第二初始歌词句的相似度大于第二相似度阈值后,可以将字数少的第二初始歌词句与其前一个初始歌词句合并,即将第二初始歌词句接在前一个初始歌词句的后面,组成一个句子,可以得到第一合并歌词句,然后计算该第一合并歌词句与第一初始歌词句之间的相似度。若是该相似度大于第二相似度阈值,则说明第一合并歌词句与第一初始歌词句存在上述问题,第二初始歌词句和前一个初始歌词句即为对应第一初始歌词句的两个被划分后的句子,在歌词中理应合并显示,此时可以将第一合并歌词句作为目标歌曲的歌词中的目标歌词句,对应修改该第一合并歌词句在歌词中的序号(这里的序号为初始歌词句或者目标歌词句在歌词中的顺序号),然后对后续的初始歌词句的序号进行适应性的修改。若第一合并歌词句与第一初始歌词句之间的相似度小于或者等于第二相似度阈值,说明第一合并歌词句与第一初始歌词句并不存在上述问题,则还可以将第二初始歌词句与其后一个初始歌词句合并,即将第二初始歌词句放在后一个初始歌词句之前,组成一个句子,得到第二合并歌词句,然后计算第二合并歌词句与第一初始歌词句之间的相似度,若该相似度小于或者等于第二相似度阈值,则说明第二初始歌词句与第一初始歌词句并不存在上述问题,若该相似度大于第二相似度阈值,则说明第二合并歌词句和第一初始歌词句存在上述问题,可以将第二合并歌词句作为修改后的歌词中的目标歌词句,对应修改其序号。以上述方法将歌词中的每两个初始歌词句都进行检测和修正,可以得到更新后的无上述问题的歌词。
例如,如图2所示的歌词为目标歌曲的歌词中的多个初始歌词句,当检测第二个初始歌词句与第七个初始歌词句时,确定出两个初始歌词句的字数不相同,将字数多的第二个初始歌词句确定为第一初始歌词句,将字数少的第七个初始歌词句确定为第二初始歌词句,此时,计算出第二个初始歌词句和第七个初始歌词句之间的相似度为0.4,而预设的第二相似度阈值为0.9,该相似度小于第二相似度阈值,此时可以获取第二个初始歌词句中的字数与第七个初始歌词句字数相同的多个部分内容,第七个初始歌词句的字数为6,则获取到的第二个初始歌词句的多个部分内容为“ABCDEF”、“BCDEFC”、“CDEFCA”、“DEFCAD”和“EFCADB”,然后分别计算这五个部分内容与第七个初始歌词句之间的相似度,可以得到“ABCDEF”这一部分内容与第七个初始歌词句之间的相似度为1,大于第二相似度阈值。然后可以将第七个初始歌词句与第六个初始歌词句进行合并得到第一合并歌词句(EEEEEEEEEEEABCDEF),将第七个初始歌词句与第八个初始歌词句合并得到第二合并歌词句(ABCDEFCADB),然后计算出第一相似度和第二相似度,发现第一相似度小于第二相似度阈值,而第二相似度等于1大于第二相似度阈值,则此时可以在歌词中将第七个初始歌词句和第八个初始歌词句合并,将其确定为歌词中的目标歌词句,最后的歌词中的目标歌词句可以如图3所示。
对于技术人员预设的第二相似度阈值,由于是为了检测在歌词中是否将一个初始歌词句错误划分为两个,则可以将第二相似度阈值的数值设置的较高一些,可以设置为0.9,当然,也可以为其他数值,本实施例对此不做限定。
c、将多个初始歌词句中目标歌词句之外的所有初始歌词句,确定为歌词中的目标歌词句。
在实施中,在将第一合并歌词句或者第二合并歌词句确定为目标歌词句以后,可以将这些确定了的目标歌词句对应的初始歌词句之外的所有的初始歌词句不变,直接确定为歌词中的目标歌词句。然后根据确定为目标歌词句的第一合并歌词句和第二合并歌词句在歌词中的序号,调整歌词中的所有目标歌词句的序号,从而得到修正后的歌词中的目标歌词句。
然后,调整在歌词中的第一合并歌词句和第二合并歌词句的开始时间点,若是将第一合并歌词句作为歌词中的目标歌词句,则只需删除第二初始歌词句对应的开始时间点即可,仍然是第二初始歌词句的前一个初始歌词句对应的开始时间点作为第一合并歌词句的开始时间点,若是将第二合并歌词句作为歌词中的目标歌词句,则只需删除第二初始歌词句的后一个初始歌词句对应的开始时间点,将第二初始歌词句对应的开始时间点作为第二合并歌词句的开始时间点。
102、根据每两个相邻目标歌词句的开始时间点之间的时间差,对目标歌曲进行分段,得到第一分段结果。
一般的,在歌曲中,两个相邻目标歌词句之间的开始时间间隔较大,在很大程度上可能在两个目标歌词句之间存在较长时间的伴奏或者静音,即很有可能这两个相邻的目标歌词句各属于不同的分段。因此,在获取了目标歌曲中的每个目标歌词句对应的开始时间点之后,可以先通过两个相邻目标歌词句之间的开始时间间隔对目标歌曲进行初步分段,相应的处理可以如下:
根据预设的时间差阈值和每两个相邻目标歌词句对应的开始时间点之间的时间差,在时间差大于或等于时间差阈值的两个相邻目标歌词句之间设置分段点,得到第一分段结果。
在实施中,可以根据目标歌曲中的每个目标歌词句的开始时间点,预设一时间差阈值,然后计算每两个相邻目标歌词句对应的开始时间点之间的差值,将开始时间点之间的差值大于预设的时间差阈值的两个目标歌词句之间确定为该目标歌曲的初步分段的分段点,根据这种方式可以将目标歌曲划分为多个分段,即为多个第一分段,可以记录下每个第一分段的首句对应的开始时间点,这些开始时间点组成的序列可以作为第一分段结果。
可选的,对于确定预设的时间差阈值的方法可以有多种,可以计算每两个相邻目标歌词句之间的开始时间差,然后取这些开始时间差的中位数的N倍,作为预设的时间差阈值,可以为中位数的3倍作为时间差阈值。或者,也可以计算每两个相邻目标歌词句之间的开始时间差的平均值,然后取平均值的N倍作为时间差阈值,等等,可以根据具体情况选择适应的确定时间差阈值的方法,本实施例对此不作限定。
103、根据目标歌曲中每两个目标歌词句之间的相似度,在歌词中确定至少一个相似片段对,其中,相似片段对中的单个片段包含的目标歌词句的数目大于第一数目阈值。
其中,相似片段对由两个相似度较高的片段组成,两个片段具有相同数目的目标歌词句。
在实施中,在得到的目标歌曲对应的歌词中的所有目标歌词句后,可以通过计算每两个目标歌词句之间的相似度,确定出相似度较高的且相邻的几个目标歌词句组成的片段以及对应的片段,即为相似片段对。如果对相似片段对中的单个片段包含的目标歌词句的数目没有限制,则可能会导致目标歌曲的相似片段对较多,从而最后对目标歌曲进行分段后的分段太多,降低了用户的使用体验,所以可以针对相似片段对中的单个片段包含的目标歌词句的数目,设定第一数目阈值,即相似片段对中的单个片段中的目标歌词句的数目均要大于第一数目阈值。在本实施例中,可以将该第一数目阈值设定为3,也可以是其他数值,本实施例对此不做限定。
可选的,要实现分段,首先要确定出目标歌曲的相似片段对,对应的处理过程可以如1031-1033所示:
1031、根据目标歌曲中每两个目标歌词句之间的相似度,确定目标歌曲的初始相似度矩阵,其中,初始相似度矩阵的第N行第M列的元素表示目标歌曲中第N个目标歌词句与第M个目标歌词句之间的相似度。
在实施中,可以在计算出目标歌曲中的每两个目标歌词句之间的相似度后,根据这些相似度以及每个目标歌词句在歌词中的序号,确定出一个初始相似度矩阵,即初始相似度矩阵的第N行第M列的元素表示目标歌曲中第N个目标歌词句与第M个目标歌词句之间的相似度。特殊的,在初始相似度矩阵中,由于主对角线上的元素表示一个目标歌词句自己与自己的相似度,所以主对角线上的元素均为1,如图4所示。
其中,计算目标歌曲中的每两个目标歌词句之间的相似度的方法可以有多种,可以直接统计目标歌词句中相对位置相同文字所占比例,也可以是更复杂更精细的计算相似度的方法,本实施例中可以使用计算两个目标歌词句之间的最小编辑距离的方法来计算相似度,也可以使用其他方法,本实施例对此不做限定。
1032、将初始相似度矩阵中的小于第一相似度阈值的元素和主对角线的元素置零,得到待处理相似度矩阵。
在实施中,由于确定相似片段对时,在初始相似度矩阵中的小于预设的第一相似度阈值的元素容易干扰计算甚至是干扰计算结果,所以可以先将小于第一相似度阈值的元素置零,如图5所示。同时,在初始相似度矩阵中的主对角线上的元素为目标歌词句自身与自身之间的相似度,对结果无用,所以也可以直接置零。在将小于第一相似度阈值的元素和主对角线上的元素置零后,可以得到置零处理后的待处理相似度矩阵,如图6所示。
可选的,由于已经通过时间差阈值和每两个相邻目标歌词句对应的开始时间点之间的时间差,对目标歌曲进行了初步分段,得到了第一分段结果,从而可以将目标歌曲划分为多个第一分段,这种根据时间差得到的第一分段结果较为可靠。若得到的相似片段对的起始目标歌词句分别位于不同的两个第一分段中,则第一分段结果和第二分段结果结合后对目标歌曲的分段,可能会出现其中一个分段包含的目标歌词句的数目小于第一数目阈值,如图7所示,双划线表示第一分段结果相对应的分段位置,单划线表示第二分段结果相对应的分段位置。第一分段结果在第5个目标歌词句和第6个目标歌词句之间分段,将目标歌曲分为[1,5](即在歌词中的第一个目标歌词句至第五个目标歌词句)和[6,15](即在歌词中的第六个目标歌词句至第十五个目标歌词句)两个第一分段,若直接根据初始相似度矩阵得到第二分段结果,然后根据第二分段结果进行分段的话,则会将[2,6]分成一个分段,可以看出,在将第一分段结果和第二分段结果结合后,第6个目标歌词句被单独分成了一个分段,由于第一分段结果极为可靠,所以没有必要将第6个目标歌词句单独分成一个分段。这种情况下的分段并不合理,对应的处理方法可以如下:
将初始相似度矩阵中的小于第一相似度阈值的元素和主对角线的元素置零。将置零处理后的初始相似度矩阵确定为待处理相似度矩阵,或者,根据第一分段结果,将置零处理后的初始相似度矩阵分割为多个子矩阵,分别作为待处理相似度矩阵。
在实施中,在将初始相似度矩阵中的小于第一相似度阈值的元素和主对角线的元素置零后,可以如上述所述直接将置零处理后的初始相似度矩阵确定为待处理相似度矩阵,但为了避免出现上述相似片段对的起始目标歌词句分别位于不同的两个第一分段中的情况,可以根据第一分段结果,将置零处理后的初始相似度矩阵分割为多个子矩阵。如图8所示,图中的粗线表示为根据第一分段结果将置零处理后的初始相似度矩阵分割为四个子矩阵。每个子矩阵都作为待处理相似度矩阵,执行下面的步骤,从而得到每个子矩阵对应的相似片段对,最后将每个子矩阵得到的相似片段对都作为目标歌曲的相似片段对。
1033、根据待处理相似度矩阵和RQA算法,确定歌词中的至少一个相似片段对。
在实施中,得到了待处理相似度矩阵后,可以将其输入到递归量化分析(Recurrence Quantification Analysis,RQA)算法中,RQA算法会将待处理相似度矩阵中的左上角的元素,沿着主对角线的方向,依次将这条路径上的元素的值加起来,直到加到右下角最后一个元素,得到一个总分值,RQA算法会输出总分值最大的一条路径中的非零元素对应的片段对应的横纵坐标的范围,即为这次RQA算法得出的最优路径,作为一个初始相似片段对。上述只是对于RQA算法的一次输入的情况,对于本实施例来说,可以得到歌词中的至少一个相似片段对,其对应的处理过程可以如下:
将待处理相似度矩阵输入RQA算法,得到初始相似片段对,将初始相似片段对对应的目标歌词句在待处理相似度矩阵中对应的元素置零,以更新待处理相似度矩阵,确定是否满足预设的循环结束条件,如果不满足循环结束条件,则转至执行将更新后的待处理相似度矩阵输入RQA算法得到初始相似片段对的步骤,如果满足循环结束条件,则将包含的片段中的目标歌词句的数目大于第一数目阈值的初始相似片段对,确定为歌词中的相似片段对。
在通过步骤1032获得待处理相似度矩阵后,将待处理相似度矩阵输入到RQA算法中,可以得到该待处理相似度矩阵输出的最优路径,即为一个初始相似片段对,然后将该初始相似片段对在待处理相似度矩阵中的元素置零,得到一个更新后的待处理相似度矩阵,避免该初始相似片段对影响下一个初始相似度矩阵的输出。可以理解的是,一个歌曲对应的初始相似度矩阵可以是一个,也可以是多个,所以在得到一个初始相似度矩阵后,需要对待处理相似度矩阵进行上述置零更新操作,再将其输入到RQA算法中,从而输出更新后的待处理相似度矩阵对应的初始相似片段对,重复置零和输入RQA算法的操作,可以得到一个或多个初始相似片段对。例如,将图6所示的待处理相似度矩阵输入到RQA算法后,由于[1,8]和[9,16]对应的路径(即横坐标范围1-8、纵坐标范围9-16所对应的路径,和横坐标范围9-16、纵坐标范围1-8所对应的路径)上的元素加起来的值最大,所以会输出初始相似片段对[1,8]和[9,16],然后在待处理相似度矩阵中将[1,8]和[9,16]两两对应的元素(即横坐标范围1-8、纵坐标范围9-16所对应的元素,和横坐标范围9-16、纵坐标范围1-8所对应的元素)置零,得到更新后的待处理相似度矩阵,如图9所示。将图9所示的矩阵再次输入到RQA算法,由于[5,8]和[17,20]对应的路径(即横坐标范围5-8、纵坐标范围17-20所对应的路径,和横坐标范围17-20、纵坐标范围5-8所对应的路径)上的元素的加起来的值最大,则得到第二个初始相似度矩阵[5,8]和[17,20],然后在图9所示的待处理相似度矩阵中将[5,8]和[17,20]两两对应的元素(即横坐标范围5-8、纵坐标范围17-20所对应的元素,和横坐标范围17-20、纵坐标范围5-8所对应的元素)置零,得到再一次更新后的待处理相似度矩阵,如图10所示。再将图10所示的矩阵输入到RQA算法,由于[13,16]和[17,20]对应的路径(即横坐标范围13-16、纵坐标范围17-20所对应的路径,和横坐标范围17-20、纵坐标范围13-16所对应的路径)上的元素的加起来的值最大,则得到第三个初始相似度矩阵[13,16]和[17,20]。以此类推,直到满足循环结束条件。
对于上述需要多次循环输入待处理相似度矩阵到RQA算法中的情况,技术人员需要预先设置好循环结束条件,从而保证得到有效的初始相似度矩阵。
对于预先设置的循环结束条件,可以为一个或者多个,本实施例中的循环结束条件以及处理过程可以如下:
确定当前循环次数是否达到预设次数阈值,或最后一次得到的初始相似片段对中单个片段包含的目标歌词句的数目是否小于第一数目阈值。如果当前循环次数未达到预设次数阈值,且最后一次得到的初始相似片段对中单个片段包含的目标歌词句的数目不小于第一数目阈值,则转至执行将更新后的待处理相似度矩阵输入RQA算法得到初始相似片段对的步骤;如果当前循环次数达到预设次数阈值,或最后一次得到的初始相似片段对中单个片段包含的目标歌词句的数目小于第一数目阈值,则将包含的片段中的目标歌词句的数目大于第一数目阈值的初始相似片段对,确定为歌词中的相似片段对。
在实施中,技术人员可以预先设置一个循环的预设次数阈值,若是当前循环次数达到该预设次数阈值,则不再向RQA算法中输入更新后的待处理相似度矩阵,结束循环。同时,由于对相似片段对中的片段包含的目标歌词句的数目有一定要求,所以也可以进行一定的设置,具体的处理可以如下:
首先,可以确定一下当前的循环次数,若未达到预设次数阈值,则确定一下最后一次输出的初始相似片段对中的单个片段包含的目标歌词句的数目,若该数目大于或者等于技术人员预先设置的第一数目阈值,则表示可以继续循环,此时,将最后一次得到的初始相似片段对中单个片段包含的目标歌词句在待处理相似度矩阵中对应的元素置零,得到更新后的待处理相似度矩阵,然后将该更新后的待处理相似度矩阵输入到RQA算法中,输出下一个初始相似度矩阵。
然后再判断当前的循环次数,若仍未达到预设次数阈值,则再判断当前输出的初始相似片段对中单个片段包含的目标歌词句的数目,若该数目小于预设的第一数目阈值,则如果继续将更新后的待处理相似度矩阵输入到RQA算法中,输出的初始相似片段对的单个片段包含的目标歌词句的数目仍然会小于第一数目阈值,所以此时可以结束循环,不再继续向RQA算法中输入待处理相似度矩阵。若在判断当前循环次数时,当前循环次数达到预设次数阈值,则可以直接结束循环。
在结束循环时,可以将片段包含的目标歌词句的数目大于第一数目阈值的初始相似片段对,确认为最终的目标歌曲的歌词的相似片段对。
对于根据第一分段结果将置零处理后的初始相似度矩阵分割为多个待处理相似度矩阵的情况,可以对每个待处理相似度矩阵都进行上述循环操作,得到每个待处理相似度矩阵对应的相似片段对,从而得到整个目标歌曲的相似片段对。
可选的,对于循环的预设次数阈值的设定,可以根据具体情况设定,本实施例中预设次数阈值设定为5,当然,也可以为其他数值,本实施例对此不做限定。
可选的,由于此方案可以对各种各样长度的歌曲进行分段,所以对于循环的预设次数阈值不能设置得较小,但如果RQA算法每次输出的初始相似片段对中的单个片段包含的目标歌词句的数目均大于或者等于第一数目阈值,则会在当前循环次数达到预设次数阈值时才会结束循环,此时会输出多个初始相似片段对,特别是对于根据第一分段结果将初始相似度矩阵进行了分割后的情况,每个子矩阵都会得到多个初始相似片段对,最后得到的目标歌曲中的初始相似片段对较多,导致得到的目标歌曲的相似片段对也较多,可能会对目标歌曲进行过多分段,对于此种情况,可以做如下的处理:
如果当前循环次数达到预设次数阈值、且最后一次得到的初始相似片段对中单个片段包含的目标歌词句的数目大于或者等于第一数目阈值,按照初始相似片段对的输出顺序,对每个初始相似片段对中单个片段包含的目标歌词句数目,进行排序,得到目标歌词句数目序列。在目标歌词句数目序列中,计算每两个相邻目标歌词句数目之间的差值,确定最大差值对应的两个相邻目标歌词句数目中较大的目标歌词句数目对应的目标初始相似片段对。将目标初始相似片段对和在目标初始相似片段对之前输出的初始相似片段对,确定为歌词中的相似片段对。
在得到所有的待处理相似度矩阵对应的初始相似片段对之后,可以确定出每个初始相似片段对中单个片段包含的目标歌词句的数目,然后将这个目标歌词句的数目,按照RQA算法输出的初始相似片段对的顺序,组合成一个序列,即目标歌词句数目序列,然后在目标歌词句数目序列中,计算每两个相邻元素之间的差值,然后将这些差值按照顺序排列,得到一阶差分序列。确定出一阶差分序列中值最大的元素,即两个相邻的相似片段对中单个片段包含的目标歌词句数目之间的差值最大的元素,然后确定出该元素对应的两个初始相似片段对,将这两个初始相似片段对中单个片段包含的目标歌词句数目较大的初始相似片段对确定为目标初始相似片段对,然后,可以将该目标初始相似片段对以及在该目标初始相似片段对之前输出的初始相似片段对,均确定为歌词中的相似片段对。例如,通过待处理相似度矩阵和RQA算法,得到了10个初始相似片段对,这10个初始相似片段对对应的目标歌词句数目序列为[17,14,7,7,7,7,4,4,4,3],对应得到的一阶差分序列为[3,7,0,0,0,3,0,0,1],可以确定出最大差值为7,该最大差值对应的两个初始相似片段对为第二个和第三个输出的初始相似片段对,将第二个输出的初始相似片段对确定为目标初始相似片段对,还可以进一步将第一个初始相似片段对确定为歌词中的相似片段对。
特殊的,当一阶差分序列中的元素的值均相同时,可以只将第一个输出的初始相似片段对确定为歌词中的相似片段对,但是,若在此情况下,如果第一个输出的初始相似片段对中单个片段包含的目标歌词句的数目等于第一数目阈值的话,则将第一个输出的初始相似片段对删除,代表着该目标歌曲并没有确定出相似片段对,当然,也可以是其他确定方式,本实施例对此不做限定。
104、根据至少一个相似片段对,对目标歌曲进行分段,得到第二分段结果。
在实施中,得到目标歌曲的相似片段对之后,可以根据相似片段对中的每个片段对应的起始目标歌词句,对目标歌曲进行分段,得到第二分段结果。
可选的,根据得到的至少一个相似片段对得到第二分段结果的对应的处理过程可以如下:
分别确定至少一个相似片段对中每个片段的首句对应的开始时间点,以及至少一个相似片段对中每个片段的尾句的后一句对应的开始时间点,将确定出的各开始时间点分别作为分段开始时间点,组成第二分段结果。
在实施中,得到的每个相似片段对,均包含两个片段,获取这些相似片段对中的每个片段的首句对应的开始时间点,以及片段的尾句的后一句对应的开始时间点,这些开始时间点即为对目标歌曲进行分段之后的每个分段的首句的开始时间点,即为上述所说的分段开始时间点。这些开始时间点组成的序列,则可以组成目标歌曲的第二分段结果。
可选的,对于一些歌曲,可能会出现一句歌词连续重复唱多次的情况,即在歌词中,会出现多个相邻的目标歌词句的文本相同,在待处理相似度矩阵中这些目标歌词句中每两个目标歌词句之间的相似度都为1,例如,第11个目标歌词句至第15个目标歌词句之中的每两个目标歌词句之间的相似度均为1,在将主对角线的元素置零后可以得到图11所示的待处理相似度矩阵。对于这种情况,如果文本相同且相邻的目标歌词句的数目大于第一数目阈值,则在将待处理相似度矩阵输入到RQA算法中后,会得到这些文本相同且相邻的目标歌词句对应的两个片段组成的初始相似片段对,这个相似片段对会将这些文本相同且相邻的目标歌词句分成至少两个第二分段,例如,若第一数目阈值为3,将图11的待处理相似度矩阵输入到RQA算法中,输出的初始相似度片段对为[11,14]和[12,15]。但实际情况下的分段应该是将这些文本相同且相邻的目标歌词句全部划分为一个第二分段,对应的处理过程可以如下:
对于每个相似片段对,确定相似片段对中两个片段的片段首句之间间隔的目标歌词句数目,如果间隔的目标歌词句数目小于第二数目阈值,则将相似片段对中的两个片段合并,得到合并片段;根据合并片段、以及除了合并片段对应的相似片段对之外的相似片段对包含的片段,对所述目标歌曲进行分段,得到第二分段结果。
在实施中,对于得到的每个相似片段对,都进行如下处理。首先,将相似片段对中的两个片段中的第一个目标歌词句,确定为片段首句。然后计算这两个片段首句之间间隔的目标歌词句数目,即先确定出这两个片段首句在歌词中的序号,然后用数值大的序号减去数值小的序号,得到这两个片段首句之间间隔的目标歌词句数目。技术人员可以预先设定第二数目阈值,如果计算出的间隔的目标歌词句数目小于第二数目阈值,则表明这个相似片段对中的两个片段均为数目小于第二数目阈值的一个或者多个连续的目标歌词句的重复,实际上对于一个或者多个连续的目标歌词句在歌词中连续重复出现的情况,应该将这些连续重复出现的目标歌词句分为一个分段,但在确定出的相似片段对中,出现了将这一个分段分为了至少两个分段的情况。所以,在确定出间隔的目标歌词句数目小于第二数目阈值后,可以将这个相似片段对中的两个片段合并成一个片段,即为合并片段。例如,图11中的初始片段对为[11,14]和[12,15],两个片段的片段首句之间间隔的目标歌词句数目为1,第一数目阈值为3,则可以将两个片段合并,得到的合并片段为[11,15]。
可选的,可以根据具体情况对第二数目阈值的具体数值进行设定,例如可以设定为3。设定的第二数目阈值的具体数值可以与第一数目阈值相同,也可以不同,本申请实施例对此不作限定。
对目标歌曲的每个相似片段对都进行上述判断和处理,最后可以得到进行了上述合并处理后的合并片段、以及未进行上述合并处理的相似片段对,根据这些合并片段和相似片段对,对目标歌曲进行分段,可以得到多个第二分段,将每个第二分段的首句对应的开始时间点,按照这些开始时间点的时间顺序排列,可以得到第二分段结果。
105、根据第一分段结果和第二分段结果,确定目标歌曲的综合分段结果。
通过上述各步骤,得到的第一分段结果包括多个第一分段的首句对应的开始时间点,得到的第二分段结果包括多个第二分段的首句对应的开始时间点。在得到第一分段结果和第二分段结果后,可以将二者结合起来,对目标歌曲进行分段,得到一个最终的综合分段结果,将第一分段结果和第二分段结果结合起来的一些处理可以如下:
依据多个第一分段的开始时间点及多个第二分段的开始时间点将第一分段结果和第二分段结果进行合并去重处理,得到第三分段结果。根据第三分段结果,确定目标歌曲的综合分段结果。
在实施中,将第一分段结果和第二分段结果合并为一个序列,将该序列中的重复的元素删除至只剩一个重复的元素,得到一个新的序列,该序列即为第三分段结果。如果后续没有其他的处理,可以直接将第三分段结果作为目标歌曲的综合分段结果。
可选的,在得到第三分段结果后,可以根据第三分段结果将目标歌曲分为多个第三分段,在第三分段中,可能会出现两个相邻的分段首句之间距离过近的情况,且这两个分段首句中第一分段首句对应的开始时间点属于第一分段结果,第二分段首句对应的开始时间点属于第二分段结果,此种情况下,可以直接在第三分段结果中去掉第二分段首句对应的开始时间点,使得对目标歌曲的分段更加合理,对应的处理过程可以如下:
在合并去重处理得到的第三分段结果中,确定每个开始时间点对应的分段首句,如果在确定出的各分段首句中第一分段首句与第二分段首句之间间隔的目标歌词句数目小于或者等于第三数目阈值,且第一分段首句对应的第一开始时间点属于第一分段结果,第二分段首句对应的第二开始时间点属于第二分段结果,则在第三分段结果中删除第二开始时间点,得到第四分段结果。根据第四分段结果,确定目标歌曲的综合分段结果。
在实施中,技术人员可以预先设定第三数目阈值。对于得到的第三分段结果,可以确定出每个开始时间点对应的分段首句,然后计算每两个相邻的分段首句之间的间隔的目标歌词句数目,即用后一个分段首句在歌词中的序号减去前一个分段首句在歌词中的序号,得到间隔的目标歌词句数目。如果间隔的目标歌词句数目小于或者等于预设的第三数目阈值,且这两个分段首句中一个分段首句(定义为第一分段首句)对应的第一开始时间点属于第一分段结果、第二分段首句对应的第二开始时间点属于第二分段结果,则可以在第三分段结果中删除掉第二开始时间点,从而得到第四分段结果。
例如,如图12所示,该目标歌曲有9个目标歌词句,双划线表示第一分段结果相对应的分段位置,单划线表示第二分段结果相对应的分段位置。根据第一分段结果将目标歌曲分为了[1,5]和[6,9]两个第一分段,根据第二分段结果将目标歌曲分为了[1,4]和[5,9]两个第二分段,在对第一分段结果和第二分段结果进行了合并去重之后得到第三分段结果,根据第三分段结果可以将目标歌曲分为[1,4]、[5,5]和[6,9]这三个第三分段,可见,在第三分段结果中将第5个目标歌词句单独分成了一个分段,由于第一分段结果极为可靠,代表第5个目标歌词句和第6个目标歌词句之间存在较长时间的伴奏或者静音等,为了分段的合理性和用户的使用体验考虑,可以在第三分段结果中删除掉第5个目标歌词句对应的开始时间点,从而将第5个目标歌词句并入其它分段中,即得到的第四分段结果将目标歌曲分为[1,5]和[6,9]两个分段。
特殊的,如果第二开始时间点既属于第一分段结果,又属于第二分段结果,则不会在第三分段结果中删除第二开始时间点。
可选的,本实施例中的第三数目阈值可以直接设定为1,即为第一分段首句与第二分段首句之间间隔的目标歌词句数目小于或者等于1时,执行上述操作。当然第三数目阈值也可以根据情况进行调整,本实施例对此不做限定。
可选的,还可以在去重处理得到的第三分段结果中,进行其他的调整。如果在根据第三分段结果对目标歌曲进行分段后,得到多个第三分段,如果第一个第三分段包含的目标歌词句的数目为1,则可以在第三分段结果中删除第二个第三分段的首句对应的开始时间点;如果最后一个第三分段包含的目标歌词句的数目为1,则可以在第三分段结果中删除最后一个第三分段的首句对应的开始时间点。根据经过删除处理后得到的第四分段结果,确定目标歌曲的综合分段结果。
在实施中,如果第一个第三分段包含的目标歌词句的数目为1,则表明将目标歌曲中的第一个目标歌词句单独分成一个分段。如果最后一个第三分段包含的目标歌词句的数目为1,则表明将目标歌曲中的最后一个目标歌词句单独分成一个分段。然而,大部分的歌曲不会将目标歌曲中的第一个目标歌词句或者最后一个目标歌词句单独分成一个分段,所以可以直接在第三分段结果中删除此种情况中的第二个第三分段的首句对应的开始时间点或者最后一个第三分段的首句对应的开始时间点,得到第四分段结果。
对于第三分段结果,可以根据情况选择上述两种删除处理中的一种,也可以两种同时使用,本实施例对此不做限定。
如果后续没有其他的处理,可以直接将第四分段结果作为目标歌曲的综合分段结果。
可选的,有大量的歌曲会在歌曲的最后将一个歌词句重复的唱几遍,从而使得歌词的最后几个目标歌词句的文本相同,但当该目标歌词句重复的次数小于第一数目阈值时,这些重复的部分并不会作为初始相似片段对被RQA算法输出,可能会在最后作为剩余部分被分为一个分段,例如,如图13所示,双划线表示第一分段结果相对应的分段位置,单划线表示第二分段结果相对应的分段位置。将第10个目标歌词句和第11个目标歌词句分为了一个分段,但实际上第10个目标歌词句和第11个目标歌词句分别为第8个目标歌词句、第9个目标歌词句的重复,所以可以将第10个目标歌词句和第11个目标歌词句合并到上一个分段中。因此,将这些重复的部分单独分成一个分段并不是一个合理的分段方式,对于这种情况,对应的处理可以如下:
确定第四分段结果对应的最后一个分段包含的目标歌词句的数目m。如果m等于1,则确定最后一个分段包含的目标歌词句与前一个目标歌词句之间的相似度,得到第三相似度;如果m大于1且小于第四数目阈值,则将最后一个分段中的所有目标歌词句合并,得到第三合并歌词句,将最后一个分段之前的m个目标歌词句合并,得到第四合并歌词句,确定第三合并歌词句和第四合并歌词句之间的第三相似度。如果第三相似度大于第三相似度阈值,则在第四分段结果中删除最后一个分段的开始时间点,得到目标歌曲的综合分段结果。
在实施中,可以先确定出第四分段结果中最后一个元素(即开始时间点)对应的分段包含的目标歌词句的数目m,基于m的值分为下列两种情况:
第一种,当m等于1时,即第四分段结果对应的最后一个分段包含的目标歌词句的数目为1,此时,可以计算最后一个目标歌词句与它的前一个目标歌词句的相似度,得到第三相似度。
第二种,当m大于1且小于预设的第四数目阈值时,可以将最后一个分段包含的所有目标歌词句合并为一个目标歌词句,得到第三合并歌词句,然后将最后一个分段之前的m个目标歌词句合并,得到第四合并歌词句。计算第三合并歌词句与第四合并歌词句之间的相似度,得到第三相似度。
对于上述两种情况,当得到的第三相似度大于预设的第三相似度阈值时,说明最后一个分段包含的目标歌词句确实是前面的目标歌词句的重复,此时可以将最后一个分段去掉,即在第四分段结果中,删除最后一个分段的开始时间点,从而得到最终的综合分段结果。
可选的,可以根据具体情况对第四数目阈值的具体数值进行设定,例如可以设定为3。设定的第四数目阈值的具体数值可以与第一数目阈值相同,也可以不同,本申请实施例对此不作限定。
同样的,可以根据具体情况对第三相似度阈值的具体数值进行设定,例如可以设定为0.9。设定的第三相似度阈值的具体数值可以与第二相似度阈值相同,也可以不同,本申请实施例对此不做限定。
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
本申请实施例中提到的方案,可以根据每两个相邻目标歌词句对应的开始时间点之间的时间差确定出目标歌曲的第一分段结果,根据每两个目标歌词句之间的相似度确定出目标歌曲的第二分段结果,然后将第一分段结果和第二分段结果结合在一起使用,得到综合分段结果,因此,该综合分段结果不仅仅是根据时间差进行简单的分段,还根据歌词对目标歌曲进行了进一步的划分,可以得到较为准确的歌曲分段,提高了用户的使用体验。
本申请实施例提供了一种歌曲分段装置,该装置可以是上述实施例中的计算机设备,如图14所示,所述装置包括:
第一确定模块1401,用于确定目标歌曲的歌词中的多个目标歌词句,获取每个目标歌词句对应的开始时间点;
第一分段模块1402,用于根据每两个相邻目标歌词句的开始时间点之间的时间差,对所述目标歌曲进行分段,得到第一分段结果;
第二确定模块1403,用于根据所述目标歌曲中每两个目标歌词句之间的相似度,在所述歌词中确定至少一个相似片段对,其中,所述相似片段对中的单个片段包含的目标歌词句的数目大于第一数目阈值;
第二分段模块1404,用于根据所述至少一个相似片段对,对所述目标歌曲进行分段,得到第二分段结果;
综合分段模块1405,用于根据所述第一分段结果和所述第二分段结果,确定所述目标歌曲的综合分段结果。
在一种可能的实现方式中,所述第二确定模块1403,用于:
根据所述目标歌曲中每两个目标歌词句之间的相似度,确定目标歌曲的初始相似度矩阵,其中,所述初始相似度矩阵的第N行第M列的元素表示所述目标歌曲中第N个目标歌词句与第M个目标歌词句之间的相似度;
将所述初始相似度矩阵中的小于第一相似度阈值的元素和主对角线的元素置零,得到待处理相似度矩阵;
根据所述待处理相似度矩阵和递归量化分析RQA算法,确定所述歌词中的至少一个相似片段对。
在一种可能的实现方式中,所述第二确定模块1403,用于:
将所述待处理相似度矩阵输入RQA算法,得到初始相似片段对;
将所述初始相似片段对对应的目标歌词句在所述待处理相似度矩阵中对应的元素置零,以更新所述待处理相似度矩阵;
确定是否满足预设的循环结束条件,如果不满足所述循环结束条件,则转至执行将更新后的待处理相似度矩阵输入RQA算法得到初始相似片段对的步骤,如果满足所述循环结束条件,则将包含的片段中的目标歌词句的数目大于第一数目阈值的初始相似片段对,确定为所述歌词中的相似片段对。
在一种可能的实现方式中,所述第二确定模块1403,用于:
确定当前循环次数是否达到预设次数阈值,或最后一次得到的初始相似片段对中单个片段包含的目标歌词句的数目是否小于所述第一数目阈值;
如果当前循环次数未达到预设次数阈值,且最后一次得到的初始相似片段对中单个片段包含的目标歌词句的数目不小于所述第一数目阈值,则转至执行将更新后的待处理相似度矩阵输入RQA算法得到初始相似片段对的步骤;
如果当前循环次数达到预设次数阈值,或最后一次得到的初始相似片段对中单个片段包含的目标歌词句的数目小于所述第一数目阈值,则将包含的片段中的目标歌词句的数目大于所述第一数目阈值的初始相似片段对,确定为所述歌词中的相似片段对。
在一种可能的实现方式中,所述第二确定模块1403,还用于:
如果当前循环次数达到预设次数阈值、且最后一次得到的初始相似片段对中单个片段包含的目标歌词句的数目大于或者等于所述第一数目阈值,按照所述初始相似片段对的输出顺序,对每个初始相似片段对中单个片段包含的目标歌词句数目,进行排序,得到目标歌词句数目序列;
在所述目标歌词句数目序列中,计算每两个相邻目标歌词句数目之间的差值;
确定最大差值对应的两个相邻目标歌词句数目中较大的目标歌词句数目对应的目标初始相似片段对;
将所述目标初始相似片段对和在所述目标初始相似片段对之前输出的初始相似片段对,确定为所述歌词中的相似片段对。
在一种可能的实现方式中,所述第二确定模块1403,用于:
将所述初始相似度矩阵中的小于第一相似度阈值的元素和主对角线的元素置零;
将置零处理后的初始相似度矩阵确定为待处理相似度矩阵;或者,根据所述第一分段结果,将置零处理后的初始相似度矩阵分割为多个子矩阵,分别作为待处理相似度矩阵。
在一种可能的实现方式中,所述第一确定模块1401,用于:
确定目标歌曲的歌词中的多个初始歌词句;
对于每两个字数不相同的初始歌词句,确定所述两个初始歌词句中字数多的第一初始歌词句与字数少的第二初始歌词句的相似度;
如果所述第一初始歌词句与所述第二初始歌词句的相似度小于或等于第二相似度阈值,且所述第一初始歌词句中与所述第二初始歌词句字数相同的部分内容与所述第二初始歌词句的相似度大于所述第二相似度阈值,则将所述第二初始歌词句分别与前一个初始歌词句、后一个初始歌词句合并,得到第一合并歌词句和第二合并歌词句;确定所述第一初始歌词句与所述第一合并歌词句的第一相似度、以及所述第一初始歌词句与所述第二合并歌词句的第二相似度;如果第一相似度大于所述第二相似度阈值,则将所述第一合并歌词句确定为所述歌词中的目标歌词句,如果第二相似度大于所述第二相似度阈值,则将所述第二合并歌词句确定为所述歌词中的目标歌词句;
将所述多个初始歌词句中所述目标歌词句之外的所有初始歌词句,确定为所述歌词中的目标歌词句。
在一种可能的实现方式中,所述第二分段模块1404,用于:
分别确定所述至少一个相似片段对中每个片段的首句对应的开始时间点,以及所述至少一个相似片段对中每个片段的尾句的后一句对应的开始时间点,将确定出的各开始时间点分别作为分段开始时间点,组成所述第二分段结果。
在一种可能的实现方式中,所述第二分段模块1404,用于:
对于每个相似片段对,确定所述相似片段对中两个片段的片段首句之间间隔的目标歌词句数目,如果所述间隔的目标歌词句数目小于所述第二数目阈值,则将所述相似片段对中的两个片段合并,得到合并片段;
根据所述合并片段、以及除了所述合并片段对应的相似片段对之外的相似片段对包含的片段,对所述目标歌曲进行分段,得到第二分段结果。
在一种可能的实现方式中,所述第一分段结果包括多个第一分段的开始时间点,所述第二分段结果包括多个第二分段的开始时间点,所述综合分段模块1405,用于:
依据所述多个第一分段的开始时间点及所述多个第二分段的开始时间点将所述第一分段结果和所述第二分段结果进行合并去重处理,得到第三分段结果;
根据所述第三分段结果,确定所述目标歌曲的综合分段结果。
在一种可能的实现方式中,所述综合分段模块1405,用于:
在合并去重处理得到的第三分段结果中,确定每个开始时间点对应的分段首句,如果在确定出的各分段首句中第一分段首句与第二分段首句之间间隔的目标歌词句数目小于或者等于第三数目阈值,且所述第一分段首句对应的第一开始时间点属于所述第一分段结果,所述第二分段首句对应的第二开始时间点属于所述第二分段结果,则在所述第三分段结果中删除所述第二开始时间点,得到第四分段结果;
根据所述第四分段结果,确定所述目标歌曲的综合分段结果。
在一种可能的实现方式中,所述综合分段模块1405,用于:
确定所述第四分段结果对应的最后一个分段包含的目标歌词句的数目m;
如果m等于1,则确定最后一个分段包含的目标歌词句与前一个目标歌词句之间的相似度,得到第三相似度;如果m大于1且小于所述第四数目阈值,则将所述最后一个分段中的所有目标歌词句合并,得到第三合并歌词句,将最后一个分段之前的m个目标歌词句合并,得到第四合并歌词句,确定所述第三合并歌词句和所述第四合并歌词句之间的第三相似度;
如果所述第三相似度大于第三相似度阈值,则在第四分段结果中删除最后一个分段的开始时间点,得到所述目标歌曲的综合分段结果。
在一种可能的实现方式中,所述第一分段模块1402,用于:
根据预设的时间差阈值和所述每两个相邻目标歌词句对应的开始时间点之间的时间差,在所述时间差大于或等于所述时间差阈值的两个相邻目标歌词句之间设置分段点,得到所述第一分段结果。
需要说明的是:上述实施例提供的歌曲分段装置在歌曲分段时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的歌曲分段装置与歌曲分段方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图15是本申请实施例提供的一种服务器的结构示意图,该服务器1500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器1501和一个或一个以上的存储器1502,其中,所述存储器1502中存储有至少一条指令,所述至少一条指令由所述处理器1501加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由终端中的处理器执行以完成上述实施例中歌曲分段方法。该计算机可读存储介质可以是非暂态的。例如,所述计算机可读存储介质可以是ROM、RAM、CD-ROM、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (15)
1.一种歌曲分段方法,其特征在于,所述方法包括:
确定目标歌曲的歌词中的多个目标歌词句,获取每个目标歌词句对应的开始时间点;
根据每两个相邻目标歌词句的开始时间点之间的时间差,对所述目标歌曲进行分段,得到第一分段结果;
根据所述目标歌曲中每两个目标歌词句之间的相似度,在所述歌词中确定至少一个相似片段对,其中,所述相似片段对中的单个片段包含的目标歌词句的数目大于第一数目阈值;
根据所述至少一个相似片段对,对所述目标歌曲进行分段,得到第二分段结果;
根据所述第一分段结果和所述第二分段结果,确定所述目标歌曲的综合分段结果。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标歌曲中每两个目标歌词句之间的相似度,在所述歌词中确定至少一个相似片段对,包括:
根据所述目标歌曲中每两个目标歌词句之间的相似度,确定目标歌曲的初始相似度矩阵,其中,所述初始相似度矩阵的第N行第M列的元素表示所述目标歌曲中第N个目标歌词句与第M个目标歌词句之间的相似度;
将所述初始相似度矩阵中的小于第一相似度阈值的元素和主对角线的元素置零,得到待处理相似度矩阵;
根据所述待处理相似度矩阵和递归量化分析RQA算法,确定所述歌词中的至少一个相似片段对。
3.根据权利要求2所述的方法,其特征在于,所述根据所述待处理相似度矩阵和递归量化分析RQA算法,确定所述歌词中的至少一个相似片段对,包括:
将所述待处理相似度矩阵输入RQA算法,得到初始相似片段对;
将所述初始相似片段对对应的目标歌词句在所述待处理相似度矩阵中对应的元素置零,以更新所述待处理相似度矩阵;
确定是否满足预设的循环结束条件,如果不满足所述循环结束条件,则转至执行将更新后的待处理相似度矩阵输入RQA算法得到初始相似片段对的步骤,如果满足所述循环结束条件,则将包含的片段中的目标歌词句的数目大于第一数目阈值的初始相似片段对,确定为所述歌词中的相似片段对。
4.根据权利要求3所述的方法,其特征在于,所述确定是否满足预设的循环结束条件,如果不满足所述循环结束条件,则转至执行将更新后的待处理相似度矩阵输入RQA算法得到初始相似片段对的步骤,如果满足所述循环结束条件,则将包含的片段中的目标歌词句的数目大于第一数目阈值的初始相似片段对,确定为所述歌词中的相似片段对,包括:
确定当前循环次数是否达到预设次数阈值,或最后一次得到的初始相似片段对中单个片段包含的目标歌词句的数目是否小于所述第一数目阈值;
如果当前循环次数未达到预设次数阈值,且最后一次得到的初始相似片段对中单个片段包含的目标歌词句的数目不小于所述第一数目阈值,则转至执行将更新后的待处理相似度矩阵输入RQA算法得到初始相似片段对的步骤;
如果当前循环次数达到预设次数阈值,或最后一次得到的初始相似片段对中单个片段包含的目标歌词句的数目小于所述第一数目阈值,则将包含的片段中的目标歌词句的数目大于所述第一数目阈值的初始相似片段对,确定为所述歌词中的相似片段对。
5.根据权利要求4所述的方法,其特征在于,还包括:
如果当前循环次数达到预设次数阈值、且最后一次得到的初始相似片段对中单个片段包含的目标歌词句的数目大于或者等于所述第一数目阈值,按照所述初始相似片段对的输出顺序,对每个初始相似片段对中单个片段包含的目标歌词句数目,进行排序,得到目标歌词句数目序列;
在所述目标歌词句数目序列中,计算每两个相邻目标歌词句数目之间的差值;
确定最大差值对应的两个相邻目标歌词句数目中较大的目标歌词句数目对应的目标初始相似片段对;
将所述目标初始相似片段对和在所述目标初始相似片段对之前输出的初始相似片段对,确定为所述歌词中的相似片段对。
6.根据权利要求2所述的方法,其特征在于,所述将所述初始相似度矩阵中的小于第一相似度阈值的元素和主对角线的元素置零,得到待处理相似度矩阵,包括:
将所述初始相似度矩阵中的小于第一相似度阈值的元素和主对角线的元素置零;
将置零处理后的初始相似度矩阵确定为待处理相似度矩阵;或者,根据所述第一分段结果,将置零处理后的初始相似度矩阵分割为多个子矩阵,分别作为待处理相似度矩阵。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述确定目标歌曲的歌词中的多个目标歌词句,包括:
确定目标歌曲的歌词中的多个初始歌词句;
对于每两个字数不相同的初始歌词句,确定所述两个初始歌词句中字数多的第一初始歌词句与字数少的第二初始歌词句的相似度;
如果所述第一初始歌词句与所述第二初始歌词句的相似度小于或等于第二相似度阈值,且所述第一初始歌词句中与所述第二初始歌词句字数相同的部分内容与所述第二初始歌词句的相似度大于所述第二相似度阈值,则将所述第二初始歌词句分别与前一个初始歌词句、后一个初始歌词句合并,得到第一合并歌词句和第二合并歌词句;确定所述第一初始歌词句与所述第一合并歌词句的第一相似度、以及所述第一初始歌词句与所述第二合并歌词句的第二相似度;如果第一相似度大于所述第二相似度阈值,则将所述第一合并歌词句确定为所述歌词中的目标歌词句,如果第二相似度大于所述第二相似度阈值,则将所述第二合并歌词句确定为所述歌词中的目标歌词句;
将所述多个初始歌词句中所述目标歌词句之外的所有初始歌词句,确定为所述歌词中的目标歌词句。
8.根据权利要求1-6任一项所述的方法,其特征在于,所述根据所述至少一个相似片段对,对所述目标歌曲进行分段,得到第二分段结果,包括:
分别确定所述至少一个相似片段对中每个片段的首句对应的开始时间点,以及所述至少一个相似片段对中每个片段的尾句的后一句对应的开始时间点,将确定出的各开始时间点分别作为分段开始时间点,组成所述第二分段结果。
9.根据权利要求1-6任一项所述的方法,其特征在于,所述根据所述至少一个相似片段对,对所述目标歌曲进行分段,得到第二分段结果,包括:
对于每个相似片段对,确定所述相似片段对中两个片段的片段首句之间间隔的目标歌词句数目,如果所述间隔的目标歌词句数目小于所述第二数目阈值,则将所述相似片段对中的两个片段合并,得到合并片段;
根据所述合并片段、以及除了所述合并片段对应的相似片段对之外的相似片段对包含的片段,对所述目标歌曲进行分段,得到第二分段结果。
10.根据权利要求1所述的方法,其特征在于,所述第一分段结果包括多个第一分段的开始时间点,所述第二分段结果包括多个第二分段的开始时间点,所述根据所述第一分段结果和所述第二分段结果,确定所述目标歌曲的综合分段结果,包括:
依据所述多个第一分段的开始时间点及所述多个第二分段的开始时间点将所述第一分段结果和所述第二分段结果进行合并去重处理,得到第三分段结果;
根据所述第三分段结果,确定所述目标歌曲的综合分段结果。
11.根据权利要求10所述的方法,其特征在于,所述根据所述第三分段结果,确定所述目标歌曲的综合分段结果,包括:
在合并去重处理得到的第三分段结果中,确定每个开始时间点对应的分段首句,如果在确定出的各分段首句中第一分段首句与第二分段首句之间间隔的目标歌词句数目小于或者等于第三数目阈值,且所述第一分段首句对应的第一开始时间点属于所述第一分段结果,所述第二分段首句对应的第二开始时间点属于所述第二分段结果,则在所述第三分段结果中删除所述第二开始时间点,得到第四分段结果;
根据所述第四分段结果,确定所述目标歌曲的综合分段结果。
12.根据权利要求11所述的方法,其特征在于,所述根据所述第四分段结果,确定所述目标歌曲的综合分段结果,包括:
确定所述第四分段结果对应的最后一个分段包含的目标歌词句的数目m;
如果m等于1,则确定最后一个分段包含的目标歌词句与前一个目标歌词句之间的相似度,得到第三相似度;如果m大于1且小于所述第四数目阈值,则将所述最后一个分段中的所有目标歌词句合并,得到第三合并歌词句,将最后一个分段之前的m个目标歌词句合并,得到第四合并歌词句,确定所述第三合并歌词句和所述第四合并歌词句之间的第三相似度;
如果所述第三相似度大于第三相似度阈值,则在第四分段结果中删除最后一个分段的开始时间点,得到所述目标歌曲的综合分段结果。
13.根据权利要求1所述的方法,其特征在于,所述根据每两个相邻目标歌词句对应的开始时间点之间的时间差,对所述目标歌曲进行分段,得到第一分段结果,包括:
根据预设的时间差阈值和所述每两个相邻目标歌词句对应的开始时间点之间的时间差,在所述时间差大于或等于所述时间差阈值的两个相邻目标歌词句之间设置分段点,得到所述第一分段结果。
14.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如权利要求1至权利要求13任一项所述的歌曲分段方法所执行的操作。
15.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如权利要求1至权利要求13任一项所述的歌曲分段方法所执行的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110688029.3A CN113377992B (zh) | 2021-06-21 | 2021-06-21 | 歌曲分段方法、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110688029.3A CN113377992B (zh) | 2021-06-21 | 2021-06-21 | 歌曲分段方法、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113377992A true CN113377992A (zh) | 2021-09-10 |
CN113377992B CN113377992B (zh) | 2024-09-06 |
Family
ID=77578182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110688029.3A Active CN113377992B (zh) | 2021-06-21 | 2021-06-21 | 歌曲分段方法、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113377992B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060065106A1 (en) * | 2004-09-28 | 2006-03-30 | Pinxteren Markus V | Apparatus and method for changing a segmentation of an audio piece |
CN102467939A (zh) * | 2010-11-04 | 2012-05-23 | 北京彩云在线技术开发有限公司 | 一种歌曲音频切割装置及方法 |
CN106528678A (zh) * | 2016-10-24 | 2017-03-22 | 腾讯音乐娱乐(深圳)有限公司 | 一种歌曲处理方法及装置 |
WO2017190674A1 (zh) * | 2016-05-04 | 2017-11-09 | 腾讯科技(深圳)有限公司 | 一种音频数据的处理方法、装置及计算机存储介质 |
CN107452361A (zh) * | 2017-08-08 | 2017-12-08 | 腾讯音乐娱乐(深圳)有限公司 | 歌曲分句方法及装置 |
WO2018121368A1 (zh) * | 2016-12-30 | 2018-07-05 | 阿里巴巴集团控股有限公司 | 一种歌词的配乐生成方法和相关装置 |
CN110415723A (zh) * | 2019-07-30 | 2019-11-05 | 广州酷狗计算机科技有限公司 | 音频分段的方法、装置、服务器及计算机可读存储介质 |
CN110516110A (zh) * | 2019-07-22 | 2019-11-29 | 平安科技(深圳)有限公司 | 歌曲生成方法、装置、计算机设备及存储介质 |
CN110808065A (zh) * | 2019-10-28 | 2020-02-18 | 北京达佳互联信息技术有限公司 | 副歌检测方法、装置、电子设备及存储介质 |
CN111782868A (zh) * | 2020-07-06 | 2020-10-16 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种音频处理方法、装置、设备及介质 |
CN112037764A (zh) * | 2020-08-06 | 2020-12-04 | 杭州网易云音乐科技有限公司 | 一种音乐结构的确定方法、装置、设备及介质 |
CN112331170A (zh) * | 2020-10-28 | 2021-02-05 | 平安科技(深圳)有限公司 | 佛乐旋律相似度的分析方法、装置、设备及存储介质 |
CN112989109A (zh) * | 2021-04-14 | 2021-06-18 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种音乐结构分析方法、电子设备及存储介质 |
-
2021
- 2021-06-21 CN CN202110688029.3A patent/CN113377992B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060065106A1 (en) * | 2004-09-28 | 2006-03-30 | Pinxteren Markus V | Apparatus and method for changing a segmentation of an audio piece |
CN102467939A (zh) * | 2010-11-04 | 2012-05-23 | 北京彩云在线技术开发有限公司 | 一种歌曲音频切割装置及方法 |
WO2017190674A1 (zh) * | 2016-05-04 | 2017-11-09 | 腾讯科技(深圳)有限公司 | 一种音频数据的处理方法、装置及计算机存储介质 |
CN106528678A (zh) * | 2016-10-24 | 2017-03-22 | 腾讯音乐娱乐(深圳)有限公司 | 一种歌曲处理方法及装置 |
WO2018121368A1 (zh) * | 2016-12-30 | 2018-07-05 | 阿里巴巴集团控股有限公司 | 一种歌词的配乐生成方法和相关装置 |
CN107452361A (zh) * | 2017-08-08 | 2017-12-08 | 腾讯音乐娱乐(深圳)有限公司 | 歌曲分句方法及装置 |
CN110516110A (zh) * | 2019-07-22 | 2019-11-29 | 平安科技(深圳)有限公司 | 歌曲生成方法、装置、计算机设备及存储介质 |
CN110415723A (zh) * | 2019-07-30 | 2019-11-05 | 广州酷狗计算机科技有限公司 | 音频分段的方法、装置、服务器及计算机可读存储介质 |
CN110808065A (zh) * | 2019-10-28 | 2020-02-18 | 北京达佳互联信息技术有限公司 | 副歌检测方法、装置、电子设备及存储介质 |
CN111782868A (zh) * | 2020-07-06 | 2020-10-16 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种音频处理方法、装置、设备及介质 |
CN112037764A (zh) * | 2020-08-06 | 2020-12-04 | 杭州网易云音乐科技有限公司 | 一种音乐结构的确定方法、装置、设备及介质 |
CN112331170A (zh) * | 2020-10-28 | 2021-02-05 | 平安科技(深圳)有限公司 | 佛乐旋律相似度的分析方法、装置、设备及存储介质 |
CN112989109A (zh) * | 2021-04-14 | 2021-06-18 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种音乐结构分析方法、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
郑亚斌;刘知远;孙茂松;: "中文歌词的统计特征及其检索应用", 中文信息学报, no. 05, 15 September 2007 (2007-09-15) * |
Also Published As
Publication number | Publication date |
---|---|
CN113377992B (zh) | 2024-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102128926B1 (ko) | 오디오 정보 처리 방법 및 디바이스 | |
CN111145737B (zh) | 语音测试方法、装置和电子设备 | |
US10846332B2 (en) | Playlist list determining method and device, electronic apparatus, and storage medium | |
CN105893351B (zh) | 语音识别方法及装置 | |
CN113010730B (zh) | 音乐文件生成方法、装置、设备及存储介质 | |
WO2004049240A1 (en) | Method and device for determining and outputting the similarity between two data strings | |
US12027145B2 (en) | Systems, devices, and methods for computer-generated musical compositions | |
CN108804526A (zh) | 兴趣确定系统、兴趣确定方法及存储介质 | |
CN108920649A (zh) | 一种信息推荐方法、装置、设备和介质 | |
EP2869219A1 (en) | Text processing apparatus, text processing method, and computer program product | |
CN114003682A (zh) | 一种文本分类方法、装置、设备及存储介质 | |
CN110134940B (zh) | 一种训练文本识别模型、文本连贯性的方法及装置 | |
CN114141235A (zh) | 语音语料库生成方法、装置、计算机设备和存储介质 | |
CN112989109A (zh) | 一种音乐结构分析方法、电子设备及存储介质 | |
CN113377992A (zh) | 歌曲分段方法、设备和存储介质 | |
JP2014002257A (ja) | 言語モデル生成装置、その方法及びプログラム | |
CN111950267A (zh) | 文本三元组的抽取方法及装置、电子设备及存储介质 | |
CN111863030A (zh) | 音频检测方法及装置 | |
CN112287077A (zh) | 用于文档的结合rpa和ai的语句提取方法、装置、存储介质及电子设备 | |
JPH0736478A (ja) | 音符列間類似度計算装置 | |
Rodríguez López et al. | Multi-strategy segmentation of melodies | |
CN106663110A (zh) | 音频序列对准的概率评分的导出 | |
CN111339350A (zh) | 数据处理方法、装置、存储介质及电子设备 | |
CN110909019B (zh) | 大数据查重方法、装置、计算机设备及存储介质 | |
Gao et al. | Popular song summarization using chorus section detection from audio signal |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |