How to set head audio to use with lip sync

atani

Invaluable member
Featured Contributor
Messages
2,549
Reactions
2,361
Points
143
Website
atani12.gitlab.io
Hi everyone,

I've used VAM for a few months now but I struggle to understand how to set head audio. Searching either took me to something else related to audio or I'm just reading things incorrectly.
My goal is this:
- add in Scene audio or somewhere else I can specify a file from Custom/Sounds/, and set it as head audio of a person to use AdamAnt's RT lipsync to move the mouth.

So far I've seen head audio in scenes come from all kinds of places, but I'm failing to understand a simple path to do the above. When in a scene with head audio, I try to find where it might be loaded from but either can't find it or it shows somewhere that I can't change in a obvious manner.
For now I'm just adding it in Scene Audio and playing "test" to play it, but that sucks because I can't use lipsync and is detached from the animation. This is really annoying me because I'm just going around in loops trying things and not finding information on how to do this 😩

A huge thanks if you could help me with this.
 
Person HeadAudioSource is same as regular AudioSource you usually use to trigger/play some background sound/music.
Just instead of RecieverAtom: AudioSource|AudioSource|PlayNow
you use Person|HeadAudioSource|PlayNow, Loop or whatever trigger you need.

But on it's own i does nothing with mouth morphs, it only plays audio from "head area".
With RT lipsync loaded on Person (without any audio files queued up inside plugin)
you get mouth movements when triggering HeadAudioSource to play something.

I used to use RT lipsync, but got tired with constant switching audio files inside RT_LipSync folder back and forth.
Although great plugin i believe it has some serious drawbacks.
example:
-you can't trigger it to start/stop playing
-you can only use Person|plugin#RT.LipSync_Player|AudioClip trigger
to change single file (located inside Custom/Assets/Audio/RT_LipSync) and that's it
-each audio file used has to be loaded and saved with scene (all files inside RT_LipSync folder are loaded in when you add plugin)
so having multiple 1-3sec audio files (for different peronalities) is pain to navigate/organize
-randomization is great but lacking, no support for sub foldering to pick different folder inside (Custom/Assets/Audio/RT_LipSync) for different "personality"
example folders: voicepack1, male3, female2, robot, chicken...etc
so if you have multiple files (like i do) you have to switch them back and forth (since you can't have all files inside since they all get loaded)
also combining them into single audio file kills the purpose of randomization (if they all gonna play queued up anyway)


Ignoring my mini rant, back to your question.
You can use triggers for HeadAudio same way you normally use triggers on AudioSource,
pick audio files from buildin VAM sounds or add your custom audio files, make sure RT_Lipsync is loaded on person.
And you will have mouth movement when audio file plays without need to setup anything inside RT_Lipsync plugin or add any files inside plugin folder.

As for actual "activation" for your files, well you have multiple options.
basic ui button trigger, animation pattern trigger, person collison triggers, you can even add empty Scene Animation (2-3sec) and add trigger there...
there are probably other ways that i forgot....it all depends on your needs.
 
OMG, it's working!!! 🤩🤩🤩
Thank you so much, @RandomVAMUser.

Even the basics is already a huge step, later I'll start experimenting with other triggers.
Uffff, finally...

Thanks again and hopefully this will help other users with similar questions.
 
I've had the exact same issue and for some reason these suggestion aren't working.

I loaded a default scene. MacGruber Life loads automatically on the person atom when I load a default scene. I Removed that. I loaded RT_LipSync as a plug in on the person atom. I have tried this with and without loading the desired file under Scene Audio. I have also done all of the above loading a custom scene that has no plugins set on the person atom.

If I go to Select | Person, HeadAudioSource is not an available option. If I select the person atom, Head Audio | Add Volume Action | Settings, I can set Receiver Atom to person, set Receiver to HeadAudioSource, but under Receiver Target, I do not have a PlayNow or Loop as an option. At Head Audio, Candy-Nose/nd05.wav is showing as loaded and I can't see anywhere to change that. This is the same on the default scene and the custom scene with no plugins attached upon load.

What am I missing? Thanks so much in advance for your help.
 
Ok, my turn to try helping.
Here's my quick testing procedure for a lip sync example that I tried just now:
  1. Load default scene, no plugins loaded and motion/sound freeze
  2. Add audio file in scene audio
  3. In Scene animation add animation trigger > actions > Start trigger > Settings:
  4. Rec atom: Person; Receiver: HeadAudioSource; Receiver target: PlayNow
  5. Audio clip section shows up and Clip type: URL; Clip cat: web; Clip: your file
  6. Add RT_lipsync.dll in person plugins, should load 2 parts
  7. Try play to see if it's working and you should also see in Head audio your chosen file
Since I mention a start trigger in the animation, make sure to reset playback if you're not starting with the scene frozen. Hopefully this works.
 
I was about to reply but @atani was faster, but i wanna extend.

1. After you disable life plugin check person volume (inside HeadAudio, life plugin lowers it to 0.5 by default)
2./5. You don't need custom sounds for RTLipSync to work, you can use VAM builtin sound (type:Embedded)
3. use basic UIButton to test if everything works, if it does then you can setup trigger how you like (animation, collision,whatever)

Also you don't use "Head Audio | Add Volume Action", those triggers serve different purpose.
and about (7.) "At Head Audio, Candy-Nose/nd05.wav", it will print/display what audio file is currently playing/loaded inside HeadAudioSource.
RTLS1.jpg

RTLS2.jpg
 
Thanks so much. That did exactly what I needed. Now I can make Vecterror's fantastic Winona Ryder lookalike get on her knees and beg for a facial.
 
Back
Top Bottom