Skip to content

Integrate Feature-Reactivity With FlexExpressionEditor Node#65

Open
ryanontheinside wants to merge 57 commits intoPowerHouseMan:mainfrom
ryanontheinside:main
Open

Integrate Feature-Reactivity With FlexExpressionEditor Node#65
ryanontheinside wants to merge 57 commits intoPowerHouseMan:mainfrom
ryanontheinside:main

Conversation

@ryanontheinside
Copy link
Copy Markdown

@ryanontheinside ryanontheinside commented Nov 7, 2024

This pull request introduces a feature-reactivity system for expressions in ComfyUI-AdvancedLivePortrait, allowing expressions to be modulated dynamically by various feature sources. The feature sources supported include audio, MIDI, motion, proximity, time, depth, color, brightness, pitch, and more.

Main Contribution:

To implement this system, I have added a new node called the FlexExpressionEditor. This node functions similarly to the existing expression editor but is enhanced to accept feature inputs, enabling expressions to be modulated over time by external sources such as audio. Key features of the FlexExpressionEditor include:

Feature Targets: any of the expression parameters can be modulated by the feature input
Interchangeable Feature Sources: Any supported feature source can be applied interchangeably
Chaining Capability: Multiple FlexExpressionEditor nodes can be chained, enabling complex and layered expression control.

Benefits:

The FlexExpressionEditor adds a powerful dimension to the expression capabilities within this project, providing users with fine-grain control over expressions through external inputs. This enhancement offers substantial new functionality with no impact on the existing features or workflows.

Additional Information:

  • To facilitate testing and exploration of this new functionality, I have included two example workflows demonstrating the feature-reactivity system in action.
  • There is some refactoring that could be done in the ExpressionEditor that I have left pending your review.

Thank you for considering this addition. I am open to any feedback or suggestions for further refinement.

Using drums to rotate_pitch, synth for pupil_x, and manual feature for rotate_roll:
https://github.com/user-attachments/assets/72f95c90-9fa9-4e3e-a492-739566c188c9

Using time feature to modulate aaa and the motion of the driving video to modulate yaw:
https://github.com/user-attachments/assets/cc43b439-e089-43c0-8a3e-d9b16467d983

Using proximity to control aaa:
https://github.com/user-attachments/assets/828039ef-5d9b-4f93-a818-ae1c1ce31cc9

Using area to control blink:
https://github.com/user-attachments/assets/cd383ba7-984a-4c56-a927-ff9fd608e5f8

@ryanontheinside
Copy link
Copy Markdown
Author

Hello @PowerHouseMan, just following up to see if you had a chance to take a look.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants