Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow Face Definition for SInging Characters to Set a Servo Position for Each Phoneme #4338

Open
kentstroker opened this issue Feb 11, 2024 · 6 comments

Comments

@kentstroker
Copy link

Is your feature request related to a problem? Please describe.
This is not related to a problem and is to address a challenge I have with using servo-based animatronic characters in a show.

Describe the solution you'd like
I would like to be able to use the existing Face Definition tool to set a servo position for each phoneme. As a stretch goal, adding random movement for a 3DOF neck and eye movement would be great.

Describe alternatives you've considered
I have been using VSA to do all the servo positional work, and then import that to xLights. Sometimes this works, more often than not it does not. There are other software tools out there for managing the choreography of a multiple-servo animatronic (the skulls I have been developing use a total of 8 servos for eyes, mouth, and 3DOF neck).

Additional context
Add any other context or screenshots about the feature request here.

@AzGilrock
Copy link
Collaborator

Yeah I’ve already created a way to do that. You need a Servo model and use the Servo effect. In the effect you point to the lyric track. I’ve created predetermined percentages for each phoneme. You really can’t make a single jaw movement look,that great no matter what settings you use. If you did custom programming it would look,better.

https://youtu.be/xB9pI9nM7MI?si=I2jOhfPKQFH69NV2

By the way I created the VSA I port as well. It worked fine for all the files I was given. You welcome to provide me a VSA file that has issues but I’d do that in its own issue.

@kjq1127
Copy link

kjq1127 commented Feb 26, 2024

I have been using the Servo and Servo model method and it is excellent! I have my skull rocking to Thunderstruck! Is there any way to edit the percentage for each phoneme? I have the servo center point where the jaw is completely closed. Most of the phonemes result in the jaw moving downward, however a few, such as "O" and "U" result in the servo arm traveling upward which causes the jaw to bind. I have altered this by replacing the phonemes causing the issue with "AI". If there is a better way to handle this I would appreciate pointers. Have you applied your Grinch demo to a physical skull? Would love to see that.

@AzGilrock
Copy link
Collaborator

xLights doesn't have a concept of a "center point" for servos. Servo commands go from 0 to 100%. What 0% and 100% translate to is fully in your control because you are supposed to be setting the limit values for the servo model such that "binding" can't happen. When you command 0% that would usually be the lower limit and represent a closed Jaw. Then set the upper limit for a fully open Jaw and that will be where it goes for a 100% command. All the phoneme's will then fall in between those 2 limits.

@kjq1127
Copy link

kjq1127 commented Feb 27, 2024

@AzGilrock - Thank you. That made everything click! The limits in the model layout are DMX values so they go from 0 (0%) to 255 (100%). Closed Jaw at 0%, and I need to determine Max limit based on my skull, it will be somewhere less than 255 (100%). This makes a whole lot more sense now.

@AzGilrock
Copy link
Collaborator

@kjq1127 Just keep in mind that 0% and 100% are not necessarily 0 and 255. If you set min limit to 50 and max limit to 200 then a 0% servo command sends out a DMX value of 50 and a 50% servo command would be (max-min)*percent + min or (200-50)*0.5 + 50 = 125.

@kjq1127
Copy link

kjq1127 commented Feb 28, 2024

@AzGilrock - Once again, thank you very much. This has been extremely helpful. Once I get my skeletons up and running I will post a video. We are planning on using them for both Halloween and Christmas. Thank you again for your help!

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

No branches or pull requests

4 participants