Looking at this I can get the absolute character position in a SpeakProgress
event like this:
private static void Synth_SpeakProgress(object sender, SpeakProgressEventArgs e)
{
Console.WriteLine($"Speech progress: {e.CharacterPosition} characters spoken. Audio Position is {e.AudioPosition}");
}
This is neat and works well e.g. I can see:
Speech progress: 126 characters spoken. Audio Position is 00:00:00.1200000
Speech progress: 133 characters spoken. Audio Position is 00:00:01.1100000
Speech progress: 136 characters spoken. Audio Position is 00:00:01.3150000
Speech progress: 141 characters spoken. Audio Position is 00:00:01.6400000
Speech progress: 144 characters spoken. Audio Position is 00:00:01.8250000
But I want to know the relative position where am I? e.g., am I half-way through or 90% done etc.? How can I get that information?