python 在 Azure 认知服务(文本转语音)上使用词典的问题

Issues with using lexicon on Azure Cognitive services (text-to-speach) from python

我使用 python 的 Azure 认知 TTS 已经有一段时间了,使用他们在网络上的示例,效果很好。我有一个问题,不得不引入外部词典,所以我制作了它们并将它们添加到命令中。它看起来像这样:

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="en-US">
  <voice name="en-US-JennyNeural">
    <lexicon uri="https://www.something.net/get_lexicons_for_ms/lexicon-test.xml"/>
      <mstts:express-as style="newscast-formal">
        <prosody pitch="+0Hz" rate="+0%">Our CEO has resigned</prosody>
      </mstts:express-as> 
   </voice>
</speak>

词典是这样描述的:

<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="sapi" xml:lang="en-US">

   <lexeme>
      <grapheme>CEO</grapheme>
      <alias>Chief Executive Officer</alias>
   </lexeme>

   <lexeme> 
      <grapheme>CTO</grapheme>
      <alias>Chief Technology Officer</alias>
   </lexeme>
</lexicon>

我收到带有转换文本的音频,我看到 Azure 正在从网络上获取我的词典,但我没有像词典中那样正确更改文本。

我是不是做错了什么?

嗯,我发现了一个问题。我的 xml 缺少第一行:

<?xml version="1.0" encoding="UTF-8"?>

现在一切正常。