Zum Hauptinhalt springen

Voice Activity Detection

Streaming Sound Wave sowie seine abgeleiteten Typen wie Capturable Sound Wave unterstützen Voice Activity Detection (VAD). VAD filtert eingehende Audiodaten und füllt den internen Puffer nur, wenn Sprache erkannt wird.

Das Plugin bietet zwei VAD-Implementierungen:

Die Standardimplementierung verwendet libfvad, eine leichtgewichtige Voice Activity Detection-Bibliothek, die effizient auf allen von Runtime Audio Importer unterstützten Plattformen und Engine-Versionen arbeitet.

Grundlegende Verwendung

Um VAD nach der Erstellung einer Sound Wave zu aktivieren, verwenden Sie die Funktion ToggleVAD:

Toggle VAD node

Nachdem Sie die VAD aktiviert haben, können Sie sie jederzeit zurücksetzen:

VAD-Node zurücksetzen

Standard-VAD-Einstellungen

Bei Verwendung des standardmäßigen VAD-Anbieters können Sie dessen Aggressivität durch Ändern des VAD-Modus anpassen:

Set VAD Mode node

Der Modus-Parameter steuert, wie aggressiv die VAD Audio filtert. Höhere Werte sind restriktiver, was bedeutet, dass sie weniger wahrscheinlich falsch-positive Ergebnisse melden, aber möglicherweise einige Sprachanteile verpassen.

VAD-Provider

Nachdem Sie die VAD mit der Funktion ToggleVAD aktiviert haben, können Sie zwischen verschiedenen Voice Activity Detection-Providern wählen, die Ihren Anforderungen entsprechen. Der Standard-Provider ist integriert, während zusätzliche Provider wie Silero VAD über Erweiterungs-Plugins verfügbar sind.

Set VAD Provider node

Silero VAD Erweiterung

Silero VAD bietet genauere Spracherkennung durch neuronale Netze. So verwenden Sie es:

  1. Stellen Sie sicher, dass das Runtime Audio Importer Plugin bereits in Ihrem Projekt installiert ist
  2. Laden Sie die Silero VAD-Erweiterung von Google Drive herunter
  3. Entpacken Sie den Ordner aus dem heruntergeladenen Archiv in den Plugins-Ordner Ihres Projekts (legen Sie diesen Ordner an, falls er nicht existiert)
  4. Bauen Sie Ihr Projekt neu (diese Erweiterung erfordert ein C++-Projekt)
important
  • Die Standard-VAD funktioniert mit allen von Runtime Audio Importer unterstützten Engine-Versionen (UE 4.24, 4.25, 4.26, 4.27, 5.0, 5.1, 5.2, 5.3, 5.4, 5.5 und 5.6)
  • Silero VAD unterstützt Unreal Engine 4.27 und alle UE5-Versionen (4.27, 5.0, 5.1, 5.2, 5.3, 5.4, 5.5 und 5.6)
  • Silero VAD ist derzeit nur für Windows verfügbar
  • Diese Erweiterung wird als Quellcode bereitgestellt und erfordert ein C++-Projekt
  • Weitere Informationen zum manuellen Erstellen von Plugins finden Sie im Building Plugins tutorial

Nach der Installation können Sie es als VAD-Provider auswählen, indem Sie die Funktion SetVADProvider mit der Silero-Klasse verwenden.

Sprachstart- und -ende-Erkennung

Voice Activity Detection erkennt nicht nur das Vorhandensein von Sprache, sondern ermöglicht auch die Erkennung von Sprachbeginn und -ende. Dies ist nützlich, um Ereignisse auszulösen, wenn Sprache während der Wiedergabe oder Aufnahme beginnt oder endet.

Sie können die Empfindlichkeit der Sprachstart- und -ende-Erkennung anpassen, indem Sie Parameter wie die minimale Sprachdauer und die Stille-Dauer ändern. Diese Parameter helfen, die Erkennung zu optimieren, um Fehlalarme zu vermeiden, wie z.B. kurze Geräusche oder zu kurze Pausen zwischen der Sprache.

Minimale Sprachdauer

Der Parameter Minimum Speech Duration legt die Mindestdauer kontinuierlicher Sprachaktivität fest, die erforderlich ist, um ein Sprachstart-Ereignis auszulösen. Dies filtert kurze Geräusche heraus, die nicht als Sprache betrachtet werden sollten, um sicherzustellen, dass nur anhaltende Sprachaktivität erkannt wird. Der Standardwert für Minimum Speech Duration beträgt 300 Millisekunden.

Set Minimum Speech Duration node

Stille-Dauer

Der Parameter Silence Duration legt die Dauer der Stille fest, die erforderlich ist, um ein Sprach-Ende-Ereignis auszulösen. Dies verhindert, dass die Spracherkennung während natürlicher Pausen zwischen Wörtern oder Sätzen vorzeitig beendet wird. Der Standardwert für Silence Duration beträgt 500 Millisekunden.

Set Silence Duration node

Bindung an Sprach-Delegates

Sie können an spezifische Delegates binden, wenn die Sprache beginnt oder endet. Dies ist nützlich, um benutzerdefiniertes Verhalten basierend auf Sprachaktivität auszulösen, wie z.B. das Starten oder Stoppen der Texterkennung oder die Anpassung der Lautstärke anderer Audioquellen.

Bind Event To On Speech Started Bind Event To On Speech Ended

Vergleich von VAD-Anbietern

Default VAD (libfvad)

Vorteile:

  • Leichtgewichtig und effizient
  • Funktioniert auf allen Plattformen
  • Minimaler Ressourcenverbrauch
  • Geeignet für mobile und leistungsschwache Geräte

Am besten geeignet für:

  • Einfache Spracherkennung in ruhigen Umgebungen
  • Mobile Anwendungen
  • Projekte, bei denen Leistung Priorität hat
  • Wenn plattformübergreifende Unterstützung erforderlich ist