【问题标题】:node webkit text to speech api not working?节点 webkit 文本到语音 api 不起作用?
【发布时间】:2015-02-04 18:41:43
【问题描述】:

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

   speechSynthesis.getVoices() 

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

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

【问题讨论】:

  • 我正在使用适用于 windows 32 位的最新版本的 node webkit....

标签: javascript webkit node-webkit


【解决方案1】:

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

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

我找到了用于语音转文本的dict.js。

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

谷歌文本转语音 API 示例:

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

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

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

希望这有帮助! 干杯!

【讨论】:

    【解决方案2】:

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

    对于生产版本 (win64) :使用系统声音(旁白)可以正常工作。

    For development (archlinux) : 在 linux 上的 run 模式下,我必须使用Cylon Speech 将系统声音插入到 SpeechSynthesis 中。然后,我使用此标志启动 nw 命令以启用语音:

    nw . --enable-speech-dispatcher
    

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

    【讨论】:

      猜你喜欢
      • 2014-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多