"Free" Lip Sync Software?

Does anyone know of a open source lip sync software? One maybe for Windows?

The only lipsync I know of is Magpie, but I would like something open source, even if it is not nearly as advanced.


Edit: Or a freeware lip sync software? I know I can get Magpie for 30 days, but then after that, I would have to buy it, and since I am just learning and not using it for production, I’d rather not pay to learn it at the moment.

I use Magpie, and it hasn’t expired. Maybe the new version does after 30 days, but the version I have suffices and it hasn’t expired as yet. It is version 0.9… maybe you can find somewhere to download that version.

I’ve written a lipsync program called JLipsync that’s based loosely on Magpie:


If I got feedback on how to improve it, I’d have some motivation to continue working on it, but so far the silence has been deafening… :-?

hehe the talking monster is cute :stuck_out_tongue:

I bet you’d have more feedback here if it was written in Python.

but the little monster is a winner …

This is something I have been after! :smiley: can Jlipsync be used with Blender, this would be a great tool for Blender and the community if it could, and you would have a LOT of interest and feedback :smiley:



will have look at JLipsync, too :slight_smile:

Keep in mind this is still alpha software. It runs OK under Windows, but the video playback is a bit dodgy under Linux. Any help from Java gurus would be appreciated!

I can’t take credit for the worm graphics, as they were done by Myles Strous. He was kind enough to give permission for me to use them in the program.

I probably should have written in in wxPython. One of the motiviations for writing it in Java was so that it might be useful with JPatch, an Animation:Master-styled Java-based modeler. Since all the useful stuff (sound file loading, image file loading, sound playback, image display, controls) are Java-library specific, there’s not really much that can used on its own.

But it shouldn’t that hard to use with Blender. I think there are Python scripts that will read Magpie files, and JLipSync outputs files in Magpie format.

There are a number of bits that still puzzle me. Although Java is supposed to be able to read other files, the only .wav files I’ve really been able to work with have been 8 bit files. I also haven’t grokked how to create .avi files with sound that work in a portable way. What works under Linux and the Mac fails under Windows; what works under Win95 fails under WinXP. :x

I was playing around with it a bit this afternoon, and noticed a couple of missing features:- Clicking on a frame should highlight the equivalent location in the wave;

  • Double clicking a frame should play back that segment of the wave.
  • Clicking a frame should change the mouth shape to the one selected in the frameI’ll try to make the changes in the near future (although I’m pretty busy with other projects, so it might take a while).

I’ve got a copy of the word to phoneme database somewhere, and if there’s interest, I’ll consider adding support for that as well.

Hey, I know wxbasic. Why not program it in wxbasic? jdk is too big.

Not sure if it is usefull but did any of you see this one:

From the page: A Python tool for Magpie Exposure Sheets. Import Phomeme data setup in Magpie, and apply it to facial morphs in your Blender drawing, as RVKs.

Our friends in france have an importer too:

tutorial translated by Google:

Link to downloadable files:


The nice thing about the Pamela program is that it can break up a typed-in text into phonemes. They may not be placed correctly in relation to the sound clip, but then you drag them to the correct place.

I found the tutorial to be mostly clear. The Pamela output (a *.dat file) is not present. You would have to create that yourself.

A. Select the IPO block that you want to modify.
B. Load a dictionary file (*.mot)
C. Import the dictionary
D. ‘Choose export’ means select the *.dat file you created using Pamela.
E. Import text. Means: apply curves to the various ipo’s.

Note: The python code only does linear interpolation, so if you want to change it, at the moment, you would have to update the script.


Yes, I have been trying to use it, but it does not work with the newer versions of blender. I tried to look at the code, but I don’t know python, so I couldn’t figure out why.

Has anyone updated this?

Are you using JMF? If so, are you using the cross platform version? I’ve had problems in the past with the generic version, especially on Linux. You may need to write two separate programs, one for Linux and one for Windows, using the specific JMFs for each. I know this kind of defeats the perpose of Java, but it shouldn’t be that difficult.