如何将 IBM Watson 的文本转语音与 Unity 结合使用?



我正在制作一个简单的应用程序,用Unity SDK试用Watson的TTS。我唯一的问题是网上几乎没有资源来帮助这一追求。我在网上找到了一段代码,但是当我用我的应用程序尝试它时,它不起作用,因为它已被弃用。几乎所有带有 Watson 的文本转语音示例都使用命名空间IBM.Watson.DeveloperCloud.Services.TextToSpeech.v1;,它恰好被弃用并且不再可用。 我想知道是否有人可以帮助我弄清楚/提供代码或链接来帮助我弄清楚如何将 Watson 的 TTS 与 Unity 一起使用,这并没有被弃用。

任何帮助将不胜感激。

在这里,您可以下载也应该与 Unity 一起使用的 dotnet 标准 sdk。

也许你可以使用 API 像 TensorFlow 一样使用 WWWForms 类来创建 CRUD

在 Unity 文档中查找更多信息

搜索:如何在 Unity 中使用 API。 有很多教程

您是否在 https://cloud.ibm.com/apidocs/text-to-speech?code=unity 的 API 参考中看到示例

像这样...您需要对服务进行身份验证或在 ENV 文件中拥有凭据。

public void Start()
{
LogSystem.InstallDefaultReactors();
textToSpeech = new TextToSpeechService();
while (!textToSpeech.Credentials.HasIamTokenData())
yield return null;
Runnable.Run(Synthesize("Hello world!"));
}
public IEnumerator Synthesize(string text)
{
byte[] synthesizeResponse = null;
AudioClip clip = null;
textToSpeech.Synthesize(
callback: (DetailedResponse<byte[]> response, IBMError error) =>
{
synthesizeResponse = response.Result;
clip = WaveFile.ParseWAV("myClip", synthesizeResponse);
PlayClip(clip);
},
text: text,
voice: "en-US_AllisonVoice",
accept: "audio/wav"
);
while (synthesizeResponse == null)
yield return null;
yield return new WaitForSeconds(clip.length);
}

相关内容

  • 没有找到相关文章

最新更新