繁体   English   中英

chrome 上的语音合成器只播放前 200 个字符

[英]speech synthesizer on chrome only play the first 200 characters

我正在 firefox 中测试原生语音合成器,它工作正常,只有 pause() 函数失败,但在 chrome 中,我有更多错误,它只播放文本的一小部分,只播放前 200 个字符,并且它不播放其他所有内容,我尝试使用外部 meSpeak.js 库,如果它播放所有内容,但加载我进行测试的 1842 个字符的文本需要很长时间,我正在使用 ubuntu 系统和 chrome 版本 81.0.4044.92用于测试的网址 https://mdn.github.io/web-speech-api/speak-easy-synthesis/ chrome 的任何解决方案?? 谢谢

我相信这是所选语音合成器的问题。 如果您选择本地语音——只需在本地计算机上运行浏览器内/操作系统内代码即可为其生成音频——那么应该没有字符限制,除非您选择的语音有这样的限制,即似乎不太可能

例如,在 Windows 上,我拥有的两个本地语音是 Microsoft David Desktop 和 Microsoft Zira Desktop。 如果我选择这些声音,无论长度如何,都会播放整个文本。

相比之下,来自谷歌的其他语音(例如谷歌美国英语)不是本地的; 他们可能需要发出网络请求才能将文本解析为音频。 Google 的语音 API 似乎对一次可以翻译的文本数量有 200 个左右的限制。

如果字符限制有问题,请选择本地语音,而不是来自 Google 的语音。

这是一个片段,将列出您可用的声音,以及哪些是本地的:

 const populateVoiceList = () => { console.log('Logging available voices'); for (const voice of speechSynthesis.getVoices()) { console.log(voice.name, 'local: ' + voice.localService); } }; populateVoiceList(); speechSynthesis.onvoiceschanged = populateVoiceList;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM