Zum Hauptinhalt springen

Spracherkennung

Streaming Sound Wave sowie davon abgeleitete Typen wie Capturable Sound Wave unterstützen Spracherkennung (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 an:

Die Standardimplementierung verwendet libfvad, eine leichtgewichtige Spracherkennungsbibliothek, die effizient auf allen von Runtime Audio Importer unterstützten Plattformen und Engine-Versionen funktioniert.

Grundlegende Verwendung

Um VAD nach dem Erstellen einer Sound Wave zu aktivieren, verwenden Sie die Funktion ToggleVAD:

Toggle VAD node

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

Reset VAD node

Standard-VAD-Einstellungen

Bei Verwendung des Standard-VAD-Providers 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 Meldungen liefern, aber möglicherweise einige Sprachanteile verpassen.

VAD-Anbieter

Nachdem Sie die VAD mit der ToggleVAD-Funktion aktiviert haben, können Sie zwischen verschiedenen Voice Activity Detection-Anbietern wählen, um Ihren Anforderungen gerecht zu werden. Der Standardanbieter ist integriert, während zusätzliche Anbieter wie Silero VAD über Erweiterungs-Plugins verfügbar sind.

Set VAD Provider node

Silero VAD-Erweiterung

Silero VAD bietet eine genauere Spracherkennung unter Verwendung neuronaler Netze. Zur Verwendung:

  1. Stellen Sie sicher, dass das Runtime Audio Importer-Plugin bereits in Ihrem Projekt installiert ist

  2. Für UE 5.5 und früher: Deaktivieren Sie NNERuntimeORT in Ihrem Projekt, bevor Sie die Silero VAD-Erweiterung herunterladen. Wenn NNERuntimeORT aktiviert ist, kann dies bei der Verwendung von Silero VAD auf diesen Engine-Versionen aufgrund von Konflikten zu Abstürzen führen

  3. Laden Sie die Silero VAD-Erweiterung von Google Drive herunter

  4. Extrahieren Sie den Ordner aus dem heruntergeladenen Archiv in den Plugins-Ordner Ihres Projekts (erstellen Sie diesen Ordner, falls er nicht existiert)

  5. Für UE 5.6 und später: Bearbeiten Sie die Datei RuntimeAudioImporterSileroVAD.uplugin, um die NNERuntimeORT-Abhängigkeit hinzuzufügen. Fügen Sie im "Plugins"-Feld nach dem RuntimeAudioImporter-Eintrag hinzu:

   ,
{
"Name": "NNERuntimeORT",
"Enabled": true
}
  1. Erstellen Sie Ihr Projekt neu (diese Erweiterung erfordert ein C++-Projekt)
important
  • Die standardmäßige 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, 5.6 und 5.7)

  • 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, 5.6 und 5.7)

  • UE 5.5 und früher: NNERuntimeORT muss deaktiviert werden, bevor Silero VAD verwendet wird, um Abstürze aufgrund von Plugin-Konflikten zu verhindern

  • UE 5.6+ Anforderung: Ab Unreal Engine 5.6 muss die NNERuntimeORT-Plugin-Abhängigkeit für die Silero VAD-Erweiterung manuell zur .uplugin-Datei hinzugefügt werden

  • Silero VAD ist verfügbar für Windows, Linux, Mac, Android (einschließlich Meta Quest) und iOS

  • Diese Erweiterung wird als Quellcode bereitgestellt und erfordert ein C++-Projekt zur Verwendung

  • Weitere Informationen zum manuellen Erstellen von Plugins finden Sie im Tutorial zum Erstellen von Plugins

Sobald installiert, können Sie es über die Funktion SetVADProvider mit dem Silero-Klassen-Provider als Ihren VAD-Anbieter auswählen.

Spracherkennungsstart und -ende

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

Sie können die Empfindlichkeit der Spracherkennungsstart- und -ende-Erkennung anpassen, indem Sie Parameter wie die minimale Sprachdauer und die Stille-Dauer einstellen. Diese Parameter helfen dabei, die Erkennung zu optimieren, um Fehlalarme zu vermeiden, wie das Erfassen kurzer Geräusche oder zu kurzer Pausen zwischen der Sprache.

Minimale Sprachdauer

Der Parameter Minimale Sprachdauer legt die Mindestmenge an kontinuierlicher Sprachaktivität fest, die erforderlich ist, um ein Spracherkennungsstart-Ereignis auszulösen. Dies hilft, kurze Geräusche herauszufiltern, die nicht als Sprache betrachtet werden sollten, um sicherzustellen, dass nur anhaltende Sprachaktivität erkannt wird. Der Standardwert für die Minimale Sprachdauer beträgt 300 Millisekunden.

Set Minimum Speech Duration node

Stille-Dauer

Der Parameter Stille-Dauer legt die Dauer der Stille fest, die erforderlich ist, um ein Sprach-Ende-Ereignis auszulösen. Dies verhindert, dass die Spracherkennung vorzeitig während natürlicher Pausen zwischen Wörtern oder Sätzen endet. Der Standardwert für Stille-Dauer 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 das Anpassen 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
  • Minimale Ressourcennutzung
  • 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 universelle Plattformunterstützung erforderlich ist