我正在使用文本到语音向视频教程添加语音。目前,所有文本都在一个文件中,并被读入 C# 应用程序并解析为多个步骤。我想做的是将 ssml 添加到文本文件中,特别是在整个特定指令中(暂停)的能力。我正在使用Cognitive-Speech-TTS中的示例代码。这段代码使用了一个很好的干净的方法
private string GenerateSsml(string locale, string gender, string name, string text)
{
var ssmlDoc = new XDocument(
new XElement("speak",
new XAttribute("version", "1.0"),
new XAttribute(XNamespace.Xml + "lang", "en-US"),
new XElement("voice",
new XAttribute(XNamespace.Xml + "lang", locale),
new XAttribute(XNamespace.Xml + "gender", gender),
new XAttribute("name", name),
text)));
return ssmlDoc.ToString();
}
例如,如果我将“文本”设置为
string text = @"During this video we will refer to this as the lens,
<break time=""1000ms"" /> this as the headband
<break time=""1000ms"" />, and these as the frame arms
<break time=""1000ms"" />. " };
Content = new StringContent(GenerateSsml(inputOptions.Locale, genderValue, inputOptions.VoiceName, text))
它不会识别嵌入的 xml。有没有办法让 XDocument 识别文本中的 xml。请注意,在实际应用程序中,文本是从数据文件中填充的。