一种游戏角色中文语音自动识别方法与流程

文档序号:16188445发布日期:2018-12-08 05:26阅读:619来源:国知局
一种游戏角色中文语音自动识别方法与流程

本发明涉及一种游戏角色中文语音自动识别方法,属于计算机游戏领域。

背景技术

随着互联网愈发发达,人们的娱乐休闲方式也越来越多样,而游戏行业在网络领域也是大行其道,现在大部分的游戏,都配有剧情对话动画,以增加玩家的代入感和沉浸感,目前制作剧情对话动画主要有两种方法,一是直接使用三维动画根据语音制作动画,二是基于音量改变口型大小。

参考图1及图2的现有技术的处理流程图。

图1所示的基本流程是:先由人工处理语音,使用三维动画软件根据语音调整制作整句的语音动画,然后观察是否满足游戏效果表现的需求,如不满足,则继续根据语音调整制作整句的语音动画,直到满足效果为止,最后输出每一句语音动画。

图2所示的基本流程是:获取游戏配音的音量大小,使用简单的代码参数来根据游戏语音声音大小控制人物嘴型的张合。

上述方法均有不同的缺陷,图1所示方法存在以下缺陷:

1、游戏中会存在大量的语音对话需求,根据具体需求每句话都要至少一个动画制作,如果每句语音都需要让美术通过人工制作的方式来制作语音动画,将会大量占用了3d动作美术的时间,这大量的工作量往往导致游戏工作室抛弃了这个细节层次优化的方案,从而降低游戏品质。

2由于没有自动化生成,制作的过程中,需要反复听每句语音,游戏制作中,语音量往往特别庞大,这种制作流程变得冗余而耗时。

图2所示方法存在以下缺陷:该方案采用比较常用的基于音量控制嘴型张合,即基于音量响度等方式初略的判断当时角色的口型张合。这种方式在要求精品化的游戏中不适用,因为仅仅的音量响度张合,使得角色缺乏真实感。



技术实现要素:

为解决上述问题,本发明的目的在于提供一种游戏角色中文语音自动识别方法,以达到自动化处理游戏角色语音口型表现,并且达到精品化游戏要求。

本发明解决其问题所采用的技术方案是:

一种游戏角色中文语音自动识别方法,所述方法包括以下步骤:

提取频谱数据的步骤,识别音频文件,读取音频文件并提取频谱数据;处理频谱数据的步骤,对频谱数据进行平滑滤波处理;获取共振峰数据的步骤,经过平滑滤波处理后的频谱数据,得到共振峰数据;生成口型动画数据的步骤,将得到的共振峰数据生成为口型动画数据。

进一步,所述提取频谱数据的步骤包括:获取配音音频文件识别配音音频文件是否为中文配音音频文件,若是则基于音频文件提取出频谱数据,若不是则不执行处理。

进一步,所述处理频谱数据的步骤包括:将频谱数据输入数组的值与高斯内核执行卷积操作,得到卷积结果并将卷积结果当做输出值,执行所述获取共振峰数据的步骤。

进一步,所述将频谱数据输入数组的值与高斯内核卷积的步骤包括:高斯模板生成及卷积处理。

进一步,所述高斯模板生成包括:创建高斯模板定义高斯模板的尺寸,以及σ;根据模板的尺寸,找到模板的中心位置;执行遍历处理,根据高斯分布的函数,计算模板中每个系数的值。

进一步,所述卷积处理的步骤包括:将得到的高斯模板作为权重与频谱数据执行乘算处理。

进一步,所述获取共振峰数据的步骤包括:计算频谱数据的峰值f1、f2、f3,得到共振峰数据。

进一步,所述生成口型动画数据的步骤包括:根据共振峰特点识别当前帧发的元音口型,匹配相应的元音动画以及权重;基于整段语音生成每帧的口型动画数据;将保存后的口型动画数据在游戏中进行测试。

进一步,该方法还包括:创建用于微调权重阈值及元音动画的编辑器,以及,根据微调权重阈值及元音动画进行自动生成对应的版本的口型动画。

本发明的有益效果是:本发明采用的一种游戏角色中文语音自动识别口型算法的设计,根据语音口型自动识别算法,实现了在游戏中自动化生成满足需求的角色对话口型动画,从而替代了动画制作人员手动制作每句语音动画的大量时间,以及节省动画资源大小,通过实时的自动识别语音元音,实时的反馈口型动画,达到良好的语音交互效果和视觉特征。

附图说明

图1所示为现有技术的三维动画软件处理流程图;

图2所示为现有技术的简单的音量修改流程图;

图3所示为根据本发明实施方式的算法流程图;

图4所示为根据本发明实施方式的在游戏中使用的总体流程图。

具体实施方式

以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。

需要说明的是,如无特殊说明,在本公开中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。此外,除非另有定义,本文所使用的所有的技术和科学术语与本技术领域的技术人员通常理解的含义相同。本文说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本发明。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。

应当理解,本文所提供的任何以及所有实例或示例性语言(“例如”、“如”等)的使用仅意图更好地说明本发明的实施例,并且除非另外要求,否则不会对本发明的范围施加限制。

图3所示为根据本发明实施方式的算法流程图。参照本发明的算法流程图,根据原始的中文配音音频提取频谱数据,得到声音频谱,将得到的频谱数据平滑滤波,所谓平滑滤波就是,将输入数组的指与高斯内核卷积,并将卷积结果当做输出值,随后处理平滑滤波后的频谱数据,就是将得到后的频谱数据,计算其峰值f1、f2、f3,得到共振峰数据,然后基于中文元音在共振峰上的特征,识别当前帧发的元音口型,匹配相应的元音动画以及权重,生成口型动画数据。

具体在游戏中的应用如下:将情景对话的中文配音,提取出频谱数据,由于各类音频处理系统在音频的采集、获取、传送和转换过程中,均处在复杂的环境中,所有的音频均不同程度地被可见或不可见的噪声干扰,为此采取相应的对策就是对音频进行必要的滤波降噪处理,也就是平滑滤波,具体做法为将输入数组的值与高斯内核卷积,将卷积结果输出即可得到平滑滤波后的频谱数据。

要将原始频谱数据与高斯内核卷积,首先要建立高斯模板,高斯模板的建立,是基于公式在参数代码中自定义模板大小ksize,以及sigma,模板生成的过程:首先根据自定义模板的大小,找到模板的中心位置ksize/2,然后以中心位置为起点开始遍历,根据高斯分布的函数,计算模板中每个系数的值,这样,高斯模板就建立完成了。

将建立的高斯模板作为权重,与原始的音频频谱数据相乘,得到平滑滤波后的频谱数据,计算峰值f1、f2、f3,得到共振峰数据,共振峰是指在声音的频谱中能量相对集中的一些区域,共振峰不但是音质的决定因素,而且反映了声道(共振腔)的物理特征。声音在经过共振腔时,受到腔体的滤波作用,使得频域中不同频率的能量重新分配,一部分因为共振腔的共振作用得到强化,另一部分则受到衰减。由于能量分布不均匀,强的部分犹如山峰一般,故而称之为共振峰。在语音声学中,元音的音高是多变的,但是不同元音之间是通过两种跟它们陪音相关的典型音高彼此区别开来,这种情况大致与前后元音间的区别相对应。元音音高高、舌位就低;元音音高低、舌位就高。这跟我们在发音术语中所说的元音高度一致。这些典型的陪音就是元音的共振峰,共振峰决定着元音的音质。相应的,声谱图上的f1跟舌位的高低相对应,f2跟舌位的前后相对应,圆唇不圆唇则与f2和f3都有关系。

基于中文元音在共振峰上的特征,开口越大f1越高,舌位越靠前f2越高,不圆唇元音的f3比圆唇元音高。识别当前帧发的元音口型。匹配相应的元音动画以及权重。基于整段语音生成每帧的口型动画数据,保存之后,在游戏中进行测试结果,以及微调数据。

上述算法在实际开发中,可以根据使用编码程序实现其功能,并编写一个简单的编辑器可以通过微调调节细节,这样就可以根据具体需求自动生成语音动画,然后编辑器微调细节达到游戏需要的效果,通过调整泉州阈值和元音动画来自动生成不同版本的口型动画。

图4所示为根据本发明实施方式的在游戏中使用的总体流程图。具体的对话动画生成,如图4的流程图所示,用相关软件建立元音发音的口型动作,根据不同的游戏和情景,确定游戏语音的需求,创建用于微调权重阈值及元音动画的编辑器,以及,根据微调权重阈值及元音动画进行自动生成对应的版本的口型动画。用上述的算法将配音中的相关数据提取出来,通过特定代码根据音频的频谱数据自动生成语音动画文件,将生成的动画文件套入游戏中检测,根据表现效果保持或者微调语音口型动画。

应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术-包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作——根据在具体实施例中描述的方法和附图。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。

此外,可按任何合适的顺序来执行本文描述的过程的操作,除非本文另外指示或以其他方式明显地与上下文矛盾。本文描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。

进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、ram、rom等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本文所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。

计算机程序能够应用于输入数据以执行本文所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。

以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1