Misaki Thank you! ๐
Here's how I do the lipsync, in a nutshell...
I use multiple animation tracks. One for the base animation (e.g. idle, talk, walk, etc), one for any additional stuff (e.g. holding a fishing rod) and one for lipsync. So any base animation that I know will involve talking does not specifiy any mouth movement.
Then, I create phoneme animations for each character. These are all just 1 frame long, and only affect the mouth/teeth/tongue of the character.
I use Papagayo-NG, a lipsyncing program, to break down the lines of text into phonemes and then align those phonemes to the audio. It generates short text files with timing, like a subtitle for a movie, but this has phonemes, instead of words.
Finally, when a character starts talking I set their base animation to "talk", and I use the tiny lipsync subtitle files to blend between the different phoneme animations on the lipsync animation track.
I am planning to write about this in detail in our blog, once we start recording voice overs for the chapter (next week! ๐ฑ) I'll come back and post it here when it's done.