MCPcopy Index your code
hub / github.com/SasageyoOrg/voca-blender

github.com/SasageyoOrg/voca-blender @v1.0.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.0.1 ↗ · + Follow
70 symbols 198 edges 12 files 8 documented · 11%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Blender logo

VOCA Blender Addon

📝 Table of Contents

📋About

Voca gif

VOCA is a simple and generic speech-driven facial animation framework that works across a range of identities. This add-on integrates VOCA withing Blender and allows the user to:

  • Run VOCA and synthesize a character animation given an speech signal. VOCA outputs a set meshes with .obj extension which must to be imported.
  • Import the output meshes of VOCA and generate from them a single animated mesh.

For more details please see the scientific publication of the VOCA framework here.

The original VOCA framework repository can be found here here.

👩‍💻Installation and Usage

  1. The add-on works with \Blender v2.92.0 (python 3.7) and requires some dependencies that can be installed directly from the preferences panel.
  2. Download the latest release.
  3. Import the downloaded .zip archive in Blender (Edit > Preferences > Add-ons > Install) and enable the add-on.
  4. Install the dependencies by clicking the dedicated button
  5. The add-on options are accessible in the 3D View side panel named "VOCA"
  6. (optional) If you want to uninstall the addon, you can also uninstall the dependencies from the preferences panel.

To generate a new sequence of meshes:

  1. Expand the 'Run VOCA Model' panel.
  2. Select the right path for the mesh template (.ply) to animate, the audio file with the speech signal and the desired output directory.
  3. Hit 'Run' and wait the end of the process.

To import the VOCA-generated meshes and generate the animated mesh:

  1. Expand the 'Import Mesh' panel.
  2. Select the path to the audio file and the output directory.
  3. Hit 'Import' and wait.

The 'Dev' panel allows you to:

  • Hide/unhide non-VOCA meshes.
  • Remove all meshes from the scene.
  • Remove all non-VOCA meshes from the scene.
  • Edit sequences (flame parameters: head, pose, blink)

🗂 Project Topology

voca-blender/
├─ voca-addon/
│  ├─ audio/
│  │  ├─ sentence20.wav
│  │  └─ test_sentence.wav
│  ├─ flame/
│  │  └─ generic_model.pkl
│  ├─ model/
│  │  └─ gstep.model.*
│  ├─ smpl_webuser/
│  │  ├─ lbs.py
│  │  ├─ posemapper.py
│  │  ├─ serialization.py
│  │  └─ verts.py
│  ├─ template/
│  │  └─ FLAME_sample.ply
│  ├─ utils/
│  |  ├─ ctypesloader.py
│  │  ├─ audio_handler.py
│  │  ├─ edit_sequences.py
│  │  └─ inference.py
│  ├─ operators.py
│  ├─ panels.py
│  └─ __init__.py
├─ install-dependencies.command
├─ install-dependencies.sh
├─ LICENSE
└─ README.md

✍️ Authors

🎉 Acknowledgements

Core symbols most depended-on inside this repo

custom_un_register
called by 4
voca-addon/__init__.py
loadUI_w_label
called by 4
voca-addon/panels.py
output_sequence_meshes
called by 4
voca-addon/utils/inference.py
loadUI_no_label
called by 3
voca-addon/panels.py
add_audio
called by 3
voca-addon/operators.py
load_model
called by 3
voca-addon/smpl_webuser/serialization.py
posemap
called by 3
voca-addon/smpl_webuser/posemapper.py
refresh_all_areas
called by 2
voca-addon/__init__.py

Shape

Function 31
Method 25
Class 14

Languages

Python100%

Modules by API surface

voca-addon/__init__.py20 symbols
voca-addon/operators.py14 symbols
voca-addon/panels.py9 symbols
voca-addon/utils/audio_handler.py6 symbols
voca-addon/smpl_webuser/posemapper.py5 symbols
voca-addon/utils/inference.py3 symbols
voca-addon/utils/edit_sequences.py3 symbols
voca-addon/smpl_webuser/verts.py3 symbols
voca-addon/smpl_webuser/serialization.py3 symbols
voca-addon/utils/ctypesloader.py2 symbols
voca-addon/smpl_webuser/lbs.py2 symbols

For agents

$ claude mcp add voca-blender \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page