Перейти к основному содержимому

Как улучшить производительность

Плагин использует различные методы ускорения с помощью GPU в зависимости от платформы: Vulkan на Windows и Metal на платформах Mac и iOS, что значительно ускоряет процесс распознавания. На других платформах плагин использует CPU + intrinsics для ускорения. Однако вы можете дополнительно улучшить производительность плагина, следуя рекомендациям ниже:

  1. Используйте детектирование голосовой активности (VAD)

    Настоятельно рекомендуется использовать детектирование голосовой активности (Voice Activity Detection) для улучшения отзывчивости распознавателя, отправляя речь на распознавание сразу после того, как пользователь перестает говорить, вместо ожидания фиксированных временных интервалов. В частности, для этой цели рекомендуется Silero VAD. Подробные инструкции по реализации см. в документации по детектированию голосовой активности.

  2. Уменьшите размер шага

    По умолчанию размер шага составляет 5000 мс (5 секунд), что означает, что аудиоданные распознаются каждые 5 секунд во время захвата. Если вы хотите распознавать аудиоданные чаще, вы можете уменьшить размер шага, например, до 500 мс (0,5 секунды). Однако если VAD активен (что обычно рекомендуется, если у вас нет специфических требований, требующих фиксированных интервалов), не рекомендуется полагаться на уменьшение размера шага. При использовании VAD в типичных настройках, таких как Распознавание команд по голосовой активации или Автоинициализация голосового распознавания с обработкой финального буфера, речь будет распознаваться сразу после того, как пользователь перестанет говорить.

  3. Используйте меньшую языковую модель

    Вы можете рассмотреть использование меньшей языковой модели, например Tiny Quantized (Q5_1), чтобы уменьшить размер модели и повысить производительность. Инструкции по выбору языковой модели можно найти здесь.

  4. Оптимизируйте управление состоянием распознавания

    При работе с микрофонным входом избегайте ненужных остановок и запусков распознавателя речи. Вместо частых вызовов StopSpeechRecognition и StartSpeechRecognition, которые требуют перераспределения ресурсов, рассмотрите возможность управления аудиовходом напрямую. Например, с захватываемой звуковой волной используйте StopCapture и StartCapture для управления потоком аудио, сохраняя при этом активность потока распознавания.