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.
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.