언어 식별

SpeechBrain ECAPA VoxLingua107로 음성 언어를 기기에서 식별합니다. Swift 런타임은 네이티브 MLX와 컴파일된 Core ML을 지원하며 107개 언어 레이블의 순위를 제공합니다.

아키텍처

오디오는 16 kHz로 리샘플링되고 SpeechBrain과 정확히 일치하는 60빈 로그 멜 프런트엔드로 변환됩니다. 시간 평균 정규화 후 ECAPA-TDNN 인코더와 107클래스 분류기에 입력됩니다.

CLI

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

기본 엔진은 MLX입니다. --engine coreml로 컴파일 모델을, --top으로 후보 수를, --json으로 기계 판독 출력을 선택합니다.

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")

긴 녹음

한 번의 모델 호출은 약 30초까지 분석합니다. 더 긴 녹음은 겹치지 않는 창으로 나누고 길이 가중 확률을 합칩니다.

폐쇄형 레이블 모델

모델은 항상 알려진 레이블 중 하나를 선택합니다. 신뢰도는 미지원 언어 감지기가 아닙니다. 무음, 음악, 코드 스위칭, 미지원 언어에는 VAD와 보정된 거부 정책을 추가하세요.

Hugging Face

CLI: language-id