我在互联网上进行了大量的窥探。
现在我正在使用 ResponsiveVoice 库,每月支付约 25 美元。 https://code.responsivevoice.org/responsivevoice.js
问题在于它似乎在文本中插入了长中断。文本是用户生成的,因此它超出了我的控制范围(我无法优化句子结构以使其听起来不错)。
我假设这是 ResponsieVoice 的问题。他们承认了这个问题,但表示他们对此无能为力。这就是文本到语音的行为方式。
以下是一些导致问题的文本示例(插入暂停)。
- 采取跨文化方法的心理学家可能会考虑 以下哪一个|暂停|会产生影响?
- 以下谁最先使用科学研究方法进行调查 react |暂停|次?
- 一种研究思维过程和|暂停|头脑的方法
- self 间接并无意识地|暂停|使用防御机制。
我不确定文本转语音是否必须插入随机停顿,这些网站似乎能够处理文本转语音而没有“奇怪”的停顿。
我无法插入他们的链接...因为我的声誉很差。
- 自然读者
- 阿卡佩拉盒子
- 奇怪的节目
- ttsreader
- 伊沃纳
- ispeech
这也可能是一个实现问题,但 ResponsiveVoice 支持人员表示,出现这些长时间的停顿是正常的。
这是控制台的屏幕截图,其中显示了导致暂停的“中断”。
screenshot of console in chrome
如果能从你们(他们更了解这项技术)那里获得一些见解,那就太好了。
最佳答案
我遇到了完全相同的问题,并在我的案例中找到了原因。在我们的网站上,要读出的文本是由 jQuery 生成的,如下所示:
$('#text-to-read').text().trim().replace(/(?:\r\n|\r|\n)/g, '');
最后的正则表达式实际上创建了制表符和空格。我只需调整正则表达式:
$('#text-to-read').text().trim().replace(/\s\s+/g, ' ');
我知道这可能是一个非常罕见的原因,但它可能会帮助其他人!
关于javascript - 文本转语音库(暂停问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40795103/