外语语音转文本和文本转语音

Posted

技术标签:

【中文标题】外语语音转文本和文本转语音【英文标题】:Speech to text and text to speech for foreign languages 【发布时间】:2020-06-08 21:46:08 【问题描述】:

我正在考虑将我构建的语音 2D html5 网页游戏移植到适用于 iPhone 和 android 的 Unity2D。我是一名全栈 Web 开发人员,而不是 Unity 开发人员,因此代理机构会帮助我构建 Unity 应用程序。在与他们签约之前,我需要确保Speech to Text (STT)Text to Speech (TTS) 服务都适用于普通话西班牙语英语,否则我会在前期浪费很多钱。

对于 Web,可通过浏览器轻松访问 Webkit Speech(STT Docs、STT Demo、TTS Docs、TTS Demo)。我发现 IBM Watson 有一个可用的 API,并且有 STT 和 TTS 的演示,我发现他们在这里有一个 Unity SDK,但我没有测试 Unity 的技能SDK。

我正在寻找有关机构可用于这三种外语的出色 STT 和 TTS API 的指导。

    Unity SDK 是否支持前端 STT 和 TTS 音频流? STT 需要捕获用户的语音输入并快速转录。同样,TTS 需要允许用户将鼠标悬停在目标语言单词上并收听接近母语的发音。 它是否同时提供西班牙语、普通话和英语的 STT 和 TTS? 还有哪些其他 NLP API 可以满足我的要求?

抱歉,我对 Unity/电话开发完全陌生,所以这里的任何指导都会非常有帮助。如果不存在满足这些要求的 API,那么 Unity 将不适用于我的应用,因为 STT 和 TTS 至关重要。

【问题讨论】:

无需做太多研究,您就可以在 Unity 中使用任何 C# 服务。即使没有原生库,也有许多基于云的服务可以使用 C# 进行交互。 【参考方案1】:

总体而言,Unity 中的实时音频录制很糟糕,该系统根本不是为连续录制音频而设计的。您可以使用Audiosource 录制剪辑,但这是一个固定长度的剪辑,而不是流式解决方案。

对于流媒体,您可以使用AudioFilterRead 获取音频,但它并不是真正的录制 API,它更多的是用于效果。对于录制,它具有不可预测的延迟,并且还会显着降低 UI 速度。

因此,您只能进行一键通类型的交互,而不是实时交互。

如果您有其他选择,最好也考虑一下。例如,您可以考虑使用原生应用。

【讨论】:

感谢您的回复。 IBM Watson 也有一个 C# SDK (github.com/watson-developer-cloud/dotnet-standard-sdk) — 我想知道我们是否能够在 Unity 中使用这些库,并保持高质量的标准?我们正在制作一款外语学习游戏,用户必须点击麦克风才能说话。

以上是关于外语语音转文本和文本转语音的主要内容,如果未能解决你的问题,请参考以下文章

安卓手机怎么关闭 文本转语音选项?

语音转文本 bing 语音 API Azure

iOS-文本转语音

Google语音转文字Speech to Text 超级好用的语音转文本API

实时语音转文本PC端实时语音转文本(麦克风外音&系统内部音源)

Android 语音转文本示例