我被要求在我们的产品中开发一个文本到语音模块,它应该支持各种文本到语音引擎。
是否有标准描述如何与第三方 TTS(文本到语音)服务或 ASR(自动语音识别)服务交互?
我被要求在我们的产品中开发一个文本到语音模块,它应该支持各种文本到语音引擎。
是否有标准描述如何与第三方 TTS(文本到语音)服务或 ASR(自动语音识别)服务交互?
大多数 ASR 使用媒体资源控制协议 (MRCP)作为其接口的标准。它也可以用于 TTS。
这取决于您的目的或您将使用 ASR 和 TTS 的领域。
如果您将在呼叫中心等 IVR(交互式语音响应)应用程序中使用 MRCP,则可以使用 MRCP 来控制 ASR、TTS 媒体资源,在这种情况下,您可以将 MRCP 服务器与语音网关(如 CISCO 和 VXML 服务器)连接起来。一个著名且常见的 MRCP 实现是unimrcp,它是协议的 C 实现,它是一个良好且稳定的开源项目。
但最后,正如我所说,这取决于您的目的,您可能永远不需要使用 MRCP,如果它可以单独工作,您可以将 TTS 引擎用作独立服务器。
著名的开源 TTS 引擎是用 Java 编写的Mary TTS ,用 C++ 编写的Festival 。
著名的开源 ASR 引擎是用 Java 编写的cmu Sphinx4 ,用 C 编写的Julius 。