GithubHelp home page GithubHelp logo

ogallagher / papagayo-ng Goto Github PK

View Code? Open in Web Editor NEW

This project forked from morevnaproject-org/papagayo-ng

1.0 0.0 0.0 11.91 MB

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 the s

Shell 0.72% Python 96.74% HTML 2.18% QMake 0.07% NSIS 0.28%

papagayo-ng's Introduction

Papagayo-NG

alt text

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.

Requirements:

  • sounddevice>=0.3.13
  • cffi>=1.12.2
  • numpy>=1.16.2
  • pydub>=0.23.1
  • anytree>=2.6.0
  • PySide2>=5.12.3

You can use the included requirements.txt with pip to install these, like this for example:
pip install -r requirements.txt

Running

To run Papagayo-NG, double-click the papagayo-ng.py file, or run the following command:
python3 papagayo-ng.py

Contents

The Papagayo-NG source package includes the following files:

  • readme.md - this file
  • gpl.txt - the user license for Papagayo-NG
  • papagayo-ng.py - the main program file
  • phonemes/*.json - phoneme sets in a JSON format
  • LipsyncDoc.py - the document structure, including voices, phoneme breakdown, etc.
  • breakdowns/*.py - code to break down words using language specific pronunciations
  • LipsyncFrameQT.py - the main Papagayo-NG window
  • WaveformViewRewrite.py - the waveform view in the main window
  • MouthViewQT.py - the mouth view in the main window
  • PronunciationDialogQT.py - a dialog to provide manual phoneme breakdown
  • AboutBoxQT.py - about box
  • rsrc/papagayo-ng2.ui - the QT Design File for the UI
  • 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
  • setup.py - a script to build Papagayo-NG as a standalone Windows application
  • setup_mac.py - a script to build Papagayo-NG as a standalone MacOS X application
  • test/rsrc/ - Resource files used for testing language breakdown scripts in breakdowns/. Some breakdown scripts can be run directly (ex. python -m breakdowns.korean_breakdown) as a series of tests.

Tips

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 sub folder. If you want to add a different set of phonemes, you can use existing sets as examples.

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>_breakdown.py. Just examine one of the existing ones for how to make it work. Make sure the function to call your breakdown processing is called breakdown_word.

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 LipsyncDoc.py file for the function LipsyncVoice:Export - this is where Papagayo-NG exports switch data for Moho. You will also need to modify the file LipsyncFrame.py to add a user interface for exporting the new format.


Original Copyright © 2005 Mike Clifton
Contact: http://www.lostmarble.com

Modifications © 2010 Benjamin Lau
Contact: http://code.google.com/p/papagayo/

Papagayo-NG © 2020

  • Konstantin Dmitriev
  • Stefan Murawski
  • Azia Giles Abuara
  • Owen Gallagher

TODO: Add People currently working on Papagayo-NG

https://github.com/morevnaproject/papagayo-ng

papagayo-ng's People

Contributors

andeon avatar blackwarthog avatar dr-ecker avatar evgenijkatunov avatar jensdreske avatar luzpaz avatar mark-collins-voxsio avatar morevnaproject avatar ogallagher avatar pictureelements avatar steveway avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.