CRIWARE Unity Plugin Manual  Last Updated: 2024-07-12
CriLipsAtomAnalyzer类 参考

Atom协同口形解析模块 更多...

类 CriLipsAtomAnalyzer 继承关系图:
ICriLipsAnalyzeModule

struct  Config
 创建Atom音频解析模块所使用的配置 更多...
 

Public 类型

enum  DataReadoutMode
 外部数据读取操作类型 更多...
 

Public 成员函数

 CriLipsAtomAnalyzer (int maxSamplingRate=48000)
 创建AtomAnalyzer句柄(指定最高采样率) 更多...
 
 CriLipsAtomAnalyzer (Config config)
 创建AtomAnalyzer句柄(指定设置) 更多...
 
override void Dispose ()
 丢弃LipsAtomAnalyzer句柄 更多...
 
bool AttachToAtomExPlayer (CriAtomExPlayer player)
 添加至AtomExPlayer 更多...
 
bool DetachFromAtomExPlayer ()
 从AtomExPlayer切断 更多...
 
bool DetachFromAtomExPlayer (bool forceStop)
 
bool SetSamplingRate (int samplingRate)
 设置采样频率 更多...
 
int GetSamplingRate ()
 采样频率的获取 更多...
 
bool SetSilenceThreshold (float volume)
 设置静音判定音量阈值 更多...
 
void GetInfo (out CriLipsMouth.Info info)
 获取口形数据 更多...
 
void GetMorphTargetBlendAmountAsJapanese (out CriLipsMouth.MorphTargetBlendAmountAsJapanese morph)
 获取日语五元音变形目标混合量 更多...
 
void GetOpenInfo (out CriLipsMouth.OpenInfo openInfo)
 单轴口形数据的获取 更多...
 
float GetVolume ()
 获取音量 更多...
 
float GetSilenceThreshold ()
 获取静音判定音量阈值 更多...
 
void GetInfoAtSilence (out CriLipsMouth.Info info)
 获取闭合状态口形数据 更多...
 
bool IsAtSilence ()
 检查是否没有发声并且嘴巴闭合 更多...
 
bool IsAtSilenceForMouthOpen ()
 检查是否没有发声并且嘴巴闭合(单轴) 更多...
 
bool AttachToDspBus (string busName)
 添加至DSP总线 更多...
 
bool DetachFromDspBus ()
 从DSP总线切断 更多...
 
bool IsMorphTargetBlendAmountInterpolative ()
 混合量是否插值 更多...
 

详细描述

Atom协同口形解析模块

说明:
是将AtomExPlayer和DSP总线等协同在一起解析音频用的模块。
使用Atom运行库解析所播放的音频,获取口形数据。

成员枚举类型说明

enum DataReadoutMode
strong

外部数据读取操作类型

说明:
此数据型用于指定读取Atom Cue Sheet二进制文件中所包含口型数据时的操作。
根据播放中的波形数据对应的预分析口型数据的存在与否,决定是否执行实时分析。
  • ProcessIfNoData:存在口型数据时读取,不存在时则执行实时分析。
  • SilentIfNoData:仅读取口型数据,不存在时则作为静音处理。不执行实时分析。
  • ProcessAlways:无论是否存在口型数据,始终执行实时分析。
参见
CriLipsAtomAnalyzer::Config, CriLipsAtomAnalyzer::CriLipsAtomAnalyzer

构造及析构函数说明

CriLipsAtomAnalyzer ( int  maxSamplingRate = 48000)
inline

创建AtomAnalyzer句柄(指定最高采样率)

参数
maxSamplingRate最大采样率
返回
AtomAnalyzer句柄
说明:
创建与Atom协同工作的口型解析模块LipAtomAnalyzer。
在可以解析用参数指定的采样率波形数据的状态下 进行创建。
如果输入的采样率波形数据比创建句柄时指定的值低, 请调用 CriLipsAtomAnalyzer::SetSamplingRate
备注:
如果在没有添加至AtomExPlayer等的状态下,调用 CriLipsAtomAnalyzer::GetInfo 后 会获取“嘴巴闭合状态”的形状信息。
注意:
调用本函数前,务必对插件进行初始化。
参见
CriLipsAtomAnalyzer::Dispose, CriLipsAtomAnalyzer::GetInfo
CriLipsAtomAnalyzer ( Config  config)
inline

创建AtomAnalyzer句柄(指定设置)

参数
config配置结构体
返回
AtomAnalyzer句柄
说明:
创建与Atom协同工作的口型解析模块LipAtomAnalyzer。
如果要以低于句柄创建配置所指定的采样率输入波形数据, 请调用 CriLipsAtomAnalyzer::SetSamplingRate
备注:
如果在没有添加至AtomExPlayer等的状态下,调用 CriLipsAtomAnalyzer::GetInfo 后 会获取“嘴巴闭合状态”的形状信息。
注意:
调用本函数前,务必对插件进行初始化。

对口形解析处理时,在插件内部会使用ADX2的滤波器回调。
因此,如果已为 CriAtomSource 注册了滤波器回调时,该注册将会被解除掉。
此外,执行对口形解析处理过程中,如果为 CriAtomSource 注册了滤波器回调,
对口形解析处理将会停止。
参见
CriLipsAtomAnalyzer::Dispose, CriLipsAtomAnalyzer::GetInfo

成员函数说明

override void Dispose ( )
inline

丢弃LipsAtomAnalyzer句柄

说明:
丢弃LipsAtomAnalyzer句柄。
一旦执行了本函数,创建LipsAtomAnalyzer句柄时,在DLL内取得的 资源将全部被释放。
参见
CriLipsAtomAnalyzer::CriLipsAtomAnalyzer
bool AttachToAtomExPlayer ( CriAtomExPlayer  player)
inline

添加至AtomExPlayer

参数
playerCriAtomExPlayer句柄
返回
挂载成功时为true,失败则为false
说明:
将分析器挂载到要分析的 AtomExPlayer。
调用该函数后,会对AtomExPlayer播放的音频进行分析,获取口型信息。
调用该函数会清除内部状态。
注意:
如果调用此函数时它已经挂载到 AtomExPlayer 或 DSP 总线, 则内部将执行卸除处理。
参见
CriLipsAtomAnalyzer::DetachFromAtomExPlayer
bool DetachFromAtomExPlayer ( )
inline

从AtomExPlayer切断

返回
卸载成功时返回true,失败则返回false
说明:
将分析器从挂载的 AtomExPlayer 中卸除。
调用此函数会清除内部状态。
参见
CriLipsAtomAnalyzer::AttachToAtomExPlayer
bool DetachFromAtomExPlayer ( bool  forceStop)
inline
弃用:
预计将来会被删除的弃用 API。 请考虑使用无参数的 CriLipsAtomAnalyzer.DetachFromAtomExPlayer
bool SetSamplingRate ( int  samplingRate)
inline

设置采样频率

参数
samplingRate采样频率
返回
设置成功时为true,失败则为false
说明:
设置解析对象的音频数据的采样频率。
用AtomExPlayer播放音频前,请设置波形数据的 采样频率。
调用本函数后,内部状态将被清除。
可以解析的采样频率是 16000Hz 以上,初始化时指定的 最大采样率以下。
参见
CriLipsAtomAnalyzer::AttachToAtomExPlayer, CriLipsAtomAnalyzer.GetSamplingRate
int GetSamplingRate ( )
inline

采样频率的获取

返回
采样频率
说明:
获取要分析的音频数据的采样率。 (由CriLipsAtomAnalyzer.SetSamplingRate设置)
注意:
获取失败时,将返回false。
参见
CriLipsAtomAnalyzer.SetSamplingRate
bool SetSilenceThreshold ( float  volume)
inline

设置静音判定音量阈值

参数
volume最大音量(dB)
返回
设置成功时为true,失败则为false
说明:
用0以下的值来设置将从AtomExPlayer输出的解析对象样本 判断为静音的最大音量(dB)。
创建句柄时的预设值状态下,已被设置为 -40dB。
void GetInfo ( out CriLipsMouth.Info  info)
inline

获取口形数据

参数
info口形数据
说明:
解析用添加的AtomExPlayer所播放的音频数据,获取所得到的 口形法。
参见
CriLipsAtomAnalyzer::AttachToAtomExPlayer

实现了 ICriLipsAnalyzeModule.

void GetMorphTargetBlendAmountAsJapanese ( out CriLipsMouth.MorphTargetBlendAmountAsJapanese  morph)
inline

获取日语五元音变形目标混合量

参数
morph日语五元音变形目标混合量
说明:
解析用添加的AtomExPlayer所播放的音频数据,获取所得到的 日语五元音变形目标混合量。
参见
CriLipsAtomAnalyzer::AttachToAtomExPlayer

实现了 ICriLipsAnalyzeModule.

void GetOpenInfo ( out CriLipsMouth.OpenInfo  openInfo)
inline

单轴口形数据的获取

参数
openInfo口形数据
说明:
分析挂载到的 AtomExPlayer 播放的音频数据,
获取专门针对单轴控制嘴部开合的模型的嘴形信息。
参见
CriLipsAtomAnalyzer::AttachToAtomExPlayer

实现了 ICriLipsAnalyzeModule.

float GetVolume ( )
inline

获取音量

返回
解析样本的音量(dB)
说明:
获取解析样本的音量(dB)。
注意:
发生错误时会返回正值。
参见
CriLipsAtomAnalyzer::AttachToAtomExPlayer

实现了 ICriLipsAnalyzeModule.

float GetSilenceThreshold ( )
inline

获取静音判定音量阈值

返回
最大音量(dB)
说明:
获取判断该函数所解析音频数据为静音的 最大音量(dB)。
注意:
发生错误时会返回大于 0 的值。

实现了 ICriLipsAnalyzeModule.

void GetInfoAtSilence ( out CriLipsMouth.Info  info)
inline

获取闭合状态口形数据

参数
info口形数据
说明:
获取闭合的口形信息,可以在句柄创建之后或者无声播放时获取。

实现了 ICriLipsAnalyzeModule.

bool IsAtSilence ( )
inline

检查是否没有发声并且嘴巴闭合

返回
嘴巴闭合时为true,张开时为false
说明:
当前状态是否为“未发声”(即嘴是否为闭合)。
参见
CriLipsAtomAnalyzer.IsAtSilenceForMouthOpen

实现了 ICriLipsAnalyzeModule.

bool IsAtSilenceForMouthOpen ( )
inline

检查是否没有发声并且嘴巴闭合(单轴)

返回
嘴巴闭合时为true,张开时为false
说明:
获取当前是否为不发声(嘴巴闭合)状态。
根据 1 轴LipSync分析过程的平滑滤波器参数,
即使 CriLipsAtomAnalyzer.IsAtSilence 判定为嘴巴闭合(true),
本 API 也可能判断嘴巴打开(返回false)。
参见
CriLipsAtomAnalyzer.IsAtSilence

实现了 ICriLipsAnalyzeModule.

bool AttachToDspBus ( string  busName)
inline

添加至DSP总线

参数
busNameDSP总线名
返回
挂载成功时为true,失败则为false
说明:
添加(安装)解析对象的DSP总线分析器。
调用本函数后,将会解析输入至DSP总线的音频, 可以获取口形数据。
调用本函数后,内部状态将被清除。
注意:
调用本函数时,如果已经添加在AtomExPlayer和DSP总线上, 则将会在内部进行切断处理。
添加的AtomExPlayer正在播放时,无法进行切断, 因此本函数会失败。
参见
CriLipsAtomAnalyzer::DetachFromDspBus
bool DetachFromDspBus ( )
inline

从DSP总线切断

返回
卸载成功时返回true,失败则返回false
说明:
从已添加的DSP总线切断(删除)分析器。
调用本函数后,内部状态将被清除。
参见
CriLipsAtomAnalyzer::AttachToDspBus
bool IsMorphTargetBlendAmountInterpolative ( )
inline

混合量是否插值

返回
对混合量进行插值时为true,否则为false
说明:
获取的混合量是否通过以在变形目标之间进行插值而生成。

实现了 ICriLipsAnalyzeModule.


该类的文档由以下文件生成: