Bing Text-to-Speech 可以采用 javascript 变量值并将其转换为语音吗?

Posted

技术标签:

【中文标题】Bing Text-to-Speech 可以采用 javascript 变量值并将其转换为语音吗?【英文标题】:can Bing Text-to-Speech take a javascript variable value and convert it to speech? 【发布时间】:2018-03-09 19:16:23 【问题描述】:

我在 javascript 中使用 Bing 文本到语音 api 并生成随机数以进行加法。只是为了获得支持,我想将 bing 文本转语音集成到我的代码中,但我无法在 microsoft 页面上找到说明您可以将动态参数传递给 api 的文档。 到目前为止,它能够做到这一点:

var bingClientTTS = newBingSpeech.TTSClient("API KEY");
document.getElementById("speakBtn").addEventListener("click", function () 
bingClientTTS.synthesize("5 + 7");
);

但是当我这样做时,它会给出类型错误:

var randomNum1 = getRandom(),
var randomNum2 = getRandom();
total =randomNum1 + randomNum2;
$( "#question" ).text( randomNum1 + " + " + randomNum2 + "=" );  
document.getElementById("speakBtn").addEventListener("click", function () 
bingClientTTS.synthesize(randomNum1.value);
);

TypeError: Cannot read property 'encodehtml' of undefined

有没有办法将变量传递给 bing tts api 或者我应该使用 google tts。

为了避免 api 调用,我使用了 javascript 客户端库github link

【问题讨论】:

【参考方案1】:

如果它适用于字符串,那么你如何获得该字符串并不重要。

尝试randomNum1 而不是randomNum1.value

【讨论】:

randomNum1 里面有什么?你能控制台记录一下吗? 如果syntesize("x") 有效,那么它绝对没有理由不适用于存储在 JavaScript 变量中的字符串。无论您发送给 BingClient 的内容是静态的,您发送给 BingClient 的内容的方式都是动态的。 试试randomNum1.toString(),你正在用它做数学,所以我认为它是一个整数。 我尝试在他们的网站上使用整数,效果很好 toString 工作正常。唯一的问题是屏幕上写的和说的都是不同的数字

以上是关于Bing Text-to-Speech 可以采用 javascript 变量值并将其转换为语音吗?的主要内容,如果未能解决你的问题,请参考以下文章

语音合成简介 Text-to-speech

如何从 Google Cloud API Text-to-Speech 获取音素

text-to-speech 这个在哪里下载?

Transfer Learning from Speaker Verification to Multispeaker Text-To-Speech Synthesis论文阅读

请求 Google Text-To-Speech API [关闭]

OpenEars Text-to-Speech 质量非常低