【问题标题】:SpeechSynthesizer .NET control pitchSpeechSynthesizer .NET 控制音高
【发布时间】:2011-06-26 00:44:01
【问题描述】:

我正在尝试通过 SSML 和 .NET SpeechSynthesizer (System.Speech.Synthesis) 更改语音文本的音调

SpeechSynthesizer synthesizer = new SpeechSynthesizer();
PromptBuilder builder = new PromptBuilder();
builder.AppendSsml(@"C:\Users\me\Documents\ssml1.xml");
synthesizer.Speak(builder);

ssml1.xml文件内容为:

<?xml version="1.0" encoding="ISO-8859-1"?>
<ssml:speak version="1.0"
xmlns:ssml="http://www.w3.org/2001/10/synthesis"
xml:lang="en-US">
<ssml:sentence>
Your order for <ssml:prosody pitch="+30%" rate="-90%" >8 books</ssml:prosody>
will be shipped tomorrow.
</ssml:sentence>
</ssml:speak>

识别率:“8本书”说得比其他人慢很多,但是无论“pitch”设置什么值,都没有区别!可以在此处找到允许的值:

http://www.w3.org/TR/speech-synthesis/#S3.2.4

我是否遗漏了什么或正在更改 Microsoft Speech 引擎不支持的音调?

弗里茨

【问题讨论】:

    标签: c# text-to-speech


    【解决方案1】:

    虽然System.Speech 使用的引擎SsmlParserProcessProsody 方法中接受pitch 属性,但它不会处理它。

    它只处理rangeratevolumeduration 属性。它还解析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();
    

    【讨论】:

    • 我想知道是否有任何其他语音引擎api可以与.net一起使用并处理音高命令?
    • @fritz:.NET API 并不多。有很多本机 API,但没有多少是“免费的”。我成功使用了 eSpeak(不是 .NET) - 输出比 System.Speech 更好,但它没有很好地读取 SSML。
    • 有没有办法用 .NET 语音或其他方式唱歌?我正在寻找一个支持三个控制功能的 API:1)语音 2)准确稳定的音高 3)持续时间控制。有这样的事吗?我显然更喜欢音乐驱动的 API。
    猜你喜欢
    • 2016-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-21
    • 1970-01-01
    • 1970-01-01
    • 2010-11-09
    • 1970-01-01
    相关资源
    最近更新 更多