节点 Webkit 文本到语音 API 不起作用

node webkit text to speech api not working?

本文关键字:API 不起作用 语音 Webkit 文本 节点      更新时间:2023-09-26

我正在尝试使用节点webkit构建一个应用程序,该应用程序在chrome浏览器中运行良好,并且某些文本到语音的API在节点Webkit(Windows)中无法正常工作。当我使用 webkit 调试器在控制台中进行一些检查时,我可以看到

   speechSynthesis.getVoices() 

没有任何声音。 如何解决这个问题?

    var voiceOutput = new SpeechSynthesisUtterance("sample message");
    voiceOutput.voice = speechSynthesis.getVoices()[0];
    speechSynthesis.speak(voiceOutput);

Node-webkit 或 nw.js 不支持 SpeechSynthesis API。

我在开发自己的私人助理时也遇到了这个问题。(你给它语音命令,它会为你做一些事情:D)

我发现口述.js用于语音转文本.

为了实现文本到语音功能,我建议您使用谷歌翻译API。

谷歌文本到语音API的示例:

http://translate.google.com/translate_tts?tl=en&q=Hello

上面的两个解决了我在node-webkit中TTS(文本到语音)和STT(语音到文本)的问题。

注意:Google 翻译 API 只允许每个请求最多包含 100 个字符。因此,如果你有一个大/长的文本需要转换为语音,你必须将其分解成 100 个字符的句子,同时保留整个单词和标点符号。

希望这有帮助!干杯!

我最近尝试使用 NW 为盲人创建一个应用程序,但我遇到了同样的问题。你可以看看 https://github.com/nwjs/nw.js/issues/1661。

对于生产版本 (win64) :它工作正常,使用系统语音(讲述人)。

对于开发(archlinux):在Linux上的运行模式下,我必须使用Cylon语音将系统语音插入语音合成。然后,我使用此标志启动 nw 命令以启用语音:

nw . --enable-speech-dispatcher

使用这种方法,我可以在 linux(用于开发)和 windows(用于用户)上正常工作。