iToverDose/Software· 5 JULI 2026 · 08:03

Sprachsegmente mit Silero VAD und ONNX Runtime extrahieren – so geht’s

Erfahren Sie, wie Sie mit Silero VAD und ONNX Runtime gezielt Sprachanteile aus Audiodateien filtern. Praktische Anleitung für effiziente Sprachsegmentierung in Echtzeit.

DEV Community4 min0 Kommentare

Spracherkennung und Audioaufbereitung sind zentrale Bausteine moderner Sprachverarbeitung. Eine besondere Herausforderung besteht darin, aus langen Aufnahmen nur die Abschnitte zu extrahieren, in denen tatsächlich gesprochen wird. Dies spart nicht nur Speicherplatz, sondern vereinfacht auch die weitere Verarbeitung – etwa vor der Transkription.

Mit der Kombination aus Silero VAD und ONNX Runtime lässt sich diese Aufgabe effizient und präzise lösen. In diesem Leitfaden wird Schritt für Schritt gezeigt, wie ein 14-Sekunden-Gespräch zwischen zwei Sprechern analysiert und in zwölf separate Sprachsegmente aufgeteilt wird. Die Methode nutzt dabei ausschließlich die CPU – ideal für lokale Anwendungen ohne Grafikkartenunterstützung.

Warum Sprachsegmente extrahieren?

Lange Audiodateien enthalten oft lange Passagen ohne Sprachanteile. Diese Stille kann die Leistung nachfolgender Prozesse wie Spracherkennung oder Transkription beeinträchtigen. Durch gezieltes Filtern lassen sich folgende Vorteile erzielen:

  • Reduzierung des Datenvolumens: Nur relevante Abschnitte werden weiterverarbeitet.
  • Verbesserte Transkriptionsgenauigkeit: Weniger Hintergrundgeräusche führen zu präziseren Ergebnissen.
  • Effizientere Speicherung: Geringerer Speicherbedarf durch getrennte Dateien.

Die Extraktion der Sprachsegmente erfolgt dabei in Echtzeit oder nahe an Echtzeit, je nach Hardware. Besonders praktisch ist die Möglichkeit, die Segmente direkt als WAV-Dateien zu speichern – etwa für Archivierungszwecke oder weitere Analysen.

Benötigte Tools und Einrichtung

Für die Umsetzung dieses Verfahrens werden mehrere Open-Source-Tools benötigt. Die Installation erfolgt über die Paketmanager mise und uv, die eine einfache Verwaltung der Abhängigkeiten ermöglichen.

Voraussetzungen

  • mise: Ein moderner Paketmanager für Entwicklungsumgebungen, der verschiedene Tools und Versionen verwalten kann.
  • uv: Ein schneller Python-Paketmanager, der Abhängigkeiten effizient installiert.
  • FFmpeg: Ein vielseitiges Tool zur Audio- und Videoverarbeitung, das hier zur Decodierung der MP3-Datei dient.
  • curl: Wird für den Download der Sprachmodelldatei genutzt.

Die Einrichtung erfolgt mit wenigen Befehlen:

git clone --depth 1 --filter=blob:none --sparse 
cd labs
git sparse-checkout set .gitignore .mise/tasks Makefile mise.toml 2026/07/03/silero-vad
make download-test-assets
mise -C 2026/07/03/silero-vad run

Beim ersten Start lädt das Skript automatisch das ONNX-Modell silero_vad.onnx aus dem offiziellen Silero-Repository herunter. Anschließend werden die Python-Abhängigkeiten installiert und das Modell wird direkt auf der CPU ausgeführt.

Funktionsweise der Sprachsegmentierung

Das Verfahren basiert auf einem vortrainierten Modell, das die Wahrscheinlichkeit für Sprachanteile in kurzen Audioabschnitten berechnet. Die Analyse erfolgt in 32-Millisekunden-Chunks – einer Zeitspanne, die ausreicht, um natürliche Sprachmuster zu erkennen, aber kurz genug, um präzise Segmente zu bilden.

Wichtige Parameter und Einstellungen

  • Abtastrate: 16 kHz – ausreichend für Sprachverarbeitung.
  • Chunk-Größe: 512 Samples (entspricht 32 ms).
  • Sprachschwellenwert: 0.5 – definiert den Beginn eines Sprachsegments.
  • Ende-Schwellenwert: 0.35 – markiert das Ende eines Segments.
  • Minimale Stille: 100 ms – verhindert zu frühes Beenden eines Segments.
  • Minimale Sprache: 250 ms – filtert kurze Geräusche oder Störsignale.
  • Padding: 30 ms – wird an Anfang und Ende jedes Segments hinzugefügt, um Kontext zu bewahren.

Das Modell verarbeitet die Audiodaten nicht unabhängig voneinander. Stattdessen wird der interne Zustand des ONNX-Laufzeitsystems sowie die vorherigen 64 Samples als Kontext für den nächsten Chunk genutzt. Diese Methode sichert die zeitliche Kontinuität und ermöglicht eine flüssige Verarbeitung – auch in Streaming-Szenarien.

Beispiel: Analyse eines 14-Sekunden-Gesprächs

Die Testdatei enthält einen Dialog zwischen zwei Sprechern in japanischer Sprache. Die Abschnitte wurden anschließend in zwölf Sprachsegmente unterteilt. Hier ein Ausschnitt der detektierten Segmente:

  • Segment 1 (0,162s – 1,726s): Enthält die Frage „もしもし、もう駅に着いた?“ („Hallo? Bist du schon am Bahnhof?“).
  • Segment 2 (2,050s – 2,462s): Kurze Antwort „うん。“ („Ja.“).
  • Segment 3 (2,626s – 3,934s): „今、改札出たところ。“ („Ich bin gerade durch das Ticketgate gegangen.“)

Jedes Segment wurde als separate WAV-Datei gespeichert, wobei die Dateinamen chronologisch durchnummeriert sind. Die Extraktion war so präzise, dass natürliche Sprechpausen an Satzzeichen wie Punkten oder Fragezeichen erkannt wurden. Selbst kurze Antworten wie „got it“ oder „thanks“ blieben als eigenständige Segmente erhalten.

Leistung und Testergebnisse

Die Analyse wurde auf einem leistungsstarken Mac Studio mit Apple M4 Max-Prozessor durchgeführt. Die wichtigsten Messwerte zeigen:

  • Gesamtdauer der Audiodatei: 14,171 Sekunden
  • Verarbeitungszeit (nur VAD): 0,028 Sekunden
  • Echtzeitfaktor: 0,002x – die Verarbeitung erfolgt also etwa 500-mal schneller als die tatsächliche Dauer der Audiodatei.
  • Anzahl der Segmente: 12
  • Gesamtdauer der extrahierten Sprachanteile: 11,917 Sekunden (84,1 % der Originaldatei)

Die Ergebnisse belegen, dass Silero VAD in Kombination mit ONNX Runtime auf der CPU eine extrem schnelle und zuverlässige Lösung für die Sprachsegmentierung bietet. Selbst auf einem durchschnittlichen Laptop lassen sich solche Aufgaben ohne spürbare Verzögerung durchführen.

Ausblick: Praktische Anwendungen

Die extrahierten Sprachsegmente können vielfältig weiterverwendet werden – etwa für:

  • Transkriptionsdienste: Geringere Fehleranfälligkeit durch Fokussierung auf reine Sprachabschnitte.
  • Sprachverarbeitungs-Pipelines: Integration in automatisierte Workflows für Chatbots oder Voice-Assistenten.
  • Audio-Archivierung: Effizientere Speicherung von Gesprächen ohne redundante Stille.
  • Sprachforschung: Präzisere Analysen von Sprachmustern in Dialogen.

Da das Verfahren auf Open-Source-Tools basiert, lässt es sich leicht an individuelle Anforderungen anpassen. Mit einer leistungsstärkeren Hardware oder GPU-Beschleunigung könnte die Verarbeitung noch weiter optimiert werden – etwa für Echtzeit-Anwendungen in Callcentern oder bei der Videobearbeitung. Die Kombination aus Silero VAD und ONNX Runtime eröffnet damit neue Möglichkeiten für eine effizientere Sprachdatenverarbeitung.

KI-Zusammenfassung

Konuşma aktivitesini otomatik olarak tespit eden Silero VAD modelini ONNX Runtime ile kullanarak ses kayıtlarınızı verimli bir şekilde segmentlere ayırın. Kullanım adımları ve performans sonuçları burada.

Kommentare

00
KOMMENTAR SCHREIBEN
ID #D4H3VZ

0 / 1200 ZEICHEN

Menschen-Check

4 + 7 = ?

Erscheint nach redaktioneller Prüfung

Moderation · Spam-Schutz aktiv

Noch keine Kommentare. Sei der erste.