Come migliorare le prestazioni
Il plugin utilizza diversi metodi di accelerazione GPU a seconda della piattaforma: Vulkan su Windows e Metal su piattaforme Mac e iOS, che accelerano significativamente il processo di riconoscimento. Su altre piattaforme, il plugin utilizza la CPU + intrinsics per l'accelerazione. Tuttavia, puoi ulteriormente migliorare le prestazioni del plugin seguendo le raccomandazioni qui sotto:
-
Utilizza il Rilevamento dell'Attività Vocale (VAD)
È altamente consigliato utilizzare il Rilevamento dell'Attività Vocale per migliorare la reattività del riconoscitore inviando il parlato per il riconoscimento non appena l'utente smette di parlare, piuttosto che aspettare intervalli di tempo fissi. Il Silero VAD è particolarmente raccomandato per questo scopo. Per istruzioni dettagliate di implementazione, consulta la documentazione sul Rilevamento dell'Attività Vocale.
-
Riduci la Dimensione del Passo
Per impostazione predefinita, la dimensione del passo è di 5000 ms (5 secondi), il che significa che i dati audio vengono riconosciuti ogni 5 secondi durante la cattura. Se vuoi riconoscere i dati audio più frequentemente, puoi ridurre la dimensione del passo, ad esempio a 500 ms (0,5 secondi). Tuttavia, se il VAD è attivo (cosa tipicamente raccomandata a meno che non si abbiano requisiti specifici che necessitano di intervalli fissi), è consigliato non fare affidamento sulla riduzione della dimensione del passo. Quando si utilizza il VAD in configurazioni tipiche come Riconoscimento Comandi Attivato dalla Voce o Riconoscimento Vocale con Auto-Inizializzazione ed Elaborazione del Buffer Finale, il parlato verrà riconosciuto comunque non appena l'utente smette di parlare.
-
Usa un Modello Linguistico più Piccolo
Puoi considerare l'uso di un modello linguistico più piccolo, come
Tiny Quantized (Q5_1)
, per ridurre la dimensione del modello e migliorare le prestazioni. Le istruzioni su come selezionare un modello linguistico si trovano qui. -
Ottimizza la Gestione dello Stato di Riconoscimento
Quando lavori con input da microfono, evita arresti e avvii non necessari del riconoscitore vocale. Invece di chiamare frequentemente
StopSpeechRecognition
eStartSpeechRecognition
, che richiedono riallocazione di risorse, considera di controllare direttamente l'input audio. Ad esempio, con un onda sonora catturabile, usaStopCapture
eStartCapture
per gestire il flusso audio mantenendo attivo il thread di riconoscimento.