Хотя механизм SsmlParser
, используемый System.Speech
, принимает атрибут pitch
в методе ProcessProsody
, он не обрабатывает его.
Он обрабатывает только range
, rate
, volume
и duration
атрибуты.Он также анализирует contour
, но обрабатывается как range
(не знаю почему) ...
Редактировать : если вам действительно не нужно читать текст из SSML xmlфайл, вы можете создать текст программно.
Вместо
builder.AppendSsml(@"C:\Users\me\Documents\ssml1.xml");
используйте
builder.Culture = CultureInfo.CreateSpecificCulture("en-US");
builder.StartVoice(builder.Culture);
builder.StartSentence();
builder.AppendText("Your order for ");
builder.StartStyle(new PromptStyle() { Emphasis = PromptEmphasis.Strong, Rate = PromptRate.ExtraSlow });
builder.AppendText("8 books");
builder.EndStyle();
builder.AppendText(" will be shipped tomorrow.");
builder.EndSentence();
builder.EndVoice();