언어 식별
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와 보정된 거부 정책을 추가하세요.