Sprachaktivitätserkennung
Streaming Sound Wave sowie davon abgeleitete Typen wie Capturable Sound Wave unterstützen die Sprachaktivitätserkennung (Voice Activity Detection, VAD). VAD filtert eingehende Audiodaten und füllt den internen Puffer nur dann auf, wenn Sprache erkannt wird.
Das Plugin bietet zwei VAD-Implementierungen:
- Default VAD
- Silero VAD
Die Standardimplementierung verwendet libfvad, eine leichtgewichtige Bibliothek zur Sprachaktivitätserkennung, die effizient auf allen Plattformen und Engine-Versionen funktioniert, die von Runtime Audio Importer unterstützt werden.
Verfügbar als Erweiterungs-Plugin, Silero VAD ist ein auf neuronalen Netzen basierender Sprachaktivitätsdetektor, der eine höhere Genauigkeit bietet, insbesondere in lauten Umgebungen. Er verwendet maschinelles Lernen, um Sprache zuverlässiger von Hintergrundgeräuschen zu unterscheiden.
Grundlegende Verwendung
Um VAD nach dem Erstellen einer Sound Wave zu aktivieren, verwenden Sie die Funktion ToggleVAD
:
- Blueprint
- C++
// Assuming StreamingSoundWave is a UE reference to a UStreamingSoundWave object (or its derived type, such as UCapturableSoundWave)
StreamingSoundWave->ToggleVAD(true);
Nach dem Aktivieren der VAD können Sie sie jederzeit zurücksetzen:
- Blueprint
- C++
// Reset the VAD
StreamingSoundWave->ResetVAD();
Standard-VAD-Einstellungen
Bei Verwendung des standardmäßigen VAD-Providers können Sie dessen Aggressivität durch Ändern des VAD-Modus anpassen:
- Blueprint
- C++
// Set the VAD mode (only works with the default VAD provider)
StreamingSoundWave->SetVADMode(ERuntimeVADMode::VeryAggressive);
Der Modus-Parameter steuert, wie aggressiv der VAD Audio filtert. Höhere Werte sind restriktiver, was bedeutet, dass sie weniger wahrscheinlich falsch-positive Meldungen liefern, aber möglicherweise einige Sprachanteile verpassen.