CN111046217B - 组合歌曲生成方法、装置、设备以及存储介质 - Google Patents
组合歌曲生成方法、装置、设备以及存储介质 Download PDFInfo
- Publication number
- CN111046217B CN111046217B CN201911303596.1A CN201911303596A CN111046217B CN 111046217 B CN111046217 B CN 111046217B CN 201911303596 A CN201911303596 A CN 201911303596A CN 111046217 B CN111046217 B CN 111046217B
- Authority
- CN
- China
- Prior art keywords
- song
- lyrics
- segment
- determining
- song segment
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 239000013598 vector Substances 0.000 claims description 155
- 230000015654 memory Effects 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 7
- 239000012634 fragment Substances 0.000 claims description 5
- 238000012545 processing Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 238000012549 training Methods 0.000 description 11
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 238000003066 decision tree Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 241001342895 Chorus Species 0.000 description 2
- HAORKNGNJCEJBX-UHFFFAOYSA-N cyprodinil Chemical compound N=1C(C)=CC(C2CC2)=NC=1NC1=CC=CC=C1 HAORKNGNJCEJBX-UHFFFAOYSA-N 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000003595 spectral effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Library & Information Science (AREA)
- Databases & Information Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种组合歌曲生成方法、装置、设备以及存储介质,该方法包括:获取初始歌曲的第一歌曲片段,第一歌曲片段为初始歌曲中最后一句歌词对应的歌曲片段;确定第一歌曲片段的和弦,根据第一歌曲片段的和弦从歌曲片段库中确定出候选歌曲片段;根据初始歌曲的歌词确定出第一歌曲片段的歌词之后的预测歌词;根据预测歌词从候选歌曲片段中确定出预测歌曲片段,将预测歌曲片段拼接至初始歌曲之后得到组合歌曲。采用本申请实施例,可生成语义平滑和旋律平滑的组合歌曲,适用性高。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种组合歌曲生成方法、装置、设备以及存储介质。
背景技术
随着科技的发展,终端设备具备的功能越来越多,已经能为用户提供一些多元化的休闲娱乐方式,例如为用户制作一些串烧歌曲。终端设备现在提供的组合歌曲(如歌曲串烧)生成方法,多半是通过人工选择方式,借用一些软件,从候选歌曲中截取需要串烧的部分,再将需要串烧的部分拼接起来,操作十分繁琐耗时,处理效率较低。另一方面,终端设备还可提供自动选择歌曲串烧的歌曲片段,但是最终的歌曲串烧的连贯性较差,不符合真实听感。
因此如何生成语义、旋律连贯的组合歌曲,成为亟需解决的问题。
发明内容
本申请实施例提供一种组合歌曲生成方法、装置、设备以及存储介质,可生成语义平滑和旋律平滑的组合歌曲,适用性高。
第一方面,本申请实施例提供一种组合歌曲生成方法,该方法包括:
获取初始歌曲的第一歌曲片段,上述第一歌曲片段为上述初始歌曲中最后一句歌词对应的歌曲片段;
确定上述第一歌曲片段的和弦,根据上述第一歌曲片段的和弦从歌曲片段库中确定出候选歌曲片段;
根据上述初始歌曲的歌词确定出上述第一歌曲片段的歌词之后的预测歌词;
根据上述预测歌词从上述候选歌曲片段中确定出预测歌曲片段,将上述预测歌曲片段拼接至上述初始歌曲之后得到组合歌曲。
结合第一方面,在一种可能的实施方式中,上述根据上述第一歌曲片段的和弦从歌曲片段库中确定出候选歌曲片段包括:
确定上述歌曲片段库中各个歌曲片段的和弦;
将上述第一歌曲片段的和弦与上述各个歌曲片段的和弦进行匹配,将与上述第一歌曲片段的和弦一致的和弦所对应的歌曲片段确定为候选歌曲片段。
结合第一方面,在一种可能的实施方式中,上述根据上述初始歌曲的歌词确定出上述第一歌曲片段的歌词之后的预测歌词包括:
确定上述第一歌曲片段的歌词的信息编码;
确定第二歌曲片段的歌词的信息编码和主题编码,上述第二歌曲片段为上述初始歌曲中除上述最后一句歌词外其他歌词对应的歌曲片段,上述其他歌词中每一句歌词对应一个第二歌曲片段;
根据上述第一歌曲片段的歌词的信息编码、上述第二歌曲片段的歌词的信息编码和主题编码确定出上述第一歌曲片段的歌词之后的预测歌词。
结合第一方面,在一种可能的实施方式中,上述第一歌曲片段的歌词包含N个词汇,N为正整数,上述确定上述第一歌曲片段的歌词的信息编码包括:
获取第1个词汇的词向量;
根据第M个词汇和上述第M-1个词汇的词向量确定上述第M个词汇的词向量,其中M为大于1且小于等于N的正整数;
根据上述N个词汇的词向量确定上述目标歌词信息的歌词的信息编码。
结合第一方面,在一种可能的实施方式中,上述根据上述第一歌曲片段的歌词的信息编码、上述第二歌曲片段的歌词的信息编码和主题编码确定出上述第一歌曲片段的歌词之后的预测歌词包括:
根据上述第一歌曲片段的歌词的信息编码和上述第二歌曲片段的歌词的主题编码确定上述初始歌曲的隐向量,上述隐向量包括上述第一歌曲片段的歌词信息和上述初始歌曲的歌词的主题信息;
根据上述第二歌曲片段的歌词的信息编码和上述隐向量确定出上述第一歌曲片段的歌词的注意力编码;
根据上述第一歌曲片段的歌词的注意力编码确定出上述第一歌曲片段的歌词之后的预测歌词。
结合第一方面,在一种可能的实施方式中,上述根据上述预测歌词从上述候选歌曲片段中确定出预测歌曲片段包括:
确定每个候选歌曲片段中第一句歌词的均值向量,上述第一句歌词的均值向量为上述第一句歌词中各个词汇的词向量的平均值;
确定上述预测歌词的均值向量,并确定上述预测歌词的均值向量与上述每个候选歌曲片段对应的均值向量的余弦相似度;
将余弦相似度最大的均值向量对应的候选歌曲片段确定为预测歌曲片段。
结合第一方面,在一种可能的实施方式中,上述根据上述预测歌词从上述候选歌曲片段中确定出预测歌曲片段包括:
确定上述预测歌词对应的第一词集合和每个候选歌曲片段的歌词对应的第二词集合,上述第一词集合包括用于组成上述预测歌词的所有词汇,一个候选歌曲片段对应一个第二词集合,任一第二词集合包括用于组成相对应的候选歌曲段的第一句歌词的所有词汇;
确定上述第一词集合的集合向量和每个第二词集合的集合向量,分别确定上述第一词集合的集合向量与上述每个第二词集合的集合向量的余弦相似度;
将余弦相似度最大的第二词集合对应的候选歌曲片段确定为预测歌曲片段。
第二方面,本申请实施例提供了一种组合歌曲生成装置,该装置包括:
获取模块,用于获取初始歌曲的第一歌曲片段,上述第一歌曲片段为上述初始歌曲中最后一句歌词对应的歌曲片段;
第一确定模块,用于确定上述第一歌曲片段的和弦,根据上述第一歌曲片段的和弦从歌曲片段库中确定出候选歌曲片段;
第二确定模块,用于根据上述初始歌曲的歌词确定出上述第一歌曲片段的歌词之后的预测歌词;
第三确定模块,用于根据上述预测歌词从上述候选歌曲片段中确定出预测歌曲片段,将上述预测歌曲片段拼接至上述初始歌曲之后得到组合歌曲。
结合第二方面,在一种可能的实施方式中,上述第一确定模块包括:
第一确定单元,用于确定上述歌曲片段库中各个歌曲片段的和弦;
匹配单元,用于将上述第一歌曲片段的和弦与上述各个歌曲片段的和弦进行匹配,将与上述第一歌曲片段的和弦一致的和弦所对应的歌曲片段确定为候选歌曲片段。
结合第二方面,在一种可能的实施方式中,上述第二确定模块包括:
第二确定单元,用于确定上述第一歌曲片段的歌词的信息编码;
第三确定单元,用于确定第二歌曲片段的歌词的信息编码和主题编码,上述第二歌曲片段为上述初始歌曲中除上述最后一句歌词外其他歌词对应的歌曲片段,上述其他歌词中每一句歌词对应一个第二歌曲片段;
第四确定单元,用于根据上述第一歌曲片段的歌词的信息编码、上述第二歌曲片段的歌词的信息编码和主题编码确定出上述第一歌曲片段的歌词之后的预测歌词。
结合第二方面,在一种可能的实施方式中,上述第一歌曲片段的歌词包含N个词汇,N为正整数,上述第二确定单元包括:
获取子单元,用于获取第1个词汇的词向量;
第一确定子单元,用于根据第M个词汇和上述第M-1个词汇的词向量确定上述第M个词汇的词向量,其中M为大于1且小于等于N的正整数;
第二确定子单元,用于根据上述N个词汇的词向量确定上述目标歌词信息的歌词的信息编码。
结合第二方面,在一种可能的实施方式中,上述第四确定单元包括:
第三确定子单元,用于根据上述第一歌曲片段的歌词的信息编码和上述第二歌曲片段的歌词的主题编码确定上述初始歌曲的隐向量,上述隐向量包括上述第一歌曲片段的歌词信息和上述初始歌曲的歌词的主题信息;
第四确定子单元,用于根据上述第二歌曲片段的歌词的信息编码和上述隐向量确定出上述第一歌曲片段的歌词的注意力编码;
第五确定子单元,用于根据上述第一歌曲片段的歌词的注意力编码确定出上述第一歌曲片段的歌词之后的预测歌词。
结合第二方面,在一种可能的实施方式中,上述第三确定模块包括:
第一处理单元,用于确定每个候选歌曲片段中第一句歌词的均值向量,上述第一句歌词的均值向量为上述第一句歌词中各个词汇的词向量的平均值;
第二处理单元,用于确定上述预测歌词的均值向量,并确定上述预测歌词的均值向量与上述每个候选歌曲片段对应的均值向量的余弦相似度;
第五确定单元,用于将余弦相似度最大的均值向量对应的候选歌曲片段确定为预测歌曲片段。
结合第二方面,在一种可能的实施方式中,上述第三确定模块包括:
第三处理单元,用于确定上述预测歌词对应的第一词集合和每个候选歌曲片段的歌词对应的第二词集合,上述第一词集合包括用于组成上述预测歌词的所有词汇,一个候选歌曲片段对应一个第二词集合,任一第二词集合包括用于组成相对应的候选歌曲段的第一句歌词的所有词汇;
第四处理单元,用于确定上述第一词集合的集合向量和每个第二词集合的集合向量,分别确定上述第一词集合的集合向量与上述每个第二词集合的集合向量的余弦相似度;
第六确定单元,用于将余弦相似度最大的第二词集合对应的候选歌曲片段确定为预测歌曲片段。
第三方面,本申请实施例提供了一种设备,该设备包括处理器和存储器,该处理器和存储器相互连接。该存储器用于存储支持该终端设备执行上述第一方面以及第一方面任一种可能的实现方式提供的方法的计算机程序,该计算机程序包括程序指令,该处理器被配置用于调用上述程序指令,执行上述第一方面以及第一方面任一种可能的实施方式所提供的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行以实现上述第一方面以及第一方面任一种可能的实施方式所提供的方法。
在本申请实施例中,通过第一歌曲片段的和弦从歌曲片段库中确定出候选歌曲片段,可使候选歌曲片段从旋律层面与初始歌曲的旋律保持一致,进而根据候选歌曲片段和初始歌曲得到的组合歌曲在旋律层面保持连贯性。与此同时,通过初始歌曲的歌词可确定出初始歌曲的下一个歌曲片段的预测歌词,进而可根据预测歌词从候选歌曲片段中确定出预测歌曲片段,以使最终生成的组合歌曲的两个歌曲片段之间的语义衔接的连贯性。通过上述实现方式可得到语义和旋律衔接均连贯的组合歌曲,适用性高。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的组合歌曲生成方法的原理示意图;
图2是本申请实施例提供的组合歌曲生成方法的流程示意图;
图3是本申请实施例提供的确定预测歌词的流程示意图;
图4是本申请实施例提供的确定预测歌词的方法示意图;
图5是本申请实施例提供的拷贝生成网络的原理示意图;
图6是本申请实施例提供的确定余弦相似度的方法示意图;
图7是本申请实施例提供的组合歌曲生成装置的结构示意图;
图8是本申请实施例提供的设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。根据本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供的组合歌曲生成方法(为方便描述,可简称本申请实施例提供的方法)可适用于任何对歌曲进行剪辑的设备以及应用,如可满足用户对歌曲进行组合拼接的音频剪辑应用、音乐生成应用以及播放设备等。同时本申请实施例提供的方法还可适用于任何歌曲推荐以及播放场景等,如根据用户喜好向用户推荐歌曲串烧,主题音乐推广以及批量推荐歌曲片段等场景,具体可根据实际应用场景确定,在此不做限制。本申请实施例提供的方法可根据初始歌曲生成语义连贯、旋律平滑的组合歌曲,可提升用户体验,适用性高。
参见图1,图1是本申请实施例提供的组合歌曲生成方法的原理示意图。如图1所示,当需要在初始歌曲100的基础上组合其他歌曲片段时,可确定初始歌曲100的最后一句歌词对应的第一歌曲片段200。其中,其中上述初始歌曲100为包括多句歌词的整首歌曲或者一段歌曲(如歌曲高潮片段),具体可根据实际应用场景确定,在此不做限制。在确定出第一歌曲片段200之后,可确定第一歌曲片段200的和弦,进而根据第一歌曲片段200的和弦从歌曲片段库中确定出候选歌曲片段500。其中,候选歌曲片段500的和弦与第一歌曲片段200的和弦一致或者旋律相似,也可以是符合和弦匹配规则的和弦,具体可根据实际应用场景确定,在此不做限制。其中,歌曲片段库400中的歌曲由歌曲集合300中各个歌曲以及各个歌曲的不同歌曲片段所组成,并且歌曲片段库400中每个歌曲片段最少包含有一句歌词。另一方面,可进一步根据初始歌曲100的歌词确定出用于连接至第一歌曲片段200的歌词之后的预测歌词600,从而根据预测歌词600从候选歌曲片段500中确定出用于与初始歌曲进行组合的预测歌曲片段700。此时,可将预测歌曲片段700拼接至初始歌曲100之后得到最终的组合歌曲800,不难理解,此时组合歌曲800中包含有初始歌曲100和预测歌曲片段700两段歌曲片段。
参见图2,图2是本申请实施例提供的组合歌曲生成方法的流程示意图。本申请实施例提供的组合歌曲生成方法可包括如下步骤S101至S104。
S101、获取初始歌曲的第一歌曲片段。
在一些可行的实施方式中,上述初始歌曲为包含多句歌词的歌曲片段或者整首歌曲,其中,初始歌曲的歌词内容在此不做限制,初始歌曲的第一歌曲片段为初始歌曲中最后一句歌词对应的歌曲片段。具体的,可根据音频处理工具获取初始歌曲的音轨数据,进而根据音轨数据确定出多个包含歌词(演唱部分)的歌曲片段,将最后一段包含歌词(演唱部分)的歌曲片段确定为初始歌曲的第一歌曲片段。可选的,还可将初始歌曲进行语音识别处理以将初始歌曲转换为文本信息,并从文本信息中确定出最后一段文本,并将初始歌曲中对应最后一段文本的歌曲片段确定为初始歌曲的第一歌曲片段。可选的,还可获取初始歌曲的对应的乐谱,并确定出初始歌曲对应的乐谱中最后一段音乐,从而可将初始歌曲中对应乐谱中最后一段音乐的歌曲片段确定为初始歌曲的第一歌曲片段。需要特别说明的是,上述确定初始歌曲的第一歌曲判断的方法仅为示例,具体可根据实际应用场景确定,在此不做限制。
S102、确定第一歌曲片段的和弦,根据第一歌曲片段的和弦从歌曲片段库中确定出候选歌曲片段。
在一些可行的实施方式中,在确定出初始歌曲的第一歌曲片段之后,可根据第一歌曲片段的和弦从歌曲片段库中确定出候选歌曲片段。其中,上述歌曲片段库中包括多首歌曲的歌曲片段或者多首完整歌曲,也可同时包括一首歌曲的多个歌曲片段及该首完整歌曲。进一步地,可确定第一歌曲片段的和弦和歌曲片段库中各个歌曲片段的和弦(如C-G-Em-F、C-Fm-Eb-C等),并将第一歌曲片段的和弦和各个歌曲片段的和弦进行匹配,将与第一歌曲片段的和弦一致的和弦所对应的歌曲片段确定为候选歌曲片段。可选的,也可将第一歌曲片段的和弦与各个歌曲片段的第一句歌词所对应的小节片段的和弦进行匹配,将与第一歌曲片段的和弦一致的小节片段对应的歌曲片段确定为候选歌曲片段。根据上述实现方式,可从歌曲片段库中确定出至少一个候选歌曲片段,此时由于候选歌曲片段中各个歌曲片段的和弦与第一歌曲片段的和弦一致,因此如果将任一候选歌曲拼接至初始歌曲之后,初始歌曲可在旋律上平滑过渡至该候选歌曲片段。需要特别说明的是,由于不同歌曲片段之间的衔接不一定要求旋律完全一致,在满足日常需求的情况下可实现平滑过渡即可,因此在将第一歌曲片段的和弦与歌曲片段库中各个歌曲片段的和弦进行匹配时,可向和弦相似度大于预设阈值的歌曲片段确定为候选歌曲片段,具体实现方式可根据实际应用场景确定,在此不做限制。
在一些可行的实施方式中,在确定歌曲片段库中的各个歌曲片段的过程中,需要先获取各个目标歌曲的音频,上述目标歌曲及其歌曲片段均可作为歌曲片段库中的歌曲。具体的,确定各个目标歌曲的音频的频谱特征,并根据频谱特征确定出目标歌曲的音频的前奏段、间奏段以及尾奏段。由于一首歌曲的前奏段、间奏段以及尾奏段往往不包含歌词,或者即使包含歌词往往音乐内容较为单一,因此可将目标歌曲的音频的前奏段、间奏段以及尾奏段进行删除,保留目标歌曲的音频的入门段和副歌段,此时可分别将入门段和副歌段对应的音频确定为一个歌曲片段库中的歌曲片段。另一方面,也可将整首歌曲以及包含多句歌词的歌曲片段按照一定的时间长度进行划分得到多个歌曲片段。具体的,可确定预设时间长度阈值(如30秒),从整首歌曲或者包含多句歌词的歌曲片段中截取预设时间长度阈值的目标音频,并确定目标音频的最后一句歌词是否为完整的一句歌词。如果目标音频的最后一句歌词不是完整歌词,则从目标音频中删除最后一句歌词对应音频并将删除最后一个歌词对应的音频确定为歌曲片段库中的歌曲片段。如果根据预设时间长度阈值截取的目标音频恰好包含一句或者多句完整歌词,则可将目标音频确定为歌曲片段库中的歌曲片段。
可选的,在获取各个目标歌曲的高潮片段时,可获取各个目标歌词文件的歌词,并确定歌词中每句歌词的重复程度以确定出重复度高于预设重复度阈值的一句或者多句目标歌词。此时可在目标歌曲中确定各个目标歌词在目标歌曲中的位置,将包含多句重复歌词的歌曲片段确定为歌曲片段库中的歌曲片段。可选的,还可将重复度最高的目标歌词最为起点,重复度最接近上述预设重复度阈值的目标歌词作为终端,将起点和重点之间的歌曲片段作为歌曲片段库中的歌曲片段。
在一些可行的实施方式中,在确定第一歌曲片段的和弦和歌曲片段库中各个歌曲片段的和弦时,可获取第一歌曲片段和歌曲片段库中各个歌曲片段的乐谱,并根据乐谱确定出第一歌曲片段的和弦和歌曲片段库中各个歌曲片段的和弦。可选的,也可根据和弦预测模型根据和弦确定算法等确定出第一歌曲片段和歌曲片段库中各个歌曲片段的和弦序列,进而根据和弦序列确定出第一歌曲片段和歌曲片段库中各个歌曲片段的和弦。需要特别说明的是,上述确定第一歌曲片段以及歌曲片段库中各个歌曲片段的和弦的具体方式可根据实际应用场景确定,在此不做限制。
S103、根据初始歌曲的歌词确定出第一歌曲片段的歌词之后的预测歌词。
在一些可行的实施方式中,在确定出候选歌曲片段之后,为了在旋律可平滑过渡的基础上实现语义平滑过渡,需要根据初始歌曲的歌词确定出第一歌曲片段之后的预测歌词,并根据预测歌曲从候选歌曲片段中确定出用于和初始歌曲进行组合的预测歌曲片段。具体的,可先获取初始歌曲的歌词中最后一句歌词(即第一歌曲片段的歌词)和出最后一句歌词外的其他歌词对应的歌曲片段(为方便描述,以下简称第二歌曲片段的歌词),进而根据第一歌曲片段的歌词和第二歌曲片段的歌词确定出第一歌曲片段的歌词之后的预测歌词。其中,每个第二歌曲片段对应一句歌词。其中,确定预测歌词的具体过程可参见图3,图3是本申请实施例提供的确定预测歌词的流程示意图。本申请实施例提供的确定预测歌词的方法可包括如下步骤S1031至S1033。
S1031、确定第一歌曲片段的歌词的信息编码。
在一些可行的实施方式中,可根据编码模型确定第一歌曲片段的歌词的信息编码,其中第一歌曲片段的歌词的信息编码用于对第一歌曲片段的歌词语义进行描述,即通过第一歌曲片段的歌词的信息编码可了解第一歌曲片段的歌词的含义。其中,编码模型的训练方式可以通过无监督的训练方式进行训练,也可以通过有监督的训练方式进行训练。在训练编码模型时可以采用预设训练算法,该预设训练算法可以为深度学习网络算法、决策树算法、人工神经网络算法等,具体可根据实际应用场景确定,在此不做限制。
在一些可行的实施方式中,可采用分词算法对第一歌曲片段的歌词进行分词,得到多个词汇。其中,上述分词算法包括但不限于HMM(Hidden Markov Model,隐马尔可夫模型),或者,CRF(Conditional Random Field,条件随机场)算法等,具体可根据实际应用场景确定,在此不做限制。进一步地,可根据编码模型确定出第一个词汇的词向量,进而根据第一个词汇的词向量和第二个词汇,通过编码模型得到第二个词汇的词向量,以此类推得到第一歌曲片段其他词汇的词向量。其中,上述编码模型包括但不限于LSTM(Long Short-Term Memory,长短期记忆网络)编码器、embedding-bi-LSTM(嵌入式双向LSTM)编码器、RNN(Recurrent Neural Network,循环神经网络)模型、transformer模型(一种根据自注意力机制的翻译模型)或CNN(Convolutional Neural Networks,卷积神经网络)模型等,具体可根据实际应用场景确定,在此不做限制。进一步地,可以将多个词汇的所有的词向量进行串联,得到第一歌曲片段的歌词的信息编码,或者将所有的词向量相加,得到第一歌曲片段的歌词的信息编码,或者还可以采用其他方式得到第一歌曲片段的歌词的信息编码,在此不做限制。
例如,假设编码模型为embedding-bi-LSTM编码器,根据第一歌曲片段的歌词得到N个词汇(N为正整数)。根据embedding-bi-LSTM编码器得到第一个词汇的词向量,对于上述N个词汇外的其他词汇,可将第M个词汇和第M-1个词汇的词向量,通过embedding-bi-LSTM编码器得到第M个词汇的词向量。其中M为大于1且小于等于N的正整数。
S1032、确定第二歌曲片段的歌词的信息编码和主题编码。
在一些可行的实施方式中,可确定第二歌曲片段的歌词的信息编码和主题编码,其中第二歌曲片段的歌词的信息编码用于描述第二歌曲片段的歌词的语义,第二歌曲片段的歌词的主题编码用于表示第二歌曲片段的歌词的语义主题。进而可根据第二歌曲片段的语义主题,在第二歌曲片段的歌词的语义下,预测出第一歌曲片段的歌词之后的预测歌词。具体的,可根据编码模型对第二歌曲片段的歌词进行编码得到第二歌曲片段的歌词的信息编码,其中,该编码模型包括但不限于LSTM编码器、embedding-bi-LSTM编码器、RNN模型、transformer模型或CNN模型等,具体可根据实际应用场景确定,在此不做限制。其中,该编码模型可以通过无监督的训练方式进行训练,也可以通过有监督的训练方式进行训练。在训练编码模型时可以采用预设训练算法,该预设训练算法可以为深度学习网络算法、决策树算法、人工神经网络算法等,具体可根据实际应用场景确定,在此不做限制。
在一些可行的实施方式中,根据编码模型得到第二歌曲片段的歌词中第一句歌词的句向量,进而根据第一句歌词的句向量和第二句歌词,通过编码模型得到第二句歌词的句向量,以此类推得到第二歌曲片段的每句歌词的句向量。其中,按照第二歌曲片段的播放顺序,最先播放的歌词为第一句歌词,最后播放的歌词为最后一句歌词。进一步地,可将每个句向量按照相对应的歌词的播放顺序进行连接,或者将每个句向量相加得到第二歌曲片段的歌词的信息编码,具体可根据实际应用场景确定,在此不做限制。
例如,编码模型为embedding-bi-LSTM编码器,第二歌曲片段的歌词包括S句歌词y1-yS。则根据编码器得到第1句歌词y1的句向量h1,后续根据句向量h1和第2句歌词y2,通过编码器得到第2句歌词的句向量h2,以此类推,获取每句歌词的句向量h1-hs。
在一些可行的实施方式中,对于第二歌曲片段的歌词的主题编码,可根据主题模型对第二歌曲片段的每句歌词进行编码得到第二歌曲片段的歌词的主题编码,其中第二歌曲片段的歌词的主题编码用于表示第二歌曲片段的歌词属于预设主题的概率。其中,上述主题模型的具体模型选择也可根据实际应用场景确定,在此不做限制。例如,当主题模型为包括Q个预设主题的LDA(Latent Dirichlet Allocation,隐含狄利克雷分布)主题模型时,第二歌曲片段的歌词的主题编码为一个Q维的向量,该向量可以表征第二歌曲片段的歌词属于该100个预设主题的概率。
在一种可能实现方式中,在训练主题模型时,先构建初始的主题模型,主题模型包括多个预设主题,获取多个样本歌词以及每个样本歌词所属的主题,根据多个样本歌词及其所属的主题对该主题模型进行训练,得到训练后的主题模型。其中,当根据多个样本歌词及其所属的主题对该主题模型进行训练时,可以获取样本歌词所属主题的主题编码,作为第一主题编码,根据当前的主题模型获取样本歌词对应的主题编码,作为第二主题编码,根据第一主题编码和第二主题编码之间的误差对该主题模型进行训练,得到训练后的主题模型。其中,主题模型可以通过无监督的训练方式进行训练,也可以通过有监督的训练方式进行训练。在训练主题模型时可以采用预设训练算法,该预设训练算法可以为深度学习网络算法、决策树算法、人工神经网络算法等,具体可根据实际应用场景确定,在此不做限制。
S1033、根据第一歌曲片段的歌词的信息编码、第二歌曲片段的歌词的信息编码和主题编码确定出第一歌曲片段的歌词之后的预测歌词。
在一些可行的实施方式中,可先根据第一歌曲片段的歌词的信息编码和第二歌曲片段的歌词的主题编码确定初始歌曲的第一隐向量,该第一隐向量用于表示初始歌曲的歌词所对应的主题和第一歌曲片段的歌词的语义。进一步地,可根据第二歌曲片段的歌词的信息编码和上述第一隐向量确定出第一歌曲片段的歌词的注意力编码,其中第一歌曲片段的歌词的注意力编码可由多重注意力机制得到。根据第一歌曲片段的注意力编码可确定出第一歌曲片段的歌词中各个词汇对应预设响应词汇的注意力分布。对于每个词汇来说,可将注意力分布较高的预设响应词汇确定为该词汇的预设词汇,从而将各个预设词汇按照第一歌曲片段的歌词中各个歌词的排列顺序进行组合,得到第一歌曲片段的歌词之后的预设歌词。
在一些可行的实施方式中,在得到上述第一隐向量之后,可通过多重注意力机制对上述第一隐向量和第二歌曲片段的歌词的信息编码进行处理,得到第一歌曲片段的歌词的第一个词汇对应的预测词汇标识,进而根据预测词汇标识确定出第一个词汇对应的预测词汇。其中,每个词汇具有一个对应的预测词汇标识,预测词汇标识可以为词汇的序号或其他标识,不同预测词汇的预测词汇标识不同。则确定第一个词汇对应的预测词汇标识后,该预测词汇标识对应的预测词汇即为第一个词汇对应的预测词汇。
进一步地,当确定第一歌曲片段的歌词的信息编码中的第二个词汇的预测词汇时,可对第二歌曲片段的歌词的主题编码、第一歌曲片段的歌词的信息编码、第一个词汇对应的预测词汇标识和第一个预测词汇进行处理后,得到第二隐向量。该第二隐向量可以作为一种表达形式,对第二歌曲片段的歌词所属的主题和当前第一歌曲片段的歌词的语义进行描述,还可以对第一个预测词汇标识和第一个预测词汇进行描述。进一步地,可根据第二隐向量和第二歌曲片段的歌词的信息编码,通过多重注意力机制,对第二隐向量和第一歌曲片段的歌词的信息编码进行处理,得到第二个词汇对应的预测词汇标识,根据预测词汇标识确定第二个预测词汇。以此类推,可确定出第一歌曲片段的歌词的每个词汇对应的预测词汇。进而可将各个预设词汇按照第一歌曲片段的歌词中各个歌词的排列顺序进行组合,得到第一歌曲片段的歌词之后的预设歌词。由于每个预测词汇不仅根据第一歌曲片段的歌词中的词汇生成,还会考虑第二歌曲片段的歌词所属的主题和前一个词汇的影响,保证了预测词汇组成的预设歌词所属的主题与第一歌曲片段的歌词所属的主题一致。
需要特别说明的是,上述根据第一歌曲片段的歌词的信息编码、第二歌曲片段的歌词的信息编码和主题编码确定预测歌词的具体实现方式可根据拷贝生成网络实现。举例来说,参见图4,图4是本申请实施例提供的确定预测歌词的方法示意图。如图4所示,在将第二歌曲片段的歌词通过主题模型进行编码后可得到第二歌曲片段的歌词的主题编码,通过编码模型对第二歌曲片段的歌词进行编码得到第二歌曲片段的歌词的信息编码,通过编码模型对第一歌曲片段的歌词进行编码得到第一歌曲片段的歌词的信息编码,此时可通过拷贝生成网络对第一歌曲片段的歌词的信息编码、第二歌曲片段的歌词的信息编码和主题编码进行处理,得到预测歌词。参见图5,图5是本申请实施例提供的拷贝生成网络的原理示意图。在图5中,拷贝生成网络包括拷贝模式和生成模式。对于第一歌曲片段的歌词中第一个词汇之后的每个词汇的词向量具有前一个词汇的词向量信息、预测词汇标识以及预测词汇。将第二歌曲片段的歌词与前一个预测词汇进行编码后,可以采用生成模式对得到的编码进行处理,得到第一概率分布,该第一概率分布包括多个预设词汇的概率,每个预设词汇的概率用于表示预设词汇属于当前词汇的预测词汇的概率,还采用拷贝模式对得到的编码进行处理,得到第二概率分布,该第二概率分布包括第二歌曲片段的歌词中的每个词汇的概率,每个词汇的概率用于表示该词汇属于当前词汇的预测词汇的概率,则将第一概率分布和第二概率分布融合后进行解码,得到当前第一歌曲片段的歌词的词汇对应的预测词汇标识,将预测词汇标识对应的词汇确定为当前词汇对应的预测词汇。
S104、根据预测歌词从候选歌曲片段中确定出预测歌曲片段,将预测歌曲片段拼接至初始歌曲之后得到组合歌曲。
在一些可行的实施方式中,在确定出第一歌曲片段的歌词之后的预测歌词后,可根据预测歌词从候选歌曲片段中确定出一个预测歌曲片段,从而可将预测歌曲片段拼接至初始歌曲之后得到组合歌曲。其中,在确定预测歌曲片段时,可确定预测歌词的语义和每个候选歌曲片段的歌词的语义,并将预测歌词的语义个每个候选歌曲片段的歌词的语义进行比较,将语义相似度最高的歌词对应的候选歌曲片段确定为预测歌曲片段。其中,候选歌曲片段的歌词语义和预测歌词的语义相似度的比较可通过每个词汇的词向量实现。具体的,由于每个候选歌曲片段可能包含多句歌词,因此可确定出每个候选歌曲片段中第一句歌词中每个词汇的词向量。对于任一候选歌曲片段的第一句歌词中每个词汇的词向量,可对所有的词向量求均值得到该候选歌曲片段的第一句歌词的均值向量。根据同样的实现方式,可确定出预测歌词的均值向量,进而可确定预测歌词的均值向量与每个候选歌曲片段对应的均值向量的余弦相似度。此时余弦相似度最大的均值向量对应的候选歌曲片段即为预测歌曲片段。
在一些可行的实施方式中,可使用word2Vec算法(也可使用其他向量算法,如glove、ELMo等,具体可根据实际应用场景确定,在此不做限制。)确定出预测歌词中每个词汇以及各个候选歌曲片段的第一句歌词的词向量。例如,对于预测歌词的i个词汇来说,可通过word2Vec算法确定出预测歌词的i个词汇的词向量Ai,对于任一候选歌曲片段来说,可通过word2Vec算法确定出每个候选歌曲片段的第一句歌词的j个词汇的词向量Bj,其中,i、j均为正整数。进一步地,可分别求出预测歌词的i个词汇的词向量Ai的均值向量以及每个候选歌曲片段的第一句歌词的j个词汇的词向量Bj的均值向量/>,进而通过余弦相似度公式/>确定出均值向量/>和均值向量/>的余弦相似度。其中,余弦相似度越高说明预测歌词与候选歌曲的第一句歌词的语义相似度越高,因此在求出每个候选歌曲片段的第一句歌词与预测歌词的余弦相似度后,可将相似度最高的余弦相似度对应的候选歌曲片段确定为预测歌曲片段。可选的,在采用word2Vec算法之前,可先去除预测歌词以及每个候选歌曲片段的第一句歌词中停用词(如语气助词、副词、介词等)以减少无含义的词汇的同时凸显预测歌词以及每个候选歌曲片段的第一句歌词的真实语义。其中,可通过停用词表或者停用词识别算法等识别并去除预测歌词以及每个候选歌曲片段的第一句歌词中停用词,具体实现方式可根据实际应用场景确定,在此不做限制。在去除停用词之后,可通过word2Vec算法确定出预测词汇以及每个候选歌曲片段的第一句歌词中的其他词汇的词向量,从而减少余弦相似度的误差,提升候选歌曲片段的确定准确性。
在一些可行的实施方式中,在确定预测歌词的语义和各个候选歌曲片段的歌词的语义的相似度时,还可确定预测歌词对应的第一词集合和每个候选歌曲片段(如候选歌曲片段包含多句歌词,则选取第一句歌词)对应的第二词集合。其中,第一词集合包括用于组成预测歌词的所有词汇,一个候选歌曲片段对应一个第二词集合,任一第二词集合包括用于组成相对应的候选歌曲段的第一句歌词的所有词汇。进一步地,可确定第一词集合的集合向量和每个第二词集合的集合向量,分别计算第一词集合的集合向量与每个第二词集合的集合向量的余弦相似度,此时将余弦相似度最大的第二词集合对应的候选歌曲片段确定为预测歌曲片段。
举例来说,参见图6,图6是本申请实施例提供的确定余弦相似度的方法示意图。在图6中,假设预测歌词为“这件衣服号码大了,那个更合适”,候选歌曲片段1的歌词为“这件衣服号码不小,那个更合适”。在分别对预测歌词和候选歌曲片段的第一句歌词进行分词后得到第一词集合和第二词集合,此时可确定第一词集合的第一词向量,确定第二词集合的第二词向量,具体地,可先确定第一词集合和第二词集合中的词频,以第一词集合为例,“这件”词频为1、“衣服”词频为1、“号码”词频为2、“大了”词频为1、“那个”词频为1,“更”词频为0(相对比第二词集合中的各个词汇而言)、“合适”词频为1、“不”词频为0(相对比第二词集合中的各个词汇而言)、、“小”词频为0(相对比第二词集合中的各个词汇而言)。通过相同方式可得到第二词集合的词频。此时可将第一词集合和第二词集合进行词频向量化,得到第一词集合的第一词向量:(1,1,2,1,1,0,1,0,0)和第二词集合的第二词向量(1,1,1,0,1,1,1,1,1)。此时可根据第一词向量和第二词向量的余弦相似度确定为预测歌词和和候选歌曲片段1的语义相似度。如:
此时不难看出,第一词向量和第二词向量的余弦相似度为0.71,假设候选歌曲片段1的第二词向量与第一词向量的余弦相似度为最高余弦相似度,则可将候选歌曲片段1确定为预测歌曲片段。
在一些可行的实施方式中,由于预测歌曲片段的语义与第一歌曲片段的歌词之后的预测歌词的语义较为相近,因此在得到预测歌曲片段之后,需要将预测歌曲片段拼接至初始歌曲之后,从而得到组合歌曲。具体地,在将预测歌曲片段与初始歌曲进行拼接时,可通过音频剪辑工具进行,具体的音频剪辑工具包括但不限于Cool Edit Pro、AdobeAudition以及GoldWave等,具体可根据实际应用场景确定,在此不做限制。可选的,在将预测歌曲片段拼接至初始歌曲之后时,可确定出初始歌曲片段的和弦的和弦末端,以及第一歌曲片段的和弦的和弦开端,将和弦末端和和弦开端作为拼接处将预测歌曲片段拼接至初始歌曲之后已完成歌曲片段的拼接。
在本申请实施例中,通过第一歌曲片段的和弦从歌曲片段库中确定出候选歌曲片段,可使候选歌曲片段从旋律层面与初始歌曲的旋律保持一致,进而根据候选歌曲片段和初始歌曲得到的组合歌曲在旋律层面保持连贯性。与此同时,通过初始歌曲的歌词可确定出初始歌曲的下一个歌曲片段的预测歌词,进而可根据预测歌词从候选歌曲片段中确定出与预测歌词语义相近的预测歌曲片段,以使最终生成的组合歌曲的两个歌曲片段之间的语义衔接的连贯性。通过上述实现方式可得到语义和旋律衔接均连贯的组合歌曲,适用性高。
参见图7,图7是本申请实施例提供的组合歌曲生成装置的结构示意图。本申请实施例提供的装置1包括:
获取模块11,用于获取初始歌曲的第一歌曲片段,上述第一歌曲片段为上述初始歌曲中最后一句歌词对应的歌曲片段;
第一确定模块12,用于确定上述第一歌曲片段的和弦,根据上述第一歌曲片段的和弦从歌曲片段库中确定出候选歌曲片段;
第二确定模块13,用于根据上述初始歌曲的歌词确定出上述第一歌曲片段的歌词之后的预测歌词;
第三确定模块14,用于根据上述预测歌词从上述候选歌曲片段中确定出预测歌曲片段,将上述预测歌曲片段拼接至上述初始歌曲之后得到组合歌曲。
在一些可行的实施方式中,上述第一确定模块12包括:
第一确定单元121,用于确定上述歌曲片段库中各个歌曲片段的和弦;
匹配单元122,用于将上述第一歌曲片段的和弦与上述各个歌曲片段的和弦进行匹配,将与上述第一歌曲片段的和弦一致的和弦所对应的歌曲片段确定为候选歌曲片段。
在一些可行的实施方式中,上述第二确定模块13包括:
第二确定单元131,用于确定上述第一歌曲片段的歌词的信息编码;
第三确定单元132,用于确定第二歌曲片段的歌词的信息编码和主题编码,上述第二歌曲片段为上述初始歌曲中除上述最后一句歌词外其他歌词对应的歌曲片段,上述其他歌词中每一句歌词对应一个第二歌曲片段;
第四确定单元133,用于根据上述第一歌曲片段的歌词的信息编码、上述第二歌曲片段的歌词的信息编码和主题编码确定出上述第一歌曲片段的歌词之后的预测歌词。
在一些可行的实施方式中,上述第一歌曲片段的歌词包含N个词汇,N为正整数,上述第二确定单元131包括:
获取子单元1311,用于获取第1个词汇的词向量;
第一确定子单元1312,用于根据第M个词汇和上述第M-1个词汇的词向量确定上述第M个词汇的词向量,其中M为大于1且小于等于N的正整数;
第二确定子单元1313,用于根据上述N个词汇的词向量确定上述目标歌词信息的歌词的信息编码。
在一些可行的实施方式中,上述第四确定单元133包括:
第三确定子单元1331,用于根据上述第一歌曲片段的歌词的信息编码和上述第二歌曲片段的歌词的主题编码确定上述初始歌曲的隐向量,上述隐向量包括上述第一歌曲片段的歌词信息和上述初始歌曲的歌词的主题信息;
第四确定子单元1332,用于根据上述第二歌曲片段的歌词的信息编码和上述隐向量确定出上述第一歌曲片段的歌词的注意力编码;
第五确定子单元1333,用于根据上述第一歌曲片段的歌词的注意力编码确定出上述第一歌曲片段的歌词之后的预测歌词。
在一些可行的实施方式中,上述第三确定模块14包括:
第一处理单元141,用于确定每个候选歌曲片段中第一句歌词的均值向量,上述第一句歌词的均值向量为上述第一句歌词中各个词汇的词向量的平均值;
第二处理单元142,用于确定上述预测歌词的均值向量,并确定上述预测歌词的均值向量与上述每个候选歌曲片段对应的均值向量的余弦相似度;
第五确定单元143,用于将余弦相似度最大的均值向量对应的候选歌曲片段确定为预测歌曲片段。
在一些可行的实施方式中,上述第三确定模块14包括:
第三处理单元144,用于确定上述预测歌词对应的第一词集合和每个候选歌曲片段的歌词对应的第二词集合,上述第一词集合包括用于组成上述预测歌词的所有词汇,一个候选歌曲片段对应一个第二词集合,任一第二词集合包括用于组成相对应的候选歌曲段的第一句歌词的所有词汇;
第四处理单元145,用于确定上述第一词集合的集合向量和每个第二词集合的集合向量,分别确定上述第一词集合的集合向量与上述每个第二词集合的集合向量的余弦相似度;
第六确定单元146,用于将余弦相似度最大的第二词集合对应的候选歌曲片段确定为预测歌曲片段。
具体实现中,上述装置1可通过其内置的各个功能模块执行如上述图2以及图3中各个步骤所提供的实现方式,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。
在本申请实施例中,通过第一歌曲片段的和弦从歌曲片段库中确定出候选歌曲片段,可使候选歌曲片段从旋律层面与初始歌曲的旋律保持一致,进而根据候选歌曲片段和初始歌曲得到的组合歌曲在旋律层面保持连贯性。与此同时,通过初始歌曲的歌词可确定出初始歌曲的下一个歌曲片段的预测歌词,进而可根据预测歌词从候选歌曲片段中确定出与预测歌词语义相近的预测歌曲片段,以使最终生成的组合歌曲的两个歌曲片段之间的语义衔接的连贯性。通过上述实现方式可得到语义和旋律衔接均连贯的组合歌曲,适用性高。
参见图8,图8是本申请实施例提供的设备的结构示意图。如图8所示,本实施例中的设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,上述设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1004可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图8所示,作为一种计算机可读存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及设备控制应用程序。
在图8所示的设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取初始歌曲的第一歌曲片段,上述第一歌曲片段为上述初始歌曲中最后一句歌词对应的歌曲片段;
确定上述第一歌曲片段的和弦,根据上述第一歌曲片段的和弦从歌曲片段库中确定出候选歌曲片段;
根据上述初始歌曲的歌词确定出上述第一歌曲片段的歌词之后的预测歌词;
根据上述预测歌词从上述候选歌曲片段中确定出预测歌曲片段,将上述预测歌曲片段拼接至上述初始歌曲之后得到组合歌曲。
在一些可行的实施方式中,上述处理器1001用于:
确定上述歌曲片段库中各个歌曲片段的和弦;
将上述第一歌曲片段的和弦与上述各个歌曲片段的和弦进行匹配,将与上述第一歌曲片段的和弦一致的和弦所对应的歌曲片段确定为候选歌曲片段。
在一些可行的实施方式中,上述处理器1001用于:
确定上述第一歌曲片段的歌词的信息编码;
确定第二歌曲片段的歌词的信息编码和主题编码,上述第二歌曲片段为上述初始歌曲中除上述最后一句歌词外其他歌词对应的歌曲片段,上述其他歌词中每一句歌词对应一个第二歌曲片段;
根据上述第一歌曲片段的歌词的信息编码、上述第二歌曲片段的歌词的信息编码和主题编码确定出上述第一歌曲片段的歌词之后的预测歌词。
在一些可行的实施方式中,上述第一歌曲片段的歌词包含N个词汇,N为正整数,上述处理器1001用于:
获取第1个词汇的词向量;
根据第M个词汇和上述第M-1个词汇的词向量确定上述第M个词汇的词向量,其中M为大于1且小于等于N的正整数;
根据上述N个词汇的词向量确定上述目标歌词信息的歌词的信息编码。
在一些可行的实施方式中,上述处理器1001用于:
根据上述第一歌曲片段的歌词的信息编码和上述第二歌曲片段的歌词的主题编码确定上述初始歌曲的隐向量,上述隐向量包括上述第一歌曲片段的歌词信息和上述初始歌曲的歌词的主题信息;
根据上述第二歌曲片段的歌词的信息编码和上述隐向量确定出上述第一歌曲片段的歌词的注意力编码;
根据上述第一歌曲片段的歌词的注意力编码确定出上述第一歌曲片段的歌词之后的预测歌词。
在一些可行的实施方式中,上述处理器1001用于:
确定每个候选歌曲片段中第一句歌词的均值向量,上述第一句歌词的均值向量为上述第一句歌词中各个词汇的词向量的平均值;
确定上述预测歌词的均值向量,并确定上述预测歌词的均值向量与上述每个候选歌曲片段对应的均值向量的余弦相似度;
将余弦相似度最大的均值向量对应的候选歌曲片段确定为预测歌曲片段。
在一些可行的实施方式中,上述处理器1001用于:
确定上述预测歌词对应的第一词集合和每个候选歌曲片段的歌词对应的第二词集合,上述第一词集合包括用于组成上述预测歌词的所有词汇,一个候选歌曲片段对应一个第二词集合,任一第二词集合包括用于组成相对应的候选歌曲段的第一句歌词的所有词汇;
确定上述第一词集合的集合向量和每个第二词集合的集合向量,分别确定上述第一词集合的集合向量与上述每个第二词集合的集合向量的余弦相似度;
将余弦相似度最大的第二词集合对应的候选歌曲片段确定为预测歌曲片段。
应当理解,在一些可行的实施方式中,上述处理器1001可以是中央处理单元(central processing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integratedcircuit,ASIC)、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。该存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
具体实现中,上述设备1000可通过其内置的各个功能模块执行如上述图2以及图3中各个步骤所提供的实现方式,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。
在本申请实施例中,通过第一歌曲片段的和弦从歌曲片段库中确定出候选歌曲片段,可使候选歌曲片段从旋律层面与初始歌曲的旋律保持一致,进而根据候选歌曲片段和初始歌曲得到的组合歌曲在旋律层面保持连贯性。与此同时,通过初始歌曲的歌词可确定出初始歌曲的下一个歌曲片段的预测歌词,进而可根据预测歌词从候选歌曲片段中确定出与预测歌词语义相近的预测歌曲片段,以使最终生成的组合歌曲的两个歌曲片段之间的语义衔接的连贯性。通过上述实现方式可得到语义和旋律衔接均连贯的组合歌曲,适用性高。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,被处理器执行以实现图2以及图3中各个步骤所提供的方法,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。
上述计算机可读存储介质可以是前述任一实施例提供的任务处理装置的内部存储单元,例如电子设备的硬盘或内存。该计算机可读存储介质也可以是该电子设备的外部存储设备,例如该电子设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。上述计算机可读存储介质还可以包括磁碟、光盘、只读存储记忆体(read-only memory,ROM)或随机存储记忆体(randomaccess memory,RAM)等。进一步地,该计算机可读存储介质还可以既包括该电子设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该电子设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请的权利要求书和说明书及附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置展示该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (9)
1.一种组合歌曲生成方法,其特征在于,所述方法包括:
获取初始歌曲的第一歌曲片段,所述第一歌曲片段为所述初始歌曲中最后一句歌词对应的歌曲片段;
确定所述第一歌曲片段的和弦,根据所述第一歌曲片段的和弦从歌曲片段库中确定出候选歌曲片段;所述候选歌曲片段的和弦与所述第一歌曲片段的和弦的和弦相似度大于预设阈值;
确定所述第一歌曲片段的歌词的信息编码;所述第一歌曲片段的歌词的信息编码用于对所述第一歌曲片段的歌词语义进行描述;
确定第二歌曲片段的歌词的信息编码和主题编码,所述第二歌曲片段为所述初始歌曲中除所述最后一句歌词外其他歌词对应的歌曲片段,所述其他歌词中每一句歌词对应一个第二歌曲片段;
根据所述第一歌曲片段的歌词的信息编码、所述第二歌曲片段的歌词的信息编码和主题编码确定出所述第一歌曲片段的歌词之后的预测歌词;
根据所述预测歌词从所述候选歌曲片段中确定出预测歌曲片段,将所述预测歌曲片段拼接至所述初始歌曲之后得到组合歌曲。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一歌曲片段的和弦从歌曲片段库中确定出候选歌曲片段包括:
确定所述歌曲片段库中各个歌曲片段的和弦;
将所述第一歌曲片段的和弦与所述各个歌曲片段的和弦进行匹配,将与所述第一歌曲片段的和弦一致的和弦所对应的歌曲片段确定为候选歌曲片段,或者将和弦相似度大于预设阈值的歌曲片段确定为候选歌曲片段。
3.根据权利要求1所述的方法,其特征在于,所述第一歌曲片段的歌词包含N个词汇,N为正整数,所述确定所述第一歌曲片段的歌词的信息编码包括:
获取第1个词汇的词向量;
根据第M个词汇和所述第M-1个词汇的词向量确定所述第M个词汇的词向量,其中M为大于1且小于等于N的正整数;
根据所述N个词汇的词向量确定所述第一歌曲片段的歌词的信息编码。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第一歌曲片段的歌词的信息编码、所述第二歌曲片段的歌词的信息编码和主题编码确定出所述第一歌曲片段的歌词之后的预测歌词包括:
根据所述第一歌曲片段的歌词的信息编码和所述第二歌曲片段的歌词的主题编码确定所述初始歌曲的隐向量,所述隐向量包括所述第一歌曲片段的歌词信息和所述初始歌曲的歌词的主题信息;
根据所述第二歌曲片段的歌词的信息编码和所述隐向量确定出所述第一歌曲片段的歌词的注意力编码;
根据所述第一歌曲片段的歌词的注意力编码确定出所述第一歌曲片段的歌词之后的预测歌词。
5.根据权利要求1所述的方法,其特征在于,所述根据所述预测歌词从所述候选歌曲片段中确定出预测歌曲片段包括:
确定每个候选歌曲片段中第一句歌词的均值向量,所述第一句歌词的均值向量为所述第一句歌词中各个词汇的词向量的平均值;
确定所述预测歌词的均值向量,并确定所述预测歌词的均值向量与所述每个候选歌曲片段对应的均值向量的余弦相似度;
将余弦相似度最大的均值向量对应的候选歌曲片段确定为预测歌曲片段。
6.根据权利要求1所述的方法,其特征在于,所述根据所述预测歌词从所述候选歌曲片段中确定出预测歌曲片段包括:
确定所述预测歌词对应的第一词集合和每个候选歌曲片段的歌词对应的第二词集合,所述第一词集合包括用于组成所述预测歌词的所有词汇,一个候选歌曲片段对应一个第二词集合,任一第二词集合包括用于组成相对应的候选歌曲段的第一句歌词的所有词汇;
确定所述第一词集合的集合向量和每个第二词集合的集合向量,分别确定所述第一词集合的集合向量与所述每个第二词集合的集合向量的余弦相似度;
将余弦相似度最大的第二词集合对应的候选歌曲片段确定为预测歌曲片段。
7.一种组合歌曲生成装置,其特征在于,所述装置包括:
获取模块,用于获取初始歌曲的第一歌曲片段,所述第一歌曲片段为所述初始歌曲中最后一句歌词对应的歌曲片段;
第一确定模块,用于确定所述第一歌曲片段的和弦,根据所述第一歌曲片段的和弦从歌曲片段库中确定出候选歌曲片段;所述候选歌曲片段的和弦与所述第一歌曲片段的和弦的和弦相似度大于预设阈值;
第二确定模块,用于确定所述第一歌曲片段的歌词的信息编码;所述第一歌曲片段的歌词的信息编码用于对所述第一歌曲片段的歌词语义进行描述;
所述第二确定模块,还用于确定第二歌曲片段的歌词的信息编码和主题编码,所述第二歌曲片段为所述初始歌曲中除所述最后一句歌词外其他歌词对应的歌曲片段,所述其他歌词中每一句歌词对应一个第二歌曲片段;
所述第二确定模块,还用于根据所述第一歌曲片段的歌词的信息编码、所述第二歌曲片段的歌词的信息编码和主题编码确定出所述第一歌曲片段的歌词之后的预测歌词;
第三确定模块,用于根据所述预测歌词从所述候选歌曲片段中确定出预测歌曲片段,将所述预测歌曲片段拼接至所述初始歌曲之后得到组合歌曲。
8.一种设备,其特征在于,包括处理器和存储器,所述处理器和存储器相互连接;
所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1至6任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1至6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911303596.1A CN111046217B (zh) | 2019-12-17 | 2019-12-17 | 组合歌曲生成方法、装置、设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911303596.1A CN111046217B (zh) | 2019-12-17 | 2019-12-17 | 组合歌曲生成方法、装置、设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111046217A CN111046217A (zh) | 2020-04-21 |
CN111046217B true CN111046217B (zh) | 2024-05-31 |
Family
ID=70237177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911303596.1A Active CN111046217B (zh) | 2019-12-17 | 2019-12-17 | 组合歌曲生成方法、装置、设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111046217B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112435641B (zh) * | 2020-11-09 | 2024-01-02 | 腾讯科技(深圳)有限公司 | 音频处理方法、装置、计算机设备及存储介质 |
CN112354064B (zh) * | 2020-11-30 | 2021-11-02 | 上海交通大学 | 一种音乐辅助治疗*** |
CN112837664B (zh) * | 2020-12-30 | 2023-07-25 | 北京达佳互联信息技术有限公司 | 歌曲旋律的生成方法、装置、电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104778221A (zh) * | 2015-03-20 | 2015-07-15 | 广东欧珀移动通信有限公司 | 一种歌曲串烧拼接的方法及装置 |
WO2016150274A1 (zh) * | 2015-03-20 | 2016-09-29 | 广东欧珀移动通信有限公司 | 一种歌曲拼接算法及装置 |
CN107481706A (zh) * | 2017-08-08 | 2017-12-15 | 腾讯音乐娱乐(深圳)有限公司 | 歌曲串烧方法及装置 |
CN107766455A (zh) * | 2017-09-21 | 2018-03-06 | 腾讯音乐娱乐科技(深圳)有限公司 | 歌词接龙方法、装置和计算机可读存储介质 |
CN108717849A (zh) * | 2018-04-03 | 2018-10-30 | 腾讯音乐娱乐科技(深圳)有限公司 | 拼接多媒体数据的方法、装置及存储介质 |
CN108766407A (zh) * | 2018-05-15 | 2018-11-06 | 腾讯音乐娱乐科技(深圳)有限公司 | 音频连接方法及装置 |
CN109036355A (zh) * | 2018-06-29 | 2018-12-18 | 平安科技(深圳)有限公司 | 自动作曲方法、装置、计算机设备和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140018947A1 (en) * | 2012-07-16 | 2014-01-16 | SongFlutter, Inc. | System and Method for Combining Two or More Songs in a Queue |
-
2019
- 2019-12-17 CN CN201911303596.1A patent/CN111046217B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104778221A (zh) * | 2015-03-20 | 2015-07-15 | 广东欧珀移动通信有限公司 | 一种歌曲串烧拼接的方法及装置 |
WO2016150274A1 (zh) * | 2015-03-20 | 2016-09-29 | 广东欧珀移动通信有限公司 | 一种歌曲拼接算法及装置 |
CN107481706A (zh) * | 2017-08-08 | 2017-12-15 | 腾讯音乐娱乐(深圳)有限公司 | 歌曲串烧方法及装置 |
CN107766455A (zh) * | 2017-09-21 | 2018-03-06 | 腾讯音乐娱乐科技(深圳)有限公司 | 歌词接龙方法、装置和计算机可读存储介质 |
CN108717849A (zh) * | 2018-04-03 | 2018-10-30 | 腾讯音乐娱乐科技(深圳)有限公司 | 拼接多媒体数据的方法、装置及存储介质 |
CN108766407A (zh) * | 2018-05-15 | 2018-11-06 | 腾讯音乐娱乐科技(深圳)有限公司 | 音频连接方法及装置 |
CN109036355A (zh) * | 2018-06-29 | 2018-12-18 | 平安科技(深圳)有限公司 | 自动作曲方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111046217A (zh) | 2020-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11705096B2 (en) | Autonomous generation of melody | |
CN111046217B (zh) | 组合歌曲生成方法、装置、设备以及存储介质 | |
JP5149737B2 (ja) | 自動会話システム、並びに会話シナリオ編集装置 | |
CN110516253B (zh) | 中文口语语义理解方法及*** | |
CN110288980A (zh) | 语音识别方法、模型的训练方法、装置、设备及存储介质 | |
CN104157285B (zh) | 语音识别方法、装置及电子设备 | |
JP2020518861A (ja) | 音声認識方法、装置、デバイス、及び記憶媒体 | |
CN112185321B (zh) | 歌曲生成 | |
CN111832308B (zh) | 语音识别文本连贯性处理方法和装置 | |
CN110765270B (zh) | 用于口语交互的文本分类模型的训练方法及*** | |
CN108305611B (zh) | 文本转语音的方法、装置、存储介质和计算机设备 | |
CN112669815B (zh) | 歌曲定制生成方法及其相应的装置、设备、介质 | |
CN112017643B (zh) | 语音识别模型训练方法、语音识别方法及相关装置 | |
CN111061840A (zh) | 数据识别方法、装置及计算机可读存储介质 | |
CN112163067A (zh) | 一种语句答复方法、语句答复装置及电子设备 | |
WO2024045475A1 (zh) | 语音识别方法、装置、设备和介质 | |
CN111400481A (zh) | 针对多轮对话生成回复语句的方法和装置 | |
TWI752406B (zh) | 語音辨識方法、語音辨識裝置、電子設備、電腦可讀存儲介質及電腦程式產品 | |
CN117558259A (zh) | 一种数字人播报风格控制方法及装置 | |
CN116702770A (zh) | 长文本的生成方法、装置、终端及存储介质 | |
CN111428487A (zh) | 模型训练方法、歌词生成方法、装置、电子设备及介质 | |
CN111026281A (zh) | 一种客户端的词组推荐方法、客户端及存储介质 | |
CN116127003A (zh) | 文本处理方法、装置、电子设备及存储介质 | |
CN114595696A (zh) | 实体消歧方法、实体消歧装置、存储介质与电子设备 | |
CN111489742B (zh) | 声学模型训练方法、语音识别方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40022579 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |