如何在 SAPI 5 上使用 x-sampa 音标

How to use x-sampa phonetic transcription on SAPI 5

我有一堆像 "p_hleIs 这样的 x-sampa 音标,我想在 SAPI 5 中使用。

这可能吗?

我不相信,不。但是,它确实支持 IPA,据我了解,X-SAMPA 已扩展,因此可以很好地转换为 IPA。

W3.org 实际上涵盖了将 XML 语法引入 SAPI 时如何执行此操作。但是,如果您想即时使用 IPA,我会在 C++ 中执行以下操作:

m_cpVoice->Speak(L"His name is <phoneme alphabet=\"ipa\" ph=\"ɹəˈbɛːɹɾoʊ bɛˈniːnji\">Roberto Benigni</phoneme>", SVSFIsXML, NULL);

如果您出于某种原因不能使用宽字符,您可能需要像这样转换为 unicode:

m_cpVoice->Speak(L"His name is<phoneme alphabet=\"ipa\" ph=\"&#x2C8;l&#x251; &#x2C8;vi&#x2D0;&#x27E;&#x259; &#x2C8;&#x294;e&#x26A; &#x2C8;b&#x25B;l&#x259;\"">La vita e bella </phoneme>", SVSFIsXML, NULL);

这确实看起来很糟糕。

在 C# 中可能并没有什么不同。