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 tập đó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ợ.

Hugging Face

CLI: language-id