起因

因为音标没学好导致很多单词不知道怎么去发音,所以平时利用 macOS 的朗读功能来跟读。但是自从更新了 macOS 12 —— Monterey 之后按下快捷键没有反应,起初以为是快捷键失效了或是冲突了。但是当按下快捷键后的 5~7 秒钟后,电脑发出了朗读的声音。

那就说明快捷键没有问题啊,可是问题来了,为什么会延迟那么久才有声音呢。好奇心的驱使,于是我选中单词,用鼠标右键选项中的 Speech > Start Speaking 来进行朗读,我发现了猫腻。

Speech option

  • 朗读的声音不一样
  • 通过鼠标右键的 Start Speaking 朗读没有任何的延迟现象

于是我猜测二者可能是调用的不同的系统服务。

排查

我在 System Preferences > Accessibility > Spoken Content 中找到了问题,这里如果将 System Voice 选择为 Siri Voice 的话,则变得非常卡,我猜测肯能是所有的发音都需要请求网络。

Accessibility

然后我将 System Voice 选择为 Daniel (United Kingdom) 再试一试 Options + Esc 是否能够及时响应,果然好了。为什么要选择 Daniel 呢,可能是觉得发音比较接近人声吧。

总结

但是我发现一个奇怪的现象,如果我选中的是汉字,然后朗读发出的声音不是 Daniel 的声音,而是变成了 Ting-Ting (China mainland) 的声音。我猜测是 Daniel 这个声音无法识别汉字,所以调用了对应语言下面的第一个系统声音也就是 Ting-Ting 这个声音。

同样的,如果我将 System Voice 选择为 Ting-Ting 当我点击朗读英文单词时,系统会使用 Alex (United States) 这个声音。

但是无论我在 Accessibility > Spoken Content 中选择什么系统声音,使用鼠标右键 Start Speaking 朗读的文本是中文还是英文,电脑发出的声音都是 Ting-Ting 这个声音。

I hope this is helpful, Happy hacking…