SpeakAsync和同一个单词的多个发音

时间:2018-01-17 07:05:04

标签: c# .net text-to-speech

我成功使用SpeakAsync,除非我点击“记录”等字词。

如何将名词与动词进行标记,以便SpeakAsync输出正确的发音?

是否可以将拼音转录传递给SpeechSynthesizer

单词SpeakAsync单独抛出,顺便说一下,而不是短语。

1 个答案:

答案 0 :(得分:1)

是的,您可以通过将其添加为Prompt(通常通过PromptBuilder)标记该字词,而不是仅仅将纯字符串发送到合成器。

例如,您可以直接指定IPA发音:

var pb = new PromptBuilder();
pb.AppendTextWithPronunciation("record", "ˈɹɛk.ɚd");
pb.AppendTextWithPronunciation("record", "ɹə.ˈkɔɹd");
synth.SpeakAsync(pb);

您还可以使用AppendSsmlMarkup直接添加SSML。您可以在此处查看完整的选项列表:{{3}}

您可以使用SayAs提示使用日期和数字格式进行有限数量的事情,但据我所知,还没有提供语法提示的方法,例如“这是名词“单个单词。