文本转3d音频的方法及装置
技术领域
1.本技术涉及语音合成技术领域,尤其涉及文本转3d音频的方法及装置。
背景技术:2.文本转语音(text to speech,tts)技术能够将文本转换为自然流畅的语音输出,在很多不便于阅读的场景中都很有必要。目前tts技术还可以根据用户设定的角色配音对象,将文本转换为某个或多个特定人的说话语音输出,实现个性化语音合成。
3.若一个文本中包括旁白文本及多个角色的话语文本,那么其转换所得的tts合成音频中,则包括旁白的tts合成音频和每个角色的tts合成音频。当用户通过耳机或外放的音箱听取音频时,所有角色和旁白的声音都是没有方位,直接从耳机或音箱中发出的,若音频中包括多个角色的话语互动,且存在音色相近的配音对象,可能会使用户产生混淆,影响对文本的理解。
技术实现要素:4.在现有的文本转音频技术中,所有声音均没有方位,可能会使得用户产生混淆,影响对文本的理解。为了解决这一技术问题,本技术实施例提供了文本转3d音频的方法及装置。
5.第一方面,本技术实施例公开了一种文本转3d音频的方法,应用于终端设备,所述方法包括:获取用户选定的待处理文本;根据所述待处理文本,获取待配音文本;获取配音发声点与用户头部位置之间的相对方位,所述配音发声点为所述待配音文本的tts合成音频的空间输出位置;根据所述配音发声点与用户头部位置之间的相对方位,对所述待配音文本的tts合成音频进行3d渲染。
6.本方案提供一种文本转3d音频的方法,该方法中,针对用户选定的待处理文本,提取待配音文本,然后基于预先设定的配音发声点与用户头部位置之间的相对方位,对待配音文本的tts合成音频进行3d渲染,得到3d音频,用户在听取时,每个配音发声点都从不同的空间方位传至耳朵中,给用户提供真实的3d环绕感,即使存在音色相近的配音,由于方位不同,也不会使用户产生混淆,避免对文本理解产生误差。
7.一种实现方式中,所述待配音文本包括旁白文本及每个角色话语文本;所述配音发声点包括旁白发声点及每个角色发声点。
8.一种实现方式中,所述根据所述配音发声点与用户头部位置之间的相对方位,对所述待配音文本的tts合成音频进行3d渲染,包括:根据所述旁白发声点与所述用户头部位置之间的相对方位,对所述旁白文本的tts合成音频进行3d渲染;根据所述每个角色发声点与所述用户头部位置之间的相对方位,对所述每个角色话语文本的tts合成音频进行3d渲染。
9.一种实现方式中,所述用户头部位置包括用户正脸的水平偏角;所述旁白发声点与所述用户头部位置之间的相对方位包括:所述旁白发声点相较于所述用户正脸的水平偏
移角度;所述每个角色发声点与所述用户头部位置之间的相对方位包括:所述每个角色发声点相较于所述用户正脸的水平偏移角度。
10.一种实现方式中,所述根据所述旁白发声点与所述用户头部位置之间的相对方位,对所述旁白文本的tts合成音频进行3d渲染,包括:获取第一水平角度差,所述第一水平角度差为所述旁白发声点相较于所述用户正脸的水平偏移角度与所述用户正脸的水平偏角之间的差值;根据所述第一水平角度差,对所述旁白文本的tts合成音频进行3d渲染。
11.通过上述方案,采用第一水平角度差,对旁白文本的tts合成音频进行3d渲染,如此可以避免空间渲染信号产生偏差,提高旁白发声点传入用户耳朵中的方位准确度。
12.一种实现方式中,所述根据所述每个角色发声点与所述用户头部位置之间的相对方位,对所述每个角色话语文本的tts合成音频进行3d渲染,包括:获取第二水平角度差,所述第二水平角度差为所述每个角色发声点相较于所述用户正脸的水平偏移角度与所述用户正脸的水平偏角之间的差值;根据所述第二水平角度差,对所述每个角色话语文本的tts合成音频进行3d渲染。
13.通过上述方案,采用第二水平角度差,对每个角色话语文本的tts合成音频进行3d渲染,如此可以避免空间渲染信号产生偏差,提高每个角色发声点传入用户耳朵中的方位准确度。
14.一种实现方式中,所述每个角色发声点与所述用户头部位置之间的相对方位还包括:所述每个角色发声点相较于所述用户头部的俯仰偏移角度。
15.一种实现方式中,所述根据所述每个角色发声点与所述用户头部位置之间的相对方位,对所述每个角色话语文本的tts合成音频进行3d渲染,包括:获取第二水平角度差,所述第二水平角度差为所述每个角色发声点相较于所述用户正脸的水平偏移角度与所述用户正脸的水平偏角之间的差值;根据所述第二水平角度差及所述每个角色发声点相较于所述用户头部的俯仰偏移角度,对所述每个角色话语文本的tts合成音频进行3d渲染。
16.通过上述方案,不仅可以避免空间渲染信号产生偏差,提高每个角色发声点传入用户耳朵中的方位准确度,还可以将不同角色发声点设置在不同高度,使每个角色发声点具备角色人物的真实高度,提高用户的体验感。
17.一种实现方式中,所述旁白发声点与所述用户头部位置之间的相对方位还包括旁白发声点距离,所述旁白发声点距离为所述旁白发声点与所述用户双耳连线中心点之间的距离;所述每个角色发声点与所述用户头部位置之间的相对方位还包括每个角色发声点距离,所述每个角色发声点距离包括所述每个角色发声点与所述用户双耳连线中心点之间的距离。
18.一种实现方式中,所述根据所述旁白发声点与所述用户头部位置之间的相对方位,对所述旁白文本的tts合成音频进行3d渲染,包括:获取第一水平角度差,所述第一水平角度差为所述旁白发声点相较于所述用户正脸的水平偏移角度与所述用户正脸的水平偏角之间的差值;根据所述第一水平角度差及所述旁白发声点距离,对所述旁白文本的tts合成音频进行3d渲染。
19.通过上述方案,不仅可以避免空间渲染信号产生偏差,提高旁白发声点传入用户耳朵中的方位准确度,还能模拟出旁白发声点与用户之间的距离感,提高用户的体验感。
20.一种实现方式中,所述根据所述每个角色发声点与所述用户头部位置之间的相对
方位,对所述每个角色话语文本的tts合成音频进行3d渲染,包括:获取第二水平角度差,所述第二水平角度差为所述每个角色发声点相较于所述用户正脸的水平偏移角度与所述用户正脸的水平偏角之间的差值;根据所述第二水平角度差、所述每个角色发声点相较于所述用户头部的俯仰偏移角度及所述每个角色发声点距离,对所述每个角色话语文本的tts合成音频进行3d渲染。
21.通过上述方案,不仅可以避免空间渲染信号产生偏差,提高每个角色发声点传入用户耳朵中的方位准确度,还能使每个角色发声点具备角色人物的真实高度,并且模拟出每个角色人物与用户之间的距离感,提高用户的体验感。
22.一种实现方式中,所述每个角色发声点与所述用户头部位置之间的相对方位还包括:所述每个角色发声点的随机水平偏移角度。
23.一种实现方式中,所述根据所述每个角色发声点与所述用户头部位置之间的相对方位,对所述每个角色话语文本的tts合成音频进行3d渲染,包括:获取第二水平角度差,所述第二水平角度差为所述每个角色发声点相较于所述用户正脸的水平偏移角度与所述用户正脸的水平偏角之间的差值;获取第三水平角度和,所述第三水平角度和为所述每个角色发声点的随机水平偏移角度与所述第二水平角度差的和;根据所述第三水平角度和、所述每个角色发声点相较于所述用户头部的俯仰偏移角度及所述每个角色发声点距离,对所述每个角色话语文本的tts合成音频进行3d渲染。
24.通过上述方案,不仅可以避免空间渲染信号产生偏差,提高每个角色发声点传入用户耳朵中的方位准确度,使每个角色发声点具备角色人物的真实高度,模拟出每个角色人物与用户之间的距离感,还能控制每个角色发声点在每个时刻,以用户为中心进行小幅度水平移动,模拟出每个角色人物在说话时的身体晃动感,提高用户的体验感。
25.一种实现方式中,所述根据所述旁白发声点与所述用户头部位置之间的相对方位,对所述旁白文本的tts合成音频进行3d渲染,包括:根据所述旁白发声点与所述用户头部位置之间的相对方位,获取第一hrtf滤波系数;根据所述第一hrtf滤波系数,对所述旁白文本的tts合成音频进行3d渲染。
26.一种实现方式中,所述根据所述每个角色发声点与所述用户头部位置之间的相对方位,对所述每个角色话语文本的tts合成音频进行3d渲染,包括:根据所述每个角色发声点与所述用户头部位置之间的相对方位,获取第二hrtf滤波系数;根据所述第二hrtf滤波系数,对所述每个角色话语文本的tts合成音频进行3d渲染。
27.一种实现方式中,在获取配音发声点与用户头部位置之间的相对方位之前,所述方法还包括:获取所述用户头部位置。
28.一种实现方式中,所述获取用户头部位置,包括:采集用户头部图像;针对所述用户头部图像,获取所述用户头部位置。
29.一种实现方式中,所述方法还包括:预先构建语义分析神经网络模型。
30.一种实现方式中,所述根据所述待处理文本,获取待配音文本,包括:将所述待处理文本输入至所述语义分析神经网络模型中;获取所述语义分析神经网络模型输出的所述待配音文本。
31.一种实现方式中,所述方法还包括:对所述旁白文本进行语义分析,获取临时事件文本;获取所述临时事件的tts合成音频。
32.通过上述方案,对临时事件文本进行配音,可以提高3d音频的场景真实感,使用户身临其境。
33.一种实现方式中,所述对所述旁白文本进行语义分析,获取临时事件文本,包括:将所述旁白文本输入至所述语义分析神经网络模型中;获取所述语义分析神经网络模型输出的所述临时事件文本。
34.第二方面,本技术实施例公开了一种文本转3d音频的装置,应用于终端设备,包括:文本获取模块,用于获取用户选定的待处理文本;文本处理模块,用于根据所述待处理文本,获取待配音文本;方位设定模块,用于获取配音发声点与用户头部位置之间的相对方位,所述配音发声点为所述待配音文本的tts合成音频的空间输出位置;3d渲染模块,用于根据所述配音发声点与用户头部位置之间的相对方位,对所述待配音文本的tts合成音频进行3d渲染。
35.本方案提供一种文本转3d音频的装置,通过该装置,能够针对用户选定的待处理文本,提取待配音文本,然后基于预先设定的配音发声点与用户头部位置之间的相对方位,对待配音文本的tts合成音频进行3d渲染,得到3d音频,用户在听取时,每个配音发声点都从不同的空间方位传至耳朵中,给用户提供真实的3d环绕感,即使存在音色相近的配音,由于方位不同,也不会使用户产生混淆,避免对文本理解产生误差。
36.一种实现方式中,所述待配音文本包括旁白文本及每个角色话语文本;所述配音发声点包括旁白发声点及每个角色发声点。
37.一种实现方式中,所述3d渲染模块包括:旁白3d渲染单元,用于根据所述旁白发声点与所述用户头部位置之间的相对方位,对所述旁白文本的tts合成音频进行3d渲染;角色3d渲染单元,用于根据所述每个角色发声点与所述用户头部位置之间的相对方位,对所述每个角色话语文本的tts合成音频进行3d渲染。
38.一种实现方式中,所述用户头部位置包括用户正脸的水平偏角;所述旁白发声点与所述用户头部位置之间的相对方位包括:所述旁白发声点相较于所述用户正脸的水平偏移角度;所述每个角色发声点与所述用户头部位置之间的相对方位包括:所述每个角色发声点相较于所述用户正脸的水平偏移角度。
39.一种实现方式中,所述旁白3d渲染单元还用于:获取第一水平角度差,所述第一水平角度差为所述旁白发声点相较于所述用户正脸的水平偏移角度与所述用户正脸的水平偏角之间的差值;根据所述第一水平角度差,对所述旁白文本的tts合成音频进行3d渲染。
40.通过上述方案,旁白3d渲染单元采用第一水平角度差,对旁白文本的tts合成音频进行3d渲染,如此可以避免空间渲染信号产生偏差,提高旁白发声点传入用户耳朵中的方位准确度。
41.一种实现方式中,所述角色3d渲染单元还用于:获取第二水平角度差,所述第二水平角度差为所述每个角色发声点相较于所述用户正脸的水平偏移角度与所述用户正脸的水平偏角之间的差值;根据所述第二水平角度差,对所述每个角色话语文本的tts合成音频进行3d渲染。
42.通过上述方案,角色3d渲染单元采用第二水平角度差,对每个角色话语文本的tts合成音频进行3d渲染,如此可以避免空间渲染信号产生偏差,提高每个角色发声点传入用户耳朵中的方位准确度。
43.一种实现方式中,所述每个角色发声点与所述用户头部位置之间的相对方位还包括:所述每个角色发声点相较于所述用户头部的俯仰偏移角度。
44.一种实现方式中,所述角色3d渲染单元还用于:获取第二水平角度差,所述第二水平角度差为所述每个角色发声点相较于所述用户正脸的水平偏移角度与所述用户正脸的水平偏角之间的差值;根据所述第二水平角度差及所述每个角色发声点相较于所述用户头部的俯仰偏移角度,对所述每个角色话语文本的tts合成音频进行3d渲染。
45.通过上述方案,不仅可以避免空间渲染信号产生偏差,提高每个角色发声点传入用户耳朵中的方位准确度,还可以将不同角色发声点设置在不同高度,使每个角色发声点具备角色人物的真实高度,提高用户的体验感。
46.一种实现方式中,所述旁白发声点与所述用户头部位置之间的相对方位还包括旁白发声点距离,所述旁白发声点距离为所述旁白发声点与所述用户双耳连线中心点之间的距离;所述每个角色发声点与所述用户头部位置之间的相对方位还包括每个角色发声点距离,所述每个角色发声点距离包括所述每个角色发声点与所述用户双耳连线中心点之间的距离。
47.一种实现方式中,所述旁白3d渲染单元还用于:获取第一水平角度差,所述第一水平角度差为所述旁白发声点相较于所述用户正脸的水平偏移角度与所述用户正脸的水平偏角之间的差值;根据所述第一水平角度差及所述旁白发声点距离,对所述旁白文本的tts合成音频进行3d渲染。
48.通过上述方案,不仅可以避免空间渲染信号产生偏差,提高旁白发声点传入用户耳朵中的方位准确度,还能模拟出旁白发声点与用户之间的距离感,提高用户的体验感。
49.一种实现方式中,所述角色3d渲染单元还用于:获取第二水平角度差,所述第二水平角度差为所述每个角色发声点相较于所述用户正脸的水平偏移角度与所述用户正脸的水平偏角之间的差值;根据所述第二水平角度差、所述每个角色发声点相较于所述用户头部的俯仰偏移角度及所述每个角色发声点距离,对所述每个角色话语文本的tts合成音频进行3d渲染。
50.通过上述方案,不仅可以避免空间渲染信号产生偏差,提高每个角色发声点传入用户耳朵中的方位准确度,还能使每个角色发声点具备角色人物的真实高度,并且模拟出每个角色人物与用户之间的距离感,提高用户的体验感。
51.一种实现方式中,所述每个角色发声点与所述用户头部位置之间的相对方位还包括:所述每个角色发声点的随机水平偏移角度。
52.一种实现方式中,所述角色3d渲染单元还用于:获取第二水平角度差,所述第二水平角度差为所述每个角色发声点相较于所述用户正脸的水平偏移角度与所述用户正脸的水平偏角之间的差值;获取第三水平角度和,所述第三水平角度和为所述每个角色发声点的随机水平偏移角度与所述第二水平角度差的和;根据所述第三水平角度和、所述每个角色发声点相较于所述用户头部的俯仰偏移角度及所述每个角色发声点距离,对所述每个角色话语文本的tts合成音频进行3d渲染。
53.通过上述方案,不仅可以避免空间渲染信号产生偏差,提高每个角色发声点传入用户耳朵中的方位准确度,使每个角色发声点具备角色人物的真实高度,模拟出每个角色人物与用户之间的距离感,还能控制每个角色发声点在每个时刻,以用户为中心进行小幅
度水平移动,模拟出每个角色人物在说话时的身体晃动感,提高用户的体验感。
54.一种实现方式中,所述旁白3d渲染单元还用于:根据所述旁白发声点与所述用户头部位置之间的相对方位,获取第一hrtf滤波系数;根据所述第一hrtf滤波系数,对所述旁白文本的tts合成音频进行3d渲染。
55.一种实现方式中,所述角色3d渲染单元还用于:根据所述每个角色发声点与所述用户头部位置之间的相对方位,获取第二hrtf滤波系数;根据所述第二hrtf滤波系数,对所述每个角色话语文本的tts合成音频进行3d渲染。
56.一种实现方式中,所述装置还包括:头部位置获取模块,用于在获取配音发声点与用户头部位置之间的相对方位之前,获取所述用户头部位置。
57.一种实现方式中,所述头部位置获取模块还用于:采集用户头部图像;针对所述用户头部图像,获取所述用户头部位置。
58.一种实现方式中,所述装置还包括:模型预构模块,用于预先构建语义分析神经网络模型。
59.一种实现方式中,所述文本处理模块还用于:将所述待处理文本输入至所述语义分析神经网络模型中;获取所述语义分析神经网络模型输出的所述待配音文本。
60.一种实现方式中,所述装置还包括:临时事件获取模块,用于对所述旁白文本进行语义分析,获取临时事件文本;临时音频获取模块,用于获取所述临时事件的tts合成音频。
61.通过上述方案,对临时事件文本进行配音,可以提高3d音频的场景真实感,使用户身临其境。
62.一种实现方式中,所述临时事件获取模块还用于:将所述旁白文本输入至所述语义分析神经网络模型中;获取所述语义分析神经网络模型输出的所述临时事件文本。
63.第三方面,本技术实施例公开了一种终端装置,包括:
64.至少一个处理器和存储器;
65.所述存储器,用于存储程序指令;
66.所述处理器,用于调用并执行所述存储器中存储的程序指令,以使所述终端装置执行如第一方面所述的文本转3d音频的方法。
67.通过该终端装置执行如第一方面所述的文本转3d音频方法,将用户选定的待处理文本转换为3d音频,用户在听取时,每个配音发声点都从不同的空间方位传至耳朵中,给用户提供真实的3d环绕感,即使存在音色相近的配音,由于方位不同,也不会使用户产生混淆,避免对文本理解产生误差。
68.第四方面,本技术实施例公开了一种计算机可读存储介质,
69.所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得所述计算机执行如第一方面所述的文本转3d音频的方法。
70.通过该计算机执行如第一方面所述的文本转3d音频方法,,将用户选定的待处理文本转换为3d音频,用户在听取时,每个配音发声点都从不同的空间方位传至耳朵中,给用户提供真实的3d环绕感,即使存在音色相近的配音,由于方位不同,也不会使用户产生混淆,避免对文本理解产生误差。
71.本技术实施例提供一种文本转3d音频的方法及装置,该方法中,针对用户选定的待处理文本,提取待配音文本,然后基于预先设定的配音发声点与用户头部位置之间的相
对方位,对待配音文本的tts合成音频进行3d渲染,得到3d音频。用户通过耳机或音箱听取时,不同配音对象的声音能够按照预设的空间方位传至用户双耳中,使得用户能够真实的感觉到,多个角色正在自己的周围进行话语互动,给用户提供真实的3d环绕感,对待处理文本的理解方式变得生动灵活,而且即使存在音色相近的配音,由于方位不同,也不会使用户产生混淆,避免对文本理解产生误差。
附图说明
72.图1为本技术实施例公开的一种终端设备的结构示意图;
73.图2为本技术实施例公开的一种文本转3d音频的方法的工作流程示意图;
74.图3为本技术实施例公开的一种文本转3d音频的方法中,方位设定的显示界面示意图;
75.图4为本技术实施例公开的又一种文本转3d音频的方法中,方位设定的显示界面示意图;
76.图5为本技术实施例公开的又一种文本转3d音频的方法中,方位设定的显示界面示意图;
77.图6为本技术实施例公开的又一种文本转3d音频的方法中,方位设定的显示界面示意图;
78.图7为本技术实施例公开的一种文本转3d音频的方法中,获取用户头部位置的示意图;
79.图8为本技术实施例公开的又一种文本转3d音频的方法中,方位设定的显示界面示意图。
具体实施方式
80.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
81.以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本技术的限制。如在本技术的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本技术以下各实施例中,“至少一个”、“一个或多个”是指一个、两个或两个以上。术语“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系;例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a、b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
82.在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
83.在现有的文本转音频技术中,所有声音均没有方位,可能会使得用户产生混淆,影响对文本的理解。为了解决这一技术问题,本技术实施例提供了文本转3d音频的方法及装
置。
84.其中,该方法应用于终端设备,所述终端设备可为手机、平板电脑、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,umpc)、手持计算机、上网本、个人数字助理(personal digital assistant,pda)、智能可穿戴设备和虚拟现实设备等终端设备,本技术实施例对此不做任何限制。
85.以手机为上述终端设备举例,图1示出了一种手机的结构示意图。
86.手机可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,usb)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,射频模块150,通信模块160,音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,传感器模块180,按键190,马达191,指示器192,摄像头193,屏幕301,以及用户标识模块(subscriber identification module,sim)卡接口195等。
87.可以理解的是,本技术实施例示意的结构并不构成对手机的具体限定。在本技术另一些实施例中,手机可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
88.处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,ap),调制解调处理器,图形处理器(graphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
89.其中,控制器可以是手机的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
90.处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
91.在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,i2c)接口,集成电路内置音频(inter-integrated circuit sound,i2s)接口,脉冲编码调制(pulse code modulation,pcm)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,uart)接口,移动产业处理器接口(mobile industry processor interface,mipi),通用输入输出(general-purpose input/output,gpio)接口,用户标识模块(subscriber identity module,sim)接口,和/或通用串行总线(universal serial bus,usb)接口等。
92.i2c接口是一种双向同步串行总线,包括一根串行数据线(serial data line,sda)和一根串行时钟线(derail clock line,scl)。在一些实施例中,处理器110可以包含多组i2c总线。处理器110可以通过不同的i2c总线接口分别耦合触摸传感器,充电器,闪光灯,摄像头193等。例如:处理器110可以通过i2c接口耦合触摸传感器,使处理器110与触摸传感器通过i2c总线接口通信,实现手机的触摸功能。
93.i2s接口可以用于音频通信。在一些实施例中,处理器110可以包含多组i2s总线。
处理器110可以通过i2s总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过i2s接口向通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
94.pcm接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与通信模块160可以通过pcm总线接口耦合。在一些实施例中,音频模块170也可以通过pcm接口向通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述i2s接口和所述pcm接口都可以用于音频通信。
95.uart接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,uart接口通常被用于连接处理器110与通信模块160。例如:处理器110通过uart接口与通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过uart接口向通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
96.mipi接口可以被用于连接处理器110与屏幕301,摄像头193等外围器件。mipi接口包括摄像头串行接口(camera serial interface,csi),显示屏串行接口(display serial interface,dsi)等。在一些实施例中,处理器110和摄像头193通过csi接口通信,实现手机的拍摄功能。处理器110和屏幕301通过dsi接口通信,实现手机的显示功能。
97.gpio接口可以通过软件配置。gpio接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,gpio接口可以用于连接处理器110与摄像头193,屏幕301,通信模块160,音频模块170,传感器模块180等。gpio接口还可以被配置为i2c接口,i2s接口,uart接口,mipi接口等。
98.usb接口130是符合usb标准规范的接口,具体可以是mini usb接口,micro usb接口,usb type c接口等。usb接口130可以用于连接充电器为手机充电,也可以用于手机与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他终端设备,例如ar设备等。
99.可以理解的是,本技术实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对手机的结构限定。在本技术另一些实施例中,手机也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
100.充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过usb接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过手机的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为终端设备供电。
101.电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,屏幕301,摄像头193,和通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
102.手机的无线通信功能可以通过天线1,天线2,射频模块150,通信模块160,调制解
调处理器以及基带处理器等实现。
103.天线1和天线2用于发射和接收电磁波信号。手机中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
104.射频模块150可以提供应用在手机上的包括2g/3g/4g/5g等无线通信的解决方案。射频模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,lna)等。射频模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。射频模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,射频模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,射频模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
105.调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170a,受话器170b等)输出声音信号,或通过屏幕301显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与射频模块150或其他功能模块设置在同一个器件中。
106.通信模块160可以提供应用在手机上的包括无线局域网(wireless local area networks,wlan)(如无线保真(wireless fidelity,wi-fi)网络),蓝牙(bluetooth,bt),全球导航卫星系统(global navigation satellite system,gnss),调频(frequency modulation,fm),近距离无线通信技术(near field communication,nfc),红外技术(infrared,ir)等无线通信的解决方案。通信模块160可以是集成至少一个通信处理模块的一个或多个器件。通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
107.在一些实施例中,手机的天线1和射频模块150耦合,天线2和通信模块160耦合,使得手机可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,gsm),通用分组无线服务(general packet radio service,gprs),码分多址接入(code division multiple access,cdma),宽带码分多址(wideband code division multiple access,wcdma),时分码分多址(time-division code division multiple access,td-scdma),长期演进(long term evolution,lte),bt,gnss,wlan,nfc,fm,和/或ir技术等。所述gnss可以包括全球卫星定位系统(global positioning system,gps),全球导航卫星系统(global navigation satellite system,glonass),北斗卫星导航系统(beidou navigation satellite system,bds),准天顶卫星系统(quasi-zenith satellite system,qzss)和/或星基增强系统(satellite based augmentation systems,sbas)。
108.手机通过gpu,屏幕301,以及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接屏幕301和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。处理器110
可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。在本技术实施例中,屏幕301中可包括显示器和触控器件。显示器用于向用户输出显示内容,触控器件用于接收用户在屏幕301上输入的触摸事件。
109.在手机中,传感器模块180可以包括陀螺仪,加速度传感器,压力传感器,气压传感器,磁传感器(例如霍尔传感器),距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,热释电红外传感器,环境光传感器或骨传导传感器等一项或多项,本技术实施例对此不做任何限制。
110.手机可以通过isp,摄像头193,视频编解码器,gpu,柔性屏幕301以及应用处理器等实现拍摄功能。
111.isp用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给isp处理,转化为肉眼可见的图像。isp还可以对图像的噪点,亮度,肤色进行算法优化。isp还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,isp可以设置在摄像头193中。
112.摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,ccd)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,cmos)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给isp转换成数字图像信号。isp将数字图像信号输出到dsp加工处理。dsp将数字图像信号转换成标准的rgb,yuv等格式的图像信号。在一些实施例中,手机可以包括1个或n个摄像头193,n为大于1的正整数。
113.数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当手机在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
114.视频编解码器用于对数字视频压缩或解压缩。手机可以支持一种或多种视频编解码器。这样,手机可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,mpeg)1,mpeg2,mpeg3,mpeg4等。
115.npu为神经网络(neural-network,nn)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过npu可以实现手机的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
116.外部存储器接口120可以用于连接外部存储卡,例如micro sd卡,实现扩展手机的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
117.内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行手机的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储手机使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,ufs)等。
118.手机可以通过音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口
170d,以及应用处理器等实现音频功能。例如音乐播放,录音等。
119.音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
120.扬声器170a,也称“喇叭”,用于将音频电信号转换为声音信号。手机可以通过扬声器170a收听音乐,或收听免提通话。
121.受话器170b,也称“听筒”,用于将音频电信号转换成声音信号。当手机接听电话或语音信息时,可以通过将受话器170b靠近人耳接听语音。
122.麦克风170c,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170c发声,将声音信号输入到麦克风170c。手机可以设置至少一个麦克风170c。在另一些实施例中,手机可以设置两个麦克风170c,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,手机还可以设置三个,四个或更多麦克风170c,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
123.耳机接口170d用于连接有线耳机。耳机接口170d可以是usb接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,omtp)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association ofthe usa,ctia)标准接口。
124.按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。手机可以接收按键输入,产生与手机的用户设置以及功能控制有关的键信号输入。
125.马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于柔性屏幕301不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
126.指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
127.sim卡接口195用于连接sim卡。sim卡可以通过插入sim卡接口195,或从sim卡接口195拔出,实现和手机的接触和分离。手机可以支持1个或n个sim卡接口,n为大于1的正整数。sim卡接口195可以支持nano sim卡,micro sim卡,sim卡等。同一个sim卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。sim卡接口195也可以兼容不同类型的sim卡。sim卡接口195也可以兼容外部存储卡。手机通过sim卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,手机采用esim,即:嵌入式sim卡。esim卡可以嵌在手机中,不能和手机分离。
128.另外,在上述部件之上,运行有操作系统。例如苹果公司所开发的ios操作系统,谷歌公司所开发的安卓android开源操作系统,微软公司所开发的windows操作系统等。在该操作系统上可以安装运行应用程序。
129.为了明确本技术提供的方案,以下结合附图,通过各个实施例,对本技术所提供的
方案进行介绍说明。
130.本技术实施例提供一种文本转3d音频的方法,参见图2所示的工作流程示意图,本技术实施例提供的文本转3d音频的方法,包括以下步骤:
131.步骤21,获取用户选定的待处理文本。
132.当需要听取3d音频时,用户在终端设备上选定要转换的对象,终端设备基于用户的选择,从中提取出文本内容,生成待处理文本。
133.一些情况下,用户在终端设备上选择一个文本文件,如后缀为“.txt”,“.doc”或“.pdf”的文本文件,终端设备直接提取文件中的文本内容,生成待处理文本。
134.另一些情况下,用户在终端设备上选择一个网址,网址包含一些文本内容。在用户选定之后,终端设备对该网址进行解析,获取网页中的文本内容,生成待处理文本。
135.还有一些情况下,用户选择特定图片,图片上包含一些文本内容。在用户选定之后,终端设备对图片进行图像分析,例如采用光学字符识别(optical character recognition,ocr)技术,识别并提取图片中的文字,生成待处理文本。其中,特定图片可以是用户通过对书本拍照所得。
136.步骤22,根据所述待处理文本,获取待配音文本。
137.对待处理文本进行语义分析,能够识别出待处理文本中存在哪些需要配音的文本。
138.在一种实现方式中,待配音文本包括旁白文本及每个角色话语文本。
139.对待处理文本进行语义分析,能够识别出待处理文本中包含哪些说话语句以及每个说话语句对应哪个角色,即识别出所述每个角色的话语文本。除了说话语句之外,待处理文本中的其余内容都可以判定为旁白文本。
140.在对待处理文本进行语义分析时,首先识别出说话语句,作为示例,可以通过以下几种方法来识别:
141.一.通过指示性词语进行识别,例如:“说”、“喊”、“说到”或者“叫”等,一旦识别到这类指示性词语,则可以确定该词语后面的句子为说话语句。这种方法需要预先建立词典数据库,以及建立一个针对说话语句的指示性词语列表,对输入的待处理文本进行分词和查找匹配,识别出这些指示性词语,然后进一步识别出说话语句。
142.二.通过指示性标点符号进行识别,例如:双引号或者冒号等,其中双引号之间的句子为说话语句,冒号之后的句子为说话的语句。这种方法需要预先建立标点符号列表,以及建立一个针对说话语句的指示性标点符号列表,对输入的待处理文本进行标点符号的查找和匹配,识别出这些指示性标点符号,然后进一步识别出说话语句。
143.三.通过深度学习的方法进行识别,例如使用开源的opennlp、nltk或斯坦福nlp等自然语言处理算法,构建初始模型,然后使用预先标注完成的训练集文本进行训练,得到语义分析神经网络模型,使用语义分析神经网络模型来识别待处理文本中的说话语句。其中预先对训练集文本进行标注的操作,包括标注训练集文本中的分句、分词、标点、说话语句的指示性词语、说话语句的指示性标点和说话语句。
144.实际操作中,可以采取上述任一种或多种方法结合,对待处理文本进行语义分析,识别出说话语句,提高识别准确率。
145.在识别出说话语句之后,继续对待处理文本进行语义分析,识别出说话语句对应
的角色,作为示例,可以通过以下几种方法来识别:
146.一.通过指示性词语进行识别,例如:“说”、“喊”、“说到”或者“叫”等,一旦识别到这类指示性词语,则可以初步确定该词语前面的名词为说话的角色。这种方法需要建立词典数据库(包含词和对应的词性),以及建立一个针对说话语句的指示性词语列表,对输入的待处理文本进行分句、分词、查找匹配甚至语法分析,识别出这些指示性词语,然后进一步识别出代表角色的名词。
147.二.通过指示性标点符号进行识别,例如:双引号或冒号,这两个标点符号之前的代表角色的名词,可以初步判定为说话的角色。这种方法需要建立标点符号列表,以及针对说话语句的指示性标点符号列表,对输入的待处理文本进行标点符号的查找和匹配,识别出这些指示性标点符号,然后进一步识别出代表角色的名词。
148.针对上述两种方法,在一些情况下,如果出现类似“c对d说”、“c跟d说”这样的句子,指示性词语“说”的前面存在两个代表角色的名词,即“c”和“d”,可以进一步分析“c”和“d”之间词语的词性,由于“对”或者“跟”是介词,则可以判定“c”才是后续说话语句对应的角色。
149.三.通过深度学习的方法进行识别,例如开源的opennlp、nltk、斯坦福nlp等自然语言处理算法,构建初始模型,然后使用预先标注完成的训练集文本进行训练,得到语义分析神经网络模型,使用语义分析神经网络模型来识别待处理文本中每个说话语句对应的角色。其中预先对训练集文本进行标注的操作,包括标注训练集文本中的分句、分词、标点、说话语句指示性词语、语句指示性标点和说话语句对应的角色。
150.实际操作中,可以采取上述任一种或多种方法结合,对待处理文本进行语义分析,识别出说话语句对应的角色,提高识别准确率。
151.在识别出每个说话语句对应的角色之后,可以生成每个角色的话语文本,每个角色的话语文本中,至少包括一个说话语句。另外,可以将除了说话语句之外的文本都设定为旁白文本。
152.基于得到的每个角色话语文本和旁白文本,采用tts技术,可以将待配音文本转换成音频,得到tts合成音频。待配音文本的tts合成音频包括旁白文本的tts合成音频和每个角色话语文本的tts合成音频。
153.在一种实现方式中,在将待配音文本转换成音频之前,先获取设定好的配音对象,后续采用tts技术,将配音对象的声音与待配音文本进行合成,得到tts合成音频。配音对象可以由用户可以预先自行设定,也可以由终端设备选定。
154.终端设备在选定配音对象时,可以采用以下几种方式:
155.一.完全随机选定。
156.二.通过分析用户之前的偏好来选定。根据用户的历史设定,选择次数最多的配音对象作为本次配音对象。
157.三.优选选择用户最近的设定。将用户最近选择的配音对象作为本次配音对象。
158.将配音对象的声音与待配音文本进行合成,包括:将旁白配音对象的声音与旁白文本进行合成,得到旁白文本的tts合成音频;将每个角色配音对象的声音分别与各自对应的角色话语文本进行合成,得到每个角色话语文本的tts合成音频。
159.待配音文本的tts合成音频可以采用以下方法获取:
160.一.通过深度学习的方法进行合成,采用开源的特定人语音合成算法,对每个角色或者旁白使用指定的配音对象进行tts语音合成。
161.二.通过预设的配音对象语音库,进行词汇音频拼接来实现。
162.实际操作中,可以采取上述任一种或两种方法结合,对待配音文本与配音对象进行合成,提高音频合成的精确度和真实度。
163.示例性的,若待配音文本中包含两个角色的话语互动,设定人物e作为旁白配音对象,设定人物f作为第一个角色的配音对象,设定人物g作为第二个角色的配音对象,那么最后得到的tts合成音频中,包括模仿人物e的声音对旁白文本进行配音的音频(即旁白文本的tts合成音频)、模仿人物f的声音对第一个角色话语文本进行配音的音频以及模仿人物g的声音对第二个角色话语文本进行配音的音频(即每个角色话语文本的tts合成音频)。
164.一些情况下,可以通过终端设备采用tts技术,将待配音文本转换成tts合成音频。
165.另一些情况下,可以通过终端设备将待配音文本以及设定好的配音对象,共同发送至云端服务器,由云端服务器采用tts技术,将待配音文本转换成tts合成音频,然后发送回终端设备。这种情况下,终端设备无需进行tts音频转换处理,能够降低终端设备的功耗。
166.步骤23,获取配音发声点与用户头部位置之间的相对方位。其中,配音发声点为所述待配音文本的tts合成音频的空间输出位置。
167.配音发声点与用户头部位置之间的相对方位为预先设定好的,限定了tts合成音频中配音对象的声音从什么空间方位传入用户的耳朵中。
168.示例性的,用户可以按照喜好,设定配音发声点与自身头部位置之间的相对方位,后续对待配音文本的tts合成音频进行3d渲染时,每个配音发声点都会按照用户设定的方位传入耳朵中,增强用户的个性化体验感,有助于用户对文本的理解。
169.示例性的,终端设备可以随机生成配音发声点与用户头部位置之间的相对方位,只要确保不同配音对象的声音传入用户耳朵中的空间方位不同即可,以避免用户对产生混淆,影响对文本的理解。
170.在一种实现方式中,所述配音发声点包括旁白发声点及每个角色发声点。
171.配音发声点与用户头部位置之间的相对方位包括:旁白发声点与用户头部位置之间的相对方位、每个角色发声点与用户头部位置之间的相对方位。
172.旁白发声点与用户头部位置之间的相对方位,限定了旁白配音对象的声音从什么方位传入用户的耳朵中。
173.每个角色发声点与用户头部位置之间的相对方位,限定了每个角色配音对象的声音从什么方位传入用户的耳朵中。
174.步骤24,根据所述配音发声点与用户头部位置之间的相对方位,对所述待配音文本的tts合成音频进行3d渲染。
175.步骤21至步骤24提供一种文本转3d音频的方法,该方法中,针对用户选定的待处理文本,提取待配音文本,然后基于预先设定的配音发声点与用户头部位置之间的相对方位,对待配音文本的tts合成音频进行3d渲染,得到3d音频。用户通过耳机或音箱听取时,不同配音对象的声音能够按照预设的空间方位传至用户双耳中,使得用户能够真实的感觉到,多个角色正在自己的周围进行话语互动,给用户提供真实的3d环绕感,对待处理文本的理解方式变得生动灵活,而且即使存在音色相近的配音,由于方位不同,也不会使用户产生
混淆,避免对文本理解产生误差。
176.在本技术提供的实施例中,所述配音发声点包括旁白发声点及每个角色发声点,所述待配音文本的tts合成音频包括旁白文本的tts合成音频和每个角色话语文本的tts合成音频,那么步骤24,根据所述配音发声点与用户头部位置之间的相对方位,对所述待配音文本的tts合成音频进行3d渲染,包括:
177.步骤241,根据所述旁白发声点与所述用户头部位置之间的相对方位,对所述旁白文本的tts合成音频进行3d渲染。
178.步骤242,根据所述每个角色发声点与所述用户头部位置之间的相对方位,对所述每个角色话语文本的tts合成音频进行3d渲染。
179.本实施例采用hrtf函数执行音频3d渲染操作,hrtf(head related transfer function)函数为头相关传输函数,是一种音效定位算法,对应时域的头相关冲击响应,通过模拟人体头部,研究多个空间方位的头相关脉冲响应数据,构建hrtf数据库。实际应用中,根据设定好的音频空间输出方位,在hrtf数据库中查找相应的滤波系数,通过该滤波系数对音频进行处理,便可得到3d音频。
180.其中,对所述旁白文本的tts合成音频进行3d渲染,包括:
181.根据所述旁白发声点与所述用户头部位置之间的相对方位,在hrtf数据库中进行查找,获取旁白发声点对应的第一hrtf滤波系数。
182.将旁白文本的tts合成音频从时域转换至频域,然后与第一hrtf滤波系数进行相乘,将相乘得到的结果转换回时域,得到旁白文本的空间渲染信号,实现旁白文本tts合成音频的3d渲染。
183.其中,对所述每个角色话语文本的tts合成音频进行3d渲染,包括:
184.根据所述每个角色发声点与所述用户头部位置之间的相对方位,在hrtf数据库中进行查找,获取每个角色发声点对应的第二hrtf滤波系数。
185.将每个角色话语文本的tts合成音频从时域转换至频域,然后与各自发声点对应的第二hrtf滤波系数进行相乘,将相乘得到的结果转换回时域,得到每个角色话语文本的空间渲染信号,实现每个角色话语文本tts合成音频的3d渲染。
186.本技术提供的实施例中,采用hrtf函数执行音频3d渲染操作之前,必须要确定音频的空间输出位置,即确定配音发声点与用户头部位置之间的相对方位,该相对方位可以由用户预先设定,也可以由终端设备随机生成。
187.用户或者终端设备在设定配音发声点与用户头部位置之间的相对方位时,存在以下几种情况:
188.第一种情况,考虑每个配音发声点的高度与用户一样高,每个配音发声点从用户头部高度处的不同侧传至用户耳朵中。
189.例如,若待配音文本中包含两个角色的话语互动,配音发声点包括旁白发声点及两个角色发声点。在第一种情况下,可以设定旁白发声点在用户正脸的正前方;第一个角色发声点位于用户正脸的左侧三十度处;第二个角色发声点位于用户正脸的右侧三十度处。示例性的,左侧可以用正号表示,右侧可以用负号表示,那么左侧三十度可表示为+30
°
,右侧三十度可表示为-30
°
。
190.第二种情况,考虑每个配音发声点的高度不一定与用户一样高,且每个配音发声
点可能从不同侧传至用户耳朵中。这种情况下,由于旁白仅是叙述性的描述,不需要增加人物真实感,因此可以将旁白发声点默认与用户头部一样高。将不同角色发声点设置在不同高度,以模拟角色人物的真实身高,增加用户的3d体验感。
191.例如,基于第一种情况中的示例,在第二种情况下,可以设定旁白发声点的高度与用户头部一样高;第一个角色发声点位于用户头部的仰角十度处;第二个角色发声点位于用户头部的俯角五度处。本实施例中,使用俯仰偏移角表示配音发音点相较于用户头部位于何种高度,俯仰偏移角为配音发声点与用户头部的连线相较于水平线的角度,示例性的,仰角代表配音发声点位于用户头部上方,可以用正号表示,俯角代表配音发声点位于用户头部下方,可以用负号表示,那么仰角十度可表示为+10
°
,俯角五度可表示为-5
°
。
192.第三种情况,在第二种情况的基础上,考虑每个配音发声点从不同高度处的不同侧传至用户耳朵中,而且,每个配音发声点与用户头部之间存在不同的距离。
193.例如,基于第二种情况中的示例,在第三种情况下,可以设定旁白发声点与用户头部距离一米;第一个角色发声点与用户头部距离0.8米;第二个角色发声点与用户头部距离0.9米。
194.第四种情况,在第三种情况的基础上,允许每个角色发声点在不同时刻发生小幅度的水平角度偏移,以模拟真实人物在用户周围说话时的随机晃动感,这种情况下,不考虑旁白,仅考虑每个角色的人物真实感,控制每个角色发声点的高度不变,与用户头部的距离不变,在水平方向上以用户为中心进行小幅度移动,增加每个角色的真实感。
195.例如,基于第三种情况中的示例,在第四种情况下,可以设定旁白发声点任何时刻都保持不变;第一个角色发声点可以发生角度不大于五度的水平移动,因而该角色发声点在某个时刻,可能位于用户正脸左侧的二十五度至三十五度范围之内的任一个角度;第二个角色发声点可以发生角度不大于八度的水平移动,即该角色发声点在某个时刻,可能位于用户正脸右侧的二十二度至三十八度范围之内的任一个角度。
196.针对上述第一种情况,本技术提供一种实现方式,该实现方式中,所述用户头部位置包括用户正脸的水平偏角。示例性的,用户正脸的水平偏角以终端设备为基准,若用户正脸朝向终端设备,则用户正脸的水平偏角为0度。
197.所述旁白发声点与所述用户头部位置之间的相对方位包括:所述旁白发声点相较于所述用户正脸的水平偏移角度,这一角度限定了旁白配音对象的声音从什么方位传至用户的耳朵中。
198.所述每个角色发声点与所述用户头部位置之间的相对方位包括:所述每个角色发声点相较于所述用户正脸的水平偏移角度,这一角度限定了每个角色配音对象的声音从什么方位传至用户的耳朵中。
199.在这种实现方式下,当用户头部发生转动,正脸没有朝向终端设备时,用户正脸的水平偏角不为零,若直接采用预设的配音发声点发声点相较于用户正脸的水平偏移角度,对待配音文本的tts合成音频进行3d渲染,那么会因为用户正脸水平偏角的存在,导致获取的空间渲染信号产生偏差,使得配音对象的声音不会按照预设的方位传至用户的耳朵中。
200.为了避免上述问题,步骤241:根据所述旁白发声点与所述用户头部位置之间的相对方位,对所述旁白文本的tts合成音频进行3d渲染,包括:
201.步骤2411,获取第一水平角度差,所述第一水平角度差为所述旁白发声点相较于
所述用户正脸的水平偏移角度与所述用户正脸的水平偏角之间的差值。
202.步骤2412,根据所述第一水平角度差,对所述旁白文本的tts合成音频进行3d渲染。
203.通过步骤2411-步骤2412提供的方法,将旁白发声点相较于用户正脸的水平偏移角度,减去用户正脸的水平偏角,得到第一水平角度差,然后采用第一水平角度差,对旁白文本的tts合成音频进行3d渲染,如此可以避免空间渲染信号产生偏差,提高旁白发声点传入用户耳朵中的方位准确度。
204.步骤242:根据所述每个角色发声点与所述用户头部位置之间的相对方位,对所述每个角色话语文本的tts合成音频进行3d渲染,包括:
205.步骤2421,获取第二水平角度差,所述第二水平角度差为所述每个角色发声点相较于所述用户正脸的水平偏移角度与所述用户正脸的水平偏角之间的差值。
206.步骤2422,根据所述第二水平角度差,对所述每个角色话语文本的tts合成音频进行3d渲染。
207.通过步骤2421-步骤2422提供的方法,将每个角色发声点相较于用户正脸的水平偏移角度,减去用户正脸的水平偏角,得到第二水平角度差,然后采用第二水平角度差,对每个角色话语文本的tts合成音频进行3d渲染,如此可以避免空间渲染信号产生偏差,提高每个角色发声点传入用户耳朵中的方位准确度。
208.作为示例,假设某一配音发声点(可能为旁白发声点或者某个角色发声点)表示为rk,用户表示为u,用户正脸的水平偏角表示为αu(t),这一配音发声点相对于用户正脸的水平偏移角度表示为那么第一水平角度差或者第二水平角度差可以通过以下公式获取:
[0209][0210]
其中,表示第一水平角度差或者第二水平角度差。
[0211]
结合上述第一种情况中的举例,旁白发声点在用户头部的正前方,对应的为0度;第一个角色发声点位于用户头部的左侧三十度处,对应的为+30
°
;第二个角色发声点位于用户头部的右侧三十度处,对应的为-30
°
。
[0212]
若设定人物e作为旁白配音对象,设定人物f作为第一个角色的配音对象,设定人物g作为第二个角色的配音对象,那么用户或者终端设备在设定配音发声点与用户头部位置之间的相对方位时,显示界面可以如图3所示。
[0213]
对于旁白发声点来说,第一水平角度差对于第一个角色来说,第二水平角度差对于第二个角色来说,第二水平角度差
[0214]
得到旁白发声点对应的第一水平角度差后,在hrtf数据库中进行查找,获取第一hrtf滤波系数。利用第一hrtf滤波系数,对旁白文本的tts合成音频进行3d渲染。
[0215]
得到每个角色发声点对应的第二水平角度差后,在hrtf数据库中进行查找,获取每个角色发声点对应的第二hrtf滤波系数。利用第二hrtf滤波系数,对每个角色话语文本
的tts合成音频进行3d渲染。
[0216]
针对上述第二种情况,本技术提供一种实现方式,该实现方式中,所述每个角色发声点与所述用户头部位置之间的相对方位不仅包括:所述每个角色发声点相较于所述用户正脸的水平偏移角度,还包括:所述每个角色发声点相较于所述用户头部的俯仰偏移角度。
[0217]
在这种实现方式下,步骤242:所述根据所述每个角色发声点与所述用户头部位置之间的相对方位,对所述每个角色话语文本的tts合成音频进行3d渲染,包括:
[0218]
步骤2423,获取第二水平角度差,所述第二水平角度差为所述每个角色发声点相较于所述用户正脸的水平偏移角度与所述用户正脸的水平偏角之间的差值。
[0219]
步骤2424,根据所述第二水平角度差及所述每个角色发声点相较于所述用户头部的俯仰偏移角度,对所述每个角色话语文本的tts合成音频进行3d渲染。
[0220]
不管用户是抬头还是低头,其头部的高度都不会产生变化,因此,每个角色发声点相较于用户头部的俯仰偏移角度也不会发生变化。步骤2423-步骤2424提供的方法中,将每个角色发声点相较于用户正脸的水平偏移角度,减去用户正脸的水平偏角,得到第二水平角度差,然后采用第二水平角度差,以及每个角色发声点相较于所述用户头部的俯仰偏移角度,对每个角色话语文本的tts合成音频进行3d渲染,不仅可以避免空间渲染信号产生偏差,提高每个角色发声点传入用户耳朵中的方位准确度,还能使每个角色发声点具备角色人物的真实高度,提高用户的体验感。
[0221]
在第一种情况提供的实现方式基础上,作为示例,假设这一角色发声点相较于用户头部的俯仰偏移角度表示为那么结合上述第二种情况中的举例,第一个角色发声点位于用户头部的仰角十度处,则对应的为+10
°
;第二个角色发声点位于用户头部的俯角五度处,则对应的为-5
°
。
[0222]
用户或者终端设备在设定配音发声点与用户头部位置之间的相对方位时,显示界面可以如图4所示。
[0223]
基于每个角色发声点对应的第二水平角度差及所述每个角色发声点相较于所述用户头部的俯仰偏移角度,在hrtf数据库中进行查找,获取每个角色对应的第二hrtf滤波系数。利用第二hrtf滤波系数,对每个角色话语文本的tts合成音频进行3d渲染。
[0224]
针对上述第三种情况,本技术提供一种实现方式,该实现方式中,所述旁白发声点与所述用户头部位置之间的相对方位不仅包括:所述旁白发声点相较于所述用户正脸的水平偏移角度,还包括旁白发声点距离,所述旁白发声点距离为所述旁白发声点与所述用户双耳连线中心点之间的距离。
[0225]
所述每个角色发声点与所述用户头部位置之间的相对方位不仅包括:所述每个角色发声点相较于所述用户正脸的水平偏移角度,以及,所述每个角色发声点相较于所述用户头部的俯仰偏移角度,还包括:每个角色发声点距离,所述每个角色发声点距离包括所述每个角色发声点与所述用户双耳连线中心点之间的距离。
[0226]
在这种实现方式下,步骤241:所述根据所述旁白发声点与所述用户头部位置之间的相对方位,对所述旁白文本的tts合成音频进行3d渲染,包括:
[0227]
步骤2413,获取第一水平角度差,所述第一水平角度差为所述旁白发声点相较于所述用户正脸的水平偏移角度与所述用户正脸的水平偏角之间的差值。
[0228]
步骤2414,根据所述第一水平角度差及所述旁白发声点距离,对所述旁白文本的tts合成音频进行3d渲染。
[0229]
通过步骤2413-步骤2414提供的方法,将旁白发声点相较于用户正脸的水平偏移角度,减去用户正脸的水平偏角,得到第一水平角度差,然后采用第一水平角度差以及预设的旁白发声点距离,对旁白文本的tts合成音频进行3d渲染,不仅可以避免空间渲染信号产生偏差,提高旁白发声点传入用户耳朵中的方位准确度,还能模拟出旁白发声点与用户之间的距离感,提高用户的体验感。
[0230]
在这种实现方式下,步骤242:所述根据所述每个角色发声点与所述用户头部位置之间的相对方位,对所述每个角色话语文本的tts合成音频进行3d渲染,包括:
[0231]
步骤2425,获取第二水平角度差,所述第二水平角度差为所述每个角色发声点相较于所述用户正脸的水平偏移角度与所述用户正脸的水平偏角之间的差值。
[0232]
步骤2426,根据所述第二水平角度差、所述每个角色发声点相较于所述用户头部的俯仰偏移角度及所述每个角色发声点距离,对所述每个角色话语文本的tts合成音频进行3d渲染。
[0233]
通过步骤2425-步骤2426提供的方法,将每个角色发声点相较于用户正脸的水平偏移角度,减去用户正脸的水平偏角,得到第二水平角度差,然后采用第二水平角度差、每个角色发声点相较于所述用户头部的俯仰偏移角度以及每个角色发声点距离,对每个角色话语文本的tts合成音频进行3d渲染,不仅可以避免空间渲染信号产生偏差,提高每个角色发声点传入用户耳朵中的方位准确度,还能使每个角色发声点具备角色人物的真实高度,模拟出每个角色人物与用户之间的距离感,提高用户的体验感。
[0234]
结合上述第三种情况中的举例,旁白发声点在用户头部的正前方一米处,则对应的旁白发声点距离为一米;第一个角色发声点与用户头部之间的距离为0.8米,则对应的角色发声点距离为0.8米;第二个角色发声点与用户头部之间的距离为0.9米,则对应的角色发声点距离为0.9米。
[0235]
用户或者终端设备在设定配音发声点与用户头部位置之间的相对方位时,显示界面可以如图5所示。
[0236]
在这种实现方式中,按照第二种情况提供的公式,计算旁白发声点对应的第一水平角度差、每个角色发声点对应的第二水平角度差。
[0237]
根据旁白发声点对应的第一水平角度差及旁白发声点距离,在hrtf数据库中进行查找,获取第一hrtf滤波系数。利用第一hrtf滤波系数,对旁白文本的tts合成音频进行3d渲染。
[0238]
根据每个角色发声点对应的第二水平角度差、所述每个角色发声点相较于所述用户头部的俯仰偏移角度及每个角色发声点距离,在hrtf数据库中进行查找,获取每个角色发声点对应的第二hrtf滤波系数。利用第二hrtf滤波系数,对每个角色话语文本的tts合成音频进行3d渲染。
[0239]
针对上述第四种情况,本技术提供一种实现方式,该实现方式中,所述每个角色发声点与所述用户头部位置之间的相对方位不仅包括:所述每个角色发声点相较于所述用户正脸的水平偏移角度、所述每个角色发声点相较于所述用户头部的俯仰偏移角度,以及每个角色发声点距离,还包括:所述每个角色发声点的随机水平偏移角度。
[0240]
在这种实现方式下,步骤242:根据所述每个角色发声点与所述用户头部位置之间的相对方位,对所述每个角色话语文本的tts合成音频进行3d渲染,包括:
[0241]
步骤2427,获取第二水平角度差,所述第二水平角度差为所述每个角色发声点相较于所述用户正脸的水平偏移角度与所述用户正脸的水平偏角之间的差值。
[0242]
步骤2428,获取第三水平角度和,所述第三水平角度和为所述每个角色发声点的随机水平偏移角度与所述第二水平角度差的和。
[0243]
步骤2429,根据所述第三水平角度和、所述每个角色发声点相较于所述用户头部的俯仰偏移角度及所述每个角色发声点距离,对所述每个角色话语文本的tts合成音频进行3d渲染。
[0244]
通过步骤2427-步骤2429提供的方法,将每个角色发声点相较于用户正脸的水平偏移角度,减去用户正脸的水平偏角,得到第二水平角度差,然后将第二水平角度差加上随机水平偏移角度,得到第三水平角度和,采用第三水平角度和、每个角色发声点相较于所述用户头部的俯仰偏移角度以及每个角色发声点距离,对每个角色话语文本的tts合成音频进行3d渲染,不仅可以避免空间渲染信号产生偏差,提高每个角色发声点传入用户耳朵中的方位准确度,还能使每个角色发声点具备角色人物的真实高度,模拟出每个角色人物与用户之间的距离感、每个角色人物在说话时的身体晃动感,以提高用户的体验感。
[0245]
作为示例,假设某个角色发声点在某一时刻的随机水平偏移角度表示为且那么第三水平角度和可以通过以下公式获取:
[0246][0247]
结合上述第四种情况中的举例,第一个角色发声点可以进行角度不大于五度的水平移动,则对应的为5;第二个角色发声点可以进行角度不大于八度的水平移动,则对应的为8。
[0248]
用户或者终端设备在设定配音发声点与用户头部位置之间的相对方位时,显示界面可以如图6所示。
[0249]
在这种实现方式中,第一个角色发声点对应的第三水平角度和为且第二个角色发声点对应的第三水平角度和为且
[0250]
根据得到的每个角色的第三水平角度和、所述每个角色发声点相较于所述用户头部的俯仰偏移角度及每个角色发声点距离,在hrtf数据库中进行查找,获取每个角色发声点对应的第二hrtf滤波系数。利用第二hrtf滤波系数,对每个角色话语文本的tts合成音频进行3d渲染。
[0251]
针对第四种情况,本技术实施例还提供一种随机水平偏移角度生成的方法。rand函数能够生成位于两个指定数之间的一个随机整数,本实施例结合rand函数,在用户设定好两个指定数以及取值的基础上,通过以下公式生成任一时刻的随机水平偏移角度:
[0252][0253]
其中,rand(t)能够在第t时刻生成一个位于0-norm范围内的随机整数。
[0254]
为了避免某个角色发声点在相邻两个时刻内,随机水平偏移角度相差较大,使得角色发声点发生较大幅度的移动,影响用户的体验,本实施例采用平滑因子,为随机水平偏移角度的生成加入平滑操作,参见以下公式:
[0255][0256][0257]
其中,w是平滑因子,取值范围是[0,1],w越小,随机水平偏移角度在相邻两个时刻内的变化就越平滑。
[0258]
作为示例,假设norm=1,w=0.2,那么任一时刻的随机水平偏移角度为:
[0259][0260][0261]
上述实施例中,用户可以设定每个角色发声点的水平随机偏移角度,使得经过3d渲染之后输出的音频中,每个角色发声点在不同时刻会进行移动,以模拟真实人物在说话过程中的晃动,且通过加入平滑操作,使得角色发声点在相邻两个时刻内发生的偏移不会太大,尽可能的自然真实,优化用户的体验。
[0262]
上述四种情况,需以用户头部位置为基础,然后按照预先设定的配音发声点与用户头部位置之间的相对方位,对音频进行3d渲染。在3d渲染的过程中,可以保持对用户头部的头动跟踪,也可以关闭对用户头部的头动跟踪。头动跟踪是指实时获取用户头部位置,包括用户头部的移动或水平偏转。
[0263]
若保持对用户头部的头动跟踪,那么需要实时获取用户头部位置,基于获取的结果,实时对待配音文本的tts合成音频进行3d渲染,且需边渲染边输出。若关闭对用户头部的头动跟踪,则无需实时获取用户头部位置,只需在进行3d渲染的最初始时刻,获取用户头部位置,后续整个3d渲染的过程,都以最初始用户头部位置为依据,可以边渲染边输出,也可以提前全部渲染完成,再输出。
[0264]
实际情景中,若用户的周围真实存在多个人物进行话语互动,那么在用户发生移动时,真实存在的人物是不会随着用户的移动而移动的。
[0265]
若保持对用户头部的头动跟踪,那么只要用户头部发生移动或偏转,用户正脸的水平偏角αu(t)会发生变化,旁白发声点对应的第一水平角度差以及每个角色发声点对应的第二水平角度差,皆会发生变化。经过3d渲染之后,不同时刻对应不同的空间渲染信号,在用户头部位置不同的基础上,每个配音发声点的空间输出位置,将保持不变,不会随着用户的移动而发生变化,如此可以模拟出角色人物的真实存在感。
[0266]
若关闭对用户头部的头动跟踪,那么不管用户头部是否发生移动或偏转,用户正脸在每个时刻的水平偏角αu(t)始终为初始时刻的大小,即αu(0),如此,在任一时刻,旁白发声点对应的第一水平角度差及每个角色发声点对应的第二水平角度差,都不会发生变化。经过3d渲染之后,不同时刻对应相同的空间渲染信号,在用户头部位置不同的基础上,每个配音发声点的空间输出位置,始终会以用户头部的变化为基础,而产生相应的变化。例如,针对示例中的旁白发声点,当用户走动或者转动头部时,旁白发声点将始终保持在用户头
部正前方一米处。
[0267]
用户或者终端设备在设定配音发声点与用户头部位置之间的相对方位时,可以考虑上述四种情况,具体实施时,还存在其余一些情况,具体根据hrtf数据库中存储的冲击响应数据设定。例如,若hrtf数据库只存储固定某个距离的冲激响应数据(例如距离固定为0.5米),且俯仰角偏移角度固定为0度,那么在设定配音发声点与用户头部位置之间的相对方位时,每个角色发声点距离和旁白发声点距离必须固定为0.5米,每个配音发声点的高度与用户头部高度相等。
[0268]
本实施例中,用户头部位置可以采用以下几种方式获取:
[0269]
在一些情况下,采用图像处理的方式获取用户头部位置,实际操作中,可以通过另外的图像采集装置,或者,通过终端设备自带的图像采集装置,采集用户头部图像,然后针对所述用户头部图像进行分析,以获取用户头部位置。
[0270]
示例性的,结合图7,若通过图像处理的方式获取用户头部位置,则利用图像采集装置拍摄用户头部图像,通过终端设备对图像进行分析。分析过程中,首先检测用户的头部,分析出头部的半径rh,然后检测用户的脸部,进一步检测用户的双耳,通过分析,获取得到左耳离终端设备的垂直距离dl,和右耳离终端设备的垂直距离dr,最后利用以下公式,计算出用户正脸的水平偏角α:
[0271][0272]
若并未检测到用户头部,为了提高音频转换效率,可以直接默认用户正脸的水平偏角为0度。
[0273]
在另一些情况下,通过运动传感器来捕捉用户头部向上、向下、向左或向右的移动,从而间接估算出用户头部的位置,运动传感器通常设置在用户佩戴的耳机上。在用户头部位置发生变化时,通过耳机携带的运动传感器,可以跟踪刷新用户的头部相对位置,实现对用户头部的头动跟踪。
[0274]
示例性的,若通过运动传感器的方式获取用户头部位置,则在获取用户头部位置时,由于运动传感器只能检测用户在任意两个时刻之间的头部转动角度,不能获知用户在某一时刻的水平偏角,因此这种情况下,可以将最初始时用户正脸的水平偏角默认为0度。后续若对用户头部进行头动跟踪,只要获取用户头部在两个时刻之间的转动角度,便可以获取用户头部在后一个时刻的水平偏角。
[0275]
实际应用中,若用户佩戴耳机来听取音频,则可以通过上述任一种方式或两种方式结合来获取用户的头部位置。若用户未佩戴耳机,而是通过音箱来听取,则可以采用图像处理的方式获取用户头部位置。
[0276]
示例性的,若结合图像处理和运动传感器的方式获取用户头部位置,当图像采集装置能够捕捉到用户的双耳时,便以图像处理的方式来分析用户头部的偏转角度,当不能捕捉到用户的双耳时,则采用运动传感器获取用户头部的偏转角度。例如,当用户头部旋转到一定程度,图像采集装置只能捕捉到其中一只耳朵时,可以切换至运动传感器继续跟踪用户头部的运动,在其中一只耳朵在图像中快消失前,便将这个时刻经图像处理得到的用户头部水平偏角,设置为运动传感器中的用户头部初始水平偏角。
[0277]
实际应用中,若用户选择保持头动跟踪,终端设备可以生成相应选项提供给用户,
参见图8所示的显示界面,用户可以选择通过运动传感器和/或图像处理器进行头动跟踪。
[0278]
在一种实现方式中,待配音文本还包括临时事件文本,临时事件是指场景或环境中非角色发出的待配音事件,例如:“下雨”、“打雷”或者“鸟叫”等事件。由于是非角色发出的待配音事件,因此针对旁白文本进行分析检测,便可以识别出临时事件文本,作为示例,可以通过以下几种方法来识别:
[0279]
一.在旁白文本中,通过关键词查找的方法,检测出临时事件文本。这种方法需要建立词典数据库,以及建立一个针对临时事件的词语列表,对输入的旁白文本进行分词和查找匹配,识别出这些临时事件文本。
[0280]
二.通过深度学习的方法,例如使用开源的opennlp、nltk或斯坦福nlp等自然语言处理算法,构建初始模型,然后使用预先标注完成的训练集文本进行训练,得到语义分析神经网络模型,使用语义分析神经网络模型来识别旁白文本中的临时事件文本。其中预先对训练集文本进行标注的操作,包括标注训练集文本中的分句、分词、标点,以及临时事件。
[0281]
实际操作中,可以采取上述任一种或多种方法结合,对旁白文本进行语义分析,识别出临时事件文本,提高识别准确率。
[0282]
识别出临时事件文本之后,对临时事件文本进行配音,可以提高3d音频的场景真实感,使用户身临其境。实际操作时,可以预设一个临时事件音频库中,从这个音频库中查找与临时事件文本相对应的音频,在对待配音文本的tts合成音频进行3d渲染的同时,将临时事件文本的音频插入到对应时间点。由于临时事件为场景或环境中非角色发出的待配音事件,在音频中充当背景,可以不用对其进行方位的渲染,直接输出。
[0283]
下述为本技术的装置实施例,可以用于执行本技术的方法实施例。对于本技术装置实施例中未披露的细节,请参照本技术的方法实施例。
[0284]
作为对上述各实施例的实现,本技术实施例公开一种文本转3d音频的装置,该装置应用于终端设备,包括:
[0285]
文本获取模块,用于获取用户选定的待处理文本。
[0286]
文本处理模块,用于根据所述待处理文本,获取待配音文本。
[0287]
方位设定模块,用于获取配音发声点与用户头部位置之间的相对方位,所述配音发声点为所述待配音文本的tts合成音频的空间输出位置。
[0288]
3d渲染模块,用于根据所述配音发声点与用户头部位置之间的相对方位,对所述待配音文本的tts合成音频进行3d渲染。
[0289]
本技术实施例公开的一种文本转3d音频的装置,通过该装置,针对用户选定的待处理文本,提取待配音文本,然后基于预先设定的配音发声点与用户头部位置之间的相对方位,对待配音文本的tts合成音频进行3d渲染,得到3d音频。用户通过耳机或音箱听取时,不同配音对象的声音能够按照预设的空间方位传至用户双耳中,使得用户能够真实的感觉到,多个角色正在自己的周围进行话语互动,给用户提供真实的3d环绕感,对待处理文本的理解方式变得生动灵活,而且即使存在音色相近的配音,由于方位不同,也不会使用户产生混淆,避免对文本理解产生误差。
[0290]
一种实现方式中,所述待配音文本包括旁白文本及每个角色话语文本。所述配音发声点包括旁白发声点及每个角色发声点。
[0291]
一种实现方式中,所述3d渲染模块包括:
[0292]
旁白3d渲染单元,用于根据所述旁白发声点与所述用户头部位置之间的相对方位,对所述旁白文本的tts合成音频进行3d渲染。
[0293]
角色3d渲染单元,用于根据所述每个角色发声点与所述用户头部位置之间的相对方位,对所述每个角色话语文本的tts合成音频进行3d渲染。
[0294]
一种实现方式中,所述用户头部位置包括用户正脸的水平偏角。
[0295]
所述旁白发声点与所述用户头部位置之间的相对方位包括:所述旁白发声点相较于所述用户正脸的水平偏移角度。
[0296]
所述每个角色发声点与所述用户头部位置之间的相对方位包括:所述每个角色发声点相较于所述用户正脸的水平偏移角度。
[0297]
一种实现方式中,所述旁白3d渲染单元还用于:获取第一水平角度差,所述第一水平角度差为所述旁白发声点相较于所述用户正脸的水平偏移角度与所述用户正脸的水平偏角之间的差值。根据所述第一水平角度差,对所述旁白文本的tts合成音频进行3d渲染。
[0298]
通过上述方案,旁白3d渲染单元采用第一水平角度差,对旁白文本的tts合成音频进行3d渲染,如此可以避免空间渲染信号产生偏差,提高旁白发声点传入用户耳朵中的方位准确度。
[0299]
一种实现方式中,所述角色3d渲染单元还用于:获取第二水平角度差,所述第二水平角度差为所述每个角色发声点相较于所述用户正脸的水平偏移角度与所述用户正脸的水平偏角之间的差值。根据所述第二水平角度差,对所述每个角色话语文本的tts合成音频进行3d渲染。
[0300]
通过上述方案,角色3d渲染单元采用第二水平角度差,对每个角色话语文本的tts合成音频进行3d渲染,如此可以避免空间渲染信号产生偏差,提高每个角色发声点传入用户耳朵中的方位准确度。
[0301]
一种实现方式中,所述每个角色发声点与所述用户头部位置之间的相对方位还包括:所述每个角色发声点相较于所述用户头部的俯仰偏移角度。
[0302]
一种实现方式中,所述角色3d渲染单元还用于:获取第二水平角度差,所述第二水平角度差为所述每个角色发声点相较于所述用户正脸的水平偏移角度与所述用户正脸的水平偏角之间的差值。根据所述第二水平角度差及所述每个角色发声点相较于所述用户头部的俯仰偏移角度,对所述每个角色话语文本的tts合成音频进行3d渲染。
[0303]
通过上述方案,不仅可以避免空间渲染信号产生偏差,提高每个角色发声点传入用户耳朵中的方位准确度,还可以将不同角色发声点设置在不同高度,使每个角色发声点具备角色人物的真实高度,提高用户的体验感。
[0304]
一种实现方式中,所述旁白发声点与所述用户头部位置之间的相对方位还包括旁白发声点距离,所述旁白发声点距离为所述旁白发声点与所述用户双耳连线中心点之间的距离。
[0305]
所述每个角色发声点与所述用户头部位置之间的相对方位还包括每个角色发声点距离,所述每个角色发声点距离包括所述每个角色发声点与所述用户双耳连线中心点之间的距离。
[0306]
一种实现方式中,所述旁白3d渲染单元还用于:获取第一水平角度差,所述第一水平角度差为所述旁白发声点相较于所述用户正脸的水平偏移角度与所述用户正脸的水平
偏角之间的差值。根据所述第一水平角度差及所述旁白发声点距离,对所述旁白文本的tts合成音频进行3d渲染。
[0307]
通过上述方案,不仅可以避免空间渲染信号产生偏差,提高旁白发声点传入用户耳朵中的方位准确度,还能模拟出旁白发声点与用户之间的距离感,提高用户的体验感。
[0308]
一种实现方式中,所述角色3d渲染单元还用于:获取第二水平角度差,所述第二水平角度差为所述每个角色发声点相较于所述用户正脸的水平偏移角度与所述用户正脸的水平偏角之间的差值。根据所述第二水平角度差、所述每个角色发声点相较于所述用户头部的俯仰偏移角度及所述每个角色发声点距离,对所述每个角色话语文本的tts合成音频进行3d渲染。
[0309]
通过上述方案,不仅可以避免空间渲染信号产生偏差,提高每个角色发声点传入用户耳朵中的方位准确度,还能使每个角色发声点具备角色人物的真实高度,并且模拟出每个角色人物与用户之间的距离感,提高用户的体验感。
[0310]
一种实现方式中,所述每个角色发声点与所述用户头部位置之间的相对方位还包括:所述每个角色发声点的随机水平偏移角度。
[0311]
一种实现方式中,所述角色3d渲染单元还用于:获取第二水平角度差,所述第二水平角度差为所述每个角色发声点相较于所述用户正脸的水平偏移角度与所述用户正脸的水平偏角之间的差值。获取第三水平角度和,所述第三水平角度和为所述每个角色发声点的随机水平偏移角度与所述第二水平角度差的和。根据所述第三水平角度和、所述每个角色发声点相较于所述用户头部的俯仰偏移角度及所述每个角色发声点距离,对所述每个角色话语文本的tts合成音频进行3d渲染。
[0312]
通过上述方案,不仅可以避免空间渲染信号产生偏差,提高每个角色发声点传入用户耳朵中的方位准确度,使每个角色发声点具备角色人物的真实高度,模拟出每个角色人物与用户之间的距离感,还能控制每个角色发声点在每个时刻,以用户为中心进行小幅度水平移动,模拟出每个角色人物在说话时的身体晃动感,提高用户的体验感。
[0313]
一种实现方式中,所述旁白3d渲染单元还用于:根据所述旁白发声点与所述用户头部位置之间的相对方位,获取第一hrtf滤波系数。根据所述第一hrtf滤波系数,对所述旁白文本的tts合成音频进行3d渲染。
[0314]
一种实现方式中,所述角色3d渲染单元还用于:根据所述每个角色发声点与所述用户头部位置之间的相对方位,获取第二hrtf滤波系数。根据所述第二hrtf滤波系数,对所述每个角色话语文本的tts合成音频进行3d渲染。
[0315]
一种实现方式中,所述装置还包括:头部位置获取模块,用于在获取配音发声点与用户头部位置之间的相对方位之前,获取所述用户头部位置。
[0316]
一种实现方式中,所述头部位置获取模块还用于:采集用户头部图像。针对所述用户头部图像,获取所述用户头部位置。
[0317]
一种实现方式中,所述装置还包括:模型预构模块,用于预先构建语义分析神经网络模型。
[0318]
一种实现方式中,所述文本处理模块还用于:将所述待处理文本输入至所述语义分析神经网络模型中。获取所述语义分析神经网络模型输出的所述待配音文本。
[0319]
一种实现方式中,所述装置还包括:临时事件获取模块,用于对所述旁白文本进行
语义分析,获取临时事件文本。临时音频获取模块,用于获取所述临时事件的tts合成音频。
[0320]
通过上述方案,对临时事件文本进行配音,可以提高3d音频的场景真实感,使用户身临其境。
[0321]
一种实现方式中,所述临时事件获取模块还用于:将所述旁白文本输入至所述语义分析神经网络模型中。获取所述语义分析神经网络模型输出的所述临时事件文本。
[0322]
相应的,与上述的方法相对应的,本技术实施例还公开一种终端装置,包括:
[0323]
至少一个处理器和存储器,其中,所述存储器,用于存储程序指令;
[0324]
所述处理器,用于调用并执行所述存储器中存储的程序指令,以使所述终端装置执行文本转3d音频方法的全部或部分步骤。
[0325]
本发明实施例的装置可对应于上述文本转3d音频装置,并且,该装置中的处理器等可以实现文本转3d音频装置所具有的功能和/或所实施的各种步骤和方法,为了简洁,在此不再赘述。
[0326]
需要说明的是,本实施例也可以基于通用的物理服务器结合网络功能虚拟化(英文:network function virtualization,nfv)技术实现的网络设备,所述网络设备为虚拟网络设备(如,虚拟主机、虚拟路由器或虚拟交换机)。所述虚拟网络设备可以是运行有用于发送通告报文功能的程序的虚拟机(英文:virtual machine,vm),所述虚拟机部署在硬件设备上(例如,物理服务器)。虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。本领域技术人员通过阅读本技术即可在通用物理服务器上虚拟出具有上述功能的多个网络设备。此处不再赘述。
[0327]
具体实现中,本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括指令。其中,设置在任意设备中计算机可读介质其在计算机上运行时,可实施包括方法实施例中的全部或部分步骤。所述计算机可读介质的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:rom)或随机存储记忆体(英文:random access memory,简称:ram)等。
[0328]
另外,本技术另一实施例还公开一种包含指令的计算机程序产品,当所述计算机程序产品在电子设备上运行时,使得所述电子设备可实施包括文本转3d音频方法中的全部或部分步骤。
[0329]
本技术实施例中所描述的各种说明性的逻辑单元和电路可以通过通用处理器,数字信息处理器,专用集成电路(asic),现场可编程门阵列(fpga)或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信息处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信息处理器核,或任何其它类似的配置来实现。
[0330]
本技术实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件单元、或者这两者的结合。软件单元可以存储于ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移动磁盘、cd-rom或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可
以设置于asic中,asic可以设置于ue中。可选地,处理器和存储媒介也可以设置于ue中的不同的部件中。
[0331]
应理解,在本技术的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0332]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
[0333]
本说明书的各个实施例之间相同相似的部分互相参见即可,每个实施例重点介绍的都是与其他实施例不同之处。尤其,对于装置和系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例部分的说明即可。
[0334]
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0335]
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于本技术公开的道路约束确定装置的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
[0336]
以上所述的本发明实施方式并不构成对本发明保护范围的限定。