1.本技术涉及计算机技术领域,具体涉及音频处理技术领域,尤其涉及一种歌曲创作方法、一种歌曲创作装置、一种计算机设备、一种计算机可读存储介质及一种计算机程序产品。
背景技术:2.随着多媒体技术的发展,基于智能电子设备的歌曲创作越来越普遍,由于歌曲创作需要运用基本乐理、和声学、曲式结构等技术理论实现,这要求创作人员掌握专业知识或具备专业能力,例如一首说唱歌曲的创作需要创作人员(例如专业的嘻哈歌手)具备编词编曲能力。可见,歌曲创作具有一定的门槛,想要创作一首歌曲,创作人员不仅需要专业技能,还需要耗费大量时间和精力,创作成本较高。因此,如何降低歌曲创作成本是值得探究的问题。
技术实现要素:3.本技术实施例提供一种歌曲创作方法及相关设备,可以有效提高歌曲创作的便捷度,降低歌曲创作成本。
4.本技术实施例一方面提供了一种歌曲创作方法,包括:接收歌曲创作请求,歌曲创作请求中携带参考文本;歌曲创作请求用于请求创作目标歌曲;根据参考文本从节奏库中选取目标歌曲所适配的目标节奏型,目标节奏型用于指示目标歌曲的音频组成元素应当满足的条件;按照目标节奏型的指示,基于参考文本获取目标歌曲的音频组成元素;音频组成元素包括歌词文件和伴奏音频;以及,对目标歌曲的音频组成元素进行融合处理,得到目标歌曲的音频内容。
5.本技术实施例一方面提供了一种歌曲创作装置,包括:接收模块,用于接收歌曲创作请求,歌曲创作请求中携带参考文本;歌曲创作请求用于请求创作目标歌曲;选取模块,用于根据参考文本从节奏库中选取目标歌曲所适配的目标节奏型,目标节奏型用于指示目标歌曲的音频组成元素应当满足的条件;获取模块,用于按照目标节奏型的指示,基于参考文本获取目标歌曲的音频组成元素;音频组成元素包括歌词文件和伴奏音频;融合模块,用于对目标歌曲的音频组成元素进行融合处理,得到目标歌曲的音频内容。
6.在一实施例中,歌词文件中包含n句按序排列的歌词文本,n为正整数;获取模块,还用于:基于歌词文件中的每句歌词文本的语义,获取与歌词文件相匹配的图像文件,图像文件中包含n个按序排列的图像,歌词文件中的任一句歌词文本与图像
文件中的一个图像相对应;融合模块,还用于:对目标歌曲的音频内容和图像文件进行融合处理,得到目标歌曲的视频内容。
7.在一实施例中,节奏库中包含多种节奏型,每种节奏型均指定了歌曲的首句歌词文本的字符数量;选取模块,具体用于:将参考文本确定为目标歌曲的首句歌词文本;获取参考文本的字符数量;根据参考文本的字符数量在节奏库中选取目标节奏型,其中,目标节奏型所指定的歌曲的首句歌词文本的字符数量与参考文本的字符数量相同。
8.在一实施例中,目标节奏型用于指示目标歌曲的歌词文件中包含的歌词文本的句数n,以及每句歌词文本中包含的字符数量p;n、p均为正整数;获取模块,具体用于:获取歌词文件中的第i句歌词文本及第i句歌词文本的韵脚,其中,i为正整数且i≤n;参考文本被确定为目标歌曲的首句歌词文本;当i=1时,第i句歌词文本是指参考文本;获取目标节奏型所指示的歌词文件中的第i+1句歌词文本中包含的字符数量p
i+1
;根据字符数量p
i+1
及第i句歌词文本的韵脚,从歌词库中获取与第i句歌词文本相关联的候选集,候选集中包含至少一句候选歌词文本;按照第i句歌词文本与候选集中各候选歌词文本之间的关联度,从候选集中确定出第i+1句歌词文本;令i=i+1,i+1为正整数且i+1≤n,重新执行获取歌词文件中的第i句歌词文本及后续流程,直至得到歌词文件的n句歌词文本为止。
9.可选地,第i句歌词文本与候选集中任一候选歌词文本之间的关联度是:依据第i句歌词文本与任一候选歌词文本之间的关键词共现分数和韵脚分数的加权和总分确定的;关键词共现分数用于表征第i句歌词文本与任一候选歌词文本在歌词库中共同出现的概率;关键词共现分数越高,则第i句歌词文本与任一候选歌词文本之间的共同出现的概率越高;韵脚分数用于表征第i句歌词文本与任一候选歌词文本之间的押韵强度;韵脚分数越高,则第i句歌词文本与任一候选歌词文本之间的押韵强度越高;第i句歌词文本与任一候选歌词文本之间的关键词共现分数和韵脚分数的加权和总分越高,则第i句歌词文本与任一候选歌词文本之间的关联性越大;第i+1句歌词文本是候选集中与第i句歌词文本的关联性最大的候选歌词文本。
10.在一实施例中,该歌曲创作装置还包括输出模块以及检测模块,输出模块,用于输出歌词文件;检测模块,用于若检测到对歌词文件的修正操作,则依据修正操作更新歌词文件。
11.在一实施例中,目标节奏型还用于指示目标歌曲的伴奏音频的属性,属性包括标识或类型;获取模块,具体还用于:按照目标节奏型所指示的伴奏音频的属性,获得目标歌曲的伴奏音频。
12.在一实施例中,目标节奏型还用于指示歌词文件中每句歌词文本的每个字符对应的时长,以及每句歌词文本对应的节拍数;融合模块,具体用于:确定为目标歌曲配置的声音属性,声音属性包括音色;声音属性通过缺省配置得到,或者通过歌曲创作请求的请求者在歌曲创作请求中指定;基于歌词文件中的n句歌词文本、每句歌词文本的每个字符对应的时长及声音属性,生成目标歌曲的清唱音频;将目标歌曲的清唱音频与伴奏音频进行对齐处理,得到目标歌曲的音频内容。
13.在一实施例中,融合模块,具体用于:获取伴奏音频的鼓点时间数据,鼓点时间数据采用鼓点时间数组来记录,鼓点时间数组中的每个时间值均表示伴奏音频的一个鼓点的出现时间;根据每句歌词文本的每个字符对应的时长、每句歌词文本对应的节拍数以及鼓点时间数据,分别确定每句歌词文本中的目标字符;每句歌词文本中的目标字符是指每句歌词文本中第一个压中伴奏音频中的鼓点的字符;基于每句歌词文本中的目标字符在每句歌词文本中的位置,将每句歌词文本对应的清唱音频依次在伴奏音频中进行填充,得到目标歌曲的音频内容。
14.在一实施例中,歌词文件中的任一句歌词文本表示为第i句歌词文本;第i句歌词文本与图像文件中的第i个图像相对应;其中,i为正整数且i≤n;融合模块,具体用于:将第i句歌词文本作为字幕添加至第i个图像中,形成目标歌曲的视频内容的第i帧;获取第i句歌词文本在音频内容中对应的音频播放时间;根据音频播放时间设置第i帧的帧长。
15.在一实施例中,音频播放时间包括播放起始时间和播放结束时间;融合模块,具体用于:根据播放起始时间和播放结束时间计算第i句歌词文本在音频内容中对应的音频播放时长;将音频播放时长设置为第i帧的帧长。
16.在一实施例中,音频播放时间还包括第i句歌词文本中每个字符的音频播放时长;融合模块,具体还用于:根据第i句歌词文本中每个字符的音频播放时长设置第i帧的字幕中每个字符的显示方式。
17.在一实施例中,融合模块,具体还用于:在目标歌曲的视频内容的相邻帧之间添加切换动效。
18.本技术实施例一方面提供了一种计算机设备,包括:处理器、存储器以及网络接口;处理器与存储器、网络接口相连,其中,网络接口用于提供网络通信功能,存储器用于存储程序代码,处理器用于调用程序代码,以执行本技术实施例中的歌曲创作方法。
19.本技术实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时,执行本技术实施例中的歌曲创作方法。
20.相应的,本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本技术实施例中一方面提供的歌曲创作方法。
21.在本技术实施例中,根据歌曲创作请求中携带的参考文本,可从节奏库中选取与待创作的目标歌曲相适配的目标节奏型,该目标节奏型用于指示目标歌曲的音频组成元素应当满足的条件;按照目标节奏型的指示及参考文本可自动获取目标歌曲的音频组成元素(包括歌词文件和伴奏音频),对音频组成元素进行融合就可创作出目标歌曲的音频内容。上述方案中,只需要一个参考文本,例如用户只输入的一句话;就能够自动匹配出创作歌曲所需的音频组成元素(如伴奏和歌词),并自动创作出目标歌曲,这极大提升了歌曲创作的效率和便捷度,同时极大地降低了歌曲创作的门槛以及创作成本。
processing,nlp)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。机器学习(machine learning,ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。在本技术提供的歌曲创作方案中,可以利用语音合成技术处理歌词文件,生成目标歌曲对应的音频内容,还可以对歌词文件中的歌词文本进行语义分析,匹配与歌词文本语义一致的图像,属于自然语义处理和机器学习的内容。
28.为了更好地理解本技术实施例的方案,下面先对本技术实施例可能涉及的相关术语和概念进行介绍。
29.nlp:natural language process,自然语言处理,是一种专业分析人类语言的人工智能。
30.tts:text
‑
to
‑
speech,语音合成,是指将文本信息转化为语音信号的技术,它能够赋予计算机像人一样自由说话的能力。
31.bpm:beat per minute,每秒钟节拍数,在音乐中用来衡量乐曲的演奏速度。
32.多模态:每一种信息的来源或者形式,都可以成为一种模态,例如信息的媒介,有语音、视频、文字。多模态机器学习旨在通过机器学习的方法实现处理和理解多源模态信息的能力。
33.ugc:user
‑
generated content,用户生成内容。
34.attention机制:注意力机制,基本思想是让模型学会忽略无关信息并关注重点信息。
35.ocr:optical character recognition,光学字符识别。可将图片中的文字识别成文本信息。
36.rap:说唱,一种有节奏地说话的特殊唱歌形式。
37.下面将结合附图,对本技术实施例提供的歌曲创作场景以及歌曲创作系统的架构进行介绍。
38.请参见图1,图1是本技术一个示例性实施例提供的一种歌曲创作场景的示意图。图1包括5张子图,分别是图1中的(1a)至图1中的(1e)。如图1中的(1a)所示,用户若需要创作歌曲,首先可以在歌曲创作界面10提供的文本输入框101中输入参考文本,可选地,该参考文本可以通过物理键盘或虚拟键盘手动输入,也可以通过语音输入,还可以通过识别文档或者图像来自动输入,例如用户上传一张图片,图片中包括“独立寒秋”这几个字,那么可以利用ocr技术识别该图片中的字符,并将得到的“独立寒秋”自动填充至文本输入框101中。进一步地,用户还可以在歌曲创作界面指定歌曲的演唱者,该演唱者可以是现实世界的某个歌手、也可以是虚拟世界的某个游戏角色,最终可以输出具有选定演唱者音色的歌曲,
该歌曲可以是rap歌曲。
39.当文本输入结束之后,用户可以触发歌曲创作界面10中的歌曲创作按钮102以启动歌曲创作的流程,该流程具体是由本技术实施例提供的歌曲创作方案实现,在歌曲创作的过程中,可以将创作好的歌词文本返回给用户修改,待用户修改完成之后,再进行下一步的创作。例如,当歌词创作完成时,可以在如图1中的(1b)示出的歌词修改界面11中输出创作好的歌词文本,在该歌词修改界面中显示的歌词文本中,首句歌词文本为用户输入的参考文本;此时后台的歌曲创作流程可以暂停,用户可以任意选择一句歌词文本进行修改,然后在修改完成之后点击确定按钮110,使得后台继续创作歌曲。在歌曲创作完成之后,可以在如图1中的(1c)示出的歌曲输出界面12输出“创作完成”之类的提示语,同时输出创作好的歌曲的标识,该歌曲的标识用于触发播放歌曲的音频内容或视频内容。用户可以选择在歌曲输出界面12中触发分享按钮120,以将该歌曲分享给其他用户;或者用户可以点击歌曲的标识,从而触发跳转到如图1中的(1d)所示的歌曲播放界面13中播放该首歌曲的音频内容;或者触发跳转至如图1中的(1e)所示的歌曲播放界面13中播放该首歌曲的视频内容。
40.在歌曲播放界面13中,可以通过点击音频切换按钮130或者视频切换按钮131以不同的形式播放歌曲。如图1中的(1d)所示是开启音频切换按钮130时的歌曲播放画面,此时相应的歌词文本可以输出到该歌曲播放界面13中,即纯净式地显示歌曲的歌词文本以及显示音频播放进度;如图1中的(1e)所示是开启视频切换按钮131时的歌曲播放画面,此时在歌曲播放界面13中不仅可以显示音频播放进度、显示歌曲的歌词文本,还可以显示当前句歌词文本对应的图像。可选地,该歌曲可以是rap歌曲,在歌曲播放界面13中也可以通过触发分享按钮132将该首歌曲分享给其他用户,此外,当歌曲输出界面12中的歌曲文件是歌曲的音频内容时,点击歌曲播放界面13中视频切换按钮131之后,展示的视频内容可以为空。
41.可以发现,上述提供的歌曲创作场景可以为用户提供简单快捷的歌曲创作体验,因为用户只需要输入一句参考文本,选定演唱者就可以得到一段完整的视频。此外,歌曲中的歌词文本是根据用户的输入创作的,例如歌曲的首句歌词文本为参考文本,这样可以在满足用户创作的参与感的同时,大大降低用户创作的时间成本。
42.图1所示的歌曲创作场景中,创作歌曲过程中使用到的歌曲创作方案可以部署在服务器或者终端中。请参见图2,图2是本技术一个示例性实施例提供的一种歌曲创作系统的架构图,如图2所示,该架构图可以包括数据库200和歌曲创作设备201,其中,数据库200和歌曲创作设备201之间均可以通过有线或无线的方式进行通信连接。数据库200可以是歌曲创作设备201的本地数据库,也可以是歌曲创作设备201可以访问的云端数据库等,该歌曲创作设备201可以设置于服务器或终端等计算机设备中。
43.数据库200可以包括节奏库和歌词库;节奏库中存储有多种节奏型,每种节奏型均用于指示歌曲的音频组成元素应当满足的条件,此处的音频组成元素可包括但不限于歌词文件和伴奏音频。此处的条件可以包括但不限于以下至少一种:规定歌曲应该使用什么样的伴奏音频;规定歌曲中歌词文本的句数;规定歌曲中每句歌词文本应当包含的字符数;规定歌词文件中每句歌词文本所占的节拍数;以及规定歌曲中每句歌词文本中每个字对应的时长音符。歌词库用于存储可供选择的歌词文本,这些歌词文本可以是从互联网曲库中扒取到的歌词;或者是从互联网的各种诗词中提取到的诗句;或者是各种网页/文章中扒取的句子等等;在本技术的歌曲创作过程中,待创作的目标歌曲包含的歌词文本则可以从歌词
库中选取。在一种实施方式中,数据库还可以包括伴奏库、音色库等等;伴奏库用于存储伴奏音频,所谓伴奏音频是指伴随衬托歌唱的器乐演奏产生的音频,可以是从互联网曲库中扒取到的伴奏音乐或背景音乐。音色库用于可以存储各种对象的音色模型,此处对象可以是人物、动物、植物等等。人物可以是现实人物,例如歌手、演员;也可以是虚拟人物,例如游戏人物、动画人物等。本技术实施例中,用户在发起歌曲创作请求时,可以指定音色要求,例如指定创作的歌曲使用某一位人物的音色;那么在歌曲创作过程中就可以从音色库中调用该人物的音色模型,从而生成具有该人物音色的歌曲。
44.歌曲创作设备201用于根据用户输入的参考文本创作目标歌曲,该歌曲创作过程包括:
①
获取用户输入的参考文本;
②
根据该参考文本从节奏库中确定出待创作的目标歌曲的目标节奏型;
③
基于该目标节奏型以及参考文本,从歌词库中匹配该目标歌曲所需的歌词文件,在匹配得到歌词文件之后,还可以将生成的歌词文件进行输出以方便用户修改;
④
根据用户指定的音色或者系统配置的默认音色,生成歌词文件对应的清唱音频;
⑤
将清唱音频和目标节奏型指定的伴奏音频融合,生成目标歌曲的音频内容;
⑥
对歌词文件进行语义分析,匹配出和歌词文本语义一致的图像,最终生成目标歌曲的视频内容,该视频内容例如是一个音乐视频或者说唱音乐mv(music video);
⑦
为用户播放创作得到的目标歌曲的音频内容或视频内容。可以理解的是,歌曲创作设备201创作得到的目标歌曲的音频内容、视频内容、歌词文件等均可以存储至数据库200中。
45.在一种实施方式中,终端可以安装并运行目标应用,该目标应用可以包括具有显示文字、图像、音频以及视频等数据信息功能的第三方应用,也可以是web应用或者免安装的应用(例如小程序)。歌曲创作设备201可以设置于服务器中,该服务器作为终端中的目标应用的后台服务器。在此实施方式中,用户可以在终端的目标应用中输入参考文本,还可指定音色要求,并发起歌曲创作请求;那么终端中的目标应用则将用户输入的参考文本携带于歌曲创作请求中,并向服务器发送该歌曲创作请求,触发服务器中的歌曲创作设备201根据该参考文本创作出目标歌曲的音频内容或者视频内容,服务器将创作完成的歌曲的音频内容或视频内容返回给终端进行输出。
46.在另一种实施方式中,歌曲创作设备201可以设置于终端中,例如设置于终端中的目标应用中。在此实施方式下,用户可以在终端的目标应用中输入参考文本,还可指定音色要求,并发起歌曲创作请求;那么终端中的歌曲创作设备则可根据该参考文本创作出目标歌曲的音频内容或者视频内容,并在终端输出该目标歌曲的音频内容或视频内容。
47.本技术实施例中,上述的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。在此不做限制。终端可以是智能手机、平板电脑、智能可穿戴设备、智能语音交互设备、智能家电、个人电脑、车载终端等等设备,在此也不做限制。
48.下面结合附图,对本技术实施例提出的歌曲创作方法的具体实现方式进行详细阐述。
49.请参见图3,图3是本技术一个示例性实施例提供的一种歌曲创作方法的流程示意图。该方法可以由计算机设备(例如图2所示的歌曲创作设备201)执行。其中,该歌曲创作方
法包括但不限于以下步骤:s301,接收歌曲创作请求。
50.在本技术实施例中,歌曲创作请求中携带参考文本,该歌曲创作请求用于请求创作目标歌曲。可选地,参考文本可以是用户输入的文本,也可以是读取文本文件得到的文本,还可以是通过ocr获取的图像中的文本,在此对参考文本的来源不做限制。歌曲创作设备可以接收歌曲创作请求,该歌曲创作请求可以是检测到参考文本后自动发起的,也可以是由用户手动发起的。
51.s302,根据参考文本从节奏库中选取目标歌曲所适配的目标节奏型。
52.在本技术实施例中,目标节奏型用于指示目标歌曲的音频组成元素应当满足的条件。其中,目标歌曲是指请求创作的歌曲,可选地,节奏库中存储有多种节奏型,每种节奏型均可以用于指示歌曲的音频组成元素应当满足的条件,这里的音频组成元素包括但不限于歌词文件和伴奏音频。音频组成元素应当满足的条件可以包括但不限于以下至少一种:规定歌曲应该使用什么样的伴奏音频;规定歌曲中歌词文本的句数;规定歌曲中每句歌词文本应当包含的字符数;规定歌词文件中每句歌词文本所占的节拍数;以及规定歌曲中每句歌词文本中每个字对应的时长音符。在本实施例中,目标歌曲的音频组成元素应当满足的条件可以包括:目标歌曲所需的伴奏音频、目标歌曲中歌词文本的句数以及每句歌词文本的字符数。需要说明的是,在本技术实施例中,字符数量、字符数、字数在不强调区别时,其所代表的含义是一致的。
53.节奏库中包括的节奏型可以用于体现各种类型的音乐风格,该音乐风格可以包括pop(流行)、rock(摇滚)、rap(说唱)等,例如,节奏型可以是从不同的说唱歌曲中提取出来,则该节奏型可以体现说唱的音乐风格。由于节奏库中每种节奏型指示的内容有所区别,根据不同字符数量的参考文本从若干种节奏型中选取出目标节奏型可能也会不同,最终创作出来的歌曲也会有所不同。
54.在一实施例中,节奏库中包括多种节奏型,每种节奏型均指定了歌曲的首句歌词文本的字符数量,根据参考文本从节奏库中选取目标歌曲所适配的目标节奏型的实现方式可以是:将参考文本确定为目标歌曲的首句歌词文本;获取参考文本的字符数量;根据参考文本的字符数量在节奏库中选取目标节奏型,其中,目标节奏型所指定的歌曲的首句歌词文本的字符数量与参考文本的字符数量相同。也就是说,通过参考文本的字符数量(即字符数或者简称为字数)和节奏库中每种节奏型指定的歌曲的首句歌词文本的字符数量匹配,具体是字符数量一致,从而确定出目标节奏型,并且目标歌曲的歌词文件中可以包括参考文本。举例来说,如参考文本为“独立寒秋”这四个字,字符数量即为4,将其作为目标歌曲的首句歌曲文本,首句歌词文本的字符数量也为4,此时在节奏库中可以选取指定了歌曲的首句歌词文本的字符数量为4的节奏型,由于这样的节奏型可能包括多个,可以在多个中随机选择一个作为目标节奏型。
55.s303,按照目标节奏型的指示,基于参考文本获取目标歌曲的音频组成元素。
56.音频组成元素包括歌词文件和伴奏音频,步骤s303所获取到的歌词文件和伴奏音频均是满足目标节奏型所指示的条件的;例如获取到的歌词文件中包含的歌词文本的句数,每句歌词文本包含的字符数等均与目标节奏型所指示的一致;也就是说目标节奏型指示的信息会决定歌词文件最终包含的字符数和句数以及歌曲的伴奏音频具体使用哪一个。
举例来说,目标节奏型指示该目标歌曲需要10句歌词文本,每句歌词文本的字符数量用如下字符数组表示,对应为[4,6,8,4,6,6,4,7,5,5],这样获取到的歌词文件就包括10句歌词文本,每句歌词文本按照字符数组中各个字符数量生成对应的文本内容。对于歌词文件中包括的歌词文本的具体获取可参见下述图4所示实施例,在此先不做详述。
[0057]
s304,对目标歌曲的音频组成元素进行融合处理,得到目标歌曲的音频内容。
[0058]
目标歌曲的音频内容由歌词文件和伴奏音频进行融合得到,那么,该目标歌曲的音频内容既包含歌词文件对应的清唱音频,也包含伴奏音频,这样创作得到的目标歌曲的音频内容较为完整、且播放效果较佳。
[0059]
综上所述,本技术实施例至少具有以下优点:通过获取歌曲创作请求中包括的参考文本,根据参考文本的字符数量可以在节奏库中为歌曲快速适配出相应的节奏型,该节奏型指明了创作歌曲所需的信息,可以根据这些信息以及参考文本可以自动生成歌词,面向用户即通过输入的一句参考文本自动生成后续的歌词,这样大大降低了用户创作歌曲的难度和复杂度,使得歌曲创作更便捷。最终根据获取到的歌词文件和伴奏音频生成歌曲的音频,这是一个智能化、自动化地创作歌曲的过程,能够极大地降低歌曲的创作成本。
[0060]
请参见图4,图4是本技术一个示例性实施例提供的一种歌词文件获取方法的流程示意图。该方法可以由计算机设备(例如图2所示的歌曲创作设备201)执行。其中,该方法包括但不限于以下步骤:s401,获取歌词文件中的第i句歌词文本及第i句歌词文本的韵脚。
[0061]
在本技术实施例中,目标节奏型用于指示目标歌曲的歌词文件中包含的歌词文本的句数n,以及每句歌词文本中包含的字符数量p,n、p均为正整数;i为正整数且i≤n;参考文本被确定为目标歌曲的首句歌词文本;当i=1时,第i句歌词文本是指参考文本。
[0062]
在一个实施例中,歌词文件的首句歌词文本为参考文本,第i句歌词文本是歌词文件中已确定的文本内容,当i=1时,获取的是歌词文件中的第一句歌词文本,也即作为目标歌曲的首句歌词文本的参考文本,其中,第i句歌词文本的韵脚是指第i句歌词文本中最后一个字符的韵脚。举例来说,如该第i句歌词文本为“独立寒秋”,则韵脚为“iu”。
[0063]
s402,获取目标节奏型所指示的歌词文件中的第i+1句歌词文本中包含的字符数量p
i+1
。
[0064]
在一实施例中,由于目标节奏型指示了目标歌曲的歌词文件中包含的歌词文本的句数n,以及每句歌词文本中包含的字符数量p,因此可以获取第i+1句歌词文本中包含的字符数量p
i+1
,但是针对第i+1句歌词文本,具体的文本内容是待确定的,还需后续进一步处理。
[0065]
s403,根据字符数量p
i+1
及第i句歌词文本的韵脚,从歌词库中获取与第i句歌词文本相关联的候选集。
[0066]
在本技术实施例中,候选集中包含至少一句候选歌词文本。可选地,字符数量p
i+1
以及第i句歌词文本的韵脚可以联合作为初步筛选候选集的标准,即从歌词库中获取的候选集包括的候选歌词文本既要满足字符数量的要求,也要满足韵脚的要求,字符数量的要求是指每句候选歌词文本的字符数量都是p
i+1
,和第i+1句歌词文本的字符数量相同,韵脚的要求是指每句候选歌词文本的韵脚和第i句歌词文本的韵脚均相同。其中,歌词库中用于
存储可供选择的歌词文本,这些歌词文本可以是从互联网曲库中扒取到的歌词;或者是从互联网的各种诗词中提取到的诗句,或者诗词库中提取的歌词;或者是各种网页/文章中扒取的句子等等,这些海量的歌词文本可以视为一种歌词语料,因此歌词库也可称为语料库。由于第i句歌词文本的韵脚作为筛选候选歌词文本的一个标准,因此候选集中的候选歌词文本和第i句歌词文本都是具有关联性的,需要进一步评估关联性,进而筛选出第i+1句歌词文本。
[0067]
示例性地,假设第i句歌词文本为首句歌词文本,文本内容为“独立寒秋”,根据该句歌词文本的字符数量可以得到指示首句歌词文本的字符数量为4的目标节奏型,该目标节奏型指示歌词文件的各句歌词文本的字符数量分别为[4,4,4,5],第二句歌词文本的字符数量为4,首句歌词文本韵脚为iu,因此需要在歌词库中找出所有字符数量为4并且韵脚为iu的歌词文本作为候选集。如果第i句歌词文本为该示例的目标节奏型的第三句歌词文本,则可以根据第四句歌词文本的字符数量5以及第三句歌词文本的韵脚确定出符合条件的候选集。
[0068]
s404,按照第i句歌词文本与候选集中各候选歌词文本之间的关联度,从候选集中确定出第i+1句歌词文本。
[0069]
在本技术实施例中,若候选集中的候选歌词文本有l句,那么第i句歌词文本和这些候选歌词文本之间的关联度对应存在l个,其中l为正整数。可选地,可以通过比较这l个关联度的大小从l句候选歌词文本中确定出关联度最大的候选歌词文本,并将其作为第i+1句歌词文本,需要说明的是,在最大关联度有多个的情况下,可以从这多个关联度最大的候选歌词文本中随机选择一个作为第i+1句歌词文本。
[0070]
在一实施例中,第i句歌词文本与候选集中任一候选歌词文本之间的关联度是:依据第i句歌词文本与任一候选歌词文本之间的关键词共现分数和韵脚分数的加权和总分确定的。
[0071]
其中,关键词共现分数用于表征第i句歌词文本与任一候选歌词文本在歌词库中共同出现的概率;关键词共现分数越高,则第i句歌词文本与任一候选歌词文本之间的共同出现的概率越高;韵脚分数用于表征第i句歌词文本与任一候选歌词文本之间的押韵强度;韵脚分数越高,则第i句歌词文本与任一候选歌词文本之间的押韵强度越高;第i句歌词文本与任一候选歌词文本之间的关键词共现分数和韵脚分数的加权和总分越高,则第i句歌词文本与任一候选歌词文本之间的关联性越大;第i+1句歌词文本是候选集中与第i句歌词文本的关联性最大的候选歌词文本。
[0072]
进一步地,关键词共现分数计算的大致流程可以是:对第i句歌词文本以及候选集中任一候选歌词文本分别进行关键词提取处理,然后利用提取到的关键词计算第i句歌词文本和该候选歌词文本之间的关键词共现分数。更详细地,计算关键词共现分数包括以下步骤:1)首先计算关键词共现概率矩阵(或简称共现概率矩阵)。该共现概率矩阵是根据歌词库中包括的歌词语料计算得到的,具体是针对歌词库中的每句歌词文本提取关键词,进而计算关键词对的共现概率得到的,其中,关键词提取处理可以使用关键词提取工具,例如jieba(一种用于分词、关键词提取、词性标注的工具)中的关键词提取模块。关键词对共现概率的计算公式可以如下式(1)所示:
式(1)其中,x表示关键词x,y表示关键词y,q(x,y)表示关键词x出现时,关键词y共现的概率,即关键词对x和y共同出现的概率,q(y|x)表示当关键词x出现时,关键词y出现的次数,q(x)表示与x一同出现的关键词总数。
[0073]
对歌词库中的所有歌词文本进行关键词提取,得到w个关键词之后,可以构建一个w
×
w的共现矩阵h,在该共现矩阵h中,第x行第y列的数字就代表,词y出现在词x环境的次数,那么共现概率矩阵m就是把共现矩阵里的每个数除以其所在的行的数字的和。
[0074]
示例性地,若歌词库(即语料库)中一共有三句歌词文本,经过关键词提取之后,每句歌词文本的关键词分别为如下表1所示:表1 关键词提取结果由表1示出的关键词提取结果,其中a、b、c表示关键词,利用式(1)进行计算,其中q(b|a)=2, q(a)=3,因此针对关键词对a和b共现的概率q(a,b)=2/3。
[0075]
根据表1可以获取共现矩阵h1,如下式(2)所示:式(2)其中,矩阵的行和列依次为关键词a、b、c,根据式(2)的共现矩阵可以得到共现概率矩阵m1,如下式(3)所示:式(3)2)求得共现概率矩阵之后,对于第i句歌词文本(为方便描述,下述简称为上句歌词文本)和候选集中候选歌词文本计算关键词共现分数的具体过程可以是:首先根据上句歌词文本的关键词和候选集中的关键词,分别将上句歌词文本以及各个候选歌词文本转换为向量,例如可以通过one
‑
hot(独热)编码将文本转换为0/1向量,由于上句歌词文本和不同候选歌词文本的关键词提取的组合不同,因此将上句歌词文本记为s,一个候选集记为c1,可以获取对应的s
v
和c
1v
,然后可以通过矩阵乘法,计算关键词共现分数,如下式(4)所示:式(4)其中,表示c
1v
转置矩阵,s
v
表示根据上句歌词文本和候选集中第v个候选歌词
文本的关键词转化的上句歌词文本的0/1向量,c
1v
表示根据上句歌词文本和候选集c1中第v个候选歌词文本的关键词转化的第v个候选歌词文本的0/1向量。
[0076]
举例来说,例如上句歌词文本提取到的关键词包括e1、e2,第v个候选歌词文本提取到的关键词包括e3、e4、e5,对关键词e1至e5依次编号为1~5,那么进行one
‑
hot编码时得到的上句歌词文本的向量为[1,1,0,0,0],第v个候选歌词文本的向量为[0,0,1,1,1]。
[0077]
除了关键词共现分数,本技术实施例还引入了韵脚分数,因为在一些歌曲的创作中,例如rap歌曲的作词中,押韵是基本的要求。rap歌曲和写诗以及普通歌曲的作词有些许区别,因为写诗通常对最后一个字的韵脚有要求,而在rap歌曲的创作中通常在前后两句歌词中会有较多押韵的词,押韵的词越多,整首歌曲的韵律感就会越强。在rap歌曲中,只押韵最后一个字称为“单押”,此外,还有“双押”和“三押”甚至“多押”(例如“七押”、“十押”),即最后的两个字或者三个字甚至多个字也押韵(近似音也算押韵)。
[0078]
由于在众多rap歌曲中,为了使得整体韵律更强,押韵不仅包括单押,还包括多押,因此针对此类歌曲的歌词文本的生成,增加了韵脚分数的计算,即打分时会给押韵字眼多的歌词文本更多的分数,从而更有可能匹配出多押的情形,以增加合成rap的听感。可选地,韵脚分数的计算规则或者说打分规则可以由人工设定,例如每压中一个韵脚打0.1分。
[0079]
进一步地,可以为关键词共现分数和韵脚分数分配不同的权重,然后根据对应权重与分数的乘积的和值得到加权和总分,例如关键词共现分数为k1,对应权重为a1,韵脚分数为k2,对应权重为a2,加权和总分即k1×
a1+k2×
a2。可以将加权和总分作为候选集中候选歌词文本的最终的分数,加权和总分最高的候选歌词文本将可以作为第i+1句歌词文本,该分数(即加权和总分)可以用于表示第i句歌词文本与候选集中任一候选歌词文本之间的关联度。需要说明的是,对于关键词共现分数和韵脚分数之间的权重,可以视具体需求而定,在此不做限制。
[0080]
请参见图5,图5是本技术一个示例性实施例提供的一种生成一句歌词文本的流程示意图,如图5所示,参考文本“峥嵘岁月同分享”作为目标歌曲的第一句歌词,和候选集中的三句候选歌词文本进行关联度计算,得到两种不同的打分,包括关键词共现分数和韵脚分数,将两种分数的权重均设置为1,可以发现,虽然“人类昨天的远航”以及“波涛滚滚的长江”与“今朝有梦忽还乡”相比韵脚分数相同,但是关键词共现分数不够高,而“今朝有梦忽还乡”这句候选歌词文本的分数加权和最高,将被作为第二句歌词文本。
[0081]
此外,还需要说明的是,关键词共现分数计算是利用歌词文本的关键词独热(one
‑
hot)向量得到的,其中,one
‑
hot向量得到的特征是离散稀疏的,利用矩阵计算效率较高,但只考虑到了低维的语义关系;为了引入高维的语义关系,此时可以采用歌词文本的语义向量来计算,包括两种计算分数模式,分别是向量相似度分数计算,即计算歌词文本的语义向量之间的相似度,以及上下文分数计算,即计算上下文概率,这两种方式均可以用于评估上句歌词文本和候选歌词文本之间的关联性。因此针对不同的关键词提取,可以在这三种计算分数模式根据不同情况选择一种对候选歌词文本与第i句歌词文本之间的共现概率进行评估,通常是选取计算开销小的计算分数模式,这样可以节省计算资源。
[0082]
请参见图6,图6是本技术一个示例性实施例提供的一种关联度计算的流程示意图,包括三种不同的计算分数模式,分别是关键词共现分数计算(raw)、向量相似度分数计算(vec_sim)以及上下文分数计算(context_score)。如图6所示,上句歌词关键词是指第i
句歌词文本的关键词,候选集歌词关键词指候选歌词文本的关键词。其中关键词共现概率矩阵可以依照前述计算方式求得,在此使用关键词历史权重对关键词共现概率矩阵降权,可以加快计算进程,当计算分数模式为raw时,表示利用关键词共现分数评估上句歌词和候选歌词文本之间的共现概率,如果计算分数模式不为raw,则根据稠密的语义向量,按照设定规则选取关键词,构建新的候选歌词文本向量(简称新候选),该新候选主要用于减少后续语义向量之间的计算量。可选地,可以选取共现分数最大的头部歌词作为新的候选歌词文本,也可以将超过指定的共现分数阈值的头部歌词作为新的候选歌词文本,其中,头部歌词可以是指符合条件的关键词,这样可以节省计算开销。之后在计算分数模式的选择中,可以随机选择向量相似度分数计算(vec_sim)或者上下文分数计算(context_score),得到分数。将选定的一种计算模式得到的分数和韵脚分数进行分数融合,例如将两种分数进行加权求和处理,可以得到最终的分数,针对每个候选歌词文本都可以采用上述计算流程,最终选取分数最高的候选歌词文本作为下一句歌词,也即第i+1句歌词文本。
[0083]
s405,令i=i+1,i+1为正整数且i+1≤n,重新执行获取歌词文件中的第i句歌词文本及后续流程,直至得到歌词文件的n句歌词文本为止。
[0084]
在本技术实施例中,对i执行加1操作之后赋值给原本的i,也就是说将前述步骤获取到的第i+1句歌词文本作为上句歌词文本,然后重新执行步骤s401至s404,得到下一句歌词文本,不断循环这个过程,可以将歌词文件的n句歌词文本都确定出来。示例地,根据第2句歌词文本和第3句的字符数量从歌词库中确定出第3句歌词文本之后,再根据第3句歌词文本和第4句的字符数量从歌词库中确定出第4句歌词文本,依次类推,直到确定出第n句歌词文本。
[0085]
为了更清楚地描述歌词文本的生成过程,将第i句歌词文本取歌曲的首句歌词文本,结合前述内容进行说明。示例性地,第1句歌词文本是参考文本,该文本内容“月儿弯弯”,根据参考文本的字符数在节奏库中随机筛选的是指示首句歌词文本为4的节奏型,该节奏型指示的歌曲文件的句数为10句,每句要求的字数利用如下字符数组表示:[4,4,6,5,4,7,5,5,6,6]。也就是说除了第一句歌词文本,还需要从歌词库中筛选出目标歌曲剩余9句歌词文本。以第一句歌词文本的韵脚“an”以及字符数组指示的第二句歌词文本的字数p2(p2=4)在歌词库中筛选符合标准的候选集,进而利用第一句歌词文本和候选歌词文本之间的关联度在候选集中挑选第2句歌词文本,得到第2句歌词文本之后,以第2句歌词文本的韵脚“an”以及第三句歌词文本的字数p3(p3=6),重复同样的操作,即筛选候选集、计算关联度、根据关联度从候选集中选取分数最高的候选歌词文本作为第三句歌词文本,以此类推,当得到歌曲的第10句歌词文本时,就可以停止获取歌词文本。
[0086]
然而,利用这种方式生成的歌词可能会遇到候选集中的歌词文本不充足的情况,也就是在歌词库中找不到符合要求的歌词文本,这是因为从互联网上获取到的歌词文本为了显示美观性,通常会将超过一定字符数量的歌词文本分割为两行,这样就会使得歌词库中包括长句(例如15个字符)的歌词文本十分有限,在这样的长度下还要指定韵脚并且和上句歌词文本有相关性,这个要求有时候会难以满足,以致不能获取到符合要求的歌词文本。为此,可以采用短句凑长句的方式,即将这种过长的歌词文本按照拆分规则拆分为多句歌词文本进行请求。
[0087]
可选地,拆分规则可以是按照字数拆分,当字数超过指定的字数阈值(例如10个
字)时,可以将该字数拆分为两段,具体的规则可以如下:假设字数为f,如果是偶数,则直接拆分成字数为f/2的两句,如果是奇数,则前一句为(f
‑
1)/2,后一句为(f+1)/2。举例来说,假设目标节奏型标记一句歌词文本需要15个字,可以将15个字的歌词文本拆分为7个字的歌词文本和8个字的歌词文本来请求。由于目前歌词库中字数最多的还是短句歌词文本,例如5~7个字,上述按字数拆分比较容易获得这种字数的句子(即歌词文本),也容易匹配到质量较高的歌词文本,随机拆分容易得到一长一短的句子,而短句歌词文本的缺点是关键词太少,匹配到的下一句歌词文本有时候语义上关联程度会比较有限。此外,拆分规则还可以是按照指定字符数(如5~7个字符数)的倍数来拆分,这样请求的句子可能是2句及其以上的句子数,例如21个字,按照每7个字符拆分,可以拆分为3句。把一句歌词文本按两句或者两句以上来请求,返回的至少两句歌词文本其实韵脚都是相同的,这样一句rap中有重复的韵脚可以构造出一种明显的韵律感。
[0088]
可选地,还可以按照韵脚拆分上一句歌词文本(第i句歌词文本),针对当前请求的歌词文本(第i+1句歌词文本)由于只知道字符数,该句歌词文本还是可以按照字数拆分,不同的是,第i+1句歌词文本拆分之后所匹配的韵脚可以和按照韵脚拆分的第i句歌词文本进行匹配。比如已经知道第i句歌词文本是“我和他喝酒(韵脚为iu)没有烦恼(韵脚为ao)”,那么如果第i+1句歌词文本的字符数指示其是长句的歌词文本,例如15个字符,可以按照字数拆分的方法将其拆成两句歌词文本,即分别对应字符数7和8,在具体匹配时,字符数为7的歌词文本的韵脚可以是iu,相应地,字符数为8的歌词文本的韵脚是ao,这样可以形成rap中隔句押韵的效果。
[0089]
除了避免候选集歌词文本不足的情况采用短句凑长句,还有一些情况下也可以采用短句凑长句的方法,主要是在rap歌曲中,增加韵律。一方面,rap中有时候一句话中会带有多次押韵,从而给人很强的韵律感。因此当希望手动构造这种效果时,会采用短句凑长句的办法。另一方面,rap中有一种非常常见的唱法叫做三连音唱法,节奏如:xxx x, xxx x, xxx xxx xxx x。在后半部分的xxx xxx xxx x中,它要求歌词也要能满足这种分词形式,第一个xxx和xxx之间最好没有词语上的牵连,如“白色风车的旋律很好听”就是一个失败的例子,而候选集中的歌词文本又未必能符合指定的分词形式,这时候可以采用短句凑长句的方式,用请求三句短句的方式凑成一句长句,这种方式还有个好处,因为每次请求的句子都至少会满足单押的要求,因此这句凑成的长句中会被手动构造出多次押韵,从而带来很好的韵律感。
[0090]
可选地,可以利用nlp模型生成歌词文本,其中步骤 s401~s405的处理逻辑可以是nlp模型的处理逻辑,简单地说,nlp模型的工作就是从歌词库中筛选出最符合要求的歌词,其中生成一句歌词文本流程示意图可如图5所示。nlp模型筛选歌词文本的要求有三点:符合字数要求、符合韵脚要求、得分最高。有关nlp模型的算法流程可以参见前述步骤,在此不做赘述。
[0091]
在一实施例中,获取到音频组成元素中的歌词文件之后,还可以:输出该歌词文件,若检测到对该歌词文件的修正操作,则依据修正操作更新歌词文件。对歌词文件的修正操作具体是指修改歌词文本,也就是说输出的歌词文件中包括的歌词文本是作为目标歌曲的参考歌词文本,允许用户对歌词文本进行修改,基于参考文本获取到的歌词文本在用户没有修改时,输出的歌词文件即目标歌曲最终的歌词文件,在用户对该输出的歌词文件进
行修改时,则是将修改完成之后的歌词文件作为目标歌曲最终的歌词文件。需要注意的是,依据修正操作更新的歌词文件中歌词文本的字数和原本输出的歌词文件中歌词文本的字数需一致。此外,本技术实施例中,在不强调歌词和歌词文本的区别时,可以表示相同的内容。
[0092]
综上所述,本技术实施例至少具有以下优点:在生成歌词过程中,对候选歌词文本与上一句歌词文本的关联性评估除了使用关键词共现分数,还加入了韵脚分数,适用于说唱歌曲中歌词的制作,这样能够使得最终生成的歌词更符合说唱歌曲的押韵风格;针对候选歌词文本和上一句歌词文本之间的共同出现的概率,根据关键词构成的向量的稀疏或稠密的情况,有低维或高维的语义关系,不同的计算模式均致力于降低计算开销,节省计算资源;此外,采用短句凑长句的方式不仅有效解决了生成歌词时的候选集中没有足够长度的歌词文本供筛选的问题,还可以用于手动构造多连音或者指定形式分词,来增强歌曲的韵律感;生成歌词文件之后,保留了用户修改歌词的权限,能够使得创作歌曲的用户享受创作的乐趣。
[0093]
请参见图7,图7是本技术一个示例性实施例提供的另一种歌曲创作方法的流程示意图。该方法可以由计算机设备(例如图2所示的歌曲创作设备201)执行。其中,该方法包括但不限于以下步骤:s701,接收歌曲创作请求。
[0094]
s702,根据参考文本从节奏库中选取目标歌曲所适配的目标节奏型。
[0095]
上述步骤s701~s702实现方式可参见图3对应实施例中步骤s301~s302的具体内容,在此不做赘述。
[0096]
s703,按照目标节奏型的指示,基于参考文本获取目标歌曲的音频组成元素。
[0097]
在本技术实施例中,音频组成元素包括歌词文件和伴奏音频,目标节奏型还可以用于指示目标歌曲的伴奏音频的属性,该属性包括标志或类型,获取目标歌曲的伴奏音频这一音频组成元素的方式可以是:按照目标节奏型所指示的伴奏音频的属性,获取目标歌曲的伴奏音频。其中,伴奏音频的标志用于指示具体是哪一个伴奏音频,根据该标识可以从伴奏库中获取到,或者该目标节奏型指示的是伴奏音频的类型,根据该类型可以从伴奏库中获取某一类伴奏音频,然后从该类伴奏音频中随机选取一个伴奏音频作为目标歌曲的伴奏音频。其中,伴奏库用于存储伴奏音频,所谓伴奏音频是指伴随衬托歌唱的器乐演奏产生的音频,可以是从互联网曲库中扒取到的伴奏音乐或背景音乐。
[0098]
对于歌词文件这一音频组成元素的获取,可以采用如图4对应实施例提供的生成歌词文件的方法,在此不做赘述。
[0099]
s704,确定为目标歌曲配置的声音属性。
[0100]
在本技术实施例中,声音属性包括音色,该声音属性通过缺省配置得到,或者通过歌曲创作请求的请求者在歌曲创作请求中指定。
[0101]
其中,缺省配置是指系统默认的配置,也就是说,歌曲创作设备可以为目标歌曲自动配置系统默认的声音属性,例如默认音色。声音属性也可以由歌曲创作请求的请求者在歌曲创作请求中指定,例如用户在歌词创作界面中指定该歌曲的演唱者,该演唱者即可以作为歌曲创作请求中携带的请求信息,根据该请求信息可以从音色库中调用对应的音色模型,从而合成具有用户指定演唱者音色的语音。音色库用于存储各种对象的音色模型,此处
对象可以是人物、动物、植物等等。人物可以是现实人物,例如歌手、演员;也可以是虚拟人物,例如游戏人物、动画人物等等。可选地,声音属性还可以包括音调,同样可以是通过缺省配置得到或者歌曲创作请求中指定。
[0102]
s705,基于歌词文件中的n句歌词文本、每句歌词文本的每个字符对应的时长及声音属性,生成目标歌曲的清唱音频。
[0103]
在本技术实施例中,目标节奏型不仅用于指示目标歌曲的歌词文件中包含的歌词文本的句数n,每句歌词文本中包含的字符数量p,以及目标歌曲的伴奏音频的属性,还用于指示歌词文件中每句歌词文本的每个字符对应的时长,以及每句歌词文本对应的节拍数。
[0104]
在获得目标歌曲的歌词文件之后,通常需要将歌词文件中的歌词文本转换为清唱音频,在此可以使用语音合成技术,将按照目标节奏型的指示获取到的歌词文件中的n句歌词文本、每个字符对应的时长以及声音属性这三个参数,输入语音合成tts模型中进行处理,最终能够得到具备指定声音属性、指定歌词文本和时长的语音数据,该语音数据是目标歌曲的清唱音频。其中,tts模型中可以包括时长模型,该时长模型用于根据上下文决定哪些字应该拖长一些,哪些字应该读短一些,因为一句话在朗读的时候根据上下文语境的不同,每个字朗读发音的时间是不一样的,也就是说时长模型可以决定每个字符的时长,而本实施例中,利用时长模型计算字符的时长可作为备用方式,因为各句歌词文本中字符对应的时长已经由目标节奏型直接指示,也就是节奏型中自带的每个字符应该具有的时长(即时长信息),可以直接将该时长信息传入tts模型中,从而省略tts模型利用其包括的时长模型对时长的计算,这样可以加快处理速度,节省处理时间。
[0105]
可选地,输入tts模型的字符对应的时长可以由音符标注获取,该音符标注是目标节奏型中指示的内容,对每个字符标注的音符可以是数字音符,例如[16,16,8]代表这句歌词文本有三个字符,每个字符对应的音符分别为16分音符、16分音符和8分音符。通过数字音符可以获取在目标歌曲的伴奏音频下的具体时长,可以借助bpm进行计算。根据以下表达式(5)可以计算得到每个拍子所占的时间t
bpm
:式(5)其中,t
bpm
的单位为秒/拍,bpm是指伴奏音频的每分钟节拍数。
[0106]
根据不同类型的歌曲,一拍所占的音符时值y’是不同的,以rap歌曲为例,基本是采用4分音符为一拍,例如16分音符就是1/4拍,式(5)若是4分音符在当前bpm下的时长,则8分音符的时值(即时长)是4分音符的1/2,16分音符的时值是4分音符的1/4,以此类推,y分音符的时值是4分音符的4/y。更一般地,y分音符所占的时长计算表达式为:式(6)其中,y’是一首歌曲的一个节拍所占的音符时值,y是指一句歌词文本的一个字符的数字音符,t
y
表示该字符的时长,以说唱歌曲为例,y’=4,则t
y
=4t
bpm
/y。其中,音符时值也称音符指或音值,在乐谱中用来表达各音符之间的相对持续时间。
[0107]
通过式(6)的计算可以获取每个字在目标歌曲中具体所需要的时长,进而可以将目标歌曲中所有歌词文本包括的字符对应的时长信息输入tts模型中进行处理。
[0108]
s706,将目标歌曲的清唱音频与伴奏音频进行对齐处理,得到目标歌曲的音频内容。
[0109]
在一实施例中,对齐清唱音频和伴奏音频的方式可以是:获取伴奏音频的鼓点时间数据,鼓点时间数据采用鼓点时间数组来记录,该鼓点时间数组中的每个时间值均表示伴奏音频的一个鼓点的出现时间;根据每句歌词文本的每个字符对应的时长、每句歌词文本对应的节拍数以及鼓点时间数据,分别确定每句歌词文本中的目标字符;其中,每句歌词文本中的目标字符是指每句歌词文本中第一个压中伴奏音频中的鼓点的字符;基于每句歌词文本中的目标字符在每句歌词文本中的位置,将每句歌词文本对应的清唱音频依次在伴奏音频中进行填充,得到目标歌曲的音频内容。
[0110]
可选地,鼓点时间数据可以用python工具包获得,请参见图8,图8是本技术一个示例性实施例提供的一种鼓点时间数组的示例内容示意图,如图8所示的鼓点时间数组的示例内容,是伴奏音频的大约在30秒左右的鼓点时间数据,其中每一个时间值都代表在该时间点处,伴奏音频中将会有一个鼓点出现。每句歌词文本的节拍数(即鼓点数)、每句歌词文本的各个字符对应的时长都是由目标节奏型指示的已知数据,根据每句歌词文本所占的节拍数、每个字符对应的时长可以确定出每句歌词文本在清唱音频中各个字符对应的出现时间,根据字符对应的出现时间以及鼓点时间数组可以确定出每句歌词文本中第一个压中伴奏音频的鼓点的目标字符,进而可以根据该目标字符在歌词文本中的位置,将该歌词文本对应的清唱音频依次填充在伴奏音频中。示例性地,若第一句歌词文本所占鼓点数为4,在如图8对应的鼓点时间数组中,第一个压中鼓点的字符的位置是1.7079,第一句歌词文本对应的清唱音频可以按照1.7079s~3.333s这四个鼓点依次填充在伴奏音频中。通过这样的方式,可以精确地控制每句歌词文本在伴奏音频中出现的位置,无需人工对齐,进而使得歌曲的创作更加智能化。
[0111]
综上所述,本技术实施例至少具有以下优点:本实施例提供的歌曲创作方案是一种人工智能说唱合成的方式,可以降低普通用户创作出押韵的说唱歌词的门槛。在利用语音合成技术将歌词文本转换为清唱音频的过程中,每个字符的时长信息采用节奏型中指示的内容,直接传入语音合成模型中进行处理,可以推进语音合成的处理进程,进而有效提高生成清唱音频的效率。此外,利用每句歌词文本的鼓点数以及第一个压中鼓点的字符的位置,将清唱音频依次在伴奏音频中填放,可以准确控制每句歌词在伴奏中出现的位置,进而实现清唱音频和伴奏音频的精准对齐,以及伴奏音频和清唱音频融合得更流畅。
[0112]
请参见图9,图9是本技术一个示例性实施例提供的又一种歌曲创作方法的流程示意图。该方法可以由计算机设备(例如图2所示的歌曲创作设备201)执行。其中,该方法包括但不限于以下步骤:s901,接收歌曲创作请求。
[0113]
s902,根据参考文本从节奏库中选取目标歌曲所适配的目标节奏型。
[0114]
s903,按照目标节奏型的指示,基于参考文本获取目标歌曲的音频组成元素。
[0115]
s904,对目标歌曲的音频组成元素进行融合处理,得到目标歌曲的音频内容。
[0116]
上述步骤s901~s904实现方式可参见图3对应实施例中步骤s301~s304的具体内容,在此不做赘述。
[0117]
s905,基于歌词文件中的每句歌词文本的语义,获取与歌词文件相匹配的图像文件。
[0118]
在本技术实施例中,歌词文件包括n句按序排列的歌词文本,n为正整数,对应的,与歌词文本相匹配的图像文件中包含n个按序排列的图像,歌词文件中的任一句歌词文本与图像文件中的一个图像相对应。由于歌词文件包括多句歌词文本,而每句歌词文本所表达的语义有所区别,因此每句歌词文本匹配得到的图像也可能不同,但对应图像所表达的语义和文本表达的语义应当是一致的,例如歌词文件中第i句歌词文本和图像文件包括的第i个图像之间的语义是一致的。
[0119]
可选地,可以对歌词文件进行语义分析处理,得到各句歌词文本的语义,具体地,可以采用深度学习的方式挖掘每句歌词文本的所具备的语义信息。基于每句歌词文本的语义信息,可以从图像库中获取与之匹配的图像,歌词文件中的歌词文本和图像文件中的图像都是按序排列的,其中,图像文件中的图像可以是动态的图像,也可以是静态图像,图像库用于存储各种歌词文本对应的图像,这些图像可以是来自不同社交内容平台的用户生成内容中的图像,也可以是从互联网中扒取到的图像。
[0120]
在一实施例中,在生成目标歌曲的歌词文件之后,可以利用图文匹配模型获取目标歌曲中歌词文本的图像,该图文匹配模型是利用图像和文本这两种不同模态的数据进行图文匹配建模得到的。需要说明的是,本实施例中,图像、画面、图片有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。
[0121]
为了使得训练好的图文匹配模型在应用时更好地覆盖抽象化、口语化的歌词,在对基于图文匹配的图文语义表示进行训练时,可以利用用户在社交内容平台发布的图文数据,即用户生成内容ugc作为训练数据来训练模型。这类图文数据存在以下特点:
①
图文的质量相对不均衡,图片质量问题主要表现在清晰度、角度这些可能影响图像内容表达的方面,而文本则表现为指代、省略、口语化严重;图文数据中夹杂广告图文数据。
[0122]
②
图文相关关系相对较弱。也即间接关系以及引申意义的比例较大,而有直接关系的比例较少,经过统计发现有直接关系的占35%左右。
[0123]
③
同一张图片会有多种不同角度的文本描述,也就是一对多问题。
[0124]
上述图文数据的特点可能会影响最终的训练结果,导致模型的准确度不高,因此有必要针对这些特点做出针对性的措施。在本实施例中,对应的措施包括:1)数据处理方面,由于社交数据中充斥得比较多的一类是广告图文数据,可以基于文本以及图片的ocr结果对这一部分数据进行清洗,降低它们对图文匹配模型的影响。
[0125]
2)模型结构方面,引入attention机制,尽可能提取图文中的有效信息,减少图文信息量差异。这是因为由于某一文本通常描述的是图片某一方面的信息,通过attention机制可以进一步提取这样的关联信息,从而有利于图文信息匹配关系计算。
[0126]
3)损失函数方面,针对一对多问题,在目标损失函数中加入了信息量权重进行调节,通过信息量权重可以利用多个角度的文本描述引导图片特征的学习,从而可以获取更全面的语义表示,避免最终训练出来的图像特征偏向于一个语义角度。
[0127]
可以发现,上述就ugc的特点对网络结构和损失函数进行了改进,这样可以进一步提升模型在ugc方面的理解表示能力。由于在训练阶段采用这种ugc类型的图文数据可以使
得模型提前适应口语化、抽象化的句子,这样当用户在创作歌曲时再次输入类似的抽象化、口语化的参考文本,或者是自动生成的歌词中存在类似抽象化、口语化的歌词文本时,模型能够更好地匹配出相应的图像,匹配结果更加精准,也更加符合用户的期待与习惯。
[0128]
可选地,图文匹配模型可以采用标准的双塔结构的模型,即图像和文本分别通过残差网络residual net和多层lstm建立模型,然后经过多层非线性变换到相同维度,其中针对网络结构引入了attention机制,可以有效提取图像和文本之间的重要的关联信息。相应的损失函数表示可以采用对比损失函数cl(contrastive loss),cl是一种有效处理数据对的关系的损失函数,可以对正例和负例进行损失计算,其中一个批次(batch)数据中除了原始的图文对为正样本(即正例),其他样本之间互为负例,本实施例中引入信息量权重对比损失函数进行了一定的调整,这样能够更好地表达成对样本的匹配程度,将对比损失函数记为loss1,如式(7)所示:式(7)其中,,s(z
i
,z
j )=w
i,j i
i t
j
。i表示图片向量,t表示文本向量,s表示图片向量i和文本向量t之间的相似度,w(i,j)表示信息量矩阵,是温度归一化因子(temperature normalization factor),k代表样本数,用于缩小正例距离,exp(s(z
i
,z
j )/τ)用于增加负例距离。
[0129]
上述信息量矩阵是通过语言模型和图像预训练模型计算出来的,其中包括的各个元素即信息量权重,其中,图像预训练(pretrained)模型和语言模型分别用于估计图文的信息量,可以通过图文分别的信息量获取图文之间的互信息量,互信息量越大,表示图文之间的相关性越高,以此加权的比重越高,即信息量权重越大。基于信息量对图文的匹配程度加权,可以缓解ugc图文信息量不匹配的问题,通过信息量权重调整,以此使得图文之间不会单一地以某一方面的文本描述定性图片,从而保证模型可以学习到比较全面的图文特征。
[0130]
在训练过程中,根据上述损失函数,使用梯度下降的方式更新网络参数,进而得到最终训练好的图文匹配模型,该图文匹配模型最终学习到的是多模态(这里指图像和文本)的联合概率分布,可以视为一种多模态学习中的联合表征,即将多个模态的信息一起映射到一个统一的多模态向量空间。在应用阶段,该图文匹配模型可以处理图片(或文本),得到对应的文本描述(或符合文本描述的图片)。具体的处理原理可以是:一方面,输入图片,可以利用联合概率分布获取多个条件概率p1(文本|图片),继而利用条件概率生成文本特征,例如将最高条件概率对应的文本特征作为最终的文本特征,得到图片相应的文本描述;另一方面,输入文本,同样利用联合概率分布获取条件概率p2(图片|文本),进而利用该条件概率生成图片特征,通过检索出最靠近该特征向量的图片实例,得到符合文本描述的图片。本技术实施例中应用的是对歌词文本进行预测,得到符合歌词文本描述的图像这一方式,采用这样的方式,可以获取到歌词文件中任一句歌词文本对应的图像,进而可以生成歌词文件对应的连续画面。
[0131]
s906,对目标歌曲的音频内容和图像文件进行融合处理,得到目标歌曲的视频内容。
[0132]
在一实施例中,歌词文件中的任一句歌词文本表示为第i句歌词文本,该第i句歌词文本与图像文件中的第i个图像相对应。其中,i为正整数,i≤n,确定视频内容的实现方式可以是:将第i句歌词文本作为字幕添加至第i个图像中,形成目标歌曲的视频内容的第i帧;获取第i句歌词文本在音频内容中对应的音频播放时间;根据音频播放时间设置第i帧的帧长。
[0133]
由于图像和歌词文本的一一对应关系,利用上述步骤s905检索出歌词文本对应的图像之后,可以将歌词文本添加到对应图像中作为字幕,形成目标歌曲对应的视频内容的视频帧,举例来说,若i=2,则将第2句歌词文本添加至第2个图像中,作为第2个图像的字幕,由带有字幕的图像构成目标歌曲的视频内容的第2帧。其中,添加字幕的方式可以是将对应歌词文本放置于图像的指定位置,例如下方,或中间,或上方等。在得到第i帧之后,还可以将第i帧和目标歌曲的音频内容进行对齐处理,具体可以利用第i句歌词文本在音频内容中对应的音频播放时间设置第i帧的帧长来实现。
[0134]
可选地,音频播放时间包括播放起始时间和播放结束时间,根据音频播放时间设置第i帧的帧长的实现方式可以是:根据播放起始时间和播放结束时间计算第i句歌词文本在音频内容中对应的音频播放时长;将音频播放时长设置为第i帧的帧长。具体地,可以利用目标歌曲中第i句歌词文本的播放起始时间和播放结束时间确定出一个时间区间,该时间区间的时间差值即第i句歌词文本在音频内容中对应的音频播放时长,也即第i句歌词文本在音频内容中播放所占的时间长短,例如一句歌词文本在音频内容中可能需要10秒钟才能唱完。进而可以将该音频播放时长设置为第i帧的帧长。这样在该时间区间内,可以播放第i句歌词文本对应的第i帧,第i帧是带有字幕的图像。
[0135]
简而言之,生成视频内容的过程是:对于目标歌曲中的每一句歌词文本,都能找到对应的图像,将歌词文本作为字幕添加到该图像中,构成一帧,而每句歌词文本在音频内容中都对应有一个音频播放时长,可以将该音频播放时长设置为对应帧的帧长,针对n句歌词文本对应的n个图像,对应有n帧,每帧有对应的帧长,以此构成目标歌曲的视频内容。该视频内容可以是一个短视频(例如15秒的视频),也可以是一个长视频(例如2分钟的视频),在该视频内容中,目标歌曲播放到对应的音频内容时,可以展示该音频内容对应歌词文本所描述的视频画面。
[0136]
这样一首目标歌曲的歌词文本、歌词文本对应的图像以及音频内容能够得到充分地融合,进而得到目标歌曲对应的视频内容,该视频内容能够实现歌词、歌曲、图像的统一播放,目标歌曲演唱的内容和画面显示的内容是高度一致的。请参见图10,图10是本技术一个示例性实施例提供的一种视频内容的示例效果示意图,属于目标歌曲对应的视频内容的示例效果图,如图10所示,其中图10中的(a)不仅展示目标歌曲的名称《星空》和演唱者“xx”这一文本,还展示了与名称《星空》有关的画面,图10中的(b)展示的是目标歌曲播放至第10秒对应的歌词文本“月儿弯弯”,以及和该歌词文本匹配的图像。
[0137]
进一步地,目标歌曲对应的视频内容除了显示基本的画面、歌词以及播放对应的音频内容,还可以融合其他多种元素,例如画面中包含人物时添加相应特效等。
[0138]
由于音频播放时间还包括第i句歌词文本中每个字符的音频播放时长,也就是说目标歌曲的每句歌词文本中每个字符有固定的发音时间(或者说时长信息)。因此在对目标歌曲的音频内容和图像文件进行融合的时候,还可以:根据第i句歌词文本中每个字符的音
频播放时长设置第i帧的字幕中每个字符的显示方式。也即在生成视频的同时传入每个字的时长信息,进而根据该时长信息设置字符的显示方式,使得在播放的时候根据该显示方式显示对应字符,例如字符的显示方式为高亮,则可以在播放到对应字时产生高亮效果,或者字符显示方式还可以是播放到对应字符时才在屏幕中显示该字符,这样可以增加视频画面展示的多样性。
[0139]
此外,为了让视频观感更加流畅,在目标歌曲的音频内容和图像文件进行融合处理的同时,还可以:在目标歌曲的视频内容的相邻帧之间添加切换动效。该切换动效也可以称为转场特效,例如可以是擦除、渐变、淡入等转场特效,作为相邻帧之间的衔接,切换动效能够使得相邻帧之间过渡更流畅,进而增加目标歌曲对应的视频内容的观感流畅度。
[0140]
可以发现,本实施例基于目标歌曲的音频内容和图像文件,生成目标歌曲的视频内容,在最终的成品形式上,采用视频的形式替代歌曲传统的音频形式,使得用户在欣赏歌曲音频的同时还具有视觉冲击,尤其是利用短视频这一流行的播放方式可以捕获大量的听众,在说唱歌曲方面,将音频形式的说唱歌曲升级为说唱视频的合成,可以增加传播的可能性。
[0141]
结合前述实施例提供的歌曲创作方案,请参见图11,图11是本技术一个示例性实施例提供的再一种歌曲创作方法的流程示意图。如图11所示,在整体处理步骤上,包括输入文本、歌词生成、语音合成、图片生成以及对齐伴奏。处理流程大致如下:首先,用户输入文本“峥嵘岁月同分享”以及选定歌手张三,然后,根据输入文本的字符数7在节奏库中随机选择7个字开头(即首句歌词文本为7个字符)的节奏2作为目标节奏型,该目标节奏型指示了目标歌曲的伴奏信息(用于确定伴奏音频)、歌词文件中歌词文本的句数以及字数,还有每个字符的音符标注,接着,利用指示的歌词文件中歌词文本的句数以及字数,基于自然语言处理模型从歌词库中获取歌词文件的歌词文本,首句歌词文本为用户输入文本,再利用文本信息(即歌词文件中的歌词文本)、时长信息(由音符标注确定)以及音色信息(这里是指定的歌手张三的音色)进行语音合成,同时利用多模态联合表征生成文本信息对应的图像,最后,将语音合成的清唱音频、伴奏信息指示的伴奏音频、图片生成的图像进行对齐处理,生成目标歌曲对应的视频(即视频内容)。针对更详细的处理步骤可以参见各个实施例中对应描述的内容,在此不做赘述。
[0142]
综上所述,本技术实施例至少具有以下优点:利用用户生成内容中的图文数据训练图文匹配模型,可以使得图文匹配模型在训练阶段提前适应随意、口语化、抽象化的文本,这样在应用时能够更好地应对歌词文本口语化的情形,为用户输入的参考文本以及一些歌曲(例如rap歌曲)中口语化的歌词文本匹配到的更精准的画面,最终的歌词文本、说唱语音和视频画面会呈现高度的一致性;此外,将歌曲的音频内容升级为视频内容,可以将歌曲可视化地展现给用户,增加歌曲表达的趣味性。
[0143]
请参见图12,图12是本技术一个示例性实施例提供的一种歌曲创作装置的结构示意图。上述歌曲创作装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该歌曲创作装置为一个应用软件;该歌曲创作装置可以用于执行本技术实施例提供的方法中的相应步骤。如图12所示,该歌曲创作装置1200可以包括:接收模块1201、选取模块1202、获取模块1203以及融合模块1204。
[0144]
接收模块1201,用于接收歌曲创作请求,歌曲创作请求中携带参考文本;歌曲创作请求用于请求创作目标歌曲;选取模块1202,用于根据参考文本从节奏库中选取目标歌曲所适配的目标节奏型,目标节奏型用于指示目标歌曲的音频组成元素应当满足的条件;获取模块1203,用于按照目标节奏型的指示,基于参考文本获取目标歌曲的音频组成元素;音频组成元素包括歌词文件和伴奏音频;融合模块1204,用于对目标歌曲的音频组成元素进行融合处理,得到目标歌曲的音频内容。
[0145]
在一实施例中,歌词文件中包含n句按序排列的歌词文本,n为正整数;获取模块1203,还用于:基于歌词文件中的每句歌词文本的语义,获取与歌词文件相匹配的图像文件,图像文件中包含n个按序排列的图像,歌词文件中的任一句歌词文本与图像文件中的一个图像相对应;融合模块1204,还用于:对目标歌曲的音频内容和图像文件进行融合处理,得到目标歌曲的视频内容。
[0146]
在一实施例中,节奏库中包含多种节奏型,每种节奏型均指定了歌曲的首句歌词文本的字符数量;选取模块1202,具体用于:将参考文本确定为目标歌曲的首句歌词文本;获取参考文本的字符数量;根据参考文本的字符数量在节奏库中选取目标节奏型,其中,目标节奏型所指定的歌曲的首句歌词文本的字符数量与参考文本的字符数量相同。
[0147]
在一实施例中,目标节奏型用于指示目标歌曲的歌词文件中包含的歌词文本的句数n,以及每句歌词文本中包含的字符数量p;n、p均为正整数;获取模块1203,具体用于:获取歌词文件中的第i句歌词文本及第i句歌词文本的韵脚,其中,i为正整数且i≤n;参考文本被确定为目标歌曲的首句歌词文本;当i=1时,第i句歌词文本是指参考文本;获取目标节奏型所指示的歌词文件中的第i+1句歌词文本中包含的字符数量p
i+1
;根据字符数量p
i+1
及第i句歌词文本的韵脚,从歌词库中获取与第i句歌词文本相关联的候选集,候选集中包含至少一句候选歌词文本;按照第i句歌词文本与候选集中各候选歌词文本之间的关联度,从候选集中确定出第i+1句歌词文本;令i=i+1,i+1为正整数且i+1≤n,重新执行获取歌词文件中的第i句歌词文本及后续流程,直至得到歌词文件的n句歌词文本为止。
[0148]
可选地,第i句歌词文本与候选集中任一候选歌词文本之间的关联度是:依据第i句歌词文本与任一候选歌词文本之间的关键词共现分数和韵脚分数的加权和总分确定的;关键词共现分数用于表征第i句歌词文本与任一候选歌词文本在歌词库中共同出现的概率;关键词共现分数越高,则第i句歌词文本与任一候选歌词文本之间的共同出现的概率越高;韵脚分数用于表征第i句歌词文本与任一候选歌词文本之间的押韵强度;韵脚分数越高,则第i句歌词文本与任一候选歌词文本之间的押韵强度越高;第i句歌词文本与任一候选歌词文本之间的关键词共现分数和韵脚分数的加权和总分越高,则第i句歌词文本与任一候选歌词文本之间的关联性越大;第i+1句歌词文本是候选集中与第i句歌词文本的关联性最大的候选歌词文本。
[0149]
在一实施例中,该歌曲创作装置1200还包括输出模块1205以及检测模块1206,其
中:输出模块1205,用于输出歌词文件;检测模块1206,用于若检测到对歌词文件的修正操作,则依据修正操作更新歌词文件。
[0150]
在一实施例中,目标节奏型还用于指示目标歌曲的伴奏音频的属性,属性包括标识或类型;获取模块1203具体还用于:按照目标节奏型所指示的伴奏音频的属性,获得目标歌曲的伴奏音频。
[0151]
在一实施例中,目标节奏型还用于指示歌词文件中每句歌词文本的每个字符对应的时长,以及每句歌词文本对应的节拍数;融合模块1204,具体用于:确定为目标歌曲配置的声音属性,声音属性包括音色;声音属性通过缺省配置得到,或者通过歌曲创作请求的请求者在歌曲创作请求中指定;基于歌词文件中的n句歌词文本、每句歌词文本的每个字符对应的时长及声音属性,生成目标歌曲的清唱音频;将目标歌曲的清唱音频与伴奏音频进行对齐处理,得到目标歌曲的音频内容。
[0152]
在一实施例中,融合模块1204,具体用于:获取伴奏音频的鼓点时间数据,鼓点时间数据采用鼓点时间数组来记录,鼓点时间数组中的每个时间值均表示伴奏音频的一个鼓点的出现时间;根据每句歌词文本的每个字符对应的时长、每句歌词文本对应的节拍数以及鼓点时间数据,分别确定每句歌词文本中的目标字符;每句歌词文本中的目标字符是指每句歌词文本中第一个压中伴奏音频中的鼓点的字符;基于每句歌词文本中的目标字符在每句歌词文本中的位置,将每句歌词文本对应的清唱音频依次在伴奏音频中进行填充,得到目标歌曲的音频内容。
[0153]
在一实施例中,歌词文件中的任一句歌词文本表示为第i句歌词文本;第i句歌词文本与图像文件中的第i个图像相对应;其中,i为正整数且i≤n;融合模块1204,具体用于:将第i句歌词文本作为字幕添加至第i个图像中,形成目标歌曲的视频内容的第i帧;获取第i句歌词文本在音频内容中对应的音频播放时间;根据音频播放时间设置第i帧的帧长。
[0154]
在一实施例中,音频播放时间包括播放起始时间和播放结束时间;融合模块1204,具体用于:根据播放起始时间和播放结束时间计算第i句歌词文本在音频内容中对应的音频播放时长;将音频播放时长设置为第i帧的帧长。
[0155]
在一实施例中,音频播放时间还包括第i句歌词文本中每个字符的音频播放时长;融合模块1204,具体还用于:根据第i句歌词文本中每个字符的音频播放时长设置第i帧的字幕中每个字符的显示方式。
[0156]
在一实施例中,融合模块1204,具体还用于:在目标歌曲的视频内容的相邻帧之间添加切换动效。
[0157]
可以理解的是,本技术实施例所描述的歌曲创作装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
[0158]
请参见图13,图13是本技术实施例提供的一种计算机设备的结构示意图。该计算机设备1300可以包含独立设备(例如服务器、节点、终端等等中的一个或者多个),也可以包
含独立设备内部的部件(例如芯片、软件模块或者硬件模块等)。该计算机设备1300可以包括至少一个处理器1301和通信接口1302,进一步可选地,计算机设备1300还可以包括至少一个存储器1303和总线1304。其中,处理器1301、通信接口1302和存储器1303通过总线1304相连。
[0159]
其中,处理器1301是进行算术运算和/或逻辑运算的模块,具体可以是中央处理器(central processing unit,cpu)、图片处理器(graphics processing unit,gpu)、微处理器(microprocessor unit,mpu)、专用集成电路(application specificintegrated circuit,asic)、现场可编程逻辑门阵列(field programmable gate array,fpga)、复杂可编程逻辑器件(complex programmable logic device,cpld)、协处理器(协助中央处理器完成相应处理和应用)、微控制单元(microcontroller unit,mcu)等处理模块中的一种或者多种的组合。
[0160]
通信接口1302可以用于为所述至少一个处理器提供信息输入或者输出。和/或,所述通信接口1302可以用于接收外部发送的数据和/或向外部发送数据,可以为包括诸如以太网电缆等的有线链路接口,也可以是无线链路(wi
‑
fi、蓝牙、通用无线传输、车载短距通信技术以及其他短距无线通信技术等)接口。
[0161]
存储器1303用于提供存储空间,存储空间中可以存储操作系统和计算机程序等数据。存储器1303可以是随机存储记忆体(random access memory,ram)、只读存储器(read
‑
only memory,rom)、可擦除可编程只读存储器(erasable programmable read only memory,eprom)、或便携式只读存储器(compact disc read
‑
only memory,cd
‑
rom)等等中的一种或者多种的组合。
[0162]
该计算机设备1300中的至少一个处理器1301用于调用至少一个存储器1303中存储的计算机程序,用于执行前述的歌曲创作方法,例如前述图3、图4、图7、图9所示实施例所描述的歌曲创作方法。
[0163]
在一种可能的实施方式中,该计算机设备1300中的处理器1301用于调用至少一个存储器1303中存储的计算机程序,用于执行以下操作:通过通信接口1302接收歌曲创作请求,歌曲创作请求中携带参考文本;歌曲创作请求用于请求创作目标歌曲;根据参考文本从节奏库中选取目标歌曲所适配的目标节奏型,目标节奏型用于指示目标歌曲的音频组成元素应当满足的条件;按照目标节奏型的指示,基于参考文本获取目标歌曲的音频组成元素;音频组成元素包括歌词文件和伴奏音频;以及,对目标歌曲的音频组成元素进行融合处理,得到目标歌曲的音频内容。
[0164]
在一实施例中,歌词文件中包含n句按序排列的歌词文本,n为正整数;处理器1301还用于:基于歌词文件中的每句歌词文本的语义,获取与歌词文件相匹配的图像文件,图像文件中包含n个按序排列的图像,歌词文件中的任一句歌词文本与图像文件中的一个图像相对应;对目标歌曲的音频内容和图像文件进行融合处理,得到目标歌曲的视频内容。
[0165]
在一实施例中,节奏库中包含多种节奏型,每种节奏型均指定了歌曲的首句歌词文本的字符数量;处理器1301根据参考文本从节奏库中选取目标歌曲所适配的目标节奏型时,具体用于:将参考文本确定为目标歌曲的首句歌词文本;获取参考文本的字符数量;根据参考文本的字符数量在节奏库中选取目标节奏型,其中,目标节奏型所指定的歌曲的首句歌词文本的字符数量与参考文本的字符数量相同。
[0166]
在一实施例中,目标节奏型用于指示目标歌曲的歌词文件中包含的歌词文本的句数n,以及每句歌词文本中包含的字符数量p;n、p均为正整数;处理器1301按照目标节奏型的指示,基于参考文本获取目标歌曲的音频组成元素时,具体用于:获取歌词文件中的第i句歌词文本及第i句歌词文本的韵脚,其中,i为正整数且i≤n;参考文本被确定为目标歌曲的首句歌词文本;当i=1时,第i句歌词文本是指参考文本;获取目标节奏型所指示的歌词文件中的第i+1句歌词文本中包含的字符数量p
i+1
;根据字符数量p
i+1
及第i句歌词文本的韵脚,从歌词库中获取与第i句歌词文本相关联的候选集,候选集中包含至少一句候选歌词文本;按照第i句歌词文本与候选集中各候选歌词文本之间的关联度,从候选集中确定出第i+1句歌词文本;令i=i+1,i+1为正整数且i+1≤n,重新执行获取歌词文件中的第i句歌词文本及后续流程,直至得到歌词文件的n句歌词文本为止。
[0167]
可选地,第i句歌词文本与候选集中任一候选歌词文本之间的关联度是:依据第i句歌词文本与任一候选歌词文本之间的关键词共现分数和韵脚分数的加权和总分确定的;关键词共现分数用于表征第i句歌词文本与任一候选歌词文本在歌词库中共同出现的概率;关键词共现分数越高,则第i句歌词文本与任一候选歌词文本之间的共同出现的概率越高;韵脚分数用于表征第i句歌词文本与任一候选歌词文本之间的押韵强度;韵脚分数越高,则第i句歌词文本与任一候选歌词文本之间的押韵强度越高;第i句歌词文本与任一候选歌词文本之间的关键词共现分数和韵脚分数的加权和总分越高,则第i句歌词文本与任一候选歌词文本之间的关联性越大;第i+1句歌词文本是候选集中与第i句歌词文本的关联性最大的候选歌词文本。
[0168]
在一实施例中,处理器1301还用于:输出歌词文件;若检测到对歌词文件的修正操作,则依据修正操作更新歌词文件。
[0169]
在一实施例中,目标节奏型还用于指示目标歌曲的伴奏音频的属性,属性包括标识或类型;处理器1301还具体用于:按照目标节奏型所指示的伴奏音频的属性,获得目标歌曲的伴奏音频。
[0170]
在一实施例中,目标节奏型还用于指示歌词文件中每句歌词文本的每个字符对应的时长,以及每句歌词文本对应的节拍数;处理器1301对目标歌曲的音频组成元素进行融合处理,得到目标歌曲的音频内容时,具体用于:确定为目标歌曲配置的声音属性,声音属性包括音色;声音属性通过缺省配置得到,或者通过歌曲创作请求的请求者在歌曲创作请求中指定;基于歌词文件中的n句歌词文本、每句歌词文本的每个字符对应的时长及声音属性,生成目标歌曲的清唱音频;将目标歌曲的清唱音频与伴奏音频进行对齐处理,得到目标歌曲的音频内容。
[0171]
在一实施例中,处理器1301将目标歌曲的清唱音频与伴奏音频进行对齐处理,得到目标歌曲的音频内容时,具体用于:获取伴奏音频的鼓点时间数据,鼓点时间数据采用鼓点时间数组来记录,鼓点时间数组中的每个时间值均表示伴奏音频的一个鼓点的出现时间;根据每句歌词文本的每个字符对应的时长、每句歌词文本对应的节拍数以及鼓点时间数据,分别确定每句歌词文本中的目标字符;每句歌词文本中的目标字符是指每句歌词文本中第一个压中伴奏音频中的鼓点的字符;基于每句歌词文本中的目标字符在每句歌词文本中的位置,将每句歌词文本对应的清唱音频依次在伴奏音频中进行填充,得到目标歌曲的音频内容。在一实施例中,歌词文件中的任一句歌词文本表示为第i句歌词文本;第i句歌
词文本与图像文件中的第i个图像相对应;其中,i为正整数且i≤n;在一实施例中,处理器1301对目标歌曲的音频内容和图像文件进行融合处理,得到目标歌曲的视频内容时,具体用于:将第i句歌词文本作为字幕添加至第i个图像中,形成目标歌曲的视频内容的第i帧;获取第i句歌词文本在音频内容中对应的音频播放时间;根据音频播放时间设置第i帧的帧长。
[0172]
在一实施例中,音频播放时间包括播放起始时间和播放结束时间;处理器1301根据音频播放时间设置第i帧的帧长时,具体用于:根据播放起始时间和播放结束时间计算第i句歌词文本在音频内容中对应的音频播放时长;将音频播放时长设置为第i帧的帧长。
[0173]
在一实施例中,音频播放时间还包括第i句歌词文本中每个字符的音频播放时长;处理器1301对目标歌曲的音频内容和图像文件进行融合处理,得到目标歌曲的视频内容时,具体还用于:根据第i句歌词文本中每个字符的音频播放时长设置第i帧的字幕中每个字符的显示方式。
[0174]
在一实施例中,处理器1301对目标歌曲的音频内容和图像文件进行融合处理,得到目标歌曲的视频内容时,具体还用于:在目标歌曲的视频内容的相邻帧之间添加切换动效。
[0175]
应当理解,本技术实施例中所描述的计算机设备1300可执行前文所对应实施例中对该歌曲创作方法的描述,也可执行前文图12所对应实施例中对该歌曲创作装置1200的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
[0176]
此外,还应指出,本技术一个示例性实施例还提供了一种存储介质,该存储介质中存储了前述歌曲创作方法的计算机程序,该计算机程序包括程序指令,当一个或多个处理器加载并执行该程序指令,可以实现实施例中对歌曲创作方法的描述,这里不再赘述,对采用相同方法的有益效果描述,也在此不再赘述。可以理解的是,程序指令可以被部署在一个或能够互相通信的多个计算机设备上执行。
[0177]
上述计算机可读存储介质可以是前述任一实施例提供的歌曲创作装置或者上述计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
[0178]
本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本技术实施例中一方面提供的方法。
[0179]
本技术的一个方面,提供了另一种计算机程序产品,该计算机程序产品包括计算机程序或计算机指令,该计算机程序或计算机指令被处理器执行时实现本技术实施例提供的歌曲创作方法的步骤。
[0180]
以上所揭露的仅为本技术较佳实施例而已,当然不能以此来限定本技术之权利范围,因此依本技术权利要求所作的等同变化,仍属本技术所涵盖的范围。