跳到主要内容

如何提升性能

该插件根据平台使用不同的 GPU 加速方法:在 Windows 和 Linux 上使用 Vulkan,在 Mac 和 iOS 平台上使用 Metal,这显著加快了识别过程。在其他平台上,插件使用 CPU + 内部函数进行加速。然而,您可以通过遵循以下建议进一步提升插件的性能:

  1. 使用语音活动检测

    强烈建议使用语音活动检测来提升识别器的响应速度,即在用户停止说话时立即发送语音进行识别,而不是等待固定的时间间隔。特别推荐使用 Silero VAD 来实现此目的。有关详细实现说明,请参阅语音活动检测文档

  2. 减小步长

    默认情况下,步长为 5000 毫秒(5 秒),这意味着在捕获过程中每 5 秒识别一次音频数据。如果您希望更频繁地识别音频数据,可以减小步长,例如减小到 500 毫秒(0.5 秒)。但是,如果 VAD 处于活动状态(通常建议如此,除非您有需要固定间隔的特定要求),则不建议依赖减小步长。在典型设置中使用 VAD 时,例如语音激活命令识别使用最终缓冲区处理的自动初始化语音识别,语音将在用户停止说话时立即被识别。

  3. 使用更小的语言模型

    您可以考虑使用更小的语言模型,例如 Tiny Quantized (Q5_1),以减少模型大小并提升性能。有关如何选择语言模型的说明,请参见此处

  4. 优化识别状态管理

    在处理麦克风输入时,避免不必要地停止和启动语音识别器。频繁调用 StopSpeechRecognitionStartSpeechRecognition 需要重新分配资源,因此请考虑直接控制音频输入。例如,对于可捕获声波,使用 StopCaptureStartCapture 来管理音频流,同时保持识别线程处于活动状态。