System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及音频处理,特别是涉及一种合成歌曲处理方法、计算机设备、计算机可读存储介质和计算机程序产品。
技术介绍
1、随着音频处理技术的发展,出现了一种生成合成歌曲的技术,该技术可以通过预先下载合成歌曲的伴奏,以及用于生成合成歌曲中歌声的人声资源文件,通过对人声资源文件进行推理,生成合成歌曲的人声音频,之后,用户则可以对合成歌曲进行预览,将伴奏与人声音频进行合成得到歌曲音频进行播放,并可以对合成的歌曲音频进行编辑处理。
2、传统技术中,用户如果需要对合成的歌曲音频进行预览或编辑,通常需要等待合成歌曲的伴奏以及人声资源下载完成,以及人声音频生成完成,即用户需要先等待下载伴奏以及人声资源完成,再进行推理人声音频,在人声音频推理完成后,才能进行歌曲音频的预览或编辑,因此目前合成歌曲的预览或编辑处理效率较低。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够提高合成歌曲的预览或编辑效率的合成歌曲处理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
2、第一方面,本申请提供了一种合成歌曲处理方法,应用于客户端,包括:
3、针对用户选择的目标歌曲,确定存储于服务端的用于合成所述目标歌曲的伴奏资源及人声资源;所述人声资源携带有所述用户的发音特征;
4、通过第一线程执行当前帧对应的任务:从所述服务端下载所述伴奏资源在当前帧的伴奏数据,并解析所述伴奏资源在当前帧的伴奏数据以生成当前帧的伴奏音频信号;
5、通过第二线程
6、通过主流程执行首帧播放任务:当监测到首帧的所述伴奏音频信号和首帧的所述人声音频信号均生成完毕,启动预览引擎,通过所述预览引擎将首帧的所述伴奏音频信号与首帧的所述人声音频信号合成得到首帧的歌曲音频信号并播放首帧的所述歌曲音频信号;
7、在所述主流程执行首帧播放任务过程中,同步执行所述第一线程的后续帧任务以生成后续帧的伴奏音频信号以及同步执行所述第二线程的后续帧任务以生成后续帧的人声音频信号;
8、通过所述主流程执行后续帧播放任务:每当监测到同一后续帧的所述伴奏音频信号及所述人声音频信号均生成完毕,通过所述预览引擎将所述同一后续帧的所述伴奏音频信号及所述人声音频信号合成得到所述同一后续帧的歌曲音频信号并播放所述同一后续帧的歌曲音频信号,直至同一所述后续帧为所述目标歌曲的结束帧。
9、在其中一个实施例中,所述从所述服务端下载所述伴奏资源在当前帧的伴奏数据,并解析所述伴奏资源在当前帧的伴奏数据以生成当前帧的伴奏音频信号,包括:获取所述目标歌曲的音频元数据,并基于所述音频元数据从所述服务端下载所述伴奏资源在当前帧的伴奏数据;利用所述音频元数据解析所述伴奏资源在当前帧的伴奏数据,以生成当前帧的伴奏音频信号。
10、在其中一个实施例中,所述基于所述音频元数据从所述服务端下载所述伴奏资源在当前帧的伴奏数据,包括:从所述音频元数据中获取所述当前帧的信号时长、采样率、采样位深以及声道数;根据所述信号时长、所述采样率、所述采样位深以及所述声道数,得到所述当前帧的伴奏数据对应的数据量;按照所述数据量,从所述服务端下载所述伴奏资源在当前帧的伴奏数据。
11、在其中一个实施例中,在所述当前帧为所述首帧的情况下,所述获取所述目标歌曲的音频元数据,包括:从所述服务端下载所述伴奏资源,并解析所述伴奏资源得到所述目标歌曲的音频元数据。
12、在其中一个实施例中,所述从所述服务端下载所述人声资源在当前帧的人声数据,包括:获取所述当前帧的数据帧长以及信号时长;根据所述数据帧长以及信号时长,得到所述当前帧的人声数据对应的数据量;按照所述数据量,从所述服务端下载所述人声资源在当前帧的人声数据。
13、在其中一个实施例中,所述人声资源的数量为多路;同步执行所述第一线程的后续帧任务以生成后续帧的伴奏音频信号以及同步执行所述第二线程的后续帧任务以生成后续帧的人声音频信号的过程中,所述方法还包括:获取各路所述人声资源的资源下载进度,以及获取所述伴奏资源的资源下载进度;在各所述资源下载进度之间的差值大于预设阈值的情况下,调整各路所述人声资源以及所述伴奏资源的资源下载效率,其中调整后的各所述资源下载进度之间的差值满足预设差值要求。
14、在其中一个实施例中,在通过所述主流程执行后续帧播放任务中,所述方法还包括:响应于所述用户针对所述目标歌曲的播放进度调整请求,获取调整后的播放进度对应的播放进度帧;当监测到所述播放进度帧的歌曲音频信号已合成完毕,通过所述预览引擎播放所述播放进度帧的歌曲音频信号。
15、在其中一个实施例中,所述获取调整后的播放进度对应的播放进度帧之后,还包括:当监测到所述播放进度帧的所述伴奏音频信号未生成完毕,通过第一线程执行所述播放进度帧对应的任务,以生成所述播放进度帧的伴奏音频信号;当监测到所述播放进度帧的所述人声音频信号未生成完毕,通过第二线程执行所述播放进度帧对应的任务,以生成所述播放进度帧的人声音频信号;通过所述主流程执行播放进度帧任务:当监测到所述播放进度帧的所述伴奏音频信号及所述人声音频信号均生成完毕,通过所述预览引擎将所述播放进度帧的所述伴奏音频信号及所述人声音频信号合成得到所述播放进度帧的歌曲音频信号并播放所述播放进度帧的歌曲音频信号。
16、第二方面,本申请还提供了一种合成歌曲处理装置,应用于客户端,包括:
17、合成资源获取模块,用于针对用户选择的目标歌曲,确定存储于服务端的用于合成所述目标歌曲的伴奏资源及人声资源;所述人声资源携带有所述用户的发音特征;
18、第一线程执行模块,用于通过第一线程执行当前帧对应的任务:从所述服务端下载所述伴奏资源在当前帧的伴奏数据,并解析所述伴奏资源在当前帧的伴奏数据以生成当前帧的伴奏音频信号;
19、第二线程执行模块,用于通过第二线程执行当前帧对应的任务:从所述服务端下载所述人声资源在当前帧的人声数据,并对所述人声资源在当前帧的人声数据进行推理以生成当前帧的人声音频信号;其中:所述当前帧包括首帧和后续帧,且所述第一线程的首帧任务与所述第二线程的首帧任务同步执行;
20、主流程执行模块,用于通过主流程执行首帧播放任务:当监测到首帧的所述伴奏音频信号和首帧的所述人声音频信号均生成完毕,启动预览引擎,通过所述预览引擎将首帧的所述伴奏音频信号与首帧的所述人声音频信号合成得到首帧的歌曲音频信号并播放首帧的所述歌曲音频信号;
21、第一线程执行模块,还用于在所述主流程执行首帧播放任务过程中,同步执行所述第一线程的后续帧任务以生成后续帧的伴奏音频信号;
22、第二线程执行模块,还用于在所述主流程执行本文档来自技高网...
【技术保护点】
1.一种合成歌曲处理方法,其特征在于,应用于客户端,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述从所述服务端下载所述伴奏资源在当前帧的伴奏数据,并解析所述伴奏资源在当前帧的伴奏数据以生成当前帧的伴奏音频信号,包括:
3.根据权利要求2所述的方法,其特征在于,所述基于所述音频元数据从所述服务端下载所述伴奏资源在当前帧的伴奏数据,包括:
4.根据权利要求2所述的方法,其特征在于,在所述当前帧为所述首帧的情况下,所述获取所述目标歌曲的音频元数据,包括:
5.根据权利要求1所述的方法,其特征在于,所述从所述服务端下载所述人声资源在当前帧的人声数据,包括:
6.根据权利要求1所述的方法,其特征在于,所述人声资源的数量为多路;同步执行所述第一线程的后续帧任务以生成后续帧的伴奏音频信号以及同步执行所述第二线程的后续帧任务以生成后续帧的人声音频信号的过程中,所述方法还包括:
7.根据权利要求1所述的方法,其特征在于,在通过所述主流程执行后续帧播放任务中,所述方法还包括:
8.根据权利要求7所述的
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
11.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
...【技术特征摘要】
1.一种合成歌曲处理方法,其特征在于,应用于客户端,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述从所述服务端下载所述伴奏资源在当前帧的伴奏数据,并解析所述伴奏资源在当前帧的伴奏数据以生成当前帧的伴奏音频信号,包括:
3.根据权利要求2所述的方法,其特征在于,所述基于所述音频元数据从所述服务端下载所述伴奏资源在当前帧的伴奏数据,包括:
4.根据权利要求2所述的方法,其特征在于,在所述当前帧为所述首帧的情况下,所述获取所述目标歌曲的音频元数据,包括:
5.根据权利要求1所述的方法,其特征在于,所述从所述服务端下载所述人声资源在当前帧的人声数据,包括:
6.根据权利要求1所述的方法,其特征在于,所述人声资源的数量为多路;同步执行所述第一线程的后续帧任务以生成后续帧的伴奏音频信号以及...
【专利技术属性】
技术研发人员:邓永豪,胡鹏,林淦雄,陈凯,
申请(专利权)人:腾讯音乐娱乐科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。