CriLipsMake の使い方

コンソールツール CriLipsMake の引数や出力ファイルのフォーマットについて説明します

CriLipsMake はコンソールツール (コマンドラインツール) です。 .wav などの音声ファイルを入力すると、テキスト形式で口パターンデータファイル(.adxlip)を出力します。

使い方 (Windows)

CriLipsMake をコマンドライン上で実行し、音声ファイルを入力することで口パターンデータを保存したテキストファイルが生成されます。
CriLipsMake の配置場所
まずは ADX LipSync Tools のパッケージファイル(.zip)を入手し、展開してください。すると "cri" フォルダが得られます。 以下のパスに CriLipsMake 本体が配置されているのを確認してください。
cri\tools\ADXLipSync\CriLipsMake.exe
Windows 環境であればコマンドプロンプトを開き CriLipsMake.exe と同じディレクトリ階層まで移動してください。
ライセンス認証
CriLipsMake は、ライセンスファイルによるライセンス認証によって不正な利用が制限されています。 以下の理由により、ライセンス認証エラーが発生することがあります。
ライセンスファイルが見つからない場合
CriLipsMake.exe に音声ファイルを入力した際、ライセンスファイルが見つからない場合は下記のようなエラーが発生します。
> .\CriLipsMake.exe -in=".\tutorial\crilipsmake\wav\03_voice_ja.wav"
|||||||||||| CRI Lips Make Ver.X.YY.ZZ ||||||||||||
Copyright (c) 2019 CRI Middleware Co., Ltd.
[ERROR] ライセンス認証に失敗しました。
対処方法については、付属の下記ファイルをご覧ください。
man_license_troubleshoot_j.txt
エラー内容 : ライセンス認証に失敗しました。
エラーコード : -1 GD (0xFFFFFFFF)
ライセンスキー : \cri\tools\ADXLipSync\cri_lipsync_tools.lic
このエラーを解消するには、ライセンスファイル "cri_lipsync_tools.lic" を入手して CriLipsMake.exe の配置場所と同じディレクトリにコピーする必要があります。
ライセンスファイルの有効期限が切れている場合
ライセンスファイルの有効期限が切れている場合は下記のようなエラーが発生します。
> .\CriLipsMake.exe -in=".\tutorial\crilipsmake\wav\03_voice_ja.wav"
|||||||||||| CRI Lips Make Ver.1.00.00 ||||||||||||
Copyright (c) 2019 CRI Middleware Co., Ltd.
[ERROR] ライセンス認証に失敗しました。
対処方法については、付属の下記ファイルをご覧ください。
man_license_troubleshoot_j.txt
ライセンス期限(2019-09-01)を過ぎています。
このエラーを解消するには、有効期限の新しいライセンスファイル "cri_lipsync_tools.lic" を入手して CriLipsMake.exe の配置場所と同じディレクトリにコピーする必要があります。
なお、ライセンスファイルを用いたライセンス認証方式は、将来のリリースにおいてネットワーク認証方式へと変更される可能性があります。
ライセンスファイルの複製について
ライセンスファイルは複製してもライセンス認証上問題ありません。複数の Windows マシン上に複製してご利用いただくことが可能です。
ライセンスファイルの入手方法
"cri_lipsync_tools.lic" は、お問い合わせいただいたお客様に個別にお送りしています。入手されていない方は、CRI・ミドルウェアのお問い合わせページよりお問い合わせください。 入手したライセンスファイルは、CriLipsMake.exe の配置場所と同じディレクトリに配置してください。
音声ファイルを入力して口パターンデータを生成する
下記のようなコマンドを実行することで、口パターンデータを保存したテキストファイルが得られます。 ここでは "03_voice_ja.adxlip" としています。
> .\CriLipsMake.exe -in=".\tutorial\crilipsmake\wav\03_voice_ja.wav"
|||||||||||| CRI Lips Make Ver.X.YY.ZZ ||||||||||||
Copyright (c) 2019 CRI Middleware Co., Ltd.
Input File : '.\tutorial\crilipsmake\wav\03_voice_ja.wav'
Output File : '.\03_voice_ja.adxlip'
"-in" オプションで入力元である音声ファイルのパスを指定します。ここでは .wav を指定していますが .aiff ファイルを渡すことも可能です。
上記コマンド例を実行することで 03_voice_ja.adxlip ファイルが得られます。 デフォルトでは、出力先ディレクトリは入力元ファイルのディレクトリと同一になります。 以下の場所に口パターンファイルが存在しているのを確認してください。
".\tutorial\crilipsmake\wav\03_voice_ja.adxlip"
ローカルに同名のファイルがあると上書きされて消えてしまいますので注意してください。 なお、口パク解析結果のフレームレートはデフォルト設定では60fpsとなります。
入力可能な音声ファイルについては、音声データガイドライン を参照してください。
口パターンデータファイル
CriLipsMake コマンドによって出力される口パターンデータファイルは、 解析結果はカンマ区切りのテキストファイルとして出力されます。 このファイルは以下のようなフォーマットになっています。
adxlip_format.png

行頭が'//'で始まるコメント部分はヘッダ部となっています。 現バージョンではヘッダ部は3行出力されます。 ヘッダより下の各行には口パターンデータの解析結果が記述されます。 最も左の列から順に、以下のようなデータが1行に並んでいます。
frame count
フレームカウントは、フレームレート(指定しなかった場合は 60 FPS)に従って 一つずつ増えていく解析フレームの番号です。
msec
この行の口パターンデータが対応する音声時刻(ミリ秒)です。 フレームカウントを以下の数式で時刻に換算したものです。
音声時刻(ミリ秒) = 1000 × フレームカウント / フレームレート
width, height, tongue position
それぞれ以下の値を意味します。
  • 口の幅(0.0f 以上 1.0f 以下)
  • 口の高さ(0.0f 以上 1.0f 以下)
  • 舌の位置(0.0f 以上 1.0f 以下)
口の幅、口の縦の開き具合、舌の高さの3種類の値が入っています。 各値は0.0~1.0の範囲を持ちます。 width(口の幅)は、通常の閉じ口で約0.583となり、値が大きいほど横方向に広がります。 height(口の縦の開き具合)は、通常の閉じ口で0.0で、値が大きいほど縦方向に開きます。 tongue position(舌の高さ)は、舌が下についている時に0.0で、値が大きいほど上に位置します。
A, I, U, E, O
それぞれ以下の値を意味します。
  • モーフターゲット「あ」のブレンド量(0.0f 以上 1.0f 以下)
  • モーフターゲット「い」のブレンド量(0.0f 以上 1.0f 以下)
  • モーフターゲット「う」のブレンド量(0.0f 以上 1.0f 以下)
  • モーフターゲット「え」のブレンド量(0.0f 以上 1.0f 以下)
  • モーフターゲット「お」のブレンド量(0.0f 以上 1.0f 以下)
モデルデータがブレンドできるモーフターゲットを持っている場合は、この出力値をモーフィングの値に利用してください。 なお、ここで出力される5つブレンド量の内、値が 0 を超えるものは最大でも同時に 2 つに制限されています。 3 つ以上のブレンドシェイプを組み合わせると口の形状が破綻する恐れがあるためです。 すべてのブレンド量を合計しても 1.0 を超えません。 また「あいうえお」の全てが0.0なら「話者が口を閉じている状態」を意味します。
Vol
音量を単位デシベルで出力しています。 デシベルは0.0で音量最大、マイナス方向に大きくなるほど音量が小さくなり、今回の結果では-96で無音としています。 -96~0.0は線形に音量があがっていくわけではないことに注意してください。 この値はアプリケーション向けの参考値として出力したものです。 音量が大きい時には口を大きめに開きたいなどの調整をする場合の参考に利用してください。
補足:口パターンデータファイルの使い方
出力結果をテキストファイルとして扱い、独自形式に変換したりDCCツールに取り込むなどして利用してください。 具体的な使用例については Maya への取り込み(MEL, Python) を参照してください。
コマンド引数
引数を一切指定せずに CriLipsMake.exe を実行すると下記のような 簡易ヘルプ が表示されます。
> .\CriLipsMake.exe
|||||||||||| CRI Lips Make Ver.X.YY.ZZ ||||||||||||
Copyright (c) 2019 CRI Middleware Co., Ltd.
[Required]
-in <VALUE> :<Input File(.wav)>
[Optional]
-out <VALUE> :[Output File(.txt)] (Default: Same directory and basename as input file)
-fps <VALUE> :Lip sync info per second. [1 - 100] (Default: 60)
-volthreshold <VALUE>:Volume threshold that is treated as silence. [-92 - 0] (Default: -40)
CriLipsMake コマンドに対する引数として、以下のものを指定できます。
  • -in: 入力元である音声ファイル (.wav または .aif) のパス (必須)
  • -out: 出力先である口パターンデータファイルのパス (任意)
  • -fps: 口パターン解析結果の出力フレームレート (任意)
  • -volthreshold: 無音とみなす音量の閾値 (任意)
-fps オプションに関する注意
CriLipsMake 内部では必ず 100 フレーム/秒の解析結果を生成します。つまり 100 fps 相当の解析を行います。 これは一般に 60 fps で動作するゲームアプリケーションにとっては情報量が多すぎるかもしれません。 "-fps" オプションを使えば 100 fps 相当の解析結果を、指定の fps に合致するように間引いて出力することができます。 例えば "-fps=60" と指定した場合、内部的には 100 fps 分のデータを 60 fps の間隔で抽出し、ファイルに出力します。 なお、このオプションで指定できる数値は 100 以下の整数のみです。
-volthreshold オプションに関する注意
CriLipsMake は入力元の音声ファイルの音量変化も取得します。 入力音声のある区間で音量が特定の閾値[dB]を下回った場合、CriLipsMake はその区間で「話者が口を閉じている (Silence)」と判断します。 "-volthreshold" オプションを使えば、Silence 状態とみなす音量の閾値を設定可能です。 このオプションには 0.0 より小さい小数点数が指定できます。単位は [dB] で対数音響パワーを表します。 デフォルト値は -40 db です。 入力音声に微細なノイズ音などが混入している場合、このパラメータを調整することでより望ましい口パターンを生成できる可能性があります。 ただし音量が小さくなった時点で、閉じた口の形状データが即座に出力されるわけではない点に注意してください。 CriLipsMake は無音と判定した後、自然に口を閉じる動作を表現するために、完全に口を閉じるまでのなだらかな形状変化を出力します。
実行例
コマンド実行例1
> CriLipsMake.exe sample.wav
オプション無しで文字列を指定された場合もファイル名とみなして処理を行います。 出力ファイル名は、入力ファイルの拡張子を'.adxlip' に置き換えた名前で上書き出力されます。 ローカルに同名のファイルがあると上書きされて消えてしまいますので注意してください。 この場合、口パターン解析結果のフレームレートとしてはデフォルト設定の60fpsとなります。
なお、入力ファイルのみ指定する方法に限っては、Windowsのエクスプローラ上で波形ファイルを CriLipsMake.exeにドラッグ&ドロップすることでも実行できます。 この場合の出力テキストは入力ファイルと同じ場所に生成されます。
コマンド実行例2
> CriLipsMake.exe -in=sample.wav -out=sample.csv
エクセルで閲覧しやすいように出力ファイルの拡張子をcsvに変更しています。 出力ファイルは強制上書きされますので、同名の重要なファイルが無いか注意してください。
コマンド実行例3
> CriLipsMake.exe -in=sample.wav -out=sample.csv -fps=30
30fpsで口パターンデータ解析結果を取得します。 フレームレートを減らしすぎると動きを表現仕切れなくなるので注意してください。
コマンド実行例4
> CriLipsMake.exe -in=sample.wav -out=sample.csv -volthreshold=-30.0
無音と判定する音量の閾値を -30.0 dB に指定しています。