Como melhorar o desempenho
O plugin utiliza diferentes métodos de aceleração por GPU dependendo da plataforma: Vulkan no Windows e Linux 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:
-
Use Detecção de Atividade de Voz (VAD)
É altamente recomendado usar a Detecção de Atividade de Voz 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 Detecção de Atividade de Voz.
-
Diminua o Tamanho do Passo
Por padrão, o tamanho do passo é 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ê quiser reconhecer os dados de áudio com mais frequência, pode diminuir o tamanho do passo, por exemplo, para 500 ms (0,5 segundos). No entanto, se o VAD estiver ativo (o que normalmente é recomendado, a menos que você tenha requisitos específicos que necessitem de intervalos fixos), é aconselhável não depender da diminuição do tamanho do passo. Ao usar o VAD em configurações típicas, como Reconhecimento de Comando Ativado por Voz ou Reconhecimento de Voz com Inicialização Automática e Processamento de Buffer Final, a fala será reconhecida assim que o usuário parar de falar de qualquer maneira.
-
Use um Modelo de Linguagem Menor
Você pode considerar usar um modelo de linguagem menor, como
Tiny Quantized (Q5_1), para reduzir o tamanho do modelo e melhorar o desempenho. Instruções sobre como selecionar um modelo de linguagem podem ser encontradas aqui. -
Otimize o Gerenciamento do Estado de Reconhecimento
Ao trabalhar com entrada de microfone, evite paradas e inícios desnecessários do reconhecedor de fala. Em vez de chamar
StopSpeechRecognitioneStartSpeechRecognitioncom frequência, o que requer realocação de recursos, considere controlar a entrada de áudio diretamente. Por exemplo, com uma onda sonora capturável, useStopCaptureeStartCapturepara gerenciar o fluxo de áudio enquanto mantém o thread de reconhecimento ativo.