LipSync @ ウィキ

発声の直前に口を閉じる子音

 考え方は、「口をすぼめる必要のある子音のエントリを、nnと母音のエントリに分割する」。
 どれだけの長さのnnを、元のエントリから削るかについて。注意した点は、
  • ビデオに出力した時に、最低 2フレーム は閉じてるところが見えるようにする
  • 元のエントリの削りすぎに注意
変数は、
fps
フレームレート(frame/sec)
length
元のエントリの長さ(sec)
consonant
追加する口閉じエントリの長さ(sec)

として、次で計算する。
const float CLOSING_FRAME = 2.99f;
if ( length < 2f * CLOSING_FRAME / fps ) {
    consonant = length / 2f;
} else {
    consonant = CLOSING_FRAME / fps;
}