首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Microsoft语音合成器词典不工作

Microsoft语音合成器词典不工作
EN

Stack Overflow用户
提问于 2021-03-23 15:24:39
回答 1查看 98关注 0票数 0

我以这里为例,在我的演讲中添加了一个自定义词汇表。然而,它却被忽视了。我用我自己的字典和样本试过了。起初,样本看起来很有效,但当我删除词典时,它仍然扩展到BTW之外,作为“顺便说一句”,所以它似乎对样本也没有任何影响。

作为参考,下面是用于创建词汇表的示例代码

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<lexicon version="1.0"
      xmlns="http://www.w3.org/2005/01/pronunciation-lexicon"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.w3.org/2005/01/pronunciation-lexicon
        http://www.w3.org/TR/2007/CR-pronunciation-lexicon-20071212/pls.xsd"
      alphabet="ipa" xml:lang="en-US">
  <lexeme>
    <grapheme>BTW</grapheme>
    <alias>By the way</alias>
  </lexeme>
  <lexeme>
    <grapheme> Benigni </grapheme>
    <phoneme> bɛˈniːnji</phoneme>
  </lexeme>
</lexicon>

下面是示例SSML (其中忽略了词汇表)

代码语言:javascript
复制
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis"
          xmlns:mstts="http://www.w3.org/2001/mstts"
          xml:lang="en-US">
    <voice name="en-US-JennyNeural">
        <lexicon uri="MY_PATH_TO/customlexicon.xml"/>
        BTW, we will be there probably at 8:00 tomorrow morning.
        Could you help leave a message to Robert Benigni for me?
    </voice>
</speak>

我试着从本地存储和Azure App托管的站点访问词典。我还查看了Javascript在SpeechConfig或SpeechSynthesizer中是否有任何类型的“SpeechSynthesizer”方法,但是我什么也找不到。有人知道为什么这不起作用,我需要做些什么来解决它呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-21 15:14:38

根据微软的说法,在你的本地机器上找到词典的路径是行不通的。它必须被托管在某个网站上。如果您有任何应用程序服务计划,这是非常轻量级的(它只是托管一个XML文件),所以您可以创建一个新的应用程序服务来承载它。当然,如果您有其他方法通过web公开文件,这也应该可以正常工作。

而且,我对使用sapi字母表的托管文件也有问题。文档中的字母缩写是不正确的。它应该是x-microsoft-sapi,而不仅仅是sapi。有一次,我纠正了在远程服务器上托管时可以同时使用ipa (ipa是正确的)和sapi词典的功能。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66766197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档