会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利分类库 / 运动;游戏;娱乐活动 / 音频特效渲染方法、装置、电子设备和存储介质

音频特效渲染方法、装置、电子设备和存储介质

申请号 CN202311873113.8 申请日 2023-12-29 公开(公告)号 CN117732058A 公开(公告)日 2024-03-22
申请人 网易(杭州)网络有限公司; 发明人 王佳唯; 王术宇;
摘要 本 申请 提供了一种音频特效 渲染 方法、装置、 电子 设备和存储介质,其中,该方法包括:获取目标音频文件的时频贴图,时频贴图用于指示目标音频文件的各音频 帧 在频域上的 能量 分布,对时频贴图进行 采样 ,得到各音频帧中多个 频率 的能量,根据各音频帧中多个频率的能量,确定各音频帧中多个频率的振幅值,根据各音频帧中多个频率的振幅值,对目标音频文件对应的预设渲染模型进行特效渲染。本方案通过时频图对目标音频文件对应的预设渲染模型进行特效渲染,不需要实时解析音频,降低了处理消耗,提高了音频 可视化 特效的性能,并且仅获取目标音频文件的时频图,避免其它音效的干扰,提高了特效渲染 精度 。
权利要求

1.一种音频特效渲染方法,其特征在于,包括:
获取目标音频文件的时频贴图,所述时频贴图用于指示所述目标音频文件的各音频在频域上的能量分布;
对所述时频贴图进行采样,得到所述各音频帧中多个频率的能量;
根据所述各音频帧中多个频率的能量,确定所述各音频帧中多个频率的振幅值;
根据所述各音频帧中多个频率的振幅值,对所述目标音频文件对应的预设渲染模型进行特效渲染。
2.根据权利要求1所述的方法,其特征在于,所述根据所述各音频帧中多个频率的振幅值,对所述目标音频文件对应的预设渲染模型进行特效渲染,包括:
根据所述各音频帧中多个频率的振幅值,对所述目标音频文件对应的预设动画模型特效渲染,得到所述预设动画模型与所述振幅值节奏匹配的浮动特效。
3.根据权利要求2所述的方法,其特征在于,所述根据所述各音频帧中多个频率的振幅值,对所述目标音频文件对应的预设动画模型特效渲染,得到所述预设动画模型与所述振幅值节奏匹配的浮动特效,包括:
将所述各音频帧中多个频率映射至所述预设渲染模型的边缘顶点上;
根据所述各音频帧中多个频率的振幅值,对所述预设渲染模型的边缘顶点进行浮动特效渲染。
4.根据权利要求3所述的方法,其特征在于,所述根据所述各音频帧中多个频率的振幅值,对所述预设渲染模型的边缘顶点进行浮动特效渲染,包括:
根据所述各音频帧中多个频率的振幅值,控制并渲染预设渲染模型的边缘顶点按照所述振幅值进行伸缩。
5.根据权利要求2所述的方法,其特征在于,所述预设动画模型包括:预设粒子模型;
所述根据所述各音频帧中多个频率的振幅值,对所述目标音频文件对应的预设动画模型特效渲染,得到所述预设动画模型与所述振幅值节奏匹配的浮动特效,包括:
根据所述各音频帧中多个频率的振幅值,分别获取多个所述预设粒子模型的运动速度;
根据多个所述预设粒子模型的运动速度,分别对多个所述预设粒子模型进行渲染,以控制多个所述预设粒子模型进行运动。
6.根据权利要求1‑5任一项所述的方法,其特征在于,所述对所述时频贴图进行采样,得到所述各音频帧中多个频率的能量,包括:
根据预设音频帧播放标识,从所述各音频帧中确定起始音频帧;
对所述时频贴图进行采样,得到所述起始音频帧以及所述起始音频帧之后的音频帧的能量,以得到多个频率的振幅值。
7.根据权利要求1所述的方法,其特征在于,所述获取目标音频文件的时频贴图,包括:
根据所述目标音频文件,获取所述各音频帧的音频数据;
对所述各音频帧的音频数据进行频谱分析,生成所述各音频帧的频谱图;
根据多个预设线段采样点,创建频谱线段;
将所述频谱图中多个频率的振幅值分别映射到所述频谱线段中的所述多个预设线段采样点上,生成所述各音频帧的目标频谱图;
根据所述各音频帧的目标频谱图,生成所述时频贴图。
8.根据权利要求7所述的方法,其特征在于,所述将所述频谱图中多个频率的振幅值分别映射到所述频谱线段中的所述多个预设线段采样点上,包括:
分别对所述频谱图中多个频率进行归一化,得到多个归一化频率;
分别对所述多个预设线段采样点的预设点号进行归一化,得到多个归一化点号;
根据所述多个归一化频率和所述多个归一化点号,将所述频谱图中多个频率的振幅值分别映射到对应预设线段采样点的高度属性上。
9.根据权利要求7所述的方法,其特征在于,所述将所述频谱图中多个频率的振幅值分别映射到所述频谱线段中的所述多个预设线段采样点上,生成所述各音频帧的目标频谱图之前,所述方法还包括:
根据所述频谱图中的振幅分布,对所述频谱图进行修剪
10.根据权利要求7所述的方法,其特征在于,所述将所述频谱图中多个频率的振幅值分别映射到所述频谱线段中的所述多个预设线段采样点上,生成所述各音频帧的目标频谱图之前,所述方法还包括:
根据所述频谱图中的多个频率进行分类,得到多组频率集合;
根据各组频率集合的预设调整规则,分别调整所述各组频率集合中频率的振幅值。
11.一种音频特效渲染装置,其特征在于,包括:
获取模,用于获取目标音频文件的时频贴图,所述时频贴图用于指示所述目标音频文件的各音频帧在频域上的能量分布;
采样模块,用于对所述时频贴图进行采样,得到所述各音频帧中多个频率的能量;
确定模块,用于根据所述各音频帧中多个频率的能量,确定所述各音频帧中多个频率的振幅值;
渲染模块,用于根据所述各音频帧中多个频率的振幅值,对所述目标音频文件对应的预设渲染模型进行特效渲染。
12.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述机器可读指令,以执行权利要求1至10任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行权利要求1至10任一项所述的方法。

说明书全文

音频特效渲染方法、装置、电子设备和存储介质

技术领域

[0001] 本申请涉及计算机技术领域,具体而言,涉及一种音频特效渲染方法、装置、电子设备和存储介质。

背景技术

[0002] 随着游戏技术的快速发展,在游戏中往往会制作音频驱动的动画特效,以配合游戏中的音频播放效果,音频驱动特效可以让游戏用户的听觉和视觉刺激匹配起来,达到通感联觉的感官体验。
[0003] 目前,游戏引擎通常采用音频分析模对音频文件进行分析,以得到音频文件中各频率的振幅,然后基于各频率的振幅应用到特效表现中以生成动态特效。
[0004] 然而,上述音频分析模块为实时分析,动态特效为实时渲染,计算消耗大,并且在读取音频文件时可能会读取到游戏运行时的其它音效,无法仅读取音频文件。发明内容
[0005] 有鉴于此,本申请实施例提供了一种音频特效渲染方法、装置、电子设备和存储介质,以降低了实时解析音频文件所带来的计算消耗,并且仅获取目标音频文件的时频图,避免其它音效的干扰,提高了特效渲染精度
[0006] 第一方面,本申请实施例提供了一种音频特效渲染方法,包括:
[0007] 获取目标音频文件的时频贴图,所述时频贴图用于指示所述目标音频文件的各音频在频域上的能量分布;
[0008] 对所述时频贴图进行采样,得到所述各音频帧中多个频率的能量;
[0009] 根据所述各音频帧中多个频率的能量,确定所述各音频帧中多个频率的振幅值;
[0010] 根据所述各音频帧中多个频率的振幅值,对所述目标音频文件对应的预设渲染模型进行特效渲染。
[0011] 第二方面,本申请实施例还提供了一种音频特效渲染装置,包括:
[0012] 获取模块,用于获取目标音频文件的时频贴图,所述时频贴图用于指示所述目标音频文件的各音频帧在频域上的能量分布;
[0013] 采样模块,用于对所述时频贴图进行采样,得到所述各音频帧中多个频率的能量;
[0014] 确定模块,用于根据所述各音频帧中多个频率的能量,确定所述各音频帧中多个频率的振幅值;
[0015] 渲染模块,用于根据所述各音频帧中多个频率的振幅值,对所述目标音频文件对应的预设渲染模型进行特效渲染。
[0016] 第三方面,本申请实施例还提供了一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述机器可读指令,以执行第一方面任一项所述的方法。
[0017] 第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行第一方面任一项所述的方法。
[0018] 本申请提供了一种音频特效渲染方法、装置、电子设备和存储介质,其中,该方法包括:获取目标音频文件的时频贴图,时频贴图用于指示目标音频文件的各音频帧在频域上的能量分布,对时频贴图进行采样,得到各音频帧中多个频率的能量,根据各音频帧中多个频率的能量,确定各音频帧中多个频率的振幅值,根据各音频帧中多个频率的振幅值,对目标音频文件对应的预设渲染模型进行特效渲染。本方案通过时频图对目标音频文件对应的预设渲染模型进行特效渲染,不需要实时解析音频,降低了处理消耗,提高了音频可视化特效的性能,并且仅获取目标音频文件的时频图,避免其它音效的干扰,提高了特效渲染精度。附图说明
[0019] 为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0020] 图1为本申请实施例提供的音频特效渲染方法的流程示意;
[0021] 图2为本申请实施例提供的时频贴图的示意图;
[0022] 图3为本申请实施例提供的音频特效渲染方法的另一流程示意;
[0023] 图4为本申请实施例提供的一个音频帧的特效渲染效果的示意;
[0024] 图5为本申请实施例提供的另一个音频帧的特效渲染效果的示意;
[0025] 图6为本申请实施例提供的音频特效渲染方法的流程示意;
[0026] 图7为本申请实施例提供的另一个音频帧的特效渲染效果的示意;
[0027] 图8为本申请实施例提供的另一个音频帧的特效渲染效果的示意;
[0028] 图9为本申请实施例提供的另一音频特效渲染方法的流程示意;
[0029] 图10为本申请实施例提供的另一音频特效渲染方法的流程示意;
[0030] 图11为本申请实施例提供的另一音频特效渲染方法的流程示意;
[0031] 图12为本申请实施例提供的音频特效渲染装置的结构示意图;
[0032] 图13为本申请实施例提供的电子设备的结构示意图。

具体实施方式

[0033] 为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0034] 针对目前对音频的动态特效制作方式为实时分析,动态特效为实时渲染,计算消耗大,并且在读取音频文件时还可能会将游戏运行中的其它音效读取到,无法仅读取需要分析的音频文件的问题,本申请提出一种离线生成时频图,并应用到游戏引擎中制作音频特效的方法,满足实时渲染的可变性要求,并且不需要实时解析音频,降低了处理消耗,提高了音频可视化特效的性能,并且该方法是一种通用的音频处理方法,可以更改音频文件以制作不同的音频特效。
[0035] 在本申请其中一种实施例中的音频特效渲染方法可以运行于本地终端设备或者是服务器。当音频特效渲染方法运行于服务器时,该方法则可以基于交互系统来实现与执行,其中,云交互系统包括服务器和客户端设备。
[0036] 在一可选的实施方式中,云交互系统下可以运行各种云应用,例如:云游戏。以云游戏为例,云游戏是指以云计算为基础的游戏方式。在云游戏的运行模式下,游戏程序的运行主体和游戏画面呈现主体是分离的,音频特效渲染方法的储存与运行是在云游戏服务器上完成的,客户端设备的作用用于数据的接收、发送以及游戏画面的呈现,举例而言,客户端设备可以是靠近用户侧的具有数据传输功能的显示设备,如,移动终端、电视机、计算机、掌上电脑等;但是进行信息处理的为云端的云游戏服务器。在进行游戏时,玩家操作客户端设备向云游戏服务器发送操作指令,云游戏服务器根据操作指令运行游戏,将游戏画面等数据进行编码压缩,通过网络返回客户端设备,最后,通过客户端设备进行解码并输出游戏画面。
[0037] 在一可选的实施方式中,以游戏为例,本地终端设备存储有游戏程序并用于呈现游戏画面。本地终端设备用于通过图形用户界面与玩家进行交互,即,常规的通过电子设备下载安装游戏程序并运行。该本地终端设备将图形用户界面提供给玩家的方式可以包括多种,例如,可以渲染显示在终端的显示屏上,或者,通过全息投影提供给玩家。举例而言,本地终端设备可以包括显示屏和处理器,该显示屏用于呈现图形用户界面,该图形用户界面包括游戏画面,该处理器用于运行该游戏、生成图形用户界面以及控制图形用户界面在显示屏上的显示。
[0038] 在一种可能的实施方式中,本发明实施例提供了一种音频特效渲染方法,通过终端设备提供图形用户界面,其中,终端设备可以是前述提到的本地终端设备,也可以是前述提到的云交互系统中的客户端设备。
[0039] 图1为本申请实施例提供的音频特效渲染方法的流程示意,本实施例的执行主体可以为电子设备,如终端设备、服务器。
[0040] 如图1所示,该方法可以包括:
[0041] S101、获取目标音频文件的时频贴图。
[0042] 时频贴图用于指示目标音频文件的各音频帧在频域上的能量分布,其中,目标音频文件可以为任意一个音频文件,目标音频文件具有多个音频帧,音频帧为目标音频文件的特定时间片段,各音频帧在频域上的能量与各音频帧在频域上的振幅值具有对应关系,振幅值越大,能量越大,振幅值越小,能量越小。
[0043] 图2为本申请实施例提供的时频贴图的示意图,如图2所示,从UV坐标系来看时频贴图的话,U的数值代表频率,V的数值代表时间,亮度代表在V时刻时U频率的能量值,一行的亮度代表在V时刻音频在时频贴图记录的频域上的能量分布。
[0044] S102、对时频贴图进行采样,得到各音频帧中多个频率的能量。
[0045] S103、根据各音频帧中多个频率的能量,确定各音频帧中多个频率的振幅值。
[0046] 其中,各音频帧中包括多个频率,对时频贴图进行采样,得到各音频帧中多个频率的能量,并根据多个频率的能量分别确定多个频率的振幅值。
[0047] 在一些实施例中,采用游戏引擎根据音频帧的总帧数(FrameCounts)、默认贴图导出帧率(Frame Per Second,FPS)以及音频帧中多个频率,创建音频特效系统(如Niagara系统)的材质函数,采用材质函数对时频贴图进行采样,得到各音频帧中多个频率的振幅值。其中,音频帧中多个频率可以为归一化频率(SampleNormalizedIndex)。
[0048] S104、根据各音频帧中多个频率的振幅值,对目标音频文件对应的预设渲染模型进行特效渲染。
[0049] 根据各音频帧中多个频率的振幅值,对目标音频文件对应的预设渲染模型进行特效渲染,得到各音频帧的渲染模型,也就是说,针对各音频帧而言,各音频帧中多个频率的振幅值不同,预设渲染模型的特效效果不同,预设渲染模型的特效效果可以包括静态特效效果或者浮动特效效果,静态特效效果例如可以为根据各音频帧中多个频率的振幅值,控制预设渲染模型呈现与振幅值匹配的亮度、颜色,浮动特效效果例如可以为根据各音频帧中多个频率的振幅值,控制预设动画模型进行与振幅值匹配的浮动,从而可以在播放目标音频文件的同时,根据目标音频文件的各音频帧中多个频率的振幅值,控制预设渲染模型进行变化,以让游戏用户的听觉和视觉刺激匹配起来。
[0050] 值得说明的是,步骤S101‑S104为在游戏引擎中进行音频特效渲染的应用过程。
[0051] 在本实施例中,通过离线生成时频图,并应用到游戏引擎中制作音频特效的方法,满足实时渲染的可变性要求,并且不需要实时解析音频,降低了处理消耗,提高了音频可视化特效的性能,并且该方法是一种通用的音频处理方法,可以更改音频文件以制作不同的音频特效。
[0052] 在一可选的实施方式中,步骤S104,根据各音频帧中多个频率的振幅值,对目标音频文件对应的预设渲染模型进行特效渲染,包括:
[0053] 根据各音频帧中多个频率的振幅值,对目标音频文件对应的预设动画模型特效渲染,得到预设动画模型与振幅值节奏匹配的浮动特效。
[0054] 针对各音频帧,根据各音频帧中多个频率的振幅值,对目标音频文件对应的预设动画模型特效渲染,以使得预设动画模型呈现与振幅值节奏匹配的浮动特效,也就是说,根据多个频率的振幅值,控制预设动画模型呈现动态变化,且动态变化方式与振幅值相匹配。
[0055] 图3为本申请实施例提供的音频特效渲染方法的另一流程示意,如图3所示,在一可选的实施方式中,根据各音频帧中多个频率的振幅值,对目标音频文件对应的预设动画模型特效渲染,得到预设动画模型与振幅值节奏匹配的浮动特效,可以包括:
[0056] S201、将各音频帧中多个频率映射至预设渲染模型的边缘顶点上。
[0057] 根据频率展开顺序,将各音频帧中多个频率映射至预设渲染模型的边缘顶点上,得到频率和边缘顶点的映射关系,频率展开顺序例如可以为频率从大到小的顺序,或者频率从小到大的顺序,其中,预设渲染模型具有多个边缘顶点,将各音频帧中多个频率分别展示到边缘顶点上。
[0058] 在一些实施例中,预设动画模型可以为圆环模型,按照UV展开方法为边缘按照U增大的方向上展开,U代表频率,这样即可得到频率和边缘顶点的映射关系,从而实现通过圆环模型对所有频率信息的展现。
[0059] S202、根据各音频帧中多个频率的振幅值,对预设渲染模型的边缘顶点进行浮动特效渲染。
[0060] 根据各音频帧中多个频率的振幅值,分别对预设渲染模型的与频率对应的边缘顶点进行浮动特效渲染,以使预设渲染模型的边缘顶点呈现与对应频率的振幅值对应的动态效果,该动态效果例如可以为边缘顶点的闪烁效果,例如,振幅值越大,闪烁频率越高,振幅值越小,闪烁频率越小。
[0061] 在本实施例中,根据频率的振幅值,对预设渲染模型的边缘顶点进行浮动特效渲染,使预设渲染模型的边缘顶点呈现丰富的动态特效效果,提高游戏用户的视觉效果。
[0062] 在一可选的实施方式中,步骤S202,根据各音频帧中多个频率的振幅值,对预设渲染模型的边缘顶点特效渲染,可以包括:
[0063] 根据各音频帧中多个频率的振幅值,控制并渲染预设渲染模型的边缘顶点按照振幅值进行伸缩。
[0064] 根据各音频帧中多个频率的振幅值,控制并渲染预设渲染模型的边缘顶点以使边缘顶点按照振幅值进行伸缩,边缘顶点的伸缩可以理解为以边缘顶点为基准,按照振幅值大小向预设动画模型的内外侧的延伸长度,例如,振幅值越大,向内外侧的延伸长度越长,振幅值越小,向内外侧的延伸长度越小。
[0065] 图4为本申请实施例提供的一个音频帧的特效渲染效果的示意,图5为本申请实施例提供的另一个音频帧的特效渲染效果的示意,如图4、图5所示,预设动画模型为圆环模型,圆环边缘按照U增大的方向上展开,根据音频帧中多个频率的振幅值,控制并渲染预设动画模型的边缘顶点,以使边缘顶点进行不同程序的伸缩,可以看出,由于两个音频帧中多个频率的振幅值不同,因此所呈现的边缘顶点的伸缩情况不同,这样在连续播放目标音频文件时会形成随着各音频帧中频率进行音频可视化效果。
[0066] 在本实施例中,根据频率的振幅值,对预设渲染模型的边缘顶点进行伸缩渲染,使预设渲染模型的边缘顶点呈现丰富的动态特效效果,提高游戏用户的视觉效果。
[0067] 图6为本申请实施例提供的音频特效渲染方法的流程示意,如图6所示,在一可选的实施方式中,根据各音频帧中多个频率的振幅值,对目标音频文件对应的预设动画模型特效渲染,得到预设动画模型与振幅值节奏匹配的浮动特效,可以包括:
[0068] S301、根据各音频帧中多个频率的振幅值,分别获取多个预设粒子模型中粒子的运动速度。
[0069] 预设动画模型包括:预设粒子模型,根据各音频帧中多个频率的振幅值,分别获取多个预设粒子模型的运动速度,其中,预设粒子模型和频率具有映射关系,例如,一个预设粒子模型对应一个频率,同样地,频率的振幅值和粒子模型的运动速度具有映射关系,例如,振幅值越大,粒子模型的运动速度越大,振幅值越小,粒子模型的运动速度越小。
[0070] 在一些实施例中,可以预先在音频特效系统中将振幅值存储为变量,例如在振幅参数中进行存储,在针对各音频帧进行模型特效渲染时,读取振幅参数中各音频帧中频率的振幅值。
[0071] S302、根据多个预设粒子模型的运动速度,分别对多个预设粒子模型进行渲染,以控制多个预设粒子模型进行运动。
[0072] 根据多个预设粒子模型的运动速度,分别对多个预设粒子模型进行渲染,以控制多个预设粒子进行运动,以使各预设粒子模型的运动速度与对应频率的振幅值相匹配。
[0073] 图7为本申请实施例提供的另一个音频帧的特效渲染效果的示意,图8为本申请实施例提供的另一个音频帧的特效渲染效果的示意,图7、图8所示,一个圆点表示一个例子模型,根据音频帧中多个频率的振幅值,控制并渲染预设粒子模型进行运动,可以看出,由于两个音频帧中多个频率的振幅值不同,因此所呈现的粒子运动情况不同。
[0074] 在本实施例中,根据频率的振幅值,控制并渲染预设粒子模型进行运动,得到与各音频帧的频率产生联动的粒子运动变化,提高游戏用户的视觉效果。
[0075] 图9为本申请实施例提供的另一音频特效渲染方法的流程示意,如图9所示,在一可选的实施方式中,步骤S102,对时频贴图进行采样,得到各音频帧中多个频率的能量,可以包括:
[0076] S401、根据预设音频帧播放标识,从各音频帧中确定起始音频帧。
[0077] 预设音频帧播放标识为起始音频帧的标识,根据预设音频帧播放标识,从各音频帧中确定起始音频帧。
[0078] S402、对时频贴图进行采样,得到起始音频帧以及起始音频帧之后的音频帧中多个频率的能量,以得到多个频率的振幅值。
[0079] 对时频图进行采样,得到起始音频帧以及起始音频帧之后的音频帧中多个频率的能量,也就是说,通过指定的预设音频帧播放标识,对时频贴图进行采样,能够得到起始音频帧中多个频率的振幅值以及起始音频帧之后的音频帧中多个频率的能量,然后可以根据起始音频帧以及起始音频帧之后的音频帧中多个频率的能量,确定起始音频帧以及起始音频帧之后的音频帧中多个频率的振幅值,从而分别对目标音频文件对应的预设渲染模型进行特效渲染,得到各音频帧的渲染模型。
[0080] 在一些实施例中,可以在音频特效系统中设置参数(如Dynamic Material Parameter)的值为归一化年龄值(TimeFromZero),通过归一化年龄值以确定预设音频帧播放标识,其中,归一化年龄值为预设音频帧播放标识的归一化表示,这样在渲染模型时可控制从指定的起始音频帧中频率的振幅值开始读取,随着特效播放的结束,将起始音频帧之后音频帧中频率的振幅值读取完毕。
[0081] 其中,在音频特效系统中设置参数时,可以采用接口创建功能(如Dynamic Parameter)创建与音频特效系统连接的接口,在音频特效系统中输入归一化年龄值,这样就能指定起始音频帧,在后续渲染模型时即可根据粒子年龄增长进行渲染。
[0082] 在本实施例中,通过指定起始音频帧,能够根据实际需求根据指定音频帧中多个频率的振幅值进行模型渲染,提高了模型渲染的灵活性。
[0083] 图10为本申请实施例提供的另一音频特效渲染方法的流程示意,如图10所示,在一可选的实施方式中,步骤S101,获取目标音频文件的时频贴图,可以包括:
[0084] S501、根据目标音频文件,获取各音频帧的音频数据。
[0085] S502、对各音频帧的音频数据进行频谱分析,生成各音频帧的频谱图。
[0086] 对目标音频文件进行解析,得到目标音频文件的各音频帧的音频数据,音频帧为目标音频文件的特定时间片段,音频帧的音频数据为在从目标音频文件中特定时间片段的音频数据。
[0087] 在一些实施例中,打开贴图制作软件(如Houdini),通过可视化界面在贴图制作节点(如obj Network)下右键新建几何(Geometry)节点,双击节点进入内部,新建子节点(如CHOP Network),子节点的作用是进行音频数据处理,双击进入自节点内部,新建文件(File)节点,在Channel File选项中选择需要处理的目标音频文件,新建频谱(Spectrum)节点,频谱节点的输入端连接至文件节点,在频谱节点中,在起始点(Start)的数值处填写0,在终止点(End)的数值处填写1,频谱节点的作用是分析音频频谱,包含了频域和时域的变化,0和1表示从目标音频文件的最低频率至最高频率进行分析,即对目标音频文件的全部频率信息进行分析。
[0088] 在频谱节点中,可以打开左侧的频谱展示窗口(Motion FX View),可以查看当前分析的目标音频文件的频谱波形,当播放目标音频文件时,频谱展示窗口中的频谱波形会一直向右移动,波形起点的横轴数值不断增长,即在播放目标音频文件时,随着时间的移动,前一音频帧的频谱波形会向右移动,基于此,新建偏移节点(shift节点),其作用是偏移波形,将偏移节点连接至频谱节点下面,单位值(Unit Value)选绝对值(Absolute),参考(Reference)参数选择默认的Start Position,Start参数保持默认的0。这样偏移节点就会将波形随着时间而向左偏移,使得波形起点的横轴一直保持为1,向左偏移的量与使用偏移节点前向右偏移的量抵消,从而将频谱波形的横轴设为频率,即排除了时域变化,从而生成各音频帧的频谱图。
[0089] S503、根据多个预设线段采样点,创建频谱线段。
[0090] 其中,预设线段采样点可以为预先创建的采样点,多个预设线段采样点的数量取值范围可以为200‑400,例如256,根据多个预设线段采样点创建频谱线段,多个预设线段采样点为频谱线段上的采样点。
[0091] 在一些实施例中,返回至几何节点,在贴图制作节点(如obj Network)下右键新建线段(line)节点,设置采样点(Points)数量为200‑400,例如256。
[0092] S504、将频谱图中多个频率的振幅值分别映射到频谱线段中的多个预设线段采样点上,生成各音频帧的目标频谱图。
[0093] 频谱图用于表征频率和振幅的关系,将各音频帧的频谱图中多个频率的振幅值分别映射到频谱线段中的多个预设线段采样点上,这样多个预设线段采样点则拥有高度属性,可以理解为多个预设线段采样点根据对应振幅值被拉高,以生成各音频帧的目标频谱图,其中,一个频率的振幅值映射到一个预设线段采样点上。
[0094] 在一些实施例中,新建属性创建(attribute create)节点,组类型(Group Type)设置为点(Points),新建高度(height)属性,高度属性用来接收频谱中频率的振幅值,新建通道(channel)节点,该节点的作用是把频谱中频率的振幅值映射到高度属性上,通道节点可以在几何节点中获取子节点输出的目标频谱图,在子节点参数上填写需要映射到几何节点的节点路径,即生成目标频谱图的最后一个节点,如/obj/geo1/chopnet1/Trim,其中,通道范围(Channel Scope)可填写任意一个通道如左通道(chan0m),对于各音频帧的目标频谱图包括左通道目标频谱图和右通道目标频谱图,属性范围(Attribute Scope)填写高度(height),这样通过读取设置的参数即可将选择一个音频通道的振幅值映射到频谱线段的高度属性上。
[0095] S505、根据各音频帧的目标频谱图,生成时频贴图。
[0096] 将各音频帧的目标频谱图进行贴图导出,生成时频贴图。
[0097] 在一些实施例中,可以打开贴图制作软件,切换到贴图导出节点(out network),在该节点设置贴图导出方式(Mode/Target Engine)、贴图格式(如PNG格式)、导出位置以及各音频帧的标识,然后根据各音频帧的目标频谱图,采用贴图导出方式进行贴图导出,生成贴图格式的时频贴图,并将时频贴图导出至设置的导出位置。
[0098] 在一可选的实施方式中,步骤S504,将频谱图中多个频率的振幅值分别映射到频谱线段中的多个预设线段采样点上,生成各音频帧的目标频谱图之前,该方法还可以包括:
[0099] 根据频谱图中的振幅分布,对频谱图进行修剪
[0100] 根据各音频帧的频谱图中的振幅分布,对频谱图进行修剪,以将振幅变化小于预设变化范围的区域进行修剪,由于振幅变化小于预设变化范围的区域的音频特效变化不明显,比较平,对比感较弱,因此为保证一定的音频特效对比感,可以将各音频帧的频谱图中振幅变化小于预设变化范围的区域进行修剪,然后将修剪后的频谱图中多个频率的振幅值分别映射到频谱线段中的多个预设线段采样点上,生成各音频帧的目标频谱图。
[0101] 在一些实施例中,新建修剪(Trim)节点,该节点的目的是确定频率范围,可视化修剪节点,点击频谱展示窗口可以看出各音频帧的频谱图的频率范围,若最高频和最低频的振幅变化不明显,则可以通过调整修剪节点中的起始点和终止点的数值,例如,起始点的数值调整为0.0011,终止点的数值调整为‑0.9951,以将频谱图中的横轴后半段修剪掉。
[0102] 在一可选的实施方式中,步骤S504,将频谱图中多个频率的振幅值分别映射到频谱线段中的多个预设线段采样点上,生成各音频帧的目标频谱图之前,该方法还可以包括:
[0103] 根据频谱图中的多个频率进行分类,得到多组频率集合。
[0104] 根据各组频率集合的预设调整规则,分别调整各组频率集合中频率的振幅值。
[0105] 对频谱图中的多个频率进行不同频率强度的分类,得到多组频率集合,一组频率集合中包括一种频率强度的多个频率,频率强度例如可以包括低频、中频、高频。
[0106] 每组频率集合对应一种预设调整规则,根据各组频率集合的预设调整规则,分别对各组频率集合中频率的振幅值进行调整,将低频的振幅值拉高,将中高频的振幅值拉低,以将振幅值从一范围映射到另一个范围,从而低频为急速上升状态,将中高频为平稳状态,使得频谱图整体高度较为平均,避免高处和低处差距过大,细节丰富,而调整前的频谱图整体保持匀速上升,细节集中在低频处,变化密集,但高频很尖,变化过于剧烈,不适合特效使用。
[0107] 在一些实施例中,新建attribute remap(属性重映射)节点,通过调整属性重映射节点中的重映射滑块,实现对各组频率集合中频率的振幅值的适应调整,以将频谱图调整为前段(即低频)急速上升,后部(中高频)较为平稳的形状,其中,原始名字(Original Name)中填写高度(height),新名字中填写映射高度(height_remap),映射高度为映射后的新属性名称。
[0108] 在本实施例中,针对不同音频的特点,对振幅值进行重映射,把振幅变化拉开差距,通过对不同强度的频率的振幅进行相应调整,使生成的音频特效效果更好。
[0109] 在一可选的实施方式中,步骤S504,将频谱图中多个频率的振幅值分别映射到频谱线段中的多个预设线段采样点上,生成各音频帧的目标频谱图之前,该方法还可以包括:
[0110] 对频谱图中多个频率的振幅值进行归一化处理。
[0111] 由于在贴图最大亮度对应振幅值1,为避免由于振幅值过大而在生成贴图时有信息损失,通过对频谱图中多个频率的振幅值进行归一化处理,以将振幅值在0‑1范围内,这样导出贴图时最大振幅值不会超过1,因此不会有信息损失。
[0112] 在一些实施例中,在属性重映射节点中,将输入最大值(Input Max)填写振幅最大值如2,目的是将线段的高度从2降低到输出最大值(Output Max)中的1。
[0113] 值得说明的是,在生成目标频谱图之前,可以对频谱图进行下操作中的至少一种:修剪、调整频谱图中频率的振幅值、归一化,具体实现过程可参见上述相关描述。
[0114] 在本实施例中,通过烘焙生成时频图避免了实时音频解析的消耗问题,提高了音频可视化特效的性能,并且可以选择指定目标音频文件进行可视化和频谱信息预处理,无需在实时渲染阶段处理频谱数据,达到可视化音频的目的,避免实时调整操作,并且可以在制作时频贴图的过程中提前预览特效的音频频谱,相对应地进行预处理操作,丰富利用贴图信息,减少实时调整的消耗。
[0115] 图11为本申请实施例提供的另一音频特效渲染方法的流程示意,如图11所示,在一可选的实施方式中,步骤S504,将频谱图中多个频率的振幅值分别映射到频谱线段中的多个预设线段采样点上,生成各音频帧的目标频谱图,可以包括:
[0116] S601、分别对频谱图中多个频率进行归一化,得到多个归一化频率。
[0117] 分别对频谱图中多个频率进行归一化,得到多个频率对应的多个归一化频率,一个频率对应一个归一化频率,其中,以频率起点为0,终点为1,将所有频率映射到0‑1,得到归一化频。
[0118] S602、分别对多个预设线段采样点的预设点号进行归一化,得到多个归一化点号。
[0119] 分别对多个预设线段采样点的预设点号进行归一化,得到多个预设线段采样点对应的多个归一化点号,一个预设线段采样点对应一个归一化点号,其中,可以将预设线段采样点的预设点号除以多个预设线段采样点的数量,以将预设点号映射到0‑1,得到该预设线段采样点的归一化点号。
[0120] 值得说明的是,多个预设线段采样点的预设点号是规律分布的,最靠近原点的点的归一化点号为0,最远离原点的点的归一化点号为1,中间的点的归一化点号依次按照0‑1这一规律排列,所以频谱线段从头到尾的归一化点号按照0‑1增长。
[0121] 在一些实施例中,新建属性表示(attribute expression)节点,属性参数中的位置(Position)保持不变,表示要对频谱线段中的预设线段采样点的坐标进行操作,可以在表示参数(VEX pression)中填写self+@height_remap*set(0,1,0),目的是把携带着振幅值的重映射高度(height_remap)属性加到预设线段采样点高度上。
[0122] 其中,self是预设线段采样点的本身坐标,@height_remap是创建的重映射高度属性,set(0,1,0)指大小为(0,1,0)的三维向量,方向向上,长度为1。@height_remap*set(0,1,0)表示方向向上,长度为@height_remap的三维向量。self+@height_remap*set(0,1,0)的含义是将重映射高度属性加到预设线段采样点的高度上。
[0123] S603、根据多个归一化频率和多个归一化点号,将频谱图中多个频率的振幅值分别映射到对应预设线段采样点的高度属性上,生成各音频帧的目标频谱图。
[0124] 根据多个归一化频率和多个归一化点号进行匹配,将频谱图中多个频率的振幅值分别映射到各频率对应的预设线段采样点的高度属性上,生成各音频帧的目标频谱图,其中,目标频谱图是由各音频帧中各频率上的振幅连线组成的波形图。
[0125] 各频率对应的预设线段采样点为与各频率对应归一化频率相等的归一化点号对应的预设线段采样点,也就是说,一个采样点在高度属性上的值等于与这个采样点的归一化点号相等的归一化频率对应的振幅值。
[0126] 在本实施例中,通过归一化处理将频率的振幅值映射到预设线段采样点上,达到了可视化音频的目的,避免实时调整操作,并且可以在制作时频贴图的过程中提前预览特效的音频频谱,相对应地进行预处理操作,丰富利用贴图信息,减少实时调整的消耗。
[0127] 基于同一发明构思,本申请实施例中还提供了与音频特效渲染方法对应的音频特效渲染装置,由于本申请实施例中的装置解决问题的原理与本申请实施例上述音频特效渲染方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
[0128] 图12为本申请实施例提供的音频特效渲染装置的结构示意图,该装置可以集成在电子设备中。如图12所示,该装置可以包括:
[0129] 获取模块701,用于获取目标音频文件的时频贴图,时频贴图用于指示目标音频文件的各音频帧在频域上的能量分布;
[0130] 采样模块702,用于对时频贴图进行采样,得到各音频帧中多个频率的能量;
[0131] 确定模块703,用于根据所述各音频帧中多个频率的能量,确定所述各音频帧中多个频率的振幅值;
[0132] 渲染模块704,用于根据各音频帧中多个频率的振幅值,对目标音频文件对应的预设渲染模型进行特效渲染。
[0133] 在一可选的实施方式中,渲染模块704,具体用于:
[0134] 根据各音频帧中多个频率的振幅值,对目标音频文件对应的预设动画模型特效渲染,得到预设动画模型与振幅值节奏匹配的浮动特效。
[0135] 在一可选的实施方式中,渲染模块704,具体用于:
[0136] 将各音频帧中多个频率映射至预设渲染模型的边缘顶点上;
[0137] 根据各音频帧中多个频率的振幅值,对预设渲染模型的边缘顶点进行浮动特效渲染。
[0138] 在一可选的实施方式中,渲染模块704,具体用于:
[0139] 根据各音频帧中多个频率的振幅值,控制并渲染预设渲染模型的边缘顶点按照振幅值进行伸缩。
[0140] 在一可选的实施方式中,预设动画模型包括:预设粒子模型;
[0141] 渲染模块,具体用于:
[0142] 根据各音频帧中多个频率的振幅值,分别获取多个预设粒子模型的运动速度;
[0143] 根据多个预设粒子模型的运动速度,分别对多个所述预设粒子模型进行渲染,以控制多个所述预设粒子模型进行运动。
[0144] 在一可选的实施方式中,采样模块702,具体用于:
[0145] 根据预设音频帧播放标识,从各音频帧中确定起始音频帧;
[0146] 对时频贴图进行采样,得到起始音频帧以及起始音频帧之后的音频帧中多个频率的能量,以得到多个频率的振幅值。
[0147] 在一可选的实施方式中,获取模块701,具体用于:
[0148] 根据目标音频文件,获取各音频帧的音频数据;
[0149] 对各音频帧的音频数据进行频谱分析,生成各音频帧的频谱图;
[0150] 根据多个预设线段采样点,创建频谱线段;
[0151] 将频谱图中多个频率的振幅值分别映射到频谱线段中的多个预设线段采样点上,生成各音频帧的目标频谱图;
[0152] 根据各音频帧的目标频谱图,生成时频贴图。
[0153] 在一可选的实施方式中,获取模块701,具体用于:
[0154] 分别对频谱图中多个频率进行归一化,得到多个归一化频率;
[0155] 分别对多个预设线段采样点的预设点号进行归一化,得到多个归一化点号;
[0156] 根据多个归一化频率和多个归一化点号,将频谱图中多个频率的振幅值分别映射到对应预设线段采样点的高度属性上。
[0157] 在一可选的实施方式中,该装置还包括:
[0158] 处理模块705,用于根据频谱图中的振幅分布,对频谱图进行修剪。
[0159] 在一可选的实施方式中,处理模块705,还用于:
[0160] 根据频谱图中的多个频率进行分类,得到多组频率集合;
[0161] 根据各组频率集合的预设调整规则,分别调整各组频率集合中频率的振幅值。
[0162] 在本实施例中,获取模块用于获取目标音频文件的时频贴图,时频贴图用于指示目标音频文件的各音频帧在频域上的能量分布,采样模块用于对时频贴图进行采样,得到各音频帧中多个频率的能量,确定模块用于根据各音频帧中多个频率的能量,确定各音频帧中多个频率的振幅值,渲染模块用于根据各音频帧中多个频率的振幅值,对目标音频文件对应的预设渲染模型进行特效渲染。本方案通过时频图对目标音频文件对应的预设渲染模型进行特效渲染,不需要实时解析音频,降低了处理消耗,提高了音频可视化特效的性能,并且仅获取目标音频文件的时频图,避免其它音效的干扰,提高了特效渲染精度。
[0163] 图13为本申请实施例提供的电子设备的结构示意图,如图13所示,该设备可以包括:处理器801、存储器802和总线803,存储器802存储有处理器801可执行的机器可读指令,当电子设备运行时,处理器801与存储器802之间通过总线803通信,处理器801执行机器可读指令,以执行以下步骤:
[0164] 获取目标音频文件的时频贴图,时频贴图用于指示目标音频文件的各音频帧在频域上的能量分布;
[0165] 对时频贴图进行采样,得到各音频帧中多个频率的能量;
[0166] 根据各音频帧中多个频率的能量,确定各音频帧中多个频率的振幅值;
[0167] 根据各音频帧中多个频率的振幅值,对目标音频文件对应的预设渲染模型进行特效渲染。
[0168] 在一可选的实施方式中,根据各音频帧中多个频率的振幅值,对目标音频文件对应的预设渲染模型进行特效渲染,包括:
[0169] 根据各音频帧中多个频率的振幅值,对目标音频文件对应的预设动画模型特效渲染,得到预设动画模型与振幅值节奏匹配的浮动特效。
[0170] 在一可选的实施方式中,根据各音频帧中多个频率的振幅值,对目标音频文件对应的预设动画模型进行特效渲染,得到预设动画模型与振幅值节奏匹配的浮动特效,包括:
[0171] 将各音频帧中多个频率映射至预设渲染模型的边缘顶点上;
[0172] 根据各音频帧中多个频率的振幅值,对预设渲染模型的边缘顶点进行浮动特效渲染。
[0173] 在一可选的实施方式中,根据各音频帧中多个频率的振幅值,对预设渲染模型的边缘顶点特效渲染,包括:
[0174] 根据各音频帧中多个频率的振幅值,控制并渲染预设渲染模型的边缘顶点按照振幅值进行伸缩。
[0175] 在一可选的实施方式中,预设动画模型包括:预设粒子模型;
[0176] 根据各音频帧中多个频率的振幅值,对目标音频文件对应的预设动画模型进行特效渲染,得到预设动画模型与振幅值节奏匹配的浮动特效,包括:
[0177] 根据各音频帧中多个频率的振幅值,分别获取多个预设粒子模型的运动速度;
[0178] 根据多个预设粒子模型的运动速度,分别对多个预设粒子模型进行渲染,以控制多个预设粒子模型进行运动。
[0179] 在一可选的实施方式中,对时频贴图进行采样,得到各音频帧中多个频率的能量,包括:
[0180] 根据预设音频帧播放标识,从各音频帧中确定起始音频帧;
[0181] 对时频贴图进行采样,得到起始音频帧以及起始音频帧之后的音频帧中多个频率的能量,以得到多个频率的振幅值。
[0182] 在一可选的实施方式中,获取目标音频文件的时频贴图,包括:
[0183] 根据目标音频文件,获取各音频帧的音频数据;
[0184] 对各音频帧的音频数据进行频谱分析,生成各音频帧的频谱图;
[0185] 根据多个预设线段采样点,创建频谱线段;
[0186] 将频谱图中多个频率的振幅值分别映射到频谱线段中的多个预设线段采样点上,生成各音频帧的目标频谱图;
[0187] 根据各音频帧的目标频谱图,生成时频贴图。
[0188] 在一可选的实施方式中,将频谱图中多个频率的振幅值分别映射到频谱线段中的多个预设线段采样点上,生成各音频帧的目标频谱图,包括:
[0189] 分别对频谱图中多个频率进行归一化,得到多个归一化频率;
[0190] 分别对多个预设线段采样点的预设点号进行归一化,得到多个归一化点号;
[0191] 根据多个归一化频率和多个归一化点号,将频谱图中多个频率的振幅值分别映射到对应预设线段采样点的高度属性上,生成各音频帧的目标频谱图。
[0192] 在一可选的实施方式中,将频谱图中多个频率的振幅值分别映射到频谱线段中的多个预设线段采样点上,生成各音频帧的目标频谱图之前,该方法还包括:
[0193] 根据频谱图中的振幅分布,对频谱图进行修剪。
[0194] 在一可选的实施方式中,将频谱图中多个频率的振幅值分别映射到频谱线段中的多个预设线段采样点上,生成各音频帧的目标频谱图之前,该方法还包括:
[0195] 根据频谱图中的多个频率进行分类,得到多组频率集合;
[0196] 根据各组频率集合的预设调整规则,分别调整各组频率集合中频率的振幅值。
[0197] 在本实施例中,处理器执行机器可读指令,以执行获取目标音频文件的时频贴图,时频贴图用于指示目标音频文件的各音频帧在频域上的能量分布,对时频贴图进行采样,得到各音频帧中多个频率的能量,根据各音频帧中多个频率的能量,确定各音频帧中多个频率的振幅值,根据各音频帧中多个频率的振幅值,对目标音频文件对应的预设渲染模型进行特效渲染。本方案通过时频图对目标音频文件对应的预设渲染模型进行特效渲染,不需要实时解析音频,降低了处理消耗,提高了音频可视化特效的性能,并且仅获取目标音频文件的时频图,避免其它音效的干扰,提高了特效渲染精度。
[0198] 本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行,处理器执行以下步骤:
[0199] 获取目标音频文件的时频贴图,时频贴图用于指示目标音频文件的各音频帧在频域上的能量分布;
[0200] 对时频贴图进行采样,得到各音频帧中多个频率的能量;
[0201] 根据各音频帧中多个频率的能量,确定各音频帧中多个频率的振幅值;
[0202] 根据各音频帧中多个频率的振幅值,对目标音频文件对应的预设渲染模型进行特效渲染。
[0203] 在一可选的实施方式中,根据各音频帧中多个频率的振幅值,对目标音频文件对应的预设渲染模型进行特效渲染,包括:
[0204] 根据各音频帧中多个频率的振幅值,对目标音频文件对应的预设动画模型特效渲染,得到预设动画模型与振幅值节奏匹配的浮动特效。
[0205] 在一可选的实施方式中,根据各音频帧中多个频率的振幅值,对目标音频文件对应的预设动画模型进行特效渲染,得到预设动画模型与振幅值节奏匹配的浮动特效,包括:
[0206] 将各音频帧中多个频率映射至预设渲染模型的边缘顶点上;
[0207] 根据各音频帧中多个频率的振幅值,对预设渲染模型的边缘顶点进行浮动特效渲染。
[0208] 在一可选的实施方式中,根据各音频帧中多个频率的振幅值,对预设渲染模型的边缘顶点特效渲染,包括:
[0209] 根据各音频帧中多个频率的振幅值,控制并渲染预设渲染模型的边缘顶点按照振幅值进行伸缩。
[0210] 在一可选的实施方式中,预设动画模型包括:预设粒子模型;
[0211] 根据各音频帧中多个频率的振幅值,对目标音频文件对应的预设动画模型进行特效渲染,得到预设动画模型与振幅值节奏匹配的浮动特效,包括:
[0212] 根据各音频帧中多个频率的振幅值,分别获取多个预设粒子模型的运动速度;
[0213] 根据多个预设粒子模型的运动速度,分别对多个所述预设粒子模型进行渲染,以控制多个所述预设粒子模型进行运动。
[0214] 在一可选的实施方式中,对时频贴图进行采样,得到各音频帧中多个频率的能量,包括:
[0215] 根据预设音频帧播放标识,从各音频帧中确定起始音频帧;
[0216] 对时频贴图进行采样,得到起始音频帧以及起始音频帧之后的音频帧中多个频率的能量,以得到多个频率的振幅值。
[0217] 在一可选的实施方式中,获取目标音频文件的时频贴图,包括:
[0218] 根据目标音频文件,获取各音频帧的音频数据;
[0219] 对各音频帧的音频数据进行频谱分析,生成各音频帧的频谱图;
[0220] 根据多个预设线段采样点,创建频谱线段;
[0221] 将频谱图中多个频率的振幅值分别映射到频谱线段中的多个预设线段采样点上,生成各音频帧的目标频谱图;
[0222] 根据各音频帧的目标频谱图,生成时频贴图。
[0223] 在一可选的实施方式中,将频谱图中多个频率的振幅值分别映射到频谱线段中的多个预设线段采样点上,生成各音频帧的目标频谱图,包括:
[0224] 分别对频谱图中多个频率进行归一化,得到多个归一化频率;
[0225] 分别对多个预设线段采样点的预设点号进行归一化,得到多个归一化点号;
[0226] 根据多个归一化频率和多个归一化点号,将频谱图中多个频率的振幅值分别映射到对应预设线段采样点的高度属性上,生成各音频帧的目标频谱图。
[0227] 在一可选的实施方式中,将频谱图中多个频率的振幅值分别映射到频谱线段中的多个预设线段采样点上,生成各音频帧的目标频谱图之前,该方法还包括:
[0228] 根据频谱图中的振幅分布,对频谱图进行修剪。
[0229] 在一可选的实施方式中,将频谱图中多个频率的振幅值分别映射到频谱线段中的多个预设线段采样点上,生成各音频帧的目标频谱图之前,该方法还包括:
[0230] 根据频谱图中的多个频率进行分类,得到多组频率集合;
[0231] 根据各组频率集合的预设调整规则,分别调整各组频率集合中频率的振幅值。
[0232] 在本实施例中,计算机程序被处理器运行时执行,处理器执行获取目标音频文件的时频贴图,时频贴图用于指示目标音频文件的各音频帧在频域上的能量分布,对时频贴图进行采样,得到各音频帧中多个频率的振幅值,根据各音频帧中多个频率的能量,根据各音频帧中多个频率的能量,确定各音频帧中多个频率的振幅值,对目标音频文件对应的预设渲染模型进行特效渲染。本方案通过时频图对目标音频文件对应的预设渲染模型进行特效渲染,不需要实时解析音频,降低了处理消耗,提高了音频可视化特效的性能,并且仅获取目标音频文件的时频图,避免其它音效的干扰,提高了特效渲染精度。
[0233] 在本申请实施例中,该计算机程序被处理器运行时还可以执行其它机器可读指令,以执行如实施例中其它所述的方法,关于具体执行的方法步骤和原理参见实施例的说明,在此不再详细赘述。
[0234] 在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0235] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0236] 另外,在本申请提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0237] 所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0238] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0239] 最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。