Nhận dạng ngôn ngữ
Nhận dạng ngôn ngữ nói ngay trên thiết bị bằng SpeechBrain ECAPA VoxLingua107. Runtime Swift hỗ trợ MLX gốc và Core ML đã biên dịch, đồng thời xếp hạng 107 nhãn ngôn ngữ.
Kiến trúc
Âm thanh được lấy mẫu lại về 16 kHz và xử lý bằng frontend log-mel 60 dải khớp chính xác với SpeechBrain. Chuẩn hóa trung bình theo thời gian cấp dữ liệu cho bộ mã hóa ECAPA-TDNN và bộ phân loại 107 lớp.
CLI
speech language-id recording.wav
speech language-id recording.wav --engine coreml --top 3
speech language-id recording.wav --json
MLX là mặc định. Dùng --engine coreml cho mô hình đã biên dịch, --top để chọn số ứng viên và --json để xuất dữ liệu máy đọc được.
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")
Bản ghi dài
Mỗi lần gọi mô hình phân tích tối đa khoảng 30 giây. Bản ghi dài hơn được chia thành các cửa sổ không chồng lấp và xác suất được gộp theo trọng số thời lượng.
Mô hình luôn xếp hạng một nhãn đã biết. Độ tin cậy không phát hiện ngôn ngữ lạ. Hãy thêm VAD và chính sách từ chối đã hiệu chỉnh cho im lặng, nhạc, chuyển mã và ngôn ngữ không hỗ trợ.