SourceForge Logo

JLipSync - A Lip Sync program written in Java

Screenshot of JLipSync beta
Screenshot of JLipSync

What is JLipSync?

JLipSync is a program for creating timesheets to sync animation to a pre-recorded audio track. It is similar to the commercial program Magpie.

Current Status

The latest release is March 29, 2005. New features include:

Problems Running JLipSync? (Updated April 25)

The version of JLipSync listed below has been corrected to work under OS X and Linux. In addition, it should be able to load 16 bit wave files (in addition to 8 bit files). This may break the ability to generate .avi files, which will probably be removed in the next release: If you have trouble running this on your platform, please send me an e-mail. I'll be updating the official release as soon as Real Life (tm) allows.

Got questions? Send me an E-mail.

Installing JLipSync

Before you can use JLipSync, you will need a Java Virtual Machine (JVM) installed on your machine. It should be compatible with Sun's Java Development Kit (JDK) 1.1 or later.

Here are links to JVMs for various operating systems:

Once you have a JVM installed, download the .jar file onto your machine:

You should be able to launch the program simply by double-clicking the file. If this doesn't work, you can run it from the command line with the instruction:

    java -jar JLipSync.jar

Using LipSync

To use JLipSync, first load a .wav file into it, either by choosing Open... from the File menu option, or clicking the folder icon in the menu bar. The wave will load and display in the wave panel. You can "scrub" through the wave by dragging the mouse over the image.

If you need an example .wav file, download vista.wav. Note that JLipSync can only load .wav files that are saved as 8 bit, uncompressed and monophonic.

Here is the accompanying .jls file: vista.jls. Since the timesheet only contains a reference to the .wav and not the actual wav file itself, JLipSync may prompt you for the location of the .wav file when you open the .jls file.

You can used the "Play" icon to play back the entire wave:

To select a portion of the wave, click on the image of the wave, hold down the Shift key, and drag the mouse. You will hear the sound play as you drag over the wave:

You can zoom in and out on the selection by using the "Zoom" icons:

Use the "Play Selected Portion" icon to play only the selected part of the wave:

If you click in the timesheet, that frame will become highlit on the wave image and that position on the timesheet will be selected:

You can press the Space bar to play a few frames of sound starting at the current position in the timesheet.

Click a phoneme on the phoneme list, and that mouth will be displayed:

Double click on the phoneme list, and that mouth will be placed at the current frame:

If you are on the timesheet, you can press a key to enter a phoneme onto the timesheet. You can enter the blends CH, SH or TH by typing the two letters (i.e. T and then H).

To enter the Closed phoneme, press the X key.

You can use the Insert and Delete keys to insert and remove phonemes. Note that this will remove or insert an entire row, not just the phoneme.

To mark a frame as a keyframe, click in the Key column.

Use the "Play" icon to preview the animation. When you are happy with the results, you can copy the timesheet to the clipboard by selecting "Write Timesheet to Text File" from the "File" menu to write the results to a text file, or "Copy to Clipboard" from the "File" menu, or just clicking the "Copy to Clipboard" icon:

The timesheet uses the same format as Magpie:

Frame   Timecode   Key   Mouth name    Comments
1 00.00.00.00
2 00.00.00.00
3 00.00.00.00 X Closed
4 00.00.00.00 X A
5 00.00.00.00 A
6 00.00.00.00 A
snip
   76  00.00.00.00   X    


Last updated on Monday, April 25, 2005