Pular para o conteúdo principal

Como melhorar o desempenho

O plugin utiliza diferentes métodos de aceleração por GPU dependendo da plataforma: Vulkan no Windows e Metal nas plataformas Mac e iOS, o que acelera significativamente o processo de reconhecimento. Em outras plataformas, o plugin utiliza a CPU + intrínsecos para aceleração. No entanto, você pode melhorar ainda mais o desempenho do plugin seguindo as recomendações abaixo:

  1. Use Voice Activity Detection (VAD)

    É altamente recomendado utilizar Voice Activity Detection para melhorar a responsividade do reconhecedor, enviando a fala para reconhecimento assim que o usuário para de falar, em vez de esperar por intervalos de tempo fixos. O Silero VAD é particularmente recomendado para este propósito. Para instruções detalhadas de implementação, consulte a documentação de Voice Activity Detection.

  2. Diminua o Step Size

    Por padrão, o step size é de 5000 ms (5 segundos), o que significa que os dados de áudio são reconhecidos a cada 5 segundos durante a captura. Se você deseja reconhecer os dados de áudio com mais frequência, pode diminuir o step size, por exemplo, para 500 ms (0,5 segundos). No entanto, se o VAD estiver ativo (o que é tipicamente recomendado, a menos que você tenha requisitos específicos que necessitem de intervalos fixos), é aconselhável não depender da diminuição do step size. Ao usar VAD em configurações típicas como Voice Activated Command Recognition ou Auto-Initializing Voice Recognition with Final Buffer Processing, a fala será reconhecida assim que o usuário parar de falar de qualquer forma.

  3. Use um Language Model Menor

    Você pode considerar usar um language model menor, como o Tiny Quantized (Q5_1), para reduzir o tamanho do modelo e melhorar o desempenho. Instruções sobre como selecionar um language model podem ser encontradas aqui.

  4. Otimize o Gerenciamento de Estado de Reconhecimento

    Ao trabalhar com entrada de microfone, evite paradas e inícios desnecessários do reconhecedor de fala. Em vez de chamar StopSpeechRecognition e StartSpeechRecognition frequentemente, o que requer realocação de recursos, considere controlar a entrada de áudio diretamente. Por exemplo, com um capturable sound wave, use StopCapture e StartCapture para gerenciar o fluxo de áudio enquanto mantém a thread de reconhecimento ativa.