Lip File Format

From Bohemia Interactive Community

Lip is a humanly readable text file generated by WaveToLip from any wss, wav, or ogg sound file and produces lip expressions (lip sync) for the speaking character.

  • The source sound must be mono, 16 bit, to have any meaning in a lip file
  • The lip file must be named the same as the speech sound file for the engine to use it, e.g PlayerTaunt.ogg, PlayerTaunt.lip


Syntax

The file begins with the frame step value frame = <value>, e.g frame = 0.040 (this value is hardcoded in WaveToLip).

This line is inserted by WaveToLip and is not necessary for the file to work.

It is then followed with lines of <timestamp>, <value>:

  • <timestamp> is a 3 digits precision float ranging between 0.000 (beginning of the file) and the audio file duration in seconds
  • <value> is an integer ranging between 0 and 7 (included) which corresponds to an animation index in:
"CfgHeads" >> "Default_A3" >> "Grimaces" >> "Lipsync" >> "vizem"
  • A3\Characters_F\Heads\Anim\male\Neutral.rtm
  • A3\Characters_F\Heads\Anim\male\a.rtm
  • A3\Characters_F\Heads\Anim\male\e2.rtm
  • A3\Characters_F\Heads\Anim\male\f.rtm
  • A3\Characters_F\Heads\Anim\male\m.rtm
  • A3\Characters_F\Heads\Anim\male\y.rtm
  • A3\Characters_F\Heads\Anim\male\v.rtm
  • A3\Characters_F\Heads\Anim\male\i.rtm
"CfgHeads" >> "WomanHead_A3" >> "Grimaces" >> "Lipsync" >> "vizem"
  • A3\Characters_F\Heads\Anim\female\Neutral.rtm
  • A3\Characters_F\Heads\Anim\female\a.rtm
  • A3\Characters_F\Heads\Anim\female\e2.rtm
  • A3\Characters_F\Heads\Anim\female\f.rtm
  • A3\Characters_F\Heads\Anim\female\m.rtm
  • A3\Characters_F\Heads\Anim\female\y.rtm
  • A3\Characters_F\Heads\Anim\female\v.rtm
  • A3\Characters_F\Heads\Anim\female\i.rtm

The first timestamp-value line is always 0.000, 0.
The final line is <fileDuration>, -1, indicating the lip movement's end.

frame = 0.040
0.000, 0
0.080, 2
// ...
11.080, -1