Sprachidentifikation

Erkennt die gesprochene Sprache mit SpeechBrain ECAPA VoxLingua107 direkt auf dem Gerät. Die Swift-Laufzeit unterstützt natives MLX und kompiliertes Core ML und ordnet 107 Sprachlabels.

Architektur

Audio wird auf 16 kHz resampelt und durch ein exakt SpeechBrain-kompatibles 60-Band-Log-Mel-Frontend verarbeitet. Nach zeitlicher Mittelwertnormalisierung folgen ECAPA-TDNN-Encoder und 107-Klassen-Klassifikator.

CLI

speech language-id recording.wav
speech language-id recording.wav --engine coreml --top 3
speech language-id recording.wav --json

MLX ist die Voreinstellung. --engine coreml wählt das kompilierte Modell, --top die Kandidatenzahl und --json eine maschinenlesbare Ausgabe.

Swift API

import SpeechLanguageID

let identifier = try await SpeechLanguageIdentifier.fromPretrained(engine: .mlx)
let result = try identifier.identify(
    audio: samples,
    sampleRate: sampleRate,
    topK: 5
)
print(result.best?.label.code ?? "unknown")

Lange Aufnahmen

Ein Modellaufruf analysiert bis zu etwa 30 Sekunden. Längere Aufnahmen werden in überlappungsfreie Fenster geteilt und ihre Wahrscheinlichkeiten nach Dauer gewichtet kombiniert.

Geschlossenes Label-Set

Das Modell ordnet immer eines seiner bekannten Labels. Die Konfidenz erkennt keine unbekannten Sprachen. Für Stille, Musik, Code-Switching und nicht unterstützte Sprachen sind VAD und eine kalibrierte Ablehnungsregel nötig.

Hugging Face

CLI: language-id