Passa al contenuto principale

Rilevamento Attività Vocale

Streaming Sound Wave, insieme ai suoi tipi derivati come Capturable Sound Wave, supporta il Rilevamento Attività Vocale (VAD). Il VAD filtra i dati audio in arrivo per popolare il buffer interno solo quando viene rilevata la voce.

Il plugin offre due implementazioni VAD:

L'implementazione predefinita utilizza libfvad, una libreria di rilevamento attività vocale leggera che funziona efficientemente su tutte le piattaforme e versioni del motore supportate da Runtime Audio Importer.

Utilizzo Base

Per abilitare il VAD dopo aver creato un'onda sonora, utilizza la funzione ToggleVAD:

Toggle VAD node

Dopo aver abilitato il VAD, puoi resettarlo in qualsiasi momento:

Nodo Reset VAD

Impostazioni VAD Predefinite

Quando si utilizza il provider VAD predefinito, è possibile regolarne l'aggressività modificando la modalità VAD:

Nodo Imposta Modalità VAD

Il parametro mode controlla quanto aggressivamente il VAD filtra l'audio. Valori più alti sono più restrittivi, il che significa che hanno meno probabilità di segnalare falsi positivi ma potrebbero perdere parte del parlato.

Provider VAD

Dopo aver abilitato il VAD con la funzione ToggleVAD, puoi scegliere tra diversi provider di rilevamento dell'attività vocale per adattarli alle tue esigenze. Il provider predefinito è integrato, mentre provider aggiuntivi come Silero VAD sono disponibili tramite plugin di estensione.

Nodo Set VAD Provider

Estensione Silero VAD

Silero VAD fornisce un rilevamento vocale più accurato utilizzando reti neurali. Per utilizzarlo:

  1. Assicurati che il plugin Runtime Audio Importer sia già installato nel tuo progetto

  2. Per UE 5.5 e versioni precedenti: Prima di scaricare il plugin dell'estensione Silero VAD, assicurati che NNERuntimeORT sia disabilitato nel tuo progetto. Avere NNERuntimeORT abilitato potrebbe causare crash quando si utilizza Silero VAD su queste versioni del motore a causa di conflitti

  3. Scarica il plugin dell'estensione Silero VAD da Google Drive

  4. Estrai la cartella dall'archivio scaricato nella cartella Plugins del tuo progetto (crea questa cartella se non esiste)

  5. Per UE 5.6 e versioni successive: Modifica il file RuntimeAudioImporterSileroVAD.uplugin per aggiungere la dipendenza NNERuntimeORT. Nel campo "Plugins", dopo l'inclusione di RuntimeAudioImporter, aggiungi:

   ,
{
"Name": "NNERuntimeORT",
"Enabled": true
}
  1. Ricostruisci il tuo progetto (questa estensione richiede un progetto C++)
important
  • Il VAD predefinito funziona con tutte le versioni del motore supportate da Runtime Audio Importer (UE 4.24, 4.25, 4.26, 4.27, 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6 e 5.7)

  • Silero VAD supporta Unreal Engine 4.27 e tutte le versioni UE5 (4.27, 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6 e 5.7)

  • UE 5.5 e precedenti: NNERuntimeORT deve essere disabilitato prima di utilizzare Silero VAD per prevenire crash dovuti a conflitti di plugin

  • Requisito UE 5.6+: A partire da Unreal Engine 5.6, l'estensione Silero VAD richiede che la dipendenza del plugin NNERuntimeORT venga aggiunta manualmente al file .uplugin

  • Silero VAD è disponibile per Windows, Linux, Mac, Android (incluso Meta Quest) e iOS

  • Questa estensione è fornita come codice sorgente e richiede un progetto C++ per essere utilizzata

  • Per maggiori informazioni su come costruire manualmente i plugin, consulta il tutorial sulla costruzione dei plugin

Una volta installato, puoi selezionarlo come tuo provider VAD utilizzando la funzione SetVADProvider con il provider di classe Silero.

Rilevamento Inizio e Fine Discorso

Il Rilevamento Attività Vocale non solo rileva la presenza del parlato, ma permette anche di rilevare l'inizio e la fine dell'attività vocale. Questo è utile per attivare eventi quando il discorso inizia o termina durante la riproduzione o la cattura.

Puoi personalizzare la sensibilità del rilevamento inizio e fine discorso regolando parametri come la durata minima del discorso e la durata del silenzio. Questi parametri aiutano a perfezionare il rilevamento per evitare falsi positivi, come rilevare rumori brevi o pause troppo corte tra il parlato.

Durata Minima del Discorso

Il parametro Durata Minima del Discorso imposta la quantità minima di attività vocale continua richiesta per attivare un evento di inizio discorso. Questo aiuta a filtrare i rumori brevi che non dovrebbero essere considerati parlato, per assicurarsi che venga riconosciuta solo l'attività vocale sostenuta. Il valore predefinito per Durata Minima del Discorso è 300 millisecondi.

Nodo Imposta Durata Minima Discorso

Durata del Silenzio

Il parametro Durata del Silenzio imposta la durata del silenzio necessaria per attivare un evento di fine parlato. Ciò impedisce che il rilevamento del parlato termini prematuramente durante le pause naturali tra parole o frasi. Il valore predefinito per Durata del Silenzio è 500 millisecondi.

Nodo Imposta Durata Silenzio

Liaison aux Délégués de Parole

Vous pouvez vous lier à des délégués spécifiques lorsque la parole commence ou se termine. Ceci est utile pour déclencher des comportements personnalisés basés sur l'activité vocale, tels que le démarrage ou l'arrêt de la reconnaissance de texte, ou l'ajustement du volume d'autres sources audio.

Lier l'Événement à On Speech Started Lier l'Événement à On Speech Ended

Comparaison des fournisseurs de VAD

VAD par défaut (libfvad)

Avantages :

  • Léger et efficace
  • Fonctionne sur toutes les plateformes
  • Utilisation minimale des ressources
  • Adapté aux appareils mobiles et à faible puissance

Idéal pour :

  • La détection vocale simple dans des environnements calmes
  • Les applications mobiles
  • Les projets où la performance est une priorité
  • Quand une prise en charge universelle des plateformes est requise