Thanks :)
I'm using Polly for the moment, and it provides word and viseme boundaries. Enough to animate face poses. I'm not taking full advantage of the visemes here: it's only affecting the saturation of the waveform color. Too subtle to notice, with the way things kind of flicker with this one.
I have other ideas I want to play with, but don't really have time, and I may just have to drop that line of thinking, because I plan to move to one of the wavenet implementations, which don't provide speech marks data.