Open anmi2004 opened 1 month ago
我用程序测试了一下,几种不同情况下,从按下键盘按键到读屏软件输出音频的延迟。
其中,NVDA 版本为 2024.1,系统为 Win 11 23H2,所有语音都调整到了最大速度。
测试方法是输入A到Z的字母,然后取每次延迟的平均值。
延迟的计算方法是,使用程序监测键盘和回录系统声音,记录键盘按下的时间点、音频数据变为非零的时间点(即输出音频延迟)、音频数据大于0.0001的时间点(即音频可听见延迟)。
读屏软件 | 语音 | 输出音频延迟 | 音频可听见延迟 |
---|---|---|---|
NVDA | eSpeak NG | 17毫秒 | 68毫秒 |
NVDA | Huihui (OneCore) | 19毫秒 | 90毫秒 |
NVDA | Huihui (SAPI) | 87毫秒 | 154毫秒 |
NVDA | Xiaoxiao (本引擎) | 124毫秒 | 163毫秒 |
讲述人 | Huihui (OneCore) | 21毫秒 | 66毫秒 |
讲述人 | Huihui (SAPI) | 66毫秒 | 118毫秒 |
讲述人 | Xiaoxiao (内置功能) | 58毫秒 | 110毫秒 |
讲述人 | Xiaoxiao (本引擎) | 113毫秒 | 152毫秒 |
看来这个引擎的确是延迟最大的。
我又测试了直接作为 SAPI 客户端调用 Speak 函数的延迟。
步骤 | 与上一步骤间的延迟 |
---|---|
客户端发起调用 | - |
引擎接收到调用 | 47毫秒 |
引擎接收到自然语音数据 | 9毫秒 |
输出音频 | 27毫秒 |
音频可听见 | 37毫秒 |
总延迟 | 122毫秒 |
其中,从客户端调用请求 SAPI 合成语音,到引擎接收到来自客户端程序的请求,SAPI 5 系统自己就带来了四十多毫秒的延迟。对这一部分的延迟,我可能是没什么办法的。
而如果去除这四十多毫秒的延迟,延迟的水平就和讲述人内置的自然语音功能差不多了。同时从数据也可以看出,SAPI 版的 Huihui 语音也比 OneCore 版的 Huihui 多出五十毫秒左右的延迟。
(提示:Huihui Desktop 是 SAPI 语音,不带 Desktop 的 Huihui 是 OneCore 语音)
开发者您好,我使用的是nvda屏幕阅读器。在使用自然语音朗读时,有点儿不太跟手,也就是说当我按下按键到它发出声音有短暂的延迟,这个延迟在打字之类的场景的时候,影响最大。不知道能否进行优化,再次提升一些响应速度。