CRIWARE Unity Plugin Manual  Last Updated: 2024-04-24
CriLipsAtomAnalyzer クラス

Atom連携口形状解析モジュール [詳解]

CriLipsAtomAnalyzer の継承関係図
ICriLipsAnalyzeModule

クラス

struct  Config
 Atom音声解析モジュール作成用コンフィグ [詳解]
 

公開型

enum  DataReadoutMode
 外部データ読み出し動作種別 [詳解]
 

公開メンバ関数

 CriLipsAtomAnalyzer (int maxSamplingRate=48000)
 AtomAnalyzerハンドルの作成(最大サンプリングレート指定) [詳解]
 
 CriLipsAtomAnalyzer (Config config)
 AtomAnalyzerハンドルの作成(コンフィグ指定) [詳解]
 
override void Dispose ()
 LipsAtomAnalyzerハンドルの破棄 [詳解]
 
bool AttachToAtomExPlayer (CriAtomExPlayer player)
 AtomExプレーヤーへのアタッチ [詳解]
 
bool DetachFromAtomExPlayer ()
 AtomExプレーヤーからのデタッチ [詳解]
 
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)
 日本語5母音モーフターゲットブレンド量の取得 [詳解]
 
void GetOpenInfo (out CriLipsMouth.OpenInfo openInfo)
 1軸口形状情報の取得 [詳解]
 
float GetVolume ()
 音量の取得 [詳解]
 
float GetSilenceThreshold ()
 無音判定音量閾値の取得 [詳解]
 
void GetInfoAtSilence (out CriLipsMouth.Info info)
 閉じた状態の口形状情報の取得 [詳解]
 
bool IsAtSilence ()
 発音がなく、口を閉じているかどうかの取得 [詳解]
 
bool IsAtSilenceForMouthOpen ()
 発音がなく、口を閉じているかどうかの取得(1軸) [詳解]
 
bool AttachToDspBus (string busName)
 DSPバスへのアタッチ [詳解]
 
bool DetachFromDspBus ()
 DSPバスからのデタッチ [詳解]
 
bool IsMorphTargetBlendAmountInterpolative ()
 ブレンド量が補間的かどうかの取得 [詳解]
 

詳解

Atom連携口形状解析モジュール

説明:
AtomExプレーヤーやDSPバスなどと連携して音声を解析するモジュールです。
Atomライブラリを用いて再生した音声を解析し、口形状情報を取得することができます。

列挙型メンバ詳解

enum DataReadoutMode
strong

外部データ読み出し動作種別

説明:
Atomキューシートバイナリに含まれる口パクデータの読み出し動作を指定するためのデータ型です。
再生中の波形データに対応した事前解析済み口パクデータの有無に応じて、リアルタイム解析を行うか否かを 選択するために利用します。
  • ProcessIfNoDate:口パクデータが存在する場合は読み出し、ない場合はリアルタイム解析を行います。
  • SilentIfNoData:口パクデータを読み出しのみを行い、ない場合は無音として処理します。リアルタイム解析は行いません。
  • ProcessAlways:口パクデータの有無に関わらず、常にリアルタイム解析を行います。
参照
CriLipsAtomAnalyzer::Config, CriLipsAtomAnalyzer::CriLipsAtomAnalyzer

構築子と解体子

CriLipsAtomAnalyzer ( int  maxSamplingRate = 48000)
inline

AtomAnalyzerハンドルの作成(最大サンプリングレート指定)

引数
maxSamplingRate最大サンプリングレート
戻り値
AtomAnalyzerハンドル
説明:
Atom連携口形状解析モジュールであるLipAtomAnalyzerを作成します。
引数で指定したサンプリングレートの波形データを解析できる状態で作成 されます。
ハンドル作成時に指定した値よりも低いサンプリングレートの波形データを入力する場合は、 CriLipsAtomAnalyzer::SetSamplingRate を呼び出してください。
備考:
AtomExプレーヤ―などにアタッチしていない状態で CriLipsAtomAnalyzer::GetInfo を呼び出すと、「口が閉じた状態」の形状情報を取得します。
注意:
本関数を呼び出す前に、必ずプラグインの初期化を行ってください。
参照
CriLipsAtomAnalyzer::Dispose, CriLipsAtomAnalyzer::GetInfo
CriLipsAtomAnalyzer ( Config  config)
inline

AtomAnalyzerハンドルの作成(コンフィグ指定)

引数
configコンフィグ構造体
戻り値
AtomAnalyzerハンドル
説明:
Atom連携口形状解析モジュールであるLipAtomAnalyzerを作成します。
ハンドル作成時に、コンフィグで指定した値よりも低いサンプリングレートの波形データを 入力する場合は、 CriLipsAtomAnalyzer::SetSamplingRate を呼び出してください。
備考:
AtomExプレーヤ―などにアタッチしていない状態で CriLipsAtomAnalyzer::GetInfo を呼び出すと、「口が閉じた状態」の形状情報を取得します。
注意:
本関数を呼び出す前に、必ずプラグインの初期化を行ってください。

口パク解析処理ではプラグイン内部でADX2のフィルターコールバックを使用しています。
したがって、既に CriAtomSource にフィルターコールバックを登録していた場合は登録が解除されます。
また、口パク解析処理を実行中に CriAtomSource にフィルターコールバックを登録した場合
口パク解析処理が停止します。
参照
CriLipsAtomAnalyzer::Dispose, CriLipsAtomAnalyzer::GetInfo

関数詳解

override void Dispose ( )
inline

LipsAtomAnalyzerハンドルの破棄

説明:
LipsAtomAnalyzerハンドルを破棄します。
本関数を実行した時点で、LipsAtomAnalyzerハンドル作成時にDLL内で確保された リソースが全て解放されます。
参照
CriLipsAtomAnalyzer::CriLipsAtomAnalyzer
bool AttachToAtomExPlayer ( CriAtomExPlayer  player)
inline

AtomExプレーヤーへのアタッチ

引数
playerCriAtomExPlayerハンドル
戻り値
アタッチに成功すればtrue、失敗すればfalse
説明:
解析対象のAtomExプレーヤにアナライザーをアタッチ(取り付け)します。
本関数呼び出し後、AtomExプレーヤで再生した音声について解析が行われ、 口形状情報の取得が行えるようになります。
本関数を呼び出すと、内部状態がクリアされます。
注意:
本関数呼び出し時点ですでにAtomExプレーヤ―やDSPバスにアタッチ済みの 場合、内部でデタッチ処理が行われます。
参照
CriLipsAtomAnalyzer::DetachFromAtomExPlayer
bool DetachFromAtomExPlayer ( )
inline

AtomExプレーヤーからのデタッチ

戻り値
デタッチに成功すればtrue、失敗すればfalse
説明:
アタッチ済みのAtomExプレーヤーからアナライザーをデタッチ(取り外し)します。
本関数を呼び出すと、内部状態がクリアされます。
参照
CriLipsAtomAnalyzer::AttachToAtomExPlayer
bool DetachFromAtomExPlayer ( bool  forceStop)
inline
非推奨:
削除予定の非推奨APIです。 引数無しの CriLipsAtomAnalyzer.DetachFromAtomExPlayer を使用してください。
bool SetSamplingRate ( int  samplingRate)
inline

サンプリング周波数の設定

引数
samplingRateサンプリング周波数
戻り値
設定に成功すればtrue、失敗すればfalse
説明:
解析対象の音声データのサンプリング周波数を設定します。
AtomExプレーヤーで音声を再生する前に、波形データのサンプリング周波数を 設定してください。
本関数を呼び出すと、内部状態がクリアされます。
解析可能なサンプリング周波数は 16000Hz 以上、 初期化時に指定した 最大サンプリングレート以下です。
参照
CriLipsAtomAnalyzer::AttachToAtomExPlayer, CriLipsAtomAnalyzer.GetSamplingRate
int GetSamplingRate ( )
inline

サンプリング周波数の取得

戻り値
サンプリング周波数
説明:
CriLipsAtomAnalyzer.SetSamplingRate で設定された。
解析対象の音声データのサンプリング周波数を取得します。
注意:
取得に失敗した場合は負値を返します
参照
CriLipsAtomAnalyzer.SetSamplingRate
bool SetSilenceThreshold ( float  volume)
inline

無音判定音量閾値の設定

引数
volume最大音量(dB)
戻り値
設定に成功すればtrue、失敗すればfalse
説明:
AtomExプレーヤーから出力された解析対象のサンプルを無音として判定する 最大音量(dB)を、0以下の値で設定します。
ハンドル作成時のデフォルト状態では -40dB に設定されています。
void GetInfo ( out CriLipsMouth.Info  info)
inline

口形状情報の取得

引数
info口形状情報
説明:
アタッチしたAtomExプレーヤーで再生した音声データを解析して得られた 口形状情報の取得を行います。
参照
CriLipsAtomAnalyzer::AttachToAtomExPlayer

ICriLipsAnalyzeModuleを実装しています。

void GetMorphTargetBlendAmountAsJapanese ( out CriLipsMouth.MorphTargetBlendAmountAsJapanese  morph)
inline

日本語5母音モーフターゲットブレンド量の取得

引数
morph日本語5母音モーフターゲットブレンド量
説明:
アタッチしたAtomExプレーヤーで再生した音声データを解析して得られた 日本語5母音モーフターゲットブレンド量の取得を行います。
参照
CriLipsAtomAnalyzer::AttachToAtomExPlayer

ICriLipsAnalyzeModuleを実装しています。

void GetOpenInfo ( out CriLipsMouth.OpenInfo  openInfo)
inline

1軸口形状情報の取得

引数
openInfo口形状情報
説明:
1軸で口の開閉を行うようなモデル向けに特化した1軸口形状情報を
アタッチしたAtomExプレーヤーで再生した音声データから解析して取得します。
参照
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

発音がなく、口を閉じているかどうかの取得(1軸)

戻り値
口が閉じていればtrue、開いていればfalse
説明:
現在の状態が発音中でないか(口が閉じているか)どうかを取得します。
1軸口パク解析処理の平滑化フィルターのパラメーターによって
CriLipsAtomAnalyzer.IsAtSilence が閉じ口判定(true)であっても
本APIは、口が開いている判定(false)を返します。
参照
CriLipsAtomAnalyzer.IsAtSilence

ICriLipsAnalyzeModuleを実装しています。

bool AttachToDspBus ( string  busName)
inline

DSPバスへのアタッチ

引数
busNameDSPバス名
戻り値
アタッチに成功すればtrue、失敗すればfalse
説明:
解析対象のDSPバスアナライザーをアタッチ(取り付け)します。
本関数呼び出し後、DSPバスに入力された音声について解析が行われ、 口形状情報の取得が行えるようになります。
本関数を呼び出すと、内部状態がクリアされます。
注意:
本関数呼び出し時点ですでにAtomExプレーヤ―やDSPバスにアタッチ済みの 場合、内部でデタッチ処理が行われます。
アタッチしているAtomExプレーヤ―が再生中の場合はデタッチができないため、 本関数は失敗します。
参照
CriLipsAtomAnalyzer::DetachFromDspBus
bool DetachFromDspBus ( )
inline

DSPバスからのデタッチ

戻り値
デタッチに成功すればtrue、失敗すればfalse
説明:
アタッチ済みのDSPバスからアナライザーをデタッチ(取り外し)します。
本関数を呼び出すと、内部状態がクリアされます。
参照
CriLipsAtomAnalyzer::AttachToDspBus
bool IsMorphTargetBlendAmountInterpolative ( )
inline

ブレンド量が補間的かどうかの取得

戻り値
ブレンド量が補間的なときtrue、補間的でないときfalse
説明:
取得したブレンド量が、モーフターゲット間を補間するように生成されたものかどうかを取得します。

ICriLipsAnalyzeModuleを実装しています。


このクラス詳解は次のファイルから抽出されました: