CRI LipSync V for Unity Manual  Last Updated: 2021-11-01
CRI Lips Native Wrapper

名前空間

namespace  CriWare
 

クラス

struct  CriLipsMouth.Info
 口形状情報構造体 [詳解]
 
struct  CriLipsMouth.MorphTargetBlendAmountAsJapanese
 日本語5母音モーフターゲットブレンド量構造体 [詳解]
 
class  CriLipsMouth
 口形状解析モジュール [詳解]
 
struct  CriLipsAtomAnalyzer.Config
 Atom音声解析モジュール作成用コンフィグ [詳解]
 
class  CriLipsAtomAnalyzer
 Atom連携口形状解析モジュール [詳解]
 

列挙型

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

関数

static void InitializeLibrary (uint maxHandles=2u)
 LipsAtomライブラリの初期化 [詳解]
 
static void FinalizeLibrary ()
 LipsAtomライブラリの終了 [詳解]
 
static uint GetMemoryUsage ()
 メモリ使用量の取得 [詳解]
 
static void AttachAnalyzerToPlayer (CriAtomExPlayer player, CriLipsAtomAnalyzer analyzer)
 LipsAtomアナライザーのAtomExプレーヤーへのアタッチ [詳解]
 
static void DetachAnalyzerFromPlayer (CriAtomExPlayer player, CriLipsAtomAnalyzer analyzer)
 LipsAtomアナライザーのAtomExプレーヤーからのデタッチ [詳解]
 
static void DetachAnalyzerFromInvalidPlayer (CriLipsAtomAnalyzer analyzer)
 LipsAtomアナライザーの破棄済みAtomExプレーヤーからのデタッチ [詳解]
 
 CriLipsAtomAnalyzer (int maxSamplingRate=48000)
 AtomAnalyzerハンドルの作成(最大サンプリングレート指定) [詳解]
 
 CriLipsAtomAnalyzer (Config config)
 AtomAnalyzerハンドルの作成(コンフィグ指定) [詳解]
 
override void Dispose ()
 LipsAtomAnalyzerハンドルの破棄 [詳解]
 
bool AttachToAtomExPlayer (CriAtomExPlayer player)
 AtomExプレーヤーへのアタッチ [詳解]
 
bool DetachFromAtomExPlayer (bool forceStop=false)
 AtomExプレーヤーからのデタッチ [詳解]
 
bool SetSamplingRate (int samplingRate)
 サンプリング周波数の設定 [詳解]
 
bool SetSilenceThreshold (float volume)
 無音判定音量閾値の設定 [詳解]
 
void GetInfo (out CriLipsMouth.Info info)
 口形状情報の取得 [詳解]
 
void GetMorphTargetBlendAmountAsJapanese (out CriLipsMouth.MorphTargetBlendAmountAsJapanese morph)
 日本語5母音モーフターゲットブレンド量の取得 [詳解]
 
float GetVolume ()
 音量の取得 [詳解]
 
float GetSilenceThreshold ()
 無音判定音量閾値の取得 [詳解]
 
void GetInfoAtSilence (out CriLipsMouth.Info info)
 閉じた状態の口形状情報の取得 [詳解]
 
bool IsAtSilence ()
 発音がなく、口を閉じているかどうかの取得 [詳解]
 
bool AttachToDspBus (string busName)
 DSPバスへのアタッチ [詳解]
 
bool DetachFromDspBus ()
 DSPバスからのデタッチ [詳解]
 

プロパティ

static Config Default [get]
 Atom音声解析モジュール作成用コンフィグのデフォルト値
 

詳解

ネイティブCRI Lipsのラッパークラスです。
アプリケーション上で、より高度な制御を必要とする場合に使用します。

列挙型詳解

enum DataReadoutMode
strong

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

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

関数詳解

static void InitializeLibrary ( uint  maxHandles = 2u)
inlinestatic

LipsAtomライブラリの初期化

引数
maxHandles同時に利用するAtomAnalyzerハンドルの最大数(デフォルトは2つ)
説明:
LipsAtomライブラリを初期化します。
Atomと連携して口形状解析を行う場合は、本関数でライブラリの初期化を 行ってください。 また、本関数を呼び出してライブラリを初期化を行った場合は、必ず CriLipsAtomPlugin::FinalizeLibrary を呼び出してライブラリを終了してください。
参照
CriLipsAtomPlugin::FinalizeLibrary
static void FinalizeLibrary ( )
inlinestatic

LipsAtomライブラリの終了

説明:
LipsAtomライブラリを初期化します。
参照
CriLipsAtomPlugin::InitializeLibrary
static uint GetMemoryUsage ( )
inlinestatic

メモリ使用量の取得

戻り値
メモリ使用量 [byte]
説明:
LipsAtomのメモリ使用量を返します。
static void AttachAnalyzerToPlayer ( CriAtomExPlayer  player,
CriLipsAtomAnalyzer  analyzer 
)
inlinestatic

LipsAtomアナライザーのAtomExプレーヤーへのアタッチ

引数
playerAtomExPlayerハンドル
analyzerLipsAtomAnalyzerハンドル
説明:
LipsAtomアナライザーを解析対象のAtomExプレーヤにアナライザーをアタッチ(取り付け)します。
本関数呼び出し後、AtomExプレーヤで再生した音声について解析が行われ、 アタッチしたLipsAtomアナライザーを介して口形状情報の取得が行えるようになります。
本関数の呼び出しは、停止中(ステータスがStop)のプレーヤ―に対してのみ可能です。
停止中でないプレーヤ―に対して関数を呼び出した場合、エラーコールバックが発生して失敗します。
本関数を呼び出すと、内部状態がクリアされます。
注意:
本関数でアタッチしたAtomExプレーヤ―やLipsAtomアナライザーを破棄する前に、必ず CriLipsAtomPlugin::DetachAnalyzerFromPlayer 関数を呼び出してデタッチしてください。
アナライザーを破棄した場合に不正なメモリアクセスが発生する可能性があります。
参照
CriLipsAtomPlugin::DetachAnalyzerFromPlayer
static void DetachAnalyzerFromPlayer ( CriAtomExPlayer  player,
CriLipsAtomAnalyzer  analyzer 
)
inlinestatic

LipsAtomアナライザーのAtomExプレーヤーからのデタッチ

引数
playerAtomExPlayerハンドル
analyzerLipsAtomAnalyzerハンドル
説明:
アナライザーをアタッチ済みのAtomExプレーヤーからデタッチ(取り外し)します。
本関数の呼び出しは、停止中(ステータスがStop)のプレーヤ―に対してのみ可能です。
停止中でないプレーヤ―に対して関数を呼び出した場合、エラーコールバックが発生して失敗します。
参照
CriLipsAtomPlugin::AttachAnalyzerToPlayer
static void DetachAnalyzerFromInvalidPlayer ( CriLipsAtomAnalyzer  analyzer)
inlinestatic

LipsAtomアナライザーの破棄済みAtomExプレーヤーからのデタッチ

引数
analyzerLipsAtomAnalyzerハンドル
説明:
アナライザーを既に破棄されたAtomExプレーヤーからデタッチ(取り外し)します。
参照
CriLipsAtomPlugin::AttachAnalyzerToPlayer
CriLipsAtomAnalyzer ( int  maxSamplingRate = 48000)
inline

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

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

口パク解析処理ではプラグイン内部でADX2のフィルターコールバックを使用しています。
したがって、既に CriAtomSource にフィルターコールバックを登録していた場合は登録が解除されます。
また、口パク解析処理を実行中に CriAtomSource にフィルターコールバックを登録した場合
口パク解析処理が停止します。
参照
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バスにアタッチ済みの 場合、内部でデタッチ処理が行われます。
アタッチしているAtomExプレーヤ―が再生中の場合はデタッチができないため、 本関数は失敗します。
参照
CriLipsAtomAnalyzer::DetachFromAtomExPlayer
bool DetachFromAtomExPlayer ( bool  forceStop = false)
inline

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

引数
forceStopプレーヤーを停止して強制的にデタッチするか
戻り値
デタッチに成功すればTrue、失敗すればFalse
説明:
アタッチ済みのAtomExプレーヤーからアナライザーをデタッチ(取り外し)します。
本関数の呼び出しは、停止中のプレーヤーに対してのみ可能です。
引数をTrueに指定して呼び出した場合は再生を停止して強制的にデタッチします。
再生中のプレーヤーに対して引数をFalseにして関数を呼び出した場合、エラーコールバックが 発生して失敗します。
本関数を呼び出すと、内部状態がクリアされます。
参照
CriLipsAtomAnalyzer::AttachToAtomExPlayer
bool SetSamplingRate ( int  samplingRate)
inline

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

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

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
説明:
現在の状態が発音中でないか(口が閉じているか)どうかを取得します。

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