WeSpeaker ResNet221-LM
Core ML для эмбеддингов диктора
Это Core ML-конверсия модели WeSpeaker ResNet221-LM от GoodnotesLtd, основанной на весах VoxCeleb2. Модель извлекает 256-мерные эмбеддинги диктора из 16 кГц mono-аудио и рассчитана на фиксированные 10-секундные окна. Артефакты включают NeuralNetwork с fp16-весами, fp32 I/O и динамический ONNX-граф.
🎯 Ключевые особенности
- 🎯 256-мерные эмбеддинги; перед сравнением по cosine применяйте L2-нормализацию.
- 📱 Core ML NeuralNetwork: входы
fbank_features[1,1,80,998]иweights[1,589], выходы normalized/rawembedding[1,256]. - ⚙️ 16 кГц mono,
kaldi-fbank80-v1: 80-bin, 25/10 мс, Hamming, без dither, per-mel CMN, PCM16. - 🔄 Есть динамический ONNX opset 14 и статический unmasked ONNX; Core ML — отдельная фиксированная ветка.
- 🛡 Хранимые веса — fp16, входы/выходы и pooling-арифметика — fp32; на macOS используется CPUAndNeuralEngine.
🎬 Пример
Сценарий: на macOS или iOS подать 10-секундный фрагмент 16 кГц mono, посчитать 80-мерный fbank, получить normalized embedding[1,256] или L2-нормализовать raw-выход и сравнить с эталоном по cosine.
Подробнее
Бенчмарки: NN vs PyTorch — min/median cosine 0.999878/0.999977; три gate-проверки конверсии пройдены (≥200 клипов, cosine ≥0.999).Core ML vs dynamic ONNX на 70 сегментах — min/mean cosine 0.890734/0.987775; минимум на 1 с не проходит порог 0.95.
На M2 Max warm median RTF: Core ML 0.005877 против dynamic ONNX CPU-2 0.230177.
Ограничения: фиксированные 10 с, Windows/iOS/Android локально не проверялись; iOS runtime не квалифицирован сборкой под macOS. Лицензия upstream — Apache-2.0 с оговоркой по атрибуции VoxCeleb2.








Комментарии