Asked — Edited
Resolved Resolved by DJ Sures!

Talk Servo. The Mouth Remains Open After Speaking

I added a mouth to my robot. I'm trying to let it move while speaking. I tried with "talk servo" and speak synthesis. It works, but I found 2 problems:

  1. at the end of the sentence the mouth always remains open. servo positions are : min =110 (mouth closed), max=140 (mouth open). I tried checking "invert" in the talk servo configuration window, but this way it doesn't move at all. How should "invert" be used ? Can I in some way force the mouth closed at the end of the sentence,?
  2. For long sentences the mouth stops moving well before the sentence ends. The sync between speech and servo movement is not good. Could it be made better ? Sound servo with Soundboard v4 might give better results ?

ARC Pro

Upgrade to ARC Pro

Become a Synthiam ARC Pro subscriber to unleash the power of easy and powerful robot programming

#9  

My robot is a self-made walker , using ezb and hitec maxi servos . It's 75 cm tall. For his mouth it uses a micro servo moving the lower lip. I had to use the invert option in the configuration of the talk servo, depending on how the servo was mounted and its sense of rotation. Otherwise the mouth would have been always open except while speaking. This should have no effect on servo movement timing. I put in the project the three laws and your settings. The speech lasts 25 seconds, but the mouth stops moving after only 20 seconds, while the speech is going on for 5 seconds. Timing depends on those setting . With the three laws and my own settings, the mouth kept moving for 10 seconds after the speech had finished !...

The problem I'm trying to solve is : A sentence needs an accurate setting to be realistic, but those settings may not be good for different sentences. A compromise is required.

#10  

@Lorn, ok I understand, keep playing with those setting and you should get it working correctly. Or at least very close to it working properly I had to fool around with my own quite a few times before I got it to where it's looks somewhat or realistically speaking.

Good luck and let us know if you get it working.

#11  

@Lorn, before you checkd the invert servo in the talk servo configure menu and the mouth stayed open after saying a sentence, did it seem to work ok then? If it did I have been reading and watching some videos on YouTube.

You can reveres the direction of your servo by opening the servo and reverse the motor wires and Reverse the the 2 out side wires on the pot. Just another thought. https://m.youtube.com/watch?v=T_BvPGEn-to

#12  

Un checking the invert box swaps open and closed mouth, but timing remains the same. No need to modify the servo.

#13  

@Lorn, hey I just tested your project, try slowing you servo down. In this video am using my init script and my talk servo setting.

My mouth shuts before the end but I know with a little more tweaking I probably could get it right on. https://youtu.be/eO3egGgr1kk

Example to set your servo min & max then your servo speed


Setservomin (0.d1, 120)
Setservomax (0.d1, 160)
Servospeed (0.d1, 1)

Give it a try

#16  

Ok, merne. Those settings have no effect on sync mouth/speech. The only way to get good sync seems to be adjusting the settings in the talk servo configuration page. But a configuration good for a long sentence is not good for a short one and viceversa. I think I'll have to avoid long sentences, and use only sentences of the same length.