全部指纹
渲染

语音合成

语音合成的声音名称与数量带有操作系统特征。

读取方式speechSynthesis.getVoices()

它是什么

语音合成 API 列出机器上安装的文字转语音声音:名称、语言、是否本地。Windows 自带 Microsoft David 和 Zira,macOS 自带 Alex、Samantha 和一长串本地化语音,Chrome 还会在上面叠加自己的 Google 语音。

网站怎么读

speechSynthesis.getVoices().map((v) => v.name);
// macOS: ["Alex", "Samantha", ...]   Windows: ["Microsoft David", "Microsoft Zira", ...]

getVoices() 不需要授权。列表可能异步到达,所以页面会等待 voiceschanged 事件。

为什么它能认出你

语音名称直接拼出操作系统,往往还有它的语言包;数量则是一个稳定的次级标识——一台有 200 个语音的 Mac,一直是一台有 200 个语音的 Mac。

风控怎么用它

名称会与声称的操作系统匹配:Windows UA 上的 Apple 语音,或 Mac 上的 Microsoft 语音,都直接与标签矛盾。桌面 Chrome 上的空列表很不寻常,读起来像一个被精简过的自动化构建。

常见翻车点

伪装操作系统时忘了语音;空列表;每次加载页面都变的列表。

Mango 正在接受候补登记。以下介绍首发能力,客户端将在发放邀请后开放使用。

Mango Browser 如何处理

真实

语音列表跟随环境的操作系统(Windows 为 Microsoft 语音,macOS 为 Apple 语音)。

检测你的值

跳转到你的检测结果中的这一项。

查看我的结果