一种动画角色汉语口型匹配的方法
技术领域
本发明涉及一种动画角色发声的方法,特别是一种汉字发声的方法。
技术背景
在制作有大量对话口型的动画时,口型动画量非常的大,一直都是制作过程的比较耗时的一项工作。无论制作精度如何,口型的制作都需要动画一点点同对话匹配制作,费时费力。
对于口型精度要求不高的动画,如果有一个方便的工具基本实现,然后根据要求,再精细调整,这样效果会大大提高。
发明内容
有鉴于此,本发明的目的在于提供一种动画角色汉语口型匹配的方法,通过优化口型模型,提高了制作效率。
为了达到上述目的,本发明一种动画角色汉语口型匹配的方法,包括:
利用正则表达式识别汉字对应的拼音中的最小口型单元;
从识别出的最小口型单元中统计每一个汉字的口型变化次数;
在动画中标注出所述汉字出现位置的关键帧;和
在预设的8种发音口型组合中选取每一个汉字所用到的口型,并根据先前统计出的口型变化次数,在关键帧前后融合挑选出的发音口型。
进一步地,所述识利用正则表达式别汉字对应的拼音中最小口型单元的方法包括:
区分汉字是否为单音节字,将单音节的字识别出其最小口型单元;
判断出非单音节字拼音中的声母和韵母;和
将非单音节字的声母和韵母拆分出最小口型单元。
进一步地,将非单音节字的声母和韵母拆分出最小口型单元的步骤中,对于非单音节字的声母,根据每个声母发音时是否带有自己的口型的特性,对于没有发音口型的声母其口型延继上一个发音的口型。
进一步地,将非单音节字的声母和韵母拆分出最小口型单元的步骤中,对于非单音节字的韵母,分析韵母是单口型还是复合口型,单口型包括一个发音口型,复合口型包括两个或两个以上发音口型。
进一步地,所述单口型在发音时是没有过渡的,所述复合口型在发音时是由两个以上口型过渡而成的。
进一步地,所述8种发音口型组合分别为:
B:对应声母b、m和p;
F:对应声母f;
I:对应声母z、c、s和韵母i、ei、in;
R:对应声母r、zh、ch和sh;
A:对应韵母a、ang和er;
AI:对应韵母ai、an和ie;
U:对应声母w、v和韵母u、o、iong、ong和ue;
E:对应韵母e、en和eng。
进一步地,所述在关键帧前后融合挑选出的发音口型步骤包括:
根据统计出的汉字口型个数的奇偶数确定关键帧以及前后两帧的发音口型;和
将一个汉字对应的声母和韵母发声口型依次在关键帧以及前后两帧内依照实际发声中的情况控制动画角色发音。
进一步地,所述根据统计出的汉字口型个数的奇偶数确定关键帧以及前后两帧的发音口型的方法包括:
对于一个最小口型的汉字,将对应的口型在关键帧上显示;
对于两个最小口型的汉字,将对应的口型分别在关键帧及其之后的一帧上现实;
对于三个最小口型的汉字,将对应的口型分别在关键帧之前一帧、关键帧以及关键帧之后的一帧上显示;和
对于四个最小口型的汉字,将对应的口型分别在关键帧之前一帧、关键帧、关键帧之后的一帧和关键帧之后的两帧上显示。
进一步地,所述将一个汉字对应的声母和韵母发声口型依次在关键帧以及前后两帧内依照实际发声中的情况控制动画角色发音步骤中还需要去除实际发声中的轻声和连读。
本发明一种动画角色汉语口型匹配的方法采用8中口型模型与实际汉字拼音匹配,去除轻声后配合关键帧将动画角色口型在关键帧前后融合,使得动画角色在说话的时候能与口型相匹配,大大提高了制作效率。
附图说明
图1是本发明一个具体实施例中一种动画角色口型匹配的方法流程图;
图2是本发明一个具体实施例中8种口型模型的嘴巴和面部肌肉的位置模型;和
图3是本发明一个具体实施例中所有拼音组合中声母和韵母的发声规律。
具体实施方式
请参看图1所示,本发明提供了一种动画角色口型匹配的方法,其包括:
步骤101,利用正则表达式识别汉字对应的拼音中的最小口型单元。
正则表达式(Regular Expression),在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容。在本发明一个具体的实施例中,采用正则表达式的目的是为了能够校验汉字的拼音是否准确,同时还可以区分每一个汉字对应的拼音,这样可以方便下一步找到汉字的声母和韵母。
目前通过汉字识别拼音的方法很多,在此不做赘述。
获得汉字的拼音后,执行
步骤102,区分汉字是否为单音节字,将单音节的字识别出其最小口型单元。
步骤103,对非单音节字判断出非单音节字拼音中的声母和韵母。
步骤104,将非单音节字的声母和韵母拆分出最小口型单元。
在一个具体的实施例中,采用8种口型模型将拼音的声母和韵母拆分成最小口型单元,他们分别是:
B:对应声母b、m和p;
F:对应声母f;
I:对应声母z、c、s和韵母i、ei、in;
R:对应声母r、zh、ch和sh;
A:对应韵母a、ang和er;
AI:对应韵母ai、an和ie;
U:对应声母w、v和韵母u、o、iong、ong和ue;
E:对应韵母e、en和eng。
具体的模型参看图2所示,图2表示出了这8种模型的嘴巴和面部肌肉的位置模型。采用8种模型而不是更多或者更少的模型数是有操作效率考虑的。如果每一种韵母单独做一个模型,那么其精确程度必然非常高,但是这样的话模型的数量就会非常大,对于制作来讲会比较费时费力。如果缩小模型个数,会造成更加不精确,比如将韵母ai和a组合在一起,的时候就会将ai中的带有嘴角上扬的韵母和带有鼻音的字母混淆成一个模型,这样就过于不精确了。
采用8种模型是经过模拟、计算和统计后较佳的模型数量。其较好地组合了相似的发音,同时模型数量不多,很适合实际应用。
步骤105,从识别出的最小口型单元中统计每一个汉字的口型变化次数。
请参看图3所示,图3表示所有拼音组合中声母和韵母的发声规律。其中多次口型变化的如biao,则是从B——I——A——U变化了四次最小发声单元。
对于声母,有发音和不发音的区别,对于没有发音口型的声母其口型延继上一个发音的口型。
在一个具体的实施例中,还需要考虑连读和轻声的情况,连读比如wu声母和韵母两个口型一样,这样就可以连读;比如“吃了”的“了”字声母和韵母两个口型应该轻声处理,在统计最小发声单元的时候这些因素都需要考虑。
步骤106,在动画中标注出所述汉字出现位置的关键帧。可以根据剧本和台词在每个字出现的帧做出标记,将标记过的帧作为关键帧。
步骤107,在预设的8种发音口型组合中选取每一个汉字所用到的口型,并根据先前统计出的口型变化次数,在关键帧前后融合挑选出的发音口型。
在一个具体的实施例中,可以根据最小发声单元个数的奇偶数确定具体的融合方法。
对于一个最小口型的汉字,将对应的口型在关键帧上显示;
对于两个最小口型的汉字,将对应的口型分别在关键帧及其之后的一帧上现实;
对于三个最小口型的汉字,将对应的口型分别在关键帧之前一帧、关键帧以及关键帧之后的一帧上显示;和
对于四个最小口型的汉字,将对应的口型分别在关键帧之前一帧、关键帧、关键帧之后的一帧和关键帧之后的两帧上显示。
这样就可以很好地实现动画角色说话的问题,从而在一定程度上解决了每段动画都需要人工设计制作的麻烦。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换等,均应包含在本发明的保护范围之内。