#1
|
|||
|
|||
Lip movement threshold
I'm using the loadSpeech command with the old Avatar.Person type avatar. It seems that some minor background noise in my wav file is setting off the lip flap when there is no speech and is preventing the mouth from completely closing while the file is playing. I thought there was a way to set the threshold level so that it'll take more to activate the lips but I can't seem to figure out how to do this. I know loadSpeech takes a value (e.g. Bob.loadSpeech('talk.wav', .05)), but from what I can tell this seems only to be controling the amount that the lips open. Thanks.
|
#2
|
|||
|
|||
Hi,
Are you using the default heads or a 3dMeNow head? |
#3
|
|||
|
|||
3DMeNow
|
#4
|
|||
|
|||
#5
|
|||
|
|||
I'm using the .act() command to have the avatar speak a wav file. I'm using the biohead_talk.vzf face. It works fine when I use the jfk.wav file but when I insert any other wav file the lips "explode". They are totally distorted. Is their a fix for this? Is it a problem with the way I'm coding it?
Code:
def walkAvatar(starter): global START_AVATAR,stopCount walk = starter.walkto(0,0,HEAD_DEPTH,1,260,2) speech = starter.speak('Test.wav') #Clear all the avatar's actions, reposition it, and start the walk action starter.clear(viz.ALL) action1 = starter.act(walk) action3 = starter.state(1) action4 = speech if starter.tag == 0: action2 = starter.turn(180) action5 = starter.walkto(-2,0,1) action6 = vizact.headto(45,0,0) starter.act(vizact.sequence(action1,action2,action3,action4,action5,action6)) elif starter.tag == 1: action2 = starter.turn(180) action5 = starter.walkto(-2,0,-1) action6 = vizact.headto(45,0,0) starter.act(vizact.sequence(action1,action2,action3,action4,action5,action6)) elif starter.tag == 2: action2 = starter.turn(180) action5 = starter.walkto(2,0,-1) action6 = vizact.headto(-45,0,0) starter.act(vizact.sequence(action1,action2,action3,action4,action5,action6)) else: action2 = starter.turn(175) action5 = starter.walkto(2,0,1,25) action6 = vizact.headto(-45,0,0) starter.act(vizact.sequence(action1,action2,action3,action4,action5,action6)) viz.killtimer(START_AVATAR) |
#6
|
|||
|
|||
The second argument of the <VizAvatar>.speak( file, scale ) is scale. The mouth movement depends on the amplitude/volume of the sound file. Experiment with the scale argument bellow the default of 1 to avoid the mouth model madness.
__________________
Paul Elliott WorldViz LLC |
|
|