CN108538308B - 基于语音的口型和/或表情模拟方法及装置 - Google Patents
基于语音的口型和/或表情模拟方法及装置 Download PDFInfo
- Publication number
- CN108538308B CN108538308B CN201810018724.7A CN201810018724A CN108538308B CN 108538308 B CN108538308 B CN 108538308B CN 201810018724 A CN201810018724 A CN 201810018724A CN 108538308 B CN108538308 B CN 108538308B
- Authority
- CN
- China
- Prior art keywords
- frequency
- expression
- mouth shape
- preset
- frequency distribution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 220
- 230000014509 gene expression Effects 0.000 title claims abstract description 191
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000009826 distribution Methods 0.000 claims abstract description 153
- 230000005236 sound signal Effects 0.000 claims abstract description 117
- 238000001228 spectrum Methods 0.000 claims abstract description 35
- 238000004364 calculation method Methods 0.000 claims description 25
- 238000012545 processing Methods 0.000 claims description 23
- 230000003595 spectral effect Effects 0.000 claims description 13
- 230000001131 transforming effect Effects 0.000 claims description 13
- 230000009466 transformation Effects 0.000 claims description 11
- 238000005516 engineering process Methods 0.000 abstract description 12
- 230000008569 process Effects 0.000 description 14
- 230000008859 change Effects 0.000 description 8
- 230000001960 triggered effect Effects 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000737 periodic effect Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 230000008921 facial expression Effects 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000007654 immersion Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 230000002996 emotional effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/06—Transformation of speech into a non-audible representation, e.g. speech visualisation or speech processing for tactile aids
- G10L21/10—Transforming into visible information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/06—Transformation of speech into a non-audible representation, e.g. speech visualisation or speech processing for tactile aids
- G10L21/10—Transforming into visible information
- G10L2021/105—Synthesis of the lips movements from speech, e.g. for talking heads
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Quality & Reliability (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- User Interface Of Digital Computer (AREA)
- Electrophonic Musical Instruments (AREA)
Abstract
本发明公开了一种基于语音的口型和/或表情模拟方法及装置。其中,该方法包括:采集音频信号;将音频信号变换为与音频信号对应的频谱数据;根据频谱数据,确定频率分布数据;根据频率分布数据,确定口型模拟参数和/或表情模拟参数;根据口型模拟参数模拟对应的口型和/或根据表情模拟参数模拟对应的表情。本发明解决了相关技术中,对于虚拟现实应用中的口型或者表情模拟,工作量较大的技术问题。
Description
技术领域
本发明涉及计算机图形处理技术领域,具体而言,涉及一种基于语音的口型和/或表情模拟方法及装置。
背景技术
相关技术中,基于实时语音的口型及表情模拟方案大部分都需要复杂的音频处理过程或者动画口型库作为辅助。例如,对于相关技术中通过分析语音的音节,为语音实时匹配动画人物的口型,其首先需要动画口型库和音节口型库的支持,如何获取以及校准这两个库较为麻烦,另外,一些应用场景(比如移动端的虚拟现实应用)也不适合随应用打包几个库在里面,会增大包体大小。而对于相关技术中获取语音数据,计算基本动画的权重值,计算修饰动画的权重值,然后计算基本口型动画的权重值,修正合成动画以输出脸部表情网格,其需要在每一个语音流上人工设置情绪标签,具有相当大的工作量;另外采用了语义引擎及TTS(Text To Speech)技术对语音进行分析,处理过程较繁琐,性能消耗较大。另外,相关技术中还可以通过用户输入新的语音信息,经过预处理之后,在虚拟人的人脸头像上合成与语音同步的口型动画和面部姿势动画。但是其需要在训练阶段,通过KNN和HMM的混合模型实现语音可视化建模;在合成阶段,通过用户输入新的语音信息,先进行语音信号的特征提取,再经过KNN和HMM混合模型生成与语音信号相对应的人脸面部姿势和口型帧序列参数,经过平滑处理后,使用Xface开源软件合成更加细腻、丰富的三维人脸动画,即该方式需要在线下进行音视频采集来对KNN和HMM进行训练建模,前期准备工作较为复杂。
现有的基于实时语音模拟口型和表情的方案,主要有以下几点不足:
1、很多方案需要前期大量的准备工作,如建立语音库,人工标定各种语音的标签等工作,过程繁琐。
2、计算量较大,尤其在虚拟现实应用中,该平台本身对性能要求较高,而且同屏幕中经常会出现多人同时需要对口型及表情动画进行模拟,如果每个人的语音都要去语音库中进行检索匹配,将会出现性能问题。
3、很多基于神经网络的实现方案,其最终实现效果对于所采集的训练数据的准确性来说是直接相关的,因此对于采集数据的质量要求较高,而这个要求所需的工作量及技术手段较为复杂。
4、在一些应用场景中(比如,虚拟现实应用中),很多情况下基于实时语音模拟的口型及表情动画并不需要非常精确。而且,由于虚拟现实中,用户无法真正知道对方在现实中到底做了怎样的口型及表情。所以,将过多的计算资源浪费在对模拟精准度的提升上,在虚拟现实应用中是性价比较低的。
发明内容
本发明实施例提供了一种基于语音的口型和/或表情模拟方法及装置,以至少解决相关技术中,对于虚拟现实应用中的口型或者表情模拟,工作量较大的技术问题。
根据本发明实施例的一个方面,提供了一种基于语音的口型和/或表情模拟方法,包括:采集音频信号;将所述音频信号变换为与所述音频信号对应的频谱数据;计算所述频谱数据中预设的关键频带的频率分布数据;根据所述频率分布数据,确定口型模拟参数和/或表情模拟参数;根据所述口型模拟参数模拟对应的口型和/或根据所述表情模拟参数模拟对应的表情。
进一步地,计算所述频谱数据中预设的关键频带的频率分布数据包括:将所述频谱数据划分至多个倍频区间;对所述多个倍频区间中的多个预设区间进行线性划分,得到多个预设的关键频带;计算所述多个预设的关键频带中每个预设的关键频带的频率分布平均值,得到计算结果;根据所述计算结果,确定所述频率分布数据。
进一步地,根据所述频率分布数据,确定口型模拟参数和/或表情模拟参数包括:从所述频率分布数据中获取当前帧的频率分布数据、第一历史帧的频率分布数据和第二历史帧的频率分布数据,其中,所述当前帧的时间点晚于所述第一历史帧,所述第一历史帧的时间点晚于所述第二历史帧;根据获取到的所述当前帧的频率分布数据、所述第一历史帧的频率分布数据和所述第二历史帧的频率分布数据,判断所述第一历史帧中每个所述预设的关键频带中是否出现目标音频值;在判断出所述预设的关键频带中没有出现目标音频值的情况下,确定当前采集的音频信号对应的口型模拟参数为第一口型模拟参数;在判断出所述预设的关键频带中出现目标音频值的情况下,统计每个所述预设的关键频带中出现目标音频值的数量,得到统计结果;根据所述统计结果,确定与当前采集的音频信号对应的口型模拟参数。
进一步地,根据所述统计结果,确定与当前采集的音频信号对应的口型模拟参数包括:根据所述统计结果,确定出现目标音频值的关键频带数量;在检测到出现目标音频值的关键频带数量大于第一预设阈值时,确定当前采集的音频信号对应的口型模拟参数为第二口型模拟参数。
进一步地,根据所述频率分布数据,确定口型模拟参数和/或表情模拟参数包括:获取当前帧的多个预设的关键频带中每个预设的关键频带的频率值,得到多个频率值;在所述多个频率值中存在一个和/或多个频率值大于预设频率分布平均值的情况下,获取出现第一表情的历史时间点以及当前时间点,得到第一表情时间间隔;在所述第一表情时间间隔大于第一预设时间间隔的情况下,确定当前采集的音频信号对应的表情模拟参数为第一表情模拟参数。
进一步地,根据所述频率分布数据,确定口型模拟参数和/或表情模拟参数包括:获取当前帧的多个预设的关键频带的频率分布平均值和预设历史帧的多个预设的关键频带的频率分布平均值,得到当前频率分布平均值和历史频率分布平均值;计算所述当前频率分布平均值和所述历史频率分布平均值的差值,得到频率分布差值;在所述频率分布差值大于第二预设阈值的情况下,获取出现第二表情的历史时间点以及当前时间点,得到第二表情时间间隔;在所述第二表情时间间隔大于第二预设时间间隔的情况下,确定当前采集的音频信号对应的口型模拟参数为第二表情模拟参数。
进一步地,将所述音频信号变换为与所述音频信号对应的频谱数据包括:对所述音频信号进行加窗处理,得到加窗音频信号;对所述加窗音频信号进行预设音频变换,得到与所述音频信号对应的频谱数据。
进一步地,根据所述口型模拟参数模拟对应的口型和/或根据所述表情模拟参数模拟对应的表情包括:对所述口型模拟参数和/或表情模拟参数进行插值处理,得到模拟插值结果;根据所述模拟插值结果,对预设模型的目标位置进行处理,以利用所述预设模型模拟输出预设对象的口型和表情。
根据本发明实施例的另一方面,还提供了一种基于语音的口型和/或表情模拟装置,包括:采集单元,用于采集音频信号;变换单元,用于将所述音频信号变换为与所述音频信号对应的频谱数据;计算单元,用于计算所述频谱数据中预设的关键频带的频率分布数据;确定单元,用于根据所述频率分布数据,确定口型模拟参数和/或表情模拟参数;模拟单元,用于根据所述口型模拟参数模拟对应的口型和/或根据所述表情模拟参数模拟对应的表情。
进一步地,所述计算单元包括:第一划分模块,用于将所述频谱数据划分至多个倍频区间;第二划分模块,用于对所述多个倍频区间中的多个预设区间进行线性划分,得到多个预设的关键频带;第一计算模块,用于计算所述多个预设的关键频带中每个预设的关键频带的频率分布平均值,得到计算结果;第一确定模块,用于根据所述计算结果,确定所述频率分布数据。
进一步地,所述确定单元包括:第一获取模块,用于从所述频率分布数据中获取当前帧的频率分布数据、第一历史帧的频率分布数据和第二历史帧的频率分布数据,其中,所述当前帧的时间点晚于所述第一历史帧,所述第一历史帧的时间点晚于所述第二历史帧;判断模块,用于根据获取到的所述当前帧的频率分布数据、所述第一历史帧的频率分布数据和所述第二历史帧的频率分布数据,判断所述第一历史帧中每个所述预设的关键频带中是否出现目标音频值;第二确定模块,用于在判断出所述预设的关键频带中没有出现目标音频值的情况下,确定当前采集的音频信号对应的口型模拟参数为第一口型模拟参数;统计模块,用于在判断出所述预设的关键频带中出现目标音频值的情况下,统计每个所述预设的关键频带中出现目标音频值的数量,得到统计结果;第三确定模块,用于根据所述统计结果,确定与当前采集的音频信号对应的口型模拟参数。
进一步地,所述第三确定模块包括:第一确定子模块,用于根据所述统计结果,确定出现目标音频值的关键频带数量;第二确定子模块,用于在检测到出现目标音频值的关键频带数量大于第一预设阈值时,确定当前采集的音频信号对应的口型模拟参数为第二口型模拟参数。
进一步地,所述确定单元包括:第二获取模块,用于获取当前帧的多个预设的关键频带中每个预设的关键频带的频率值,得到多个频率值;第三获取模块,用于在所述多个频率值中存在一个和/或多个频率值大于预设频率分布平均值的情况下,获取出现第一表情的历史时间点以及当前时间点,得到第一表情时间间隔;第四确定模块,用于在所述第一表情时间间隔大于第一预设时间间隔的情况下,确定当前采集的音频信号对应的表情模拟参数为第一表情模拟参数。
进一步地,所述确定单元还包括:第三获取模块,用于获取当前帧的多个预设的关键频带的频率分布平均值和预设历史帧的多个预设的关键频带的频率分布平均值,得到当前频率分布平均值和历史频率分布平均值;第二计算模块,用于计算所述当前频率分布平均值和所述历史频率分布平均值的差值,得到频率分布差值;第四获取模块,用于在所述频率分布差值大于第二预设阈值的情况下,获取出现第二表情的历史时间点以及当前时间点,得到第二表情时间间隔;第五确定模块,用于在所述第二表情时间间隔大于第二预设时间间隔的情况下,确定当前采集的音频信号对应的口型模拟参数为第二表情模拟参数。
进一步地,所述变换单元包括:加窗模块,用于对所述音频信号进行加窗处理,得到加窗音频信号;变换模块,用于对所述加窗音频信号进行预设音频变换,得到与所述音频信号对应的频谱数据。
进一步地,所述模拟单元包括:输入模块,用于将所述口型模拟参数和/或表情模拟参数输入至插值模块;插值模块,用于对所述口型模拟参数和/或表情模拟参数进行插值处理,得到模拟插值结果;输出模块,用于根据所述模拟插值结果,对预设模型的目标位置进行处理,以利用所述预设模型模拟输出预设对象的口型和表情。
根据本发明实施例的另一方面,还提供了一种终端,包括:存储器,与所述存储器耦合的处理器,所述存储器和所述处理器通过总线系统相通信;所述存储器用于存储程序,其中,所述程序在被处理器执行时控制所述存储器所在设备执行上述任意一项所述的基于语音的口型和/或表情模拟方法;所述处理器用于运行程序,其中,所述程序运行时执行上述任意一项所述的基于语音的口型和/或表情模拟方法。
在本发明实施例中,通过采集音频信号,将音频信号变换为频谱数据,然后可以根据频谱数据,计算频谱数据中预设的关键频带的频率分布数据,并根据频率分布数据,确定口型模拟参数和/或表情模拟参数,最后可以根据口型模拟参数模拟对应的口型和/或根据表情模拟参数模拟对应的表情。在本发明中,可以通过分析音频信号,确定频率分布数据,以根据频率分布数据,确定口型模拟参数和/或表情模拟参数,无需预先建立语音库,人工标定各种语音的标签等工作,通过直接分析预设对象的语音信号,确定预设对象的口型和/或表情,减少分析过程,计算量较小,进而解决相关技术中,对于虚拟现实应用中的口型或者表情模拟,工作量较大的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的基于语音的口型和/或表情模拟方法的流程图;
图2(a)是根据本发明实施例的一种可选的口型模拟的示意图;
图2(b)是根据本发明实施例的另一种可选的口型模拟的示意图;
图2(c)是根据本发明实施例的一种可选的开心表情模拟的示意图;
图2(d)是根据本发明实施例的一种可选的生气表情模拟的示意图;
图3是根据本发明实施例的加窗函数的权重分布的示意图;
图4是根据本发明实施例的基于语音的口型和/或表情模拟装置的示意图;
图5是根据本发明实施例的一种终端的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于用户理解本发明,下面对本发明实施例中涉及的部分术语或名词做出解释:
VR,Virtual Real ity,虚拟现实,是一种可以创建和体验虚拟世界的计算机仿真系统,它可以利用计算机生成一种模拟环境,是一种多源信息融合的、交互式的三维动态视景和实体行为的系统仿真使用沉浸到该环境中。
频谱:频谱是频率谱密度的简称,是频率的分布曲线,既一段声音中,声音所包含的各个频率的分布情况。
频带:由英文band所译,在本文中指的是一段频率范围,如10Hz-15Hz,即可称为一个频带。
倍频:由英文Octave所译。指的是将频谱按非线性划分成一段段的较大的频带。
加窗:加窗处理,使所采样的离散信号减少因在非周期局部音频信号上使用快速傅里叶变换而产生的泄露。可选择的窗函数有很多种,如矩形窗,汉宁窗,哈明窗,哈布斯窗等。其减少的泄露程度和处理消耗成正比。
本发明下述各项实施例的实现方法涉及计算机图形领域。其中主要包括VR技术,音频处理技术及BlendShape技术。其中,音频处理技术主要是对音频信号的分析及处理,在本方案中,主要指对于实时音频信号进行频段划分及对各频段的特征分析。
BlendShape中文译为形状融合变形。在本方案中,主要用于脸部表情动画和口型动画的模拟,是本文所提到的方案的一种呈现方式。举例来说,为了实现动画人物的大笑表情,美术会制作一个平常态的表情p1和一个大笑的表情p2,并设定调整值为i,我们标定当i=0时,该模型所有点的位置为p1状态下该点对应点的位置;当i=1时,该模型所有点的位置为p2状态模型的对应点的位置;当i处于0-1之间时,每个点的位置pc有如下关系:
pc=i*p1+(1-i)*p2,
这样,当我们想控制一个人物的表情从平常态到大笑态,只需控制i的值由0平滑过渡到1即可。
根据本发明实施例,提供了一种基于语音的口型和/或表情模拟的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
以下实施例可以应用于各种基于语音的口型和/或表情模拟环境中,例如,可以应用于VR的口型和表情模拟中。
下面结合优选的实施方式对本发明进行说明,图1是根据本发明实施例的基于语音的口型和/或表情模拟方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,采集音频信号。
其中,在采集音频信号时,可以采集不同类型和不同预设对象的音频信号,其中,本发明实施例中对于采集的具体音频信号的类型不做限定,而预设对象可以是发出声音信号的主体,对于具体的预设对象不做限定,可以包括但不限于:讲话的人、动画对象、游戏对象、动物等,在预设对象发出声音后,可以采集到声音对应的音频信号,其中,本发明可以重点对游戏中虚拟对象发出的声音进行分析,以确定预设对象的口型和表情。而在采集音频信号时,可以通过专用的音频信号采集设备来采集用户所说的实时音频,例如,通过麦克风设备来捕获用户所说的实施音频,得到预设对象的音频信号。
步骤S104,将音频信号变换为与音频信号对应的频谱数据。
即可以对采集到的音频信号进行处理,以得到频谱数据,其中,在将音频信号变换为与音频信号对应的频谱数据包括:对音频信号进行加窗处理,得到加窗音频信号;对加窗音频信号进行预设音频变换,得到与音频信号对应的频谱数据。其中,在变换时,可以采用傅里叶变换将音频信号变换为频谱数据。
上述在对音频信号进行加窗处理后,可以减少因在非周期局部音频信号上使用快速傅里叶变换而产生的泄露,即可以减少音频信号的泄露。其中,本发明实施例中对于具体的加窗方式并不做限定,可以包括但不限于:矩形窗、汉宁窗、哈明窗、哈布斯窗等,优选的,本发明实施例中选择哈布斯窗进行处理。通过加窗处理采样得到的音频信号,可以明显减少泄露程度,减少的泄露程度和处理消耗成正比。
步骤S106,计算频谱数据中预设的关键频带的频率分布数据。
步骤S108,根据频率分布数据,确定口型模拟参数和/或表情模拟参数。
步骤S110,根据口型模拟参数模拟对应的口型和/或根据表情模拟参数模拟对应的表情。
通过上述实施例,可以先采集到音频信号,将音频信号变换为频谱数据,然后可以根据频谱数据,计算频谱数据中预设的关键频带的频率分布数据,并根据计算得到的频率分布数据,确定口型模拟参数和/或表情模拟参数,最后可以根据口型模拟参数模拟对应的口型和/或根据表情模拟参数模拟对应的表情。在该实施例中,可以通过分析音频信号,计算出频率分布数据,以根据频率分布数据,确定口型模拟参数和/或表情模拟参数,无需建立语音库,人工标定各种语音的标签等工作,通过直接分析预设对象的语音信号,确定预设对象的口型和/或表情,减少分析过程,计算量较小,进而解决相关技术中,对于虚拟现实应用中的口型或者表情模拟,工作量较大的技术问题。
对于计算频谱数据中预设的关键频带的频率分布数据,其可以是将频谱数据划分至多个倍频区间,并对多个倍频区间中的多个预设区间进行线性划分,得到多个预设的关键频带;计算多个预设的关键频带中每个预设的关键频带的频率分布平均值,得到计算结果;根据计算结果,确定频率分布数据。
可选的,倍频区间可以是声音频率所在的区间范围,由于不同对象发出的声音频率不同,本申请中可以预先对声音频率进行划分,例如,对于声音频率在0Hz-24000Hz,可以将其划分为不同的区间;在得到频率数据后,可以将各项频率数据划分至对应的倍频区间中,以根据频率所在区间确定预设对象在发出声音时的口型和表情。其中,本发明实施例中可以重点关注用户对象或者游戏玩家所发出的声音频率所在的区间,以确定多个预设区间,其中,该多个预设区间可以是与用户对象的声音(即人声)所对应的倍频区间,对于多个预设区间的具体区间数量不做限定,例如,在将声音频率划分至多个倍频区间后,确定多个倍频区间为9个倍频区间,在这里可以设定多个预设区间为3个预设区间,从而可以进行线性划分。
本发明实施例中,以人声重点频率范围作为预设的关键频带,如187.5Hz-1500Hz,将该区间划分为三个区间,分别为187.5Hz-375Hz,375Hz-750Hz,750Hz-1500Hz,在分析音频频率时可以重点对该频率范围进行分析,以确定预设对象(或者用户、游戏玩家、虚拟角色)发出声音时所对应的口型和表情。而在对多个倍频区间中的多个预设区间进行线性划分,得到多个预设的关键频带时,可以对预设区间再次进行划分,例如,将得到的187.5Hz-375Hz划分为187.5Hz-250Hz,250Hz-312.5Hz,312.5Hz-375Hz。并且在计算多个预设的关键频带中每个预设的关键频带的频率分布平均值,得到计算结果时,可以是得到频谱数据并将频谱数据划分至预设的关键频带后,先获取到每个预设的关键频带的频率数据,并对每个预设的关键频带中的数据求平均值,确定频率分布平均值。
在得到频率分布数据后,可以根据频率分布数据,确定口型模拟参数和/或表情模拟参数,其可以包括:从频率分布数据中获取当前帧的频率分布数据、第一历史帧的频率分布数据和第二历史帧的频率分布数据,其中,当前帧的时间点晚于第一历史帧,第一历史帧的时间点晚于第二历史帧;根据获取到的当前帧的频率分布数据、第一历史帧的频率分布数据和第二历史帧的频率分布数据,判断第一历史帧中每个预设的关键频带中是否出现目标音频值;在判断出预设的关键频带中没有出现目标音频值的情况下,确定当前采集的音频信号对应的口型模拟参数为第一口型模拟参数;在判断出预设的关键频带中出现目标音频值的情况下,统计每个预设的关键频带中出现目标音频值的数量,得到统计结果;根据统计结果,确定与当前采集的音频信号对应的口型模拟参数。
其中,当前帧的频率分布数据可以是当前采集到音频所对应的帧集,而对于第一历史帧和第二历史帧,可以是历史过程中采集到的音频帧数据,本申请中可以根据当前帧、第一历史帧和第二历史帧共同确定过去的第一历史帧所产生的语音信号是否指示预设对象发出改变口型和/或表情的声音音频。对第一历史帧中的各个关键频带的频率分布进行分析,确定是否出现音频改变较为明显的极大值(即目标音频值)音频信号,从而确定预设对象是否发出改变口型的声音。在平常状态下,预设对象没有发出声音时,其保持的口型可以为平行闭合状态,若预设对象发出声音,则会改变口型,本申请中通过分析声音信号来确定口型的是否发生变化,并具体分析预设对象的表情。由于预设对象每次发出改变口型的声音时,每一个字都对应有一个口型变化,因此在确定预设对象的口型是否发生变化,对声音信号中的音频频率分布状态进行分析,若有多个预设的关键频带中出现频率分布的极大值(声音信号中出现峰值),且极大值出现的数量超出预设数量,可以确定预设对象说出一次改变口型的字,此时可以确定需要改变预设对象的口型模拟参数。
在判断预设的关键频带中是否出现目标音频值(极大值或者峰值)时,可以通过比较音频频率值之间的大小,确定是否出现音频频率是否出现持续上升并快速下降的情况,若出现则表示出现极大值,在比较时可以两两频率之间进行比较,先确认是否有连续的三个频率数据(两个数据之间的差值)存在由正值到负值的情况,若存在则会表示有一个峰值出现,之后,可以再次比较与该峰值点周围的音频频率值的大小,从而确定是否出现目标音频值。在判断出预设的关键频带中没有出现目标音频值的情况下,确定当前采集的音频信号对应的口型模拟参数为第一口型模拟参数,该第一口型模拟参数可以指示静音口型模拟的参数,即不发出声音的口型模拟参数。
对于上述实施方式,根据统计结果,确定与当前采集的音频信号对应的口型模拟参数包括:根据统计结果,确定出现目标音频值的关键频带数量;在检测到出现目标音频值的关键频带数量大于第一预设阈值时,确定当前采集的音频信号对应的口型模拟参数为第二口型模拟参数。其中,第二口型模拟参数可以是非静音口型模拟的参数,即预设对象发出声音的参数。第一预设阈值可以是自行设置的频带数量,例如,若预设的关键频带总数量为9个,则可以设置第一预设阈值为5。
可选的,在当前采集的音频信号对应的口型模拟参数为第二口型模拟参数后,可以进一步确认具体的口型,例如,设置发出声音的口型有两种“o(欧)”音的口型(即口型张开)和“e”音的口型(即嘴角向两侧咧嘴)。每种口型所发出的音频频率不同,其对应的倍频区间的大小也不同,本申请可以根据音频所在的区间大小确定具体口型参数。
上述方式可以确定出口型模拟参数,下面可以进一步确定与该次采集的音频信号对应的表情模拟参数。本发明实施例在进行口型模拟时,设置固定的口型模拟,例如,设置模拟生气表情和笑容表情,或者,设置模拟发怒表情和高兴表情等,对于具体要模拟哪些表情,可以根据不同的使用环境确定,例如,在VR中,要模拟游戏玩家的表情,则可以简单设置模拟表情为生气表情、笑容表情和正常表情。
在根据频率分布数据,确定口型模拟参数和/或表情模拟参数包括:获取当前帧的多个预设的关键频带中每个预设的关键频带的频率值,得到多个频率值;在多个频率值中存在一个和/或多个频率值大于预设频率分布平均值的情况下,获取出现第一表情的历史时间点以及当前时间点,得到第一表情时间间隔;在第一表情时间间隔大于第一预设时间间隔的情况下,确定当前采集的音频信号对应的表情模拟参数为第一表情模拟参数。
其中,由于对具体要模拟的表情不做限定,所以对第一表情和第二表情的具体类型不做具体限定,本申请中可以指示第一表情为高兴表情,第二表情为生气表情。而在确定当前采集的音频信号对应的表情模拟参数是否为第一表情模拟参数时,可以确定音频频带的频率值是否连续大于关键频带的平均值,即是否出现音频信号出现持续上升,并且该段采集的时间与上次采集到的第一表情的出现时间不同的情况下,确定出现第一表情。对于第一预设时间间隔可以设定可能出现第一表情的时间间隔,对于具体设置间隔时长不做限定,例如,设置第一预设时间间隔为5秒、7秒等。
另外,在根据频率分布数据,确定口型模拟参数和/或表情模拟参数包括:获取当前帧的多个预设的关键频带的频率分布平均值和预设历史帧的多个预设的关键频带的频率分布平均值,得到当前频率分布平均值和历史频率分布平均值;计算当前频率分布平均值和历史频率分布平均值的差值,得到频率分布差值;在频率分布差值大于第二预设阈值的情况下,获取出现第二表情的历史时间点以及当前时间点,得到第二表情时间间隔;在第二表情时间间隔大于第二预设时间间隔的情况下,确定当前采集的音频信号对应的口型模拟参数为第二表情模拟参数。
即可以在确定当前采集的音频信号对应的口型模拟参数是否为第二表情模拟参数,可以将当前采集到的音频信号与历史过程中采集到的音频信号进行比较,确定频率分布差值,通过频率分布差值和时间点确认当前采集的音频信号的口型。其中,第二预设阈值可以是根据实际情况自行设置的频率值,即可以判断当前帧的关键频带的平均值对比于最近一段时间的平均值是否产生一个突增的情况,确定关键频带分布产生突增,可以确定时间间隔是否达到第二预设时间间隔,在两个条件都达到的情况下,确定当前采集到的音频信号对应的口型模拟参数为第二表情模拟参数,若没有达到其中任一条件,则确定并不是第二表情模拟参数。对于第二表情时间间隔的设定并不会做具体限定,其可以与第一表情时间间隔相同,如设置第二表情时间间隔为5秒。
可选的,在根据口型模拟参数模拟对应的口型和/或根据表情模拟参数模拟对应的表情时,对口型模拟参数和/或表情模拟参数进行插值处理,得到模拟插值结果;根据模拟插值结果,对预设模型的目标位置进行处理,以利用预设模型模拟输出预设对象的口型和表情。
即可以通过插值处理,是为了避免预设对象的口型和表情发生突变,引起使用者的不适,做出的微调。本发明实施例中可以设置BlendShape算法,通过该算法将插值后的结果进行处理,以对预设模型进行改变,使得预设模型呈现出口型和表情效果。
下面结合另一种实施例对本发明进行说明。
本发明实现了一种虚拟现实中基于实时语音的高效口型及表情模拟方案,其实施方式主要包括以下方面:
11、对预设对象的实时音频进行采样,并进行加窗处理,之后通过快速傅里叶变换获取该音频的频谱数据。
12、将频谱数据划分至9个倍频区间,如表1所示,并对重点关注的2,3,4号倍频区域再次进行线性划分,每个倍频区划分成3个频带,共9个频带,我们将这9个频带称为关键频带(预设的关键频带)。对这9个频带中所覆盖的频率分布数量求平均值,得到9个频带的频率分布情况,我们把这些频率值称为关键频率分布。
13、判断是否产生一次新的非静音口型模拟(可以理解为判断是否说了一个字,因此要对口型进行改变)。其主要将第i帧(当前帧)的关键频率分布与i-1及i-2帧的关键频率分布进行计算,检测i-1帧中的各个关键频带是否出现了频率分布的极大值,如果有足够多的关键频带出现此种峰值且峰值的频率分布数大于阈值,则进行一次新的非静音口型模拟,后续将给出新的模拟结果应用于虚拟人物的面部。
14、判断是否产生一次新的笑容模拟,其主要判断依据为是否有足够多的关键频带大于所有关键频带的平均值,且与上次笑容模拟之间已到达足够的间隔时间。
15判断是否产生一次新的生气模拟,其主要判断依据为当前帧的关键频带的平均值对比于最近一段时间的平均值是否产生了一个突增,且与上次生气模拟之间已达到足够的间隔时间。
16、对这四个参数进行插值,以避免动画发生突变,之后,将插值后的结果赋给BlendShape算法,BlendShape算法对模型的顶点位置进行改变,使模型呈现出该有的口型及表情效果。
上述实施例中所模拟的表情包括开心和生气。
虚拟现实平台由于需要将虚拟形象重现出来,在多人的虚拟现实应用中,重现玩家的说话口型和表情是必不可少的,但是受限于虚拟现实平台的性能要求,而且重现的形象多为卡通形象,因此没有必要浪费过多的性能及空间去追求精准的模拟结果。而本发明方案计算量小,不依赖于任何语音库,无需进行任何视频口型及表情的采集工作,无需线下训练过程。适用于虚拟现实平台,并且增强了虚拟形象的生动性,增强了体验者的沉浸感。
下面具体说明该实施例中的实现方式,下面的201-213具体说明上述11-16中的实施方式是如何实现的。
201:制作四个BlendShape的目标模型,如图2(a)所示,为发“O(欧)”音的口型,控制参数为Moutho;如图2(b)所示,发“E”音的口型(嘴角向两侧咧嘴),控制参数为Mouthe;如图2(c)所示,开心的表情,控制参数为happy;如图2(d)所示,生气的表情,其控制参数为angry。
202:用麦克风设备捕获当前用户所说的实时音频,对当前音频信号进行采样,并对采样结果进行加窗处理,使其减少因在非周期局部音频信号上使用快速傅里叶变换而产生的泄露。可选择的窗函数有很多种,如矩形窗,汉宁窗,哈明窗,哈布斯窗等。其减少的泄露程度和处理消耗成正比。本实施例优选使用哈布斯窗,其公式如下:
其中,Wn表示第n段的数据应乘以的权重值,N表示该窗的总长度。该窗函数的权重分布如图3所示。
203:根据加窗后的结果,我们将该段音频采样的频谱分布拆分成9个倍频区域,其中每个倍频区域的频率范围如下表1所示:
表1
倍频区 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
最低频 | 0 | 93.75 | 187.5 | 375 | 750 | 1500 | 3000 | 6000 | 12000 |
最高频 | 93.75 | 187.5 | 375 | 750 | 1500 | 3000 | 6000 | 12000 | 24000 |
在本实施例中重点关注2,3,4这三个倍频区域,即需要重点关注频率在187.5Hz-1500Hz的频率分布情况。
204:为了细化倍频区,我们将重点关注的三个倍频区进行线性细分成k份。在此实施例中,k优选值为3。我们将这9个频率范围内的加窗后的采样数据进行求平均,将结果标记为Fij i=0.8。其中j代表第j帧的数据,Fij所对应的频率范围区间如下表2所示:
表2
205:在系统中缓存近两帧的Fi。
206:针对每个关键频率区进行检测,看是否在上一帧出现了足够多的频率峰值,公式如下:
若满足上述条件,则判断Fi出现了一次频率峰值,如果9个关键频率区同时满足该条件的频率区数量大于heapThreshold,则在本帧中会进行后续的非静音口型拟合。
其中,minHeap指的是出现频率峰值的关键频率区,其最低的在该频段所采样到的数量,以避免非静音口型拟合在音量较小的情况下进行模拟。而heapThreshold指的是要进行后续的非静音口型拟合,至少要有多少个关键频率区出现了频率峰值,在本实施例中,优选值为5。另外,上述的非静音口型拟合可以理解为用户说了某个可能会引起口型变化的字(或音)。
207:如果在本帧中要进行非静音口型拟合,则检测Fij的本帧最大值出现在哪个倍频区间上。根据人的口型与人所发音频率的经验模型,我们根据最大值出现在倍频区间的不同,设置不同的Moutho,Mouthe的随机取值范围,其随机值范围如下表3所示:
表3
倍频区 | 2 | 3 | 4 |
Mouth<sub>o</sub>随机范围 | 0.7-1.0 | 0.3-0.7 | 0.0-0.3 |
Mouth<sub>e</sub>随机范围 | 0.0-0.6 | 0.0-0.45 | 0.0-0.3 |
最终随机出Moutho或则Mouthe的值。
208:如果在本帧中不需要进行非静音口型拟合,则还需判断是否需要进行静音口型拟合。即如果
Fij<minHeap i=0.8
对于每个关键频率区都成立,则在该帧中需要进行静音口型拟合。即
209:对于是否触发笑容的拟合,我们判断是否有某个Fi远大于其它关键频率区的情况发生。其具体为对Fi求平均,如下:
并记录,在本帧中,有多少Fi满足以下条件:
Fi>FAvg i=0.8,
若满足条件的Fi数量小于等于happyThreshold的数量,且在之前的laughTime时间内没有触发过笑容,则触发笑容。其中happyThreshold在本实施例中优选值为2.
210:若触发笑容,则设定happy的值,其值为在0.5-1.0范围内随机得到。与此同时,设定laughTime,在本帧后的laughTime时间内,将不会再触发笑容检测。其中laughTime在本实施例中优选值为3.0秒。
211:对于是否触发生气的拟合,我们主要判断FAvg的值是否比近期的平均值有一个突增。对于近k帧的FAvg,我们进行缓存,并维护平均值FHistory,该值代表了最近一段时间的平均音量。如果FAvg满足:
FAvg/FHistory>angryThreshold,
且在之前的angryTime时间内没有触发过生气,则触发生气。
其中angryThreshold,在本实施例中优选值为2.5。
212:若触发生气,则设定angry的值,其值为在0.5-1.0范围内随机得到。与此同时,设定angryTime,在本帧后的angryTime时间内,将不会再触发生气检测。其中angryTime在本实施例中优选值为5.0秒。
213:对于本帧模拟所更新后的Moutho,Mouthe,happy,angry。将最新的参数传给动画控制机,动画控制机根据当前的值对这四个参数进行插值,以避免动画发生突变,之后,将插值后的结果赋给BlendShape算法,BlendShape算法对模型的顶点位置进行改变,使模型呈现出该有的口型及表情效果。
本发明实施例实现了一种虚拟现实中基于实时语音的高效口型及表情模拟方案。该模拟方案适用于对性能要求高,且不要求十分精准的模拟结果的场景下,如虚拟现实多人游戏中,另外,上述实施例中不依赖于任何语音库,无需进行任何视频口型及表情的采集工作,无需线下训练过程。
下面结合另一种实施方式对本发明进行说明。
图4是根据本发明实施例的基于语音的口型和/或表情模拟装置的示意图,如图4所示,该装置可以包括:采集单元41,用于采集音频信号;变换单元43,用于将音频信号变换为与音频信号对应的频谱数据;计算单元45,用于根据频谱数据,确定频率分布数据;确定单元47,用于根据频率分布数据,确定口型模拟参数和/或表情模拟参数;模拟单元49,用于根据口型模拟参数模拟对应的口型和/或根据表情模拟参数模拟对应的表情。
在上述基于语音的口型和/或表情模拟装置中,可以利用采集单元41来采集音频信号,并利用变换单元43将音频信号变换为频谱数据,然后可以通过计算单元45计算出频谱数据中的预设的关键频带中的频率分布数据,并通过确定单元47根据频率分布数据,确定口型模拟参数和/或表情模拟参数,最后可以通过模拟单元49根据口型模拟参数模拟对应的口型和/或根据表情模拟参数模拟对应的表情。在该装置中,可以通过分析音频信号,确定频率分布数据,以根据频率分布数据,确定口型模拟参数和/或表情模拟参数,无需建立语音库,人工标定各种语音的标签等工作,通过直接分析预设对象的语音信号,确定预设对象的口型和/或表情,减少分析过程,计算量较小,进而解决相关技术中,对于虚拟现实应用中的口型或者表情模拟,工作量较大的技术问题。
对于上述的计算单元45包括:第一划分模块,用于将频谱数据划分至多个倍频区间;第二划分模块,用于对多个倍频区间中的多个预设区间进行线性划分,得到多个预设的关键频带;第一计算模块,用于计算多个预设的关键频带中每个预设的关键频带的频率分布平均值,得到计算结果;第一确定模块,用于根据计算结果,确定频率分布数据。
而确定单元47可以包括:第一获取模块,用于从频率分布数据中获取当前帧的频率分布数据、第一历史帧的频率分布数据和第二历史帧的频率分布数据,其中,当前帧的时间点晚于第一历史帧,第一历史帧的时间点晚于第二历史帧;判断模块,用于根据获取到的当前帧的频率分布数据、第一历史帧的频率分布数据和第二历史帧的频率分布数据,判断第一历史帧中每个预设的关键频带中是否出现目标音频值;第二确定模块,用于在判断出预设的关键频带中没有出现目标音频值的情况下,确定当前采集的音频信号对应的口型模拟参数为第一口型模拟参数;统计模块,用于在判断出预设的关键频带中出现目标音频值的情况下,统计每个预设的关键频带中出现目标音频值的数量,得到统计结果;第三确定模块,用于根据统计结果,确定与当前采集的音频信号对应的口型模拟参数。
上述的第三确定模块包括:第一确定子模块,用于根据统计结果,确定出现目标音频值的关键频带数量;第二确定子模块,用于在检测到出现目标音频值的关键频带数量大于第一预设阈值时,确定当前采集的音频信号对应的口型模拟参数为第二口型模拟参数。
另外,确定单元47包括:第二获取模块,用于获取当前帧的多个预设的关键频带中每个预设的关键频带的频率值,得到多个频率值;第三获取模块,用于在多个频率值中存在一个和/或多个频率值大于预设频率分布平均值的情况下,获取出现第一表情的历史时间点以及当前时间点,得到第一表情时间间隔;第四确定模块,用于在第一表情时间间隔大于第一预设时间间隔的情况下,确定当前采集的音频信号对应的表情模拟参数为第一表情模拟参数。
确定单元47还包括:第三获取模块,用于获取当前帧的多个预设的关键频带的频率分布平均值和预设历史帧的多个预设的关键频带的频率分布平均值,得到当前频率分布平均值和历史频率分布平均值;第二计算模块,用于计算当前频率分布平均值和历史频率分布平均值的差值,得到频率分布差值;第四获取模块,用于在频率分布差值大于第二预设阈值的情况下,获取出现第二表情的历史时间点以及当前时间点,得到第二表情时间间隔;第五确定模块,用于在第二表情时间间隔大于第二预设时间间隔的情况下,确定当前采集的音频信号对应的口型模拟参数为第二表情模拟参数。
其中,变换单元43包括:加窗模块,用于对音频信号进行加窗处理,得到加窗音频信号;变换模块,用于对加窗音频信号进行预设音频变换,得到与音频信号对应的频谱数据。
本发明实施例中的模拟单元49包括:输入模块,用于将口型模拟参数和/或表情模拟参数输入至插值模拟;插值模块,用于对口型模拟参数和/或表情模拟参数进行插值处理,得到模拟插值结果;输出模块,用于根据模拟插值结果,对预设模型的目标位置进行处理,以利用预设模型模拟输出预设对象的口型和表情。
上述的基于语音的口型和/或表情模拟装置还可以包括处理器和存储器,上述采集单元41、变换单元43、计算单元45、确定单元47、模拟单元49等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来根据采样得到音频信号确定模拟的口型参数和表情参数。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
图5是根据本发明实施例的一种终端的示意图,如图5所示,该终端可以包括:存储器51,与存储器耦合的处理器53,存储器和处理器通过总线系统相通信;存储器用于存储程序,其中,程序在被处理器执行时控制存储器所在设备执行上述任意一项的基于语音的口型和/或表情模拟方法;处理器用于运行程序,其中,程序运行时执行上述任意一项的基于语音的口型和/或表情模拟方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (9)
1.一种基于语音的口型和/或表情模拟方法,其特征在于,包括:
采集音频信号;
将所述音频信号变换为与所述音频信号对应的频谱数据;
计算所述频谱数据中预设的关键频带的频率分布数据;
根据所述频率分布数据,确定口型模拟参数和/或表情模拟参数;
根据所述口型模拟参数模拟对应的口型和/或根据所述表情模拟参数模拟对应的表情,
计算所述频谱数据中预设的关键频带的频率分布数据包括:将所述频谱数据划分至多个倍频区间;对所述多个倍频区间中的多个预设区间进行线性划分,得到多个预设的关键频带;计算所述多个预设的关键频带中每个预设的关键频带的频率分布平均值,得到计算结果;根据所述计算结果,确定所述频率分布数据。
2.根据权利要求1所述的方法,其特征在于,根据所述频率分布数据,确定口型模拟参数和/或表情模拟参数包括:
从所述频率分布数据中获取当前帧的频率分布数据、第一历史帧的频率分布数据和第二历史帧的频率分布数据,其中,所述当前帧的时间点晚于所述第一历史帧,所述第一历史帧的时间点晚于所述第二历史帧;
根据获取到的所述当前帧的频率分布数据、所述第一历史帧的频率分布数据和所述第二历史帧的频率分布数据,判断所述第一历史帧中每个所述预设的关键频带中是否出现目标音频值;
在判断出所述预设的关键频带中没有出现目标音频值的情况下,确定当前采集的音频信号对应的口型模拟参数为第一口型模拟参数;
在判断出所述预设的关键频带中出现目标音频值的情况下,统计每个所述预设的关键频带中出现目标音频值的数量,得到统计结果;
根据所述统计结果,确定与当前采集的音频信号对应的口型模拟参数。
3.根据权利要求2所述的方法,其特征在于,根据所述统计结果,确定与当前采集的音频信号对应的口型模拟参数包括:
根据所述统计结果,确定出现目标音频值的关键频带数量;
在检测到出现目标音频值的关键频带数量大于第一预设阈值时,确定当前采集的音频信号对应的口型模拟参数为第二口型模拟参数。
4.根据权利要求1所述的方法,其特征在于,根据所述频率分布数据,确定口型模拟参数和/或表情模拟参数包括:
获取当前帧的多个预设的关键频带中每个预设的关键频带的频率值,得到多个频率值;
在所述多个频率值中存在一个和/或多个频率值大于预设频率分布平均值的情况下,获取出现第一表情的历史时间点以及当前时间点,得到第一表情时间间隔;
在所述第一表情时间间隔大于第一预设时间间隔的情况下,确定当前采集的音频信号对应的表情模拟参数为第一表情模拟参数。
5.根据权利要求1所述的方法,其特征在于,根据所述频率分布数据,确定口型模拟参数和/或表情模拟参数包括:
获取当前帧的多个预设的关键频带的频率分布平均值和预设历史帧的多个预设的关键频带的频率分布平均值,得到当前频率分布平均值和历史频率分布平均值;
计算所述当前频率分布平均值和所述历史频率分布平均值的差值,得到频率分布差值;
在所述频率分布差值大于第二预设阈值的情况下,获取出现第二表情的历史时间点以及当前时间点,得到第二表情时间间隔;
在所述第二表情时间间隔大于第二预设时间间隔的情况下,确定当前采集的音频信号对应的口型模拟参数为第二表情模拟参数。
6.根据权利要求1所述的方法,其特征在于,将所述音频信号变换为与所述音频信号对应的频谱数据包括:
对所述音频信号进行加窗处理,得到加窗音频信号;
对所述加窗音频信号进行预设音频变换,得到与所述音频信号对应的频谱数据。
7.根据权利要求1所述的方法,其特征在于,根据所述口型模拟参数模拟对应的口型和/或根据所述表情模拟参数模拟对应的表情包括:
对所述口型模拟参数和/或表情模拟参数进行插值处理,得到模拟插值结果;
根据所述模拟插值结果,对预设模型的目标位置进行处理,以利用所述预设模型模拟输出预设对象的口型和表情。
8.一种基于语音的口型和/或表情模拟装置,其特征在于,包括:
采集单元,用于采集音频信号;
变换单元,用于将所述音频信号变换为与所述音频信号对应的频谱数据;
计算单元,用于计算所述频谱数据中预设的关键频带的频率分布数据;
确定单元,用于根据所述频率分布数据,确定口型模拟参数和/或表情模拟参数;
模拟单元,用于根据所述口型模拟参数模拟对应的口型和/或根据所述表情模拟参数模拟对应的表情,
所述计算单元包括:第一划分模块,用于将所述频谱数据划分至多个倍频区间;第二划分模块,用于对所述多个倍频区间中的多个预设区间进行线性划分,得到多个预设的关键频带;第一计算模块,用于计算所述多个预设的关键频带中每个预设的关键频带的频率分布平均值,得到计算结果;第一确定模块,用于根据所述计算结果,确定所述频率分布数据。
9.一种终端,其特征在于,包括:
存储器,与所述存储器耦合的处理器,所述存储器和所述处理器通过总线系统相通信;
所述存储器用于存储程序,其中,所述程序在被处理器执行时控制所述存储器所在设备执行权利要求1至7中任意一项所述的基于语音的口型和/或表情模拟方法;
所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至7中任意一项所述的基于语音的口型和/或表情模拟方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810018724.7A CN108538308B (zh) | 2018-01-09 | 2018-01-09 | 基于语音的口型和/或表情模拟方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810018724.7A CN108538308B (zh) | 2018-01-09 | 2018-01-09 | 基于语音的口型和/或表情模拟方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108538308A CN108538308A (zh) | 2018-09-14 |
CN108538308B true CN108538308B (zh) | 2020-09-29 |
Family
ID=63485372
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810018724.7A Active CN108538308B (zh) | 2018-01-09 | 2018-01-09 | 基于语音的口型和/或表情模拟方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108538308B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109801409B (zh) * | 2018-12-11 | 2023-07-14 | 平安科技(深圳)有限公司 | 语音开锁方法、电子设备 |
CN110009716B (zh) * | 2019-03-28 | 2023-09-26 | 网易(杭州)网络有限公司 | 面部表情的生成方法、装置、电子设备及存储介质 |
CN110136698B (zh) * | 2019-04-11 | 2021-09-24 | 北京百度网讯科技有限公司 | 用于确定嘴型的方法、装置、设备和存储介质 |
CN112992120A (zh) * | 2019-12-02 | 2021-06-18 | 泛太丝亚企业管理顾问(上海)有限公司 | 语音转换虚拟脸部图像的方法 |
CN111145322B (zh) * | 2019-12-26 | 2024-01-19 | 上海浦东发展银行股份有限公司 | 用于驱动虚拟形象的方法、设备和计算机可读存储介质 |
CN111354370B (zh) * | 2020-02-13 | 2021-06-25 | 百度在线网络技术(北京)有限公司 | 一种唇形特征预测方法、装置和电子设备 |
CN113689532B (zh) * | 2021-08-05 | 2023-07-18 | 北京奇艺世纪科技有限公司 | 基于语音数据重建虚拟角色的方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6014625A (en) * | 1996-12-30 | 2000-01-11 | Daewoo Electronics Co., Ltd | Method and apparatus for producing lip-movement parameters in a three-dimensional-lip-model |
JP2002351489A (ja) * | 2001-05-29 | 2002-12-06 | Namco Ltd | ゲーム情報、情報記憶媒体、及びゲーム装置 |
CN1661675A (zh) * | 2004-02-26 | 2005-08-31 | 世嘉股份有限公司 | 语音分析设备、语音分析方法和语音分析程序 |
CN101482976A (zh) * | 2009-01-19 | 2009-07-15 | 腾讯科技(深圳)有限公司 | 语音驱动嘴唇形状变化的方法、获取嘴唇动画的方法及装置 |
-
2018
- 2018-01-09 CN CN201810018724.7A patent/CN108538308B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6014625A (en) * | 1996-12-30 | 2000-01-11 | Daewoo Electronics Co., Ltd | Method and apparatus for producing lip-movement parameters in a three-dimensional-lip-model |
JP2002351489A (ja) * | 2001-05-29 | 2002-12-06 | Namco Ltd | ゲーム情報、情報記憶媒体、及びゲーム装置 |
CN1661675A (zh) * | 2004-02-26 | 2005-08-31 | 世嘉股份有限公司 | 语音分析设备、语音分析方法和语音分析程序 |
CN101482976A (zh) * | 2009-01-19 | 2009-07-15 | 腾讯科技(深圳)有限公司 | 语音驱动嘴唇形状变化的方法、获取嘴唇动画的方法及装置 |
Non-Patent Citations (2)
Title |
---|
《实时语音驱动的虚拟说话人》;李冰锋等;《清华大学学报(自然科学版)》;20110930;第51卷(第9期);第1180-1186页 * |
《语音驱动的口型同步算法》;范鑫鑫等;《东华大学学报(自然科学版)》;20170831;第43卷(第4期);第466-471页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108538308A (zh) | 2018-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108538308B (zh) | 基于语音的口型和/或表情模拟方法及装置 | |
Czyzewski et al. | An audio-visual corpus for multimodal automatic speech recognition | |
CN109377539B (zh) | 用于生成动画的方法和装置 | |
CN110624247B (zh) | 使用机器学习模型确定与实时语音相对应的嘴部的运动 | |
US9361722B2 (en) | Synthetic audiovisual storyteller | |
Cao et al. | Expressive speech-driven facial animation | |
US9959657B2 (en) | Computer generated head | |
US7636662B2 (en) | System and method for audio-visual content synthesis | |
US8125485B2 (en) | Animating speech of an avatar representing a participant in a mobile communication | |
US5884267A (en) | Automated speech alignment for image synthesis | |
US9082400B2 (en) | Video generation based on text | |
CN107633851B (zh) | 基于情感维度预测的离散语音情感识别方法、装置及系统 | |
CN111915707A (zh) | 一种基于音频信息的口型动画展示方法、装置及存储介质 | |
US20140210831A1 (en) | Computer generated head | |
JP2005241997A (ja) | 音声解析装置、音声解析方法及び音声解析プログラム | |
JP2015038725A (ja) | 発話アニメーション生成装置、方法、及びプログラム | |
Eyben et al. | Audiovisual vocal outburst classification in noisy acoustic conditions | |
Theobald et al. | Relating objective and subjective performance measures for aam-based visual speech synthesis | |
Brooke et al. | Two-and three-dimensional audio-visual speech synthesis | |
CN113362432B (zh) | 一种面部动画生成方法及装置 | |
Shih et al. | Speech-driven talking face using embedded confusable system for real time mobile multimedia | |
JP4177751B2 (ja) | 声質モデル生成方法、声質変換方法、並びにそれらのためのコンピュータプログラム、当該プログラムを記録した記録媒体、及び当該プログラムによりプログラムされたコンピュータ | |
WO2021244468A1 (zh) | 视频处理 | |
Gambino et al. | Virtual conversation with a real talking head | |
Kmett | Real-time viseme extraction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |