本技术涉及计算机,特别涉及一种生成振动控制文件的方法、计算机设备和存储介质。
背景技术:
1、声音的本质是由物体振动产生的声波。音乐作为声音的一种形式,其产生的物理原理也遵循这一规律。随着手机振动马达的迭代更新,手机可以更精细的模拟各种触感被用户感知。因此现在有些手机在播放音乐时,除了可以控制扬声器播放音乐的声音,同时可以控制振动马达跟随音乐进行振动,进而为用户提供听觉和触觉上的双重感受。
2、目前手机仅是简单的根据音乐的bpm(每分钟节拍数的单位)的数值或者跟随鼓点控制振动马达进行振动,振动效果单一。
技术实现思路
1、本技术实施例提供了一种生成振动控制文件的方法、计算机设备和存储介质,能够使得振动马达跟随着音乐的旋律、节奏的变化进行细腻的振动,可以丰富振动马达跟随音乐振动的振动效果。相应的技术方案如下:
2、第一方面,提供了一种生成振动控制文件的方法,该方法包括:获取目标音乐对应的多个音轨信号。提取每个音轨信号中每个发声时段的包络曲线,包络曲线用于指示音轨信号在对应发生时段内的幅值变化。对每个包络曲线进行离散处理,得到每个包络曲线对应的多个离散时间点,以及每个离散时间点对应的幅值和频率。对于每个音轨信号,根据每个包络曲线中每个离散时间点对应的幅值和频率,确定振动马达在每个发声时段的振动控制信息,振动控制信息中包括振动时间点、每个振动时间点对应的第一振动强度和第一振动锐度,其中,振动时间点与离散时间点一一对应。根据多个音轨信号对应的多个振动控制信息,生成振动控制文件。
3、可选地,多个音轨信号包括人声音轨信号、鼓声音轨信号、钢琴音轨信号、吉他音轨信号和/或弦乐音轨信号。
4、可选地,根据每个包络曲线中每个离散时间点对应的幅值和频率,确定振动马达在每个发声时段的振动控制信息,包括:获取多个包络曲线中每个离散时间点对应的幅值,将获取的多个幅值进行归一化处理,得到每个离散时间点对应的第一振动强度。获取多个包络曲线中每个离散时间点对应的频率,将获取的每个频率转换为八度值,对转换得到的多个八度值进行归一化处理,得到每个离散时间点对应的第一振动锐度。
5、可选地,每个离散时间点对应的幅值为每个离散时间点之后的第一时间段内的最大幅值,第一时间段的时长等于相邻两个离散时间点的第一时间间隔。
6、可选地,根据多个音轨信号对应的多个振动控制信息,生成振动控制文件,包括:在所述多个振动控制信息中,确定满足第一条件的至少一组振动控制信息,所述第一条件包括各振动控制信息中的首个振动时间点之间的时间间隔小于第二时间间隔;在每组振动控制信息中删除部分振动控制信息,以使每组振动控制信息中剩余一个振动控制信息;根据所述多个振动控制信息中剩余未删除的振动控制信息,生成所述振动控制文件。
7、可选地,多个音轨信号具有第一顺序,在每组振动控制信息中删除部分振动控制信息,包括:在每组振动控制信息中,删除对应的音轨信号在第一顺序靠后的振动控制信息。
8、可选地,根据多个音轨信号对应的多个振动控制信息,生成振动控制文件之前,还包括:在多个振动控制信息中,确定满足第二条件的至少一组振动控制信息,第二条件包括振动时间点存在交错。在每组振动控制信息中,在至少一个振动控制信息中删除部分振动时间点以及对应的第一振动强度和第一振动锐度,以消除每组振动控制信息存在交错的振动时间点。
9、可选地,根据多个音轨信号对应的多个振动控制信息,生成振动控制文件之前,还包括:对于每个振动控制信息中每个振动时间点对应的第一振动强度和第一振动锐度进行映射处理,得到每个振动时间点对应的映射之后的第二振动强度和第二振动锐度,其中,经过映射处理后的第二振动强度的分布范围大于第一振动强度的分布范围,经过映射处理后的第二振动锐度的分布范围大于第一振动锐度的分布范围。
10、可选地,对于每个振动控制信息中每个振动时间点对应的第一振动强度和第一振动锐度进行映射处理,包括:基于log函数,对每个振动时间点对应的第一振动强度进行映射处理;基于tanh函数,对每个振动时间点对应的第一振动锐度进行映射处理。
11、可选地,振动控制信息中还包括振动模式,振动模式包括点振模式和连续振模式,点振模式是指按照振动控制信息中首个振动时间点以及对应的第一振动强度和第一振动锐度进行振动的模式,连续振模式是指按照振动控制信息中每个振动时间点以及对应的第一振动强度和第一振动锐度进行振动的模式。上述方法还包括:对于每个发声时段对应的振动控制信息,确定所述振动控制信息中各振动时间点对应的第一振动强度的均方根以及对应的第一振动锐度的频谱重心;对于每个振动控制信息,如果对应的均方根大于第一阈值且对应的频谱重心大于第二阈值,则确定所述振动控制信息对应的振动模式为点振模式,如果对应的均方根小于第三阈值则确定所述振动控制信息对应的振动模式为连续振模式。
12、第二方面,提供了一种生成振动控制文件的装置,该装置包括:
13、获取模块,用于获取目标音乐对应的多个音轨信号;
14、提取模块,用于提取所述每个音轨信号中每个发声时段的包络曲线,所述包络曲线用于指示所述音轨信号在对应发生时段内的幅值变化;
15、处理模块,用于对每个包络曲线进行离散处理,得到每个包络曲线对应的多个离散时间点,以及每个离散时间点对应的幅值和频率;
16、确定模块,用于对于每个音轨信号,根据每个包络曲线中每个离散时间点对应的幅值和频率,确定振动马达在每个发声时段的振动控制信息,所述振动控制信息中包括振动时间点、每个振动时间点对应的第一振动强度和第一振动锐度,其中,所述振动时间点与所述离散时间点一一对应;
17、生成模块,根据多个音轨信号对应的多个振动控制信息,生成振动控制文件。
18、可选地,所述多个音轨信号包括人声音轨信号、鼓声音轨信号、钢琴音轨信号、吉他音轨信号和/或弦乐音轨信号。
19、可选地,上述确定模块,用于:获取多个包络曲线中每个离散时间点对应的幅值,将获取的多个幅值进行归一化处理,得到每个离散时间点对应的第一振动强度。获取多个包络曲线中每个离散时间点对应的频率,将获取的每个频率转换为八度值,对转换得到的多个八度值进行归一化处理,得到每个离散时间点对应的第一振动锐度。
20、可选地,所述每个离散时间点对应的幅值为每个离散时间点之后的第一时间段内的最大幅值,所述第一时间段的时长等于相邻两个离散时间点的第一时间间隔。
21、可选地,上述生成模块,用于:在所述多个振动控制信息中,确定满足第一条件的至少一组振动控制信息,所述第一条件包括各振动控制信息中的首个振动时间点之间的时间间隔小于第二时间间隔;在每组振动控制信息中删除部分振动控制信息,以使每组振动控制信息中剩余一个振动控制信息;根据所述多个振动控制信息中剩余未删除的振动控制信息,生成所述振动控制文件。
22、可选地,上述生成模块,用于:在每组振动控制信息中,删除对应的音轨信号在第一顺序靠后的振动控制信息。
23、可选地,上述装置还包括删除模块,用于:在所述多个振动控制信息中,确定满足第二条件的至少一组振动控制信息,所述第二条件包括所述振动时间点存在交错;在每组振动控制信息中,在至少一个振动控制信息中删除部分振动时间点以及对应的第一振动强度和第一振动锐度,以消除每组振动控制信息存在交错的振动时间点。
24、可选地,上述装置还包括映射模块,用于:对于每个振动控制信息中每个振动时间点对应的第一振动强度和第一振动锐度进行映射处理,得到每个振动时间点对应的映射之后的第二振动强度和第二振动锐度,其中,经过映射处理后的第二振动强度的分布范围大于所述第一振动强度的分布范围,经过映射处理后的第二振动锐度的分布范围大于所述第一振动锐度的分布范围。
25、可选地,上述装置还包括映射模块,用于:基于log函数,对每个振动时间点对应的第一振动强度进行映射处理;基于tanh函数,对每个振动时间点对应的第一振动锐度进行映射处理。
26、可选地,所述振动控制信息中还包括振动模式,所述振动模式包括点振模式和连续振模式,所述点振模式是指按照所述振动控制信息中首个振动时间点以及对应的第一振动强度和第一振动锐度进行振动的模式,所述连续振模式是指按照所述振动控制信息中每个振动时间点以及对应的第一振动强度和第一振动锐度进行振动的模式;
27、上述确定模块,还用于对于每个发声时段对应的振动控制信息,确定所述振动控制信息中各振动时间点对应的第一振动强度的均方根以及对应的第一振动锐度的频谱重心;对于每个振动控制信息,如果对应的均方根大于第一阈值且对应的频谱重心大于第二阈值,则确定所述振动控制信息对应的振动模式为点振模式,如果对应的均方根小于第三阈值则确定所述振动控制信息对应的振动模式为连续振模式。
28、第三方面,提供了一种计算机设备,计算机设备包括处理器和存储器,存储器中存储有至少一条指令,该至少一条指令由处理器加载并执行如上述第一方面所述的生成振动控制文件的方法所执行的操作。
29、第四方面,提供了一种存储介质,该存储介质中存储有至少一条指令,该至少一条指令由处理器加载并执行以实现如上述第一方面所述的生成振动控制文件的方法所执行的操作。
30、第五方面,提供了一种计算机程序产品,其特征在于,计算机程序产品中存储有至少一条指令,指令由处理器加载并执行以实现如上述第一方面所述的生成振动控制文件的方法所执行的操作。
31、本技术提供的技术方案带来的有益效果至少包括:
32、在本技术提供的技术方案中,振动控制信息中的振动锐度和振动强度是根据目标音乐中每个音轨信号中的多个包络曲线确定的,由于包络曲线能够反映音乐的节奏和旋律的变化,所以生成的振动锐度和振动强度能够匹配音乐的旋律和节奏。因此终端在播放目标音乐时,采用对应的振动控制文件控制振动马达进行振动,可以使得振动马达跟随着音乐的旋律、节奏进行细腻的振动,能够丰富振动马达的振动效果。