一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

歌曲合成方法及装置与流程

2022-06-01 10:48:32 来源:中国专利 TAG:


1.本说明书涉及音频处理技术领域,特别涉及歌曲合成方法及装置。


背景技术:

2.随着音频处理技术的快速发展,歌曲合成技术也随之发展,诞生了许多歌曲合成软件。现有技术中,用户如果需要合成歌曲的话,需要先下载并安装相应的歌曲合成软件,然后学习该歌曲合成软件的软件使用方法以及相关制作技巧。可见,现有的歌曲合成过程复杂且难以操作,进而需要更简单更便捷的方法进行歌曲合成的操作或者处理。


技术实现要素:

3.有鉴于此,本说明书实施例提供了一种歌曲合成方法。本说明书同时涉及一种歌曲合成装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的技术缺陷。
4.根据本说明书实施例的第一方面,提供了一种歌曲合成方法,所述方法包括:
5.接收待合成歌曲,并确定所述待合成歌曲的乐谱;
6.为所述乐谱中包括的音符创建音符展示框,并在乐谱展示界面展示所述音符展示框;
7.通过所述音符展示框接收所述音符对应的歌词;
8.根据所述乐谱以及所述乐谱包括的每个音符对应的歌词,合成所述待合成歌曲。
9.可选的,所述为所述乐谱中包括的音符创建音符展示框,包括:
10.针对所述乐谱中包括的任一音符,确定所述音符的时长特征;
11.根据所述时长特征,确定所述音符对应的音符展示框的长度;
12.按照所述长度,创建所述音符对应的音符展示框。
13.可选的,所述乐谱展示界面包括音调,所述在乐谱展示界面展示所述音符展示框,包括:
14.确定所述音符展示框对应的音符的音调;
15.根据所述音符在所述乐谱中的开始时间,确定所述音符在所述乐谱展示界面中的开始位置;
16.根据所述音符的音调和所述音符在所述乐谱展示界面中的开始位置,确定所述音符对应的音符展示框在所述乐谱展示界面中的展示位置;
17.在所述乐谱展示界面中的所述展示位置处展示所述音符展示框。
18.可选的,所述根据所述乐谱以及所述乐谱包括的每个音符对应的歌词,合成所述待合成歌曲,包括:
19.根据所述乐谱包括的每个音符对应的歌词,合成所述待合成歌曲的语音文件;
20.将所述语音文件与所述乐谱进行合成,得到所述待合成歌曲。
21.可选的,所述根据所述乐谱包括的每个音符对应的歌词,合成所述待合成歌曲的
语音文件之前,还包括:
22.接收导入的歌词音频库,所述歌词音频库为包括至少一个单音节音频的音频集合。
23.可选的,所述根据所述乐谱包括的每个音符对应的歌词,合成所述待合成歌曲的语音文件,包括:
24.从所述歌词音频库中获取所述乐谱包括的每个音符对应的歌词的单音节音频;
25.将所述单音节音频调整为所述音符在所述乐谱中的目标音频;
26.将所述目标音频进行合成,得到所述待合成歌曲的语音文件。
27.可选的,所述将所述单音节音频调整为所述音符在所述乐谱中的目标音频,包括:
28.确定所述单音节音频的原始时长和原始音高;
29.确定所述音符在所述乐谱中的目标时长和目标音高;
30.将所述原始音高调整为所述目标音高,并将所述原始时长调整为所述目标时长,得到所述音符在所述乐谱中的目标音频。
31.可选的,所述确定所述单音节音频的原始音高,包括:
32.在所述单音节音频中携带有音高的情况下,读取所述单音节音频中携带的音高,将所述音高确定为所述单音节音频的原始音高。
33.可选的,所述确定所述单音节音频的原始音高,包括:
34.在所述单音节音频中未携带有音高的情况下,确定所述单音节音频的平均频率;
35.根据所述平均频率确定所述单音节音频的原始音高。
36.可选的,所述将所述原始时长调整为所述目标时长,包括:
37.在所述原始时长和所述目标时长相等的情况下,将所述原始时长确定为所述目标时长;
38.在所述原始时长和所述目标时长不相等的情况下,判断所述原始时长是否超过所述目标时长,若是,则将所述原始时长裁剪至所述目标时长;若否,则将所述原始时长拉伸至所述目标时长。
39.可选的,所述将所述原始时长拉伸至所述目标时长,包括:
40.在所述单音节音频中携带有音素分割标识的情况下,读取所述单音节音频中携带的所述音素分割标识,所述音素分割标识用于分割所述单音节音频中包括的音素;
41.根据所述音素分割标识确定所述单音节音频中的元音和辅音;
42.保持所述辅音的原始时长,拉伸所述元音的原始时长,直至达到所述目标时长。
43.可选的,所述将所述原始时长拉伸至所述目标时长,包括:
44.在所述单音节音频中未携带有音素分割标识的情况下,对所述单音节音频包括的每个音素进行拉伸,直至达到所述目标时长。
45.可选的,所述接收待合成歌曲,包括:
46.接收导入的待合成歌曲;或者,
47.接收针对预设歌曲库中目标歌曲的选择指令,将所述目标歌曲确定为所述待合成歌曲。
48.可选的,所述在所述乐谱展示界面中的所述展示位置处展示所述音符展示框之后,还包括:
49.接收针对目标音符展示框的移动指令;
50.根据所述移动指令,将所述目标音符展示框从当前展示位置处移动至目标展示位置处,所述目标展示位置为所述移动指令指示的音调位置。
51.可选的,所述将所述语音文件与所述乐谱进行合成,得到所述待合成歌曲,包括:
52.根据所述乐谱的每分钟节拍数,计算所述乐谱的小节时长;
53.根据所述小节时长,将所述语音文件与所述乐谱进行节拍对齐,合成得到所述待合成歌曲。
54.可选的,所述根据所述乐谱包括的每个音符对应的歌词,合成所述待合成歌曲的语音文件之后,还包括:
55.在接收到针对所述语音文件的预听指令的情况下,播放合成的所述语音文件。
56.可选的,所述将所述语音文件与所述乐谱进行合成,得到所述待合成歌曲,包括:
57.在接收到乐谱添加指令的情况下,在所述语音文件上添加所述乐谱;
58.接收针对所述乐谱设置的偏移量;
59.根据所述偏移量对所述乐谱进行偏移;
60.将偏移后的所述乐谱和所述语音文件进行合成,得到所述待合成歌曲。
61.可选的,所述将偏移后的所述乐谱和所述语音文件进行合成,得到所述待合成歌曲之后,还包括:
62.在接收到针对所述待合成歌曲的导出指令的情况下,确定所述导出指令指示导出的目标文件格式;
63.按照所述目标文件格式导出合成的所述待合成歌曲。
64.可选的,所述从所述歌词音频库中获取所述乐谱包括的每个音符对应的单音节音频,包括:
65.判断通过所述音符展示框接收的歌词是否为拼音;
66.若是,则从所述歌词音频库中获取所述拼音对应的单音节音频;
67.若否,则将所述歌词转换为拼音,再从所述歌词音频库中获取所述拼音对应的单音节音频。
68.可选的,所述为所述乐谱中包括的音符创建音符展示框,包括:
69.针对所述乐谱中包括的任一音符,确定所述音符的时长特征和默认歌词;
70.根据所述时长特征,确定所述音符对应的音符展示框的长度;
71.按照所述长度,创建所述音符对应的音符展示框,并将所述默认歌词显示在所述音符展示框中。
72.可选的,所述通过所述音符展示框接收所述音符对应的歌词,包括:
73.针对任一所述音符展示框,判断是否接收到输入指令;
74.若是,则通过所述音符展示框接收输入的更新歌词,将所述更新歌词确定为所述音符对应的歌词;
75.若否,则将所述音符展示框的默认歌词确定为所述音符对应的歌词。
76.可选的,所述将所述目标音频进行合成,得到所述待合成歌曲的语音文件,包括:
77.若两个相邻的音符存在重叠,则对前一个音符对应的目标音频进行淡出操作,对后一个音符对应的目标音频进行淡入操作。
78.根据本说明书实施例的第二方面,提供了一种歌曲合成装置,所述装置包括:
79.确定模块,被配置为接收待合成歌曲,并确定所述待合成歌曲的乐谱;
80.展示模块,被配置为为所述乐谱中包括的音符创建音符展示框,并在乐谱展示界面展示所述音符展示框;
81.接收模块,被配置为通过所述音符展示框接收所述音符对应的歌词;
82.合成模块,被配置为根据所述乐谱以及所述乐谱包括的每个音符对应的歌词,合成所述待合成歌曲。
83.根据本说明书实施例的第三方面,提供了一种计算设备,包括:
84.存储器和处理器;
85.所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,以实现下述方法:
86.接收待合成歌曲,并确定所述待合成歌曲的乐谱;
87.为所述乐谱中包括的音符创建音符展示框,并在乐谱展示界面展示所述音符展示框;
88.通过所述音符展示框接收所述音符对应的歌词;
89.根据所述乐谱以及所述乐谱包括的每个音符对应的歌词,合成所述待合成歌曲。
90.根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现所述歌曲合成方法的步骤。
91.本说明书提供的歌曲合成方法,可以先接收待合成歌曲,并确定待合成歌曲的乐谱,然后为该乐谱中包括的音符创建音符展示框,并在乐谱展示界面展示该音符展示框;之后,可以通过该音符展示框接收音符对应的歌词,最后就可以根据该乐谱以及该乐谱包括的每个音符对应的歌词,合成待合成歌曲。这种情况下,会显示一个乐谱展示界面,在该乐谱展示界面展示音符展示框,用户只要在音符展示框中输入歌词,就能合成想要合成的歌曲,歌曲合成过程简单易操作,使得任意没有任何歌曲合成软件使用技巧的用户,也能轻松合成歌曲,降低了歌曲合成的门槛,方便用户使用,提高了用户体验。
附图说明
92.图1是本说明书一实施例提供的一种歌曲合成方法的流程图;
93.图2是本说明书一实施例提供的一种乐谱展示界面的示意图;
94.图3是本说明书一实施例提供的另一种乐谱展示界面的示意图;
95.图4是本说明书一实施例提供的一种导入歌词音频库的界面示意图;
96.图5是本说明书一实施例提供的一种拉伸单音节音频的示意图;
97.图6是本说明书一实施例提供的一种应用于浏览器的歌曲合成方法的处理流程图;
98.图7是本说明书一实施例提供的一种应用于鬼畜场景的歌曲合成方法的处理流程图;
99.图8是本说明书一实施例提供的一种歌曲合成装置的结构示意图;
100.图9是本说明书一实施例提供的一种计算设备的结构框图。
具体实施方式
101.在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
102.在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
103.应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
104.首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
105.音高(pitch):音高指各种不同高低的声音,即音的高度,音的基本特征的一种。音的高低是由振动频率决定的,两者成正相关关系,频率(即单位时间内振动次数的多少)高则音"高",反之则"低"。
106.音素:根据语音的自然属性划分出来的最小语音单位,从声学性质来看,音素是从音质角度划分出来的最小语音单位,从生理性质来看,一个发音动作形成一个音素,音素一般分为元音和辅音两大类。
107.midi(musical instrument digital interface,乐器数字接口):是20世纪80年代初为解决电声乐器之间的通信问题而提出的,midi是编曲界最广泛的音乐标准格式,可称为"计算机能理解的乐谱"。它用音符的数字控制信号来记录音乐,一首完整的midi音乐只有几十kb大,而能包含数十条音乐轨道,几乎所有的现代音乐都是用midi加上音色库来制作合成的。midi传输的不是声音信号,而是音符、控制参数等指令,它指示midi设备要做什么,怎么做,如演奏哪个音符、多大音量等,它们被统一表示成midi消息(midi message)。
108.web audio api:提供了在web上控制音频的一个非常有效通用的系统,允许开发者对音频进行解码,处理和输出,如自选音频源、对音频添加特效、使音频可视化、添加空间效果(如平移)等等。
109.audio buffer接口:表示存在内存里的一段短小的音频资源。
110.web assembly:是一种运行在现代网络浏览器中的新型代码,并且提供新的性能特性和效果。
111.wav:最常见的声音文件格式之一,是专门开发的一种标准数字音频文件,该文件能记录各种单声道或立体声的声音信息,并能保证声音不失真。
112.aac(advanced audio coding,高级音频编码):一种专为声音数据设计的文件压缩格式,采用了全新的算法进行编码,更加高效,具有更高的“性价比”。利用aac格式,可使人感觉声音质量没有明显降低的前提下,更加小巧。
113.在本说明书中,提供了一种歌曲合成方法,本说明书同时涉及一种歌曲合成装置,
一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
114.图1示出了根据本说明书一实施例提供的一种歌曲合成方法的流程图,具体包括以下步骤:
115.步骤102:接收待合成歌曲,并确定待合成歌曲的乐谱。
116.实际应用中,人们的工作生活都已经离不开歌曲,除了播放现有的歌曲之外,用户还可以根据自己的喜好和需求,对歌词和乐谱进行合成,得到新的合成歌曲。目前,一般是通过专业人员开发的专业歌曲合成软件,进行歌曲合成。然而,歌曲合成软件需要预先下载并安装,还需要用户掌握大量的软件使用技巧,才能合成歌曲,歌曲合成过程复杂且难以操作。例如,歌声合成工具utau在人力vocaloid领域是一款著名的软件,使用自己或者他人录制的wave格式音频,在该软件数据库导入之后,便可用该声音合成歌曲,在使用utau合成歌曲之前,用户需要下载并安装utau软件,并通过大量教程学习掌握该软件的歌曲合成技巧,导致只有一定音频和软件基础的用户才可以使用该软件合成歌曲。
117.为了降低歌曲合成的操作难度,从而降低歌曲合成的门槛,让普通用户都可以实现歌曲合成,本说明书提供了一种歌曲合成方法,可以先接收待合成歌曲,并确定待合成歌曲的乐谱,然后为该乐谱中包括的音符创建音符展示框,并在乐谱展示界面展示该音符展示框;之后,可以通过该音符展示框接收音符对应的歌词,最后就可以根据该乐谱以及该乐谱包括的每个音符对应的歌词,合成待合成歌曲。这种情况下,会显示一个乐谱展示界面,在该乐谱展示界面展示音符展示框,用户只要在音符展示框中输入歌词,就能合成想要合成的歌曲,歌曲合成过程简单易操作,使得任意没有任何歌曲合成软件使用技巧的用户,也能轻松合成歌曲。
118.需要说明的是,一首歌曲一般包括乐谱和歌词,乐谱可以理解为伴奏,歌词可以理解为语音文件,即录制歌词得到的人声。歌声合成的目标是一段带有歌词的旋律,通常旋律是由乐谱表示的,在计算机中需要使用一种数字化的方式表示,本说明书中使用一种类似midi标准的乐谱表示方法,作为合成方法的一项输入。乐谱通常由多个音符组成,每一个音符会记录其音高、开始位置和持续时间,均以数字形式表示。
119.一般来说,在歌曲合成时,往往是在原有乐谱上合成用户自己创作的歌词,或者仅仅对原有乐谱进行微调,然后与自己创作的歌词进行合成,因而在合成歌曲时,乐谱基本上是不变的,本说明书中在要合成歌曲时,首先需要确定待合成歌曲的乐谱,作为后续歌曲合成的基础。
120.本实施例一个可选的实施方式中,在进行歌曲合成之前,首先需要接收待合成歌曲,接收待合成歌曲具体实现过程可以如下:
121.接收导入的待合成歌曲;或者,
122.接收针对预设歌曲库中目标歌曲的选择指令,将目标歌曲确定为待合成歌曲。
123.其中,预设歌曲库是预先生成的包括至少一首歌曲的歌曲集合,该预设歌曲库中可以包括有比较常被合成的歌曲,用户需要合成歌曲时可以直接在预设歌曲库中选择。如果预设歌曲库中没有用户想要合成的歌曲,那么用户也可以自己导入想要合成的歌曲。
124.本说明书中可以向用户提供预设歌曲库,让用户直接在该预设歌曲库中选择自己想要合成的歌曲,如此,用户可以不用自己准备待合成歌曲,减少了用户的操作,使用户可以更加轻松的合成歌曲。另外,并不限制用户必须在预设歌曲库中选择待合成歌曲,用户也
可以自己导入想要合成的歌曲,确定待合成歌曲的方式灵活,可以适应不同用户的不同需求,提高用户体验。
125.步骤104:为乐谱中包括的音符创建音符展示框,并在乐谱展示界面展示音符展示框。
126.具体的,在确定待合成歌曲的乐谱的基础上,进一步的,将为乐谱中包括的音符创建音符展示框,并在乐谱展示界面展示音符展示框。其中,音符展示框是为音符创建的一个可编辑的展示框,该音符展示框用于表示其对应的音符,用户通过编辑音符展示框,可以设置该音符展示框表示的音符对应的歌词;为待合成歌曲的乐谱中的每一个音符都创建对应的音符展示框,然后通过乐谱展示界面展示给用户,乐谱展示界面就是展示创建的多个音符展示框的界面,即展示待合成歌曲的乐谱包括的每个音符的界面。
127.本实施例一个可选的实施方式中,由于音符展示框用于表示其对应的音符,因而音符展示框应该根据其对应的音符的音频特征(即时长特征)创建,也即为乐谱中包括的音符创建音符展示框,具体实现过程可以如下:
128.针对乐谱中包括的任一音符,确定该音符的时长特征;
129.根据该时长特征,确定音符对应的音符展示框的长度;
130.按照该长度,创建音符对应的音符展示框。
131.其中,时长特征是指音符的持续时间,如一个音符持续时间为1.5秒,那么时长特征就是1.5秒。一般来说,会预先确定一个基本持续时长对应的基本长度,然后参照该基本长度,确定各个音符对应的音符展示框的长度。例如,持续时间为1秒对应的音符展示框的长度为1cm,那么持续时间为1.5秒对应的音符展示框的长度就为1.5cm,持续时间为0.5秒对应的音符展示框的长度就为0.5cm,以此类推,确定乐谱包括的每个音符对应的音频展示框的长度,从而为乐谱中包括的每个音符都创建对应的音频展示框。
132.需要说明的是,根据音符的时长特征确定对应的音符展示框的长度之后,在创建音符展示框时,可以创建一个空白的音符展示框,等待用户输入对应的歌词;或者,也可以创建一个带有音符标识的音符展示框,提示用户该音符展示框表示的音符,使得用户可以根据该音符标识,在该音符展示框输入该音符对应的歌词。
133.或者,还可以在该音符展示框中直接带出其表示的音符对应的默认歌词,此时为乐谱中包括的音符创建音符展示框,具体实现过程可以如下:
134.针对乐谱中包括的任一音符,确定该音符的时长特征和默认歌词;
135.根据该时长特征,确定该音符对应的音符展示框的长度;
136.按照该长度,创建该音符对应的音符展示框,并将该默认歌词显示在该音符展示框中。
137.其中,默认歌词是指待合成歌曲中与该音符对应的原始歌词。需要说明的是,在音符展示框中直接带出对应的默认歌词,用户可以对默认歌词进行修改,也可以不修改,如此,用户无需针对每一个音符展示框设置对应的歌词,只需要在自己想要修改的音符对应的音符展示框中,输入修改后的歌词即可,大大提高了歌曲合成效率,方便用户的操作,提高用户体验。
138.本实施例一个可选的实施方式中,乐谱展示界面会包括音调,在为待合成歌曲的乐谱中包括的每个音符创建音符展示框之后,还需要将创建的各个音符展示框展示在乐谱
展示界面中对应的音调处,此时在乐谱展示界面展示音符展示框,具体实现过程可以如下:
139.确定音符展示框对应的音符的音调;
140.根据音符在乐谱中的开始时间,确定音符在乐谱展示界面中的开始位置;
141.根据音符的音调和音符在乐谱展示界面中的开始位置,确定音符对应的音符展示框在乐谱展示界面中的展示位置;
142.在乐谱展示界面中的展示位置处展示音符展示框。
143.需要说明的是,不同的音调对应乐谱展示界面中不同的高度,而不同的开始时间对应乐谱展示界面中不同的横轴位置,因而通过音符的音调和音符的开始位置可以唯一确定该音符在乐谱展示界面中的展示位置,然后将该音符对应的音符展示框展示在该展示位置处即可。针对创建的各个音符展示框均可以通过音符的音调和音符的开始位置,确定出其在乐谱展示界面中的展示位置,之后就可以将创建的各个音符展示框展示在对应的展示位置处。
144.示例的,图2是本说明书一实施例提供的一种乐谱展示界面的示意图,如图2所示,假设待合成歌曲的乐谱包括7个音符,针对该7个音符分别创建了对应的音符展示框。该7个音符展示框为空白且可编辑的展示框,对于该7个音符展示框,根据其对应的音符的音高和开始位置,分别确定出展示位置,并展示在乐谱展示界面中,具体如图2所示。
145.图3是本说明书一实施例提供的另一种乐谱展示界面的示意图,如图3所示,假设待合成歌曲的乐谱包括7个音符,针对该7个音符分别创建了对应的音符展示框。该7个音符展示框中带有对应的默认歌词(该默认歌词可编辑),默认歌词分别为yi、shan、yi、shan、liang、jing、jing,对于该7个音符展示框,根据其对应的音符的音高和开始位置,分别确定出展示位置,并展示在乐谱展示界面中,具体如图3所示。
146.进一步的,在乐谱展示界面展示音符展示框之后,用户还可以对某些音符展示框的位置进行调整,即用户可以改动待合成歌曲的乐谱旋律,因而在乐谱展示界面中的展示位置处展示音符展示框之后,还包括:
147.接收针对目标音符展示框的移动指令;
148.根据移动指令,将目标音符展示框从当前展示位置处移动至目标展示位置处,目标展示位置为移动指令指示的音调位置。
149.其中,移动指令是由预设移动操作触发的指令,该移动指令用于将目标音符展示框从当前位置移动至目标位置,目标音符展示框是指移动指令选中的音符展示框。本说明书中不对预设移动操作进行限制,只要能够移动音符展示框的操作均可,如将某个音符展示框从当前位置拖动至另一个位置(目标展示位置),或者选中某个音符展示框,点击右键,通过弹出的功能选项,对该音符展示框进行移动。
150.本说明书中在乐谱展示界面展示音符展示框之后,还可以接收针对目标音符展示框的移动指令,以调整音符展示框在乐谱展示界面中的展示位置,从而改变乐谱的旋律,使得用户不仅可以按照待合成歌曲的原谱进行合成,还可以改变待合成歌曲的乐谱,自己重新制作乐谱,来合成歌曲,待合成歌曲的合成方式灵活,可以适应不同用户的不同需求,提高用户体验。
151.步骤106:通过音符展示框接收音符对应的歌词。
152.具体的,在为乐谱中包括的音符创建音符展示框,并在乐谱展示界面展示音符展
示框的基础上,进一步的,将通过音符展示框接收音符对应的歌词。其中,音符展示框都是可编辑的,用户可以通过编辑音符展示框,设置该音符展示框表示的音符对应的歌词。如果乐谱展示界面中展示的音符展示框为空白的或者仅带有音符标识,那么每一个音符展示框都需要用户选中,然后输入相应的歌词。
153.另外,本实施例一个可选的实施方式中,如果乐谱展示界面中展示的音符展示框带有默认歌词,那么用户可以仅针对自己想要修改的音符展示框输入修改后的歌词,此时用户输入的歌词会替换默认歌词,若用户没有修改默认歌词,则直接基于默认歌词进行后续歌曲合成步骤,因而若音符展示框带有默认歌词,则通过音符展示框接收音符对应的歌词,具体实现过程可以如下:
154.针对任一音符展示框,判断是否接收到输入指令;
155.若是,则通过音符展示框接收输入的更新歌词,将该更新歌词确定为该音符对应的歌词;
156.若否,则将该音符展示框的默认歌词确定为该音符对应的歌词。
157.需要说明的是,如果用户在音符展示框输入了更新歌词,那么可以将该更新歌词确定为该音符展示框表示的音符对应的歌词,如果用户没有在音符展示框输入更新歌词,那么可以将该音符展示框中的默认歌词确定为该音符展示框表示的音符对应的歌词,直接用于后续歌曲合成。
158.步骤108:根据乐谱以及乐谱包括的每个音符对应的歌词,合成待合成歌曲。
159.具体的,在通过音符展示框接收音符对应的歌词的基础上,进一步的,将根据乐谱以及乐谱包括的每个音符对应的歌词,合成待合成歌曲。
160.本实施例一个可选的实施方式中,根据乐谱以及乐谱包括的每个音符对应的歌词,合成待合成歌曲,具体实现过程可以如下:
161.根据乐谱包括的每个音符对应的歌词,合成待合成歌曲的语音文件;
162.将语音文件与乐谱进行合成,得到待合成歌曲。
163.其中,在根据乐谱包括的每个音符对应的歌词,合成待合成歌曲的语音文件之前,还需要准备合成语音文件所需的音频,即根据乐谱包括的每个音符对应的歌词,合成待合成歌曲的语音文件之前,还包括:
164.接收导入的歌词音频库,该歌词音频库为包括至少一个单音节音频的音频集合。
165.需要说明的是,单音节音频是指汉字拼音单独的录音音频,也即一个汉字拼音对应一个单音节音频。用户在合成歌曲之前,需要准备合成歌曲所需的音频素材,一种可能的实现方式,用户可以自己录制所需的歌词对应的单音节音频,然后将录制得到的各个单音节音频组合成歌词音频库,并进行导入;另一种可能的实现方式,用户可以直接从网上成熟的音频素材库中下载自己所需的歌词对应的单音节音频,然后将下载得到的各个单音节音频组合成歌词音频库,并进行导入。
166.另外,本说明书中不对导入的歌词音频库中包括的单音节音频进行限定,用户在合成歌曲时,一般来说会明确知道自己要合成的歌曲需要哪些歌词,因而可以仅由合成歌曲所需的歌词对应的单音节音频构成该歌词音频库;或者,为了防止用户在合成歌曲过程中,临时想要使用其他歌词,还可以由大量合成歌曲常用的歌词对应的单音节音频构成歌词音频库,后续合成歌曲时,从中查找所需的歌词对应的音频。
167.示例的,图4是本说明书一实施例提供的一种歌词音频库的界面示意图,如图4所示,接收到的歌词音频库中包括9个单音节音频,分别为yi、shan、liang、jing、chan、chang、che、chen、cheng。
168.本说明书中在合成歌曲之前,准备音频素材时,用户既可以自己录制所需的歌词音频库,还可以直接从网上下载所需的歌词音频库,待合成歌曲的歌词音频库的准备方式灵活,可以适应不同用户的不同需求,提高用户体验。
169.具体实现时,根据乐谱包括的每个音符对应的歌词,合成待合成歌曲的语音文件,包括:
170.从歌词音频库中获取乐谱包括的每个音符对应的歌词的单音节音频;
171.将单音节音频调整为该音符在乐谱中的目标音频;
172.将目标音频进行合成,得到待合成歌曲的语音文件。
173.需要说明的是,一般来说,从歌词音频库中获取到的单音节音频为原始音频,该原始音频和相应的音符在乐谱中的目标音频的音频特征(如音高、时长等)可能会不相同,因而在从歌词音频库中获取乐谱包括的每个音符对应的歌词的单音节音频之后,需要获取到的各个单音节音频调整为对应音符在乐谱中的目标音频。
174.示例的,乐谱包括7个音符,音符1对应的歌词为yi,音符2对应的歌词为shan,音符3对应的歌词为yi,音符4对应的歌词为shan,音符5对应的歌词为liang,音符6对应的歌词为jing,音符7对应的歌词为jing。从歌词音频库中获取上述7个音符对应的歌词的单音节音频之后,分别将上述7个单音节音频调整为该7个音符在乐谱中的目标音频。
175.另外,由于通过音符展示框接收音符对应的歌词时,接收到的歌词可能为汉字形式,也可能直接为拼音形式,而歌词音频库中存储的单音节音频是汉字拼音单独的录音音频,因而需要根据歌词的拼音在歌词音频库中查找,以获取该拼音对应的单音节音频,也即从歌词音频库中获取乐谱包括的每个音符对应的单音节音频,具体实现过程可以如下:
176.判断通过音符展示框接收的歌词是否为拼音;
177.若是,则从歌词音频库中获取该拼音对应的单音节音频;
178.若否,则将该歌词转换为拼音,再从歌词音频库中获取该拼音对应的单音节音频。
179.需要说明的是,若通过音符展示框接收的歌词为拼音,则可以直接根据拼音在歌词音频库中查找,以获取该拼音对应的单音节音频;而若通过音符展示框接收的歌词为汉字,则可以通过简单的识别,将该汉字转换为拼音,然后再根据该拼音在歌词音频库中查找,以获取该汉字对应的单音节音频。
180.本说明书中用户可以直接在音符展示框中输入想要合成的歌词的汉字或者拼音,适应不同用户的输入习惯,提高了用户体验。
181.本实施例一个可选的实施方式中,将单音节音频调整为音符在乐谱中的目标音频,具体实现过程可以如下:
182.确定单音节音频的原始时长和原始音高;
183.确定该音符在乐谱中的目标时长和目标音高;
184.将原始音高调整为目标音高,并将原始时长调整为目标时长,得到音符在乐谱中的目标音频。
185.其中,确定单音节音频的原始音高,具体实现过程可以如下:
186.在单音节音频中携带有音高的情况下,读取该单音节音频中携带的音高,将该音高确定为单音节音频的原始音高;
187.在单音节音频中未携带有音高的情况下,确定单音节音频的平均频率,并根据该平均频率确定该单音节音频的原始音高。
188.需要说明的是,如果接收的歌词音频库是用户从网上成熟的音频素材库中下载得到的,那么歌词音频库中包括的单音节音频中一般会直接携带有对应的音高,此时直接读取即可;如果接收的歌词音频库是用户自己录制得到的,那么歌词音频库中包括的单音节音频中一般不会携带有对应的音高,此时通过简单的音高识别算法识别出单音节音频的音高即可,如可以通过确定单音节音频的平均频率,确定出该单音节音频的原始音高。
189.示例的,如图4所示,接收到的歌词音频库中包括的9个单音节音频均携带有对应的音高,yi的原始音高为170hz,shan的原始音高为177hz,liang的原始音高为180hz,jing的原始音高为178hz,chan的原始音高为181hz,chang的原始音高为188hz,che的原始音高为172hz,chen的原始音高为177hz,cheng的原始音高为174hz。
190.另外,将原始时长调整为目标时长,具体实现过程可以如下:
191.在原始时长和目标时长相等的情况下,将原始时长确定为目标时长;
192.在原始时长和目标时长不相等的情况下,判断原始时长是否超过目标时长,若是,则将原始时长裁剪至目标时长;若否,则将原始时长拉伸至目标时长。
193.其中,将原始时长拉伸至目标时长,具体实现过程可以如下:
194.在单音节音频中携带有音素分割标识的情况下,读取单音节音频中携带的音素分割标识,音素分割标识用于分割单音节音频中包括的音素;根据音素分割标识确定单音节音频中的元音和辅音,保持辅音的原始时长,拉伸元音的原始时长,直至达到目标时长;
195.在单音节音频中未携带有音素分割标识的情况下,对单音节音频包括的每个音素进行拉伸,直至达到目标时长。
196.具体的,音素是根据语音的自然属性划分出来的最小语音单位,依据音节里的发音动作来分析,一个动作构成一个音素,音素分为元音与辅音两大类,如汉语音节啊(
ā
)只有一个音素,爱(
à
i)有两个音素,代(d
à
i)有三个音素。另外,音素分割标识是指分割单音节音频中的元音和辅音的标识,如单音节音频为zhang,此时可以在zh和ang之间设置一个音素分割标识,用于将zh和ang分开。
197.如果接收的歌词音频库是用户从网上成熟的音频素材库中下载得到的,那么歌词音频库中包括的单音节音频中一般会直接携带有音素分割标识,此时直接读取即可,然后根据音素分割标识对单音节音频进行分割,保持辅音不变,只拉伸元音;如果接收的歌词音频库是用户自己录制得到的,那么歌词音频库中包括的单音节音频中一般不会携带有音素分割标识,此时可以直接拉伸整个单音节音频。
198.需要说明的是,对于单个音符在合成过程中,首先会寻找音源库(即歌词音频库)中存在的音源获取到对应的音频文件(即单音节音频)。音源本身会有一个基础音高,当前音符会有一个目标音高。为了产生旋律,会将音源的当前音高通过变调算法调整至目标音高。对于音符的持续时间(即时长),如果原始音频的长度超过当前音符的持续时间,则会对原始音频直接进行裁剪,去掉多余的部分。如果原始音频的长度不足需要的持续时间,则要进行音频的拉伸操作,其中,拉伸操作存在两种可能的情况,情况一是直接进行拉伸,音频
会呈现变速播放的效果(如拉伸变成2倍则效果等同于0.5倍速播放);情况二是根据音素分割标识进行区分元辅音的拉伸,对于辅音部分,在拉伸时不会改变,对于元音部分会使用等同于情况一的方法进行拉伸,直到能够填满所需的持续时间。
199.示例的,图5是本说明书一实施例提供的一种拉伸单音节音频的示意图,如图5所示,单音节音频为zhang,假设zh和ang之间携带有音素分割标识,则保持zh不变,拉伸ang至目标时长;假设该单音节音频zhang没有携带音素分割标识,则拉伸整个zhang至目标时长。
200.本实施例一个可选的实施方式中,将目标音频进行合成,得到待合成歌曲的语音文件,具体实现过程可以如下:
201.若两个相邻的音符存在重叠,则对前一个音符对应的目标音频进行淡出操作,对后一个音符对应的目标音频进行淡入操作。
202.需要说明的是,为了保证合成歌曲发音的连贯性,对于部分特定的拼音,存在前后两个音符发音的重叠部分,重叠部分在处理时可以对前面音符的音频进行淡出,对后面音符的音频进行淡入,以保证声音的平滑过渡。
203.另外,上述歌曲合成的实现方式可以在浏览器中实现,对于音频的基本操作(如裁剪、拼接)可以基于web audio api中的audio buffer接口进行,部分算法,如调音、变速算法可以通过web assembly实现。
204.本实施例一个可选的实施方式中,在合成待合成歌曲的语音文件之后,还可以进行试听,也即根据乐谱包括的每个音符对应的歌词,合成待合成歌曲的语音文件之后,还包括:
205.在接收到针对语音文件的预听指令的情况下,播放合成的语音文件。
206.需要说明的是,实际合成歌曲的过程中,用户可以根据准备好的歌词,在每个音符展示框中填入对应的单字拼音,在全部的拼音填写完毕后,就可以开始对合成的结果进行预览,随后会根据乐谱遍历每个音符进行合成,用户可以实时听到合成内容的改变。
207.本实施例一个可选的实施方式中,在合成待合成歌曲时,需要将合成的语音文件和乐谱对齐,然后进行合成,因而将语音文件与乐谱进行合成,得到待合成歌曲,具体实现过程可以如下:
208.根据乐谱的每分钟节拍数,计算乐谱的小节时长;
209.根据小节时长,将语音文件与乐谱进行节拍对齐,合成得到待合成歌曲。
210.需要说明的是,本说明书中可以根据乐谱的bpm(beats per minutes每分钟节拍数)自动计算出乐谱一小节对应的真实时长,方便后续让合成出的语音文件部分可以和准备好的乐谱(即伴奏)进行节拍的对齐。
211.本实施例一个可选的实施方式中,在语音文件部分合成效果确定后,用户可以选择歌曲的乐谱(即伴奏),由于可能存在乐谱和合成的语音文件在节拍上的偏移,因而用户还可以手动的对乐谱设置偏移量,保证合成歌曲的效果,也即将语音文件与乐谱进行合成,得到待合成歌曲,具体实现过程可以如下:
212.在接收到乐谱添加指令的情况下,在语音文件上添加乐谱;
213.接收针对该乐谱设置的偏移量;
214.根据该偏移量对乐谱进行偏移;
215.将偏移后的乐谱和语音文件进行合成,得到待合成歌曲。
216.其中,偏移量是指偏移的时间,如将乐谱向前移动0.5秒(偏移量为0.5秒),以和语音文件对齐;或者将乐谱向后移动1秒(偏移量为1秒),以和语音文件对齐。
217.需要说明的是,为了保证合成效果,用户在试听合成的语音文件时可以不添加伴奏(即乐谱),只试听单纯的语音文件,在确定语音文件效果后,再在语音文件上添加对应的乐谱,此处的乐谱是指前面音符展示框对应的乐谱。为了调整乐谱和合成的语音文件在节拍上的偏移,还可以在添加乐谱时,设置相应的偏移量,对乐谱进行调整,然后再将乐谱和语音文件进行合成,得到合成后的歌曲。
218.本实施例一个可选的实施方式中,将偏移后的乐谱和语音文件进行合成,得到待合成歌曲之后,还包括:
219.在接收到针对待合成歌曲的导出指令的情况下,确定导出指令指示导出的目标文件格式;
220.按照目标文件格式导出合成的待合成歌曲。
221.需要说明的是,在确定好整体歌曲合成的效果之后,用户可以选择导出合成的歌曲,导出时会自动合并语音文件部分和选定的乐谱,另外用户还以自己设定导出的格式,如可以导出wav或aac格式的音频文件。
222.本说明书提供的歌曲合成方法,可以先接收待合成歌曲,并确定待合成歌曲的乐谱,然后为该乐谱中包括的音符创建音符展示框,并在乐谱展示界面展示该音符展示框;之后,可以通过该音符展示框接收音符对应的歌词,最后就可以根据该乐谱以及该乐谱包括的每个音符对应的歌词,合成待合成歌曲。这种情况下,会显示一个乐谱展示界面,在该乐谱展示界面展示音符展示框,用户只要在音符展示框中输入歌词,就能合成想要合成的歌曲,歌曲合成过程简单易操作,使得任意没有任何歌曲合成软件使用技巧的用户,也能轻松合成歌曲,降低了歌曲合成的门槛,方便用户使用,提高了用户体验。
223.下述结合附图6,以本说明书提供的歌曲合成方法在浏览器中的应用为例,对所述歌曲合成方法进行进一步说明。其中,图6示出了本说明书一实施例提供的一种应用于浏览器的歌曲合成方法的处理流程图,具体包括以下步骤:
224.步骤602:通过浏览器提供的歌曲创作界面接收用户导入的歌词音频库,该歌词音频库为包括至少一个单音节音频的音频集合。
225.实际应用中,歌曲合成软件需要预先下载并安装,还需要用户掌握大量的软件使用技巧,才能合成歌曲,歌曲合成过程复杂且难以操作。因而,本说明书提供了一种应用于浏览器的歌曲合成方法,可以在浏览器界面上显示一个乐谱展示界面,并在该乐谱展示界面展示音符展示框,用户只要在音符展示框中输入歌词,就能合成想要合成的歌曲,歌曲合成过程简单易操作,使得任意没有任何歌曲合成软件使用技巧的用户,也能在浏览器上轻松合成一首完整的中文歌曲。
226.步骤604:通过浏览器提供的歌曲创作界面接收用户导入的待合成歌曲。
227.步骤606:接收针对浏览器提供的歌曲创作界面显示的预设歌曲库中目标歌曲的选择指令,将目标歌曲确定为待合成歌曲。
228.需要说明的是,步骤604和步骤606均为确定待合成歌曲的步骤,实际实现时,二者择其一即可,不需要全部执行。
229.步骤608:确定待合成歌曲的乐谱。
230.步骤610:为乐谱中包括的音符创建音符展示框,并在浏览器中的乐谱展示界面展示音符展示框。
231.步骤612:通过音符展示框接收音符对应的歌词。
232.步骤614:根据乐谱包括的每个音符对应的歌词,合成待合成歌曲的语音文件;将语音文件与乐谱进行合成,得到合成完毕的歌曲。
233.本说明书提供的歌曲合成方法,通过浏览器提供的歌曲创作界面接收用户导入的歌词音频库,该歌词音频库为包括至少一个单音节音频的音频集合;然后通过浏览器提供的歌曲创作界面接收用户导入的待合成歌曲,或者接收针对浏览器提供的歌曲创作界面显示的预设歌曲库中目标歌曲的选择指令,将目标歌曲确定为待合成歌曲;之后,确定待合成歌曲的乐谱,为乐谱中包括的音符创建音符展示框,并在浏览器中的乐谱展示界面展示音符展示框,通过音符展示框接收音符对应的歌词;最后可以根据乐谱包括的每个音符对应的歌词,合成待合成歌曲的语音文件,将语音文件与乐谱进行合成,得到待合成歌曲。这种情况下,可以在浏览器界面上显示一个乐谱展示界面,并在该乐谱展示界面展示音符展示框,用户只要在音符展示框中输入歌词,就能合成想要合成的歌曲,歌曲合成过程简单易操作,使得任意没有任何歌曲合成软件使用技巧的用户,也能在浏览器上轻松合成一首完整的中文歌曲。
234.下述结合附图7,以本说明书提供的歌曲合成方法在鬼畜场景中的应用为例,对所述歌曲合成方法进行进一步说明。其中,图7示出了本说明书一实施例提供的一种应用于鬼畜场景的歌曲合成方法的处理流程图。需要说明的是,歌曲合成方法可以具体应用在鬼畜歌曲的制作流程中,鬼畜歌曲往往通过采样真人的录音,进行后期的修音调整,来模拟出真人演唱的效果,具体可以包括以下步骤:
235.步骤702:通过浏览器提供的歌曲创作界面接收用户导入的鬼畜歌词音源库,该鬼畜歌词音源库为包括至少一个鬼畜歌词的音频的集合。
236.需要说明的是,步骤702即是制作鬼畜歌曲的素材准备阶段,用户创作好鬼畜歌曲的歌词后,可以朗读歌词中包括的汉字,录制鬼畜歌词的音频(即语音文件的录音),然后可以将录制得到的各个音频合并为鬼畜歌词音源库,一起导入浏览器中的歌声创作模块。其中,用户在录制鬼畜歌词的音频时,可以针对所需歌词中用到的单字拼音来进行准备,因为在中文歌曲的演唱过程中,歌词单字的发音都为“一声”,所以语音文件录音均可以使用“一声”进行录音。
237.步骤704:通过浏览器提供的歌曲创作界面接收用户导入的待制作鬼畜歌曲的乐谱。
238.具体的,该待制作鬼畜歌曲的乐谱就是待制作的鬼畜歌曲的伴奏。
239.步骤706:为乐谱中包括的音符创建音符展示框,并在浏览器中的乐谱展示界面展示音符展示框。
240.需要说明的是,对于乐谱,浏览器会将乐谱中每个音符绘制在可交互的图形界面中(乐谱展示界面),音符展示框的高低位置代表对应不同的音高,音符展示框长短代表音符不同的持续时间。
241.步骤708:通过音符展示框接收音符对应的鬼畜歌词。
242.步骤710:根据乐谱包括的每个音符对应的鬼畜歌词,合成待制作鬼畜歌曲的语音
文件;将语音文件与乐谱进行合成,得到制作完成的鬼畜歌曲。
243.本说明书提供的歌曲合成方法,通过浏览器提供的歌曲创作界面接收用户导入的鬼畜歌词音源库,并通过浏览器提供的歌曲创作界面接收用户导入的待制作鬼畜歌曲的乐谱;然后为乐谱中包括的音符创建音符展示框,并在浏览器中的乐谱展示界面展示音符展示框;之后,通过音符展示框接收音符对应的鬼畜歌词,根据乐谱包括的每个音符对应的鬼畜歌词,合成待制作鬼畜歌曲的语音文件,将语音文件与乐谱进行合成,得到制作完成的鬼畜歌曲。这种情况下,可以在浏览器界面上显示一个乐谱展示界面,并在该乐谱展示界面展示音符展示框,用户只要在音符展示框中输入歌词,就能合成想要制作的鬼畜歌曲,鬼畜歌曲制作过程简单易操作,使得任意没有任何歌曲合成软件使用技巧的用户,也能在浏览器上轻松制作一首完整的鬼畜歌曲。
244.与上述方法实施例相对应,本说明书还提供了歌曲合成装置实施例,图8示出了本说明书一实施例提供的一种歌曲合成装置的结构示意图。如图8所示,该装置包括:
245.确定模块802,被配置为接收待合成歌曲,并确定待合成歌曲的乐谱;
246.展示模块804,被配置为为所述乐谱中包括的音符创建音符展示框,并在乐谱展示界面展示所述音符展示框;
247.第一接收模块806,被配置为通过所述音符展示框接收所述音符对应的歌词;
248.合成模块808,被配置为根据所述乐谱以及所述乐谱包括的每个音符对应的歌词,合成所述待合成歌曲。
249.可选的,所述展示模块804进一步被配置为:
250.针对所述乐谱中包括的任一音符,确定所述音符的时长特征;
251.根据所述时长特征,确定所述音符对应的音符展示框的长度;
252.按照所述长度,创建所述音符对应的音符展示框。
253.可选的,所述展示模块804进一步被配置为:
254.确定所述音符展示框对应的音符的音调;
255.根据所述音符在所述乐谱中的开始时间,确定所述音符在所述乐谱展示界面中的开始位置;
256.根据所述音符的音调和所述音符在所述乐谱展示界面中的开始位置,确定所述音符对应的音符展示框在所述乐谱展示界面中的展示位置;
257.在所述乐谱展示界面中的所述展示位置处展示所述音符展示框。
258.可选的,所述合成模块808进一步被配置为:
259.根据所述乐谱包括的每个音符对应的歌词,合成所述待合成歌曲的语音文件;
260.将所述语音文件与所述乐谱进行合成,得到所述待合成歌曲。
261.可选的,所述合成模块808进一步被配置为:
262.接收导入的歌词音频库,所述歌词音频库为包括至少一个单音节音频的音频集合。
263.可选的,所述合成模块808进一步被配置为:
264.从所述歌词音频库中获取所述乐谱包括的每个音符对应的歌词的单音节音频;
265.将所述单音节音频调整为所述音符在所述乐谱中的目标音频;
266.将所述目标音频进行合成,得到所述待合成歌曲的语音文件。
267.可选的,所述合成模块808进一步被配置为:
268.确定所述单音节音频的原始时长和原始音高;
269.确定所述音符在所述乐谱中的目标时长和目标音高;
270.将所述原始音高调整为所述目标音高,并将所述原始时长调整为所述目标时长,得到所述音符在所述乐谱中的目标音频。
271.可选的,所述合成模块808进一步被配置为:
272.在所述单音节音频中携带有音高的情况下,读取所述单音节音频中携带的音高,将所述音高确定为所述单音节音频的原始音高。
273.可选的,所述合成模块808进一步被配置为:
274.在所述单音节音频中未携带有音高的情况下,确定所述单音节音频的平均频率;
275.根据所述平均频率确定所述单音节音频的原始音高。
276.可选的,所述合成模块808进一步被配置为:
277.在所述原始时长和所述目标时长相等的情况下,将所述原始时长确定为所述目标时长;
278.在所述原始时长和所述目标时长不相等的情况下,判断所述原始时长是否超过所述目标时长,若是,则将所述原始时长裁剪至所述目标时长;若否,则将所述原始时长拉伸至所述目标时长。
279.可选的,所述合成模块808进一步被配置为:
280.在所述单音节音频中携带有音素分割标识的情况下,读取所述单音节音频中携带的所述音素分割标识,所述音素分割标识用于分割所述单音节音频中包括的音素;
281.根据所述音素分割标识确定所述单音节音频中的元音和辅音;
282.保持所述辅音的原始时长,拉伸所述元音的原始时长,直至达到所述目标时长。
283.可选的,所述合成模块808进一步被配置为:
284.在所述单音节音频中未携带有音素分割标识的情况下,对所述单音节音频包括的每个音素进行拉伸,直至达到所述目标时长。
285.可选的,所述装置还包括:
286.第二接收模块,被配置为接收导入的待合成歌曲;或者,
287.第三接收模块,被配置为接收针对预设歌曲库中目标歌曲的选择指令,将所述目标歌曲确定为所述待合成歌曲。
288.可选的,所述展示模块804进一步被配置为:
289.接收针对目标音符展示框的移动指令;
290.根据所述移动指令,将所述目标音符展示框从当前展示位置处移动至目标展示位置处,所述目标展示位置为所述移动指令指示的音调位置。
291.可选的,所述展示模块804进一步被配置为:
292.根据所述乐谱的每分钟节拍数,计算所述乐谱的小节时长;
293.根据所述小节时长,将所述语音文件与所述乐谱进行节拍对齐,合成得到所述待合成歌曲。
294.可选的,所述展示模块804进一步被配置为:
295.在接收到针对所述语音文件的预听指令的情况下,播放合成的所述语音文件。
296.可选的,所述展示模块804进一步被配置为:
297.在接收到乐谱添加指令的情况下,在所述语音文件上添加所述乐谱;
298.接收针对所述乐谱设置的偏移量;
299.根据所述偏移量对所述乐谱进行偏移;
300.将偏移后的所述乐谱和所述语音文件进行合成,得到所述待合成歌曲。
301.可选的,所述展示模块804进一步被配置为:
302.在接收到针对所述待合成歌曲的导出指令的情况下,确定所述导出指令指示导出的目标文件格式;
303.按照所述目标文件格式导出合成的所述待合成歌曲。
304.可选的,所述合成模块808进一步被配置为:
305.判断通过所述音符展示框接收的歌词是否为拼音;
306.若是,则从所述歌词音频库中获取所述拼音对应的单音节音频;
307.若否,则将所述歌词转换为拼音,再从所述歌词音频库中获取所述拼音对应的单音节音频。
308.可选的,所述展示模块804进一步被配置为:
309.针对所述乐谱中包括的任一音符,确定所述音符的时长特征和默认歌词;
310.根据所述时长特征,确定所述音符对应的音符展示框的长度;
311.按照所述长度,创建所述音符对应的音符展示框,并将所述默认歌词显示在所述音符展示框中。
312.可选的,所述展示模块804进一步被配置为:
313.针对任一所述音符展示框,判断是否接收到输入指令;
314.若是,则通过所述音符展示框接收输入的更新歌词,将所述更新歌词确定为所述音符对应的歌词;
315.若否,则将所述音符展示框的默认歌词确定为所述音符对应的歌词。
316.可选的,所述合成模块808进一步被配置为:
317.若两个相邻的音符存在重叠,则对前一个音符对应的目标音频进行淡出操作,对后一个音符对应的目标音频进行淡入操作。
318.本说明书提供的歌曲合成装置,可以先接收待合成歌曲,并确定待合成歌曲的乐谱,然后为该乐谱中包括的音符创建音符展示框,并在乐谱展示界面展示该音符展示框;之后,可以通过该音符展示框接收音符对应的歌词,最后就可以根据该乐谱以及该乐谱包括的每个音符对应的歌词,合成待合成歌曲。这种情况下,会显示一个乐谱展示界面,在该乐谱展示界面展示音符展示框,用户只要在音符展示框中输入歌词,就能合成想要合成的歌曲,歌曲合成过程简单易操作,使得任意没有任何歌曲合成软件使用技巧的用户,也能轻松合成歌曲,降低了歌曲合成的门槛,方便用户使用,提高了用户体验。
319.上述为本实施例的一种歌曲合成装置的示意性方案。需要说明的是,该歌曲合成装置的技术方案与上述的歌曲合成方法的技术方案属于同一构思,歌曲合成装置的技术方案未详细描述的细节内容,均可以参见上述歌曲合成方法的技术方案的描述。
320.图9示出了根据本说明书一实施例提供的一种计算设备900的结构框图。该计算设备900的部件包括但不限于存储器910和处理器920。处理器920与存储器910通过总线930相
连接,数据库950用于保存数据。
321.计算设备900还包括接入设备940,接入设备940使得计算设备900能够经由一个或多个网络960通信。这些网络的示例包括公用交换电话网(pstn)、局域网(lan)、广域网(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备940可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域网(wlan)无线接口、全球微波互联接入(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。
322.在本说明书的一个实施例中,计算设备900的上述部件以及图9中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图9所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
323.计算设备900可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备900还可以是移动式或静止式的服务器。
324.其中,处理器920用于执行如下计算机可执行指令,以实现下述方法:
325.接收待合成歌曲,并确定所述待合成歌曲的乐谱;
326.为所述乐谱中包括的音符创建音符展示框,并在乐谱展示界面展示所述音符展示框;
327.通过所述音符展示框接收所述音符对应的歌词;
328.根据所述乐谱以及所述乐谱包括的每个音符对应的歌词,合成所述待合成歌曲。
329.上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的歌曲合成方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述歌曲合成方法的技术方案的描述。
330.本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时以用于实现下述方法:
331.接收待合成歌曲,并确定所述待合成歌曲的乐谱;
332.为所述乐谱中包括的音符创建音符展示框,并在乐谱展示界面展示所述音符展示框;
333.通过所述音符展示框接收所述音符对应的歌词;
334.根据所述乐谱以及所述乐谱包括的每个音符对应的歌词,合成所述待合成歌曲。
335.上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的歌曲合成方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述歌曲合成方法的技术方案的描述。
336.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可
以的或者可能是有利的。
337.所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
338.需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书并不受所描述的动作顺序的限制,因为依据本说明书,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书所必须的。
339.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
340.以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献