在2020年使用语音合成Javascript API进行跨浏览器工作。

问题描述 投票:1回答:1

它已经存在了6年,所以我想我应该给 语音合成API 语音合成API - CanIUse

这是我的第一个测试。

const vocalWelcome = new SpeechSynthesisUtterance('Welcome to the Main Men-You. Please select your option.');
vocalWelcome.pitch = 3;
vocalWelcome.rate = 0.95;
window.speechSynthesis.speak(vocalWelcome);

我注意到,尽管我明确地设置了 pitch 属性为 3语音音调高得多,在 火狐移动68浏览器移动版 81 在我的Android上比在 火狐7581号浏览器 我的笔记本电脑上。

有什么办法可以解决这个问题吗?我是否需要浏览器嗅探设备嗅探,然后调整的 pitch 财产相应的?

还是我应该把这看作是磨合期的问题,因为在2020年的时候。语音合成API 规范根本还没有做好生产准备?

javascript google-chrome firefox mobile text-to-speech
1个回答
2
投票

语音合成在支持和底层技术上都是千篇一律的--大多数人会使用任何本地语音解决方案。如果你真的需要一个一致的解决方案,可以考虑用一个 图书馆 或云TTS服务(如Polly或Google Wavenet)。

浏览器在每个平台上使用底层的语音提供商,或许在上面加一些糖来确定它们通过的内容。每个操作系统都有它的底层提供商(Windows = SAPI Media Foundation,iOSX = VoiceOver,Linux = PicoTTS或eSpeak,尽管这个列表并不详尽)。此外,谷歌还包括自己的语音提供商,一些浏览器在后台使用在线服务进行渲染。除非你使用第三方库,否则你不能保证同样的语音。另外请记住,用户的语言设置也可能不同。

© www.soinside.com 2019 - 2024. All rights reserved.