Papagayo is a lip-syncing program designed to help you line up phonemes (mouth shapes) with the actual recorded sound of actors speaking. Papagayo makes it easy to lip sync animated characters by making the process very simple - just type in the words being spoken (or copy/paste them from the animation's script), then drag the words on top of th…
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


To work with the Papagayo-NG source code, you need some special software installed. This software is not necessary to run the installer-based version of Papagayo-NG, but you do need it if you want to use this source code package.

Python - the programming language that Papagayo is written in.

wxPython - a cross-platform user interface library for Python, based on wxWidgets.

wxGlade - a user interface builder for wxWidgets. This program is not strictly necessary, but is helpful if you want to modify the user interface of Papagayo.

Papagayo-NG is written in Python, and requires no special tools to work with the source - a basic text editor is good enough. To run Papagayo-NG, double-click the file, or run the following command:



The Papagayo-NG source package includes the following files:

readme.txt - this file
gpl.txt - the user license for Papagayo-NG - the main program file - a list if phoneme sets available in Papagayo-NG - Preston Blair phoneme set (default) - Fleming & Dobbs phoneme set - the document structure, including voices, phoneme breakdown, etc.
breakdowns/*.py - code to break down words using language specific pronunciations - the main Papagayo-NG window - the waveform view in the main window - the mouth view in the main window - a dialog to provide manual phoneme breakdown - about box

lipsync.wxg - a wxGlade file defining the user interface layout for Papagayo-NG

rsrc/ - various resources for Papagayo-NG, including button pictures, mouths, and language configuration/data
rsrc/mouths/ - a folder containing the mouth pictures
rsrc/languages/ - a folder containing the configuration and data for different languages
papagayo-ng.ico - Windows icons
papagayo-ng.icns - MacOS X icons - a script to build Papagayo-NG as a standalone Windows application - a script to build Papagayo-NG as a standalone MacOS X application


Here are a couple tips for source code that you may want to modify:

By default, Papagayo-NG uses the Preston Blair phoneme set. There is also Fleming & Dobbs phoneme set available. The phoneme sets are stored in the phonemes_*.py files. If you want to add a different set of phonemes, you can use existing sets as examples. Also, take a look at the instructions in the file.

To add breakdowns for other languages create a new language configuration in rsrc/languages/<language> inside you need to place a configuration file (see italian for an example of how to configure a breakdown)  You will also need to create a breakdown class.  These live in breakdowns.  The naming convention is <language> Just examine one of the existing ones for how to make it work.  Make sure the function to call your breakdown processing is called breakdownWord.

Papagayo-NG now only works with Moho, but support could be added for other animation software, 2D or 3D. To add support for other export formats, look in the file for the function LipsyncVoice:Export - this is where Papagayo-NG exports switch data for Moho. You will also need to modify the file to add a user interface for exporting the new format.


Original Copyright (C) 2005 Mike Clifton

Modifications (C) 2010 Benjamin Lau

Papagayo-NG (C) 2016
- Konstantin Dmitriev
- Stefan Murawski
- Azia Giles Abuara
#TODO: Add People currently working on Papagayo-NG