/ Модель

Характеристики

Лицензия
MIT
Архитектура
wespeaker-resnet34-lm · dense
Базовая модель
wespeaker-voxceleb-resnet34-LM
Библиотека
mlx
Опубликована
25 фев 2026

WeSpeaker-ResNet34-LM-MLX

Классификация аудиоАудио → label4 профессии

Компактная модель WeSpeaker на базе ResNet34 создаёт эмбеддинги голоса для верификации говорящего и диаризации аудио.

15 652скачиваний за 30 дней4лайкавеса обновлены12 апр 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

aufklarer/WeSpeaker-ResNet34-LM-MLX — совместимое с MLX преобразование модели WeSpeaker ResNet34-LM, подготовленное для Apple Silicon. Модель на архитектуре ResNet34 содержит около 6,6 млн параметров и преобразует аудио в 256-мерные L2-нормализованные эмбеддинги голоса. Веса конвертированы из pyannote/wespeaker-voxceleb-resnet34-LM; при преобразовании BatchNorm объединён со слоями Conv2d.

Модель обучена на VoxCeleb и предназначена для верификации говорящего и диаризации: эмбеддинги можно использовать для сравнения голосов и группировки фрагментов по говорящим. На вход подаются лог-мел спектрограммы с 80 fbank-признаками при частоте дискретизации 16 кГц, на выходе — векторы признаков. Это не модель распознавания речи и она не генерирует транскрипты. Репозиторий распространяется по лицензии MIT.

Сценарии применения

  • сравнение голосов для проверки личности говорящего
  • группировка фрагментов аудиозаписи по говорящим
  • извлечение голосовых эмбеддингов для поиска похожих голосов

Ограничения

Модель выдаёт эмбеддинги, а не текстовую расшифровку; для получения меток говорящих или проверки личности требуется последующая обработка. На входе используются лог-мел признаки для аудио 16 кГц.

Для каких профессий подходит4

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

WeSpeaker ResNet34-LM — MLX

MLX-compatible weights for WeSpeaker ResNet34-LM, converted from the pyannote speaker embedding model with BatchNorm fused into Conv2d.

Model

WeSpeaker ResNet34-LM is a speaker embedding model (~6.6M params) that produces 256-dimensional L2-normalized speaker embeddings from audio. Trained on VoxCeleb for speaker verification and diarization.

Architecture:

Input: [B, T, 80, 1] log-mel spectrogram (80 fbank, 16kHz)
  │
  ├─ Conv2d(1→32, k=3, p=1) + ReLU
  ├─ Layer1: 3× BasicBlock(32→32)
  ├─ Layer2: 4× BasicBlock(32→64, stride=2)
  ├─ Layer3: 6× BasicBlock(64→128, stride=2)
  ├─ Layer4: 3× BasicBlock(128→256, stride=2)
  │
  ├─ Statistics Pooling: mean + std → [B, 5120]
  ├─ Linear(5120→256) → L2 normalize
  │
  Output: [B, 256] speaker embedding

BatchNorm is fused into Conv2d at conversion time — no BN layers in the MLX model.

Usage (Swift / MLX)

import SpeechVAD

// Speaker embedding
let model = try await WeSpeakerModel.fromPretrained()
let embedding = model.embed(audio: samples, sampleRate: 16000)
// embedding: [Float] of length 256, L2-normalized

// Compare speakers
let similarity = WeSpeakerModel.cosineSimilarity(embeddingA, embeddingB)

// Full speaker diarization pipeline
let pipeline = try await DiarizationPipeline.fromPretrained()
let result = pipeline.diarize(audio: samples, sampleRate: 16000)
for seg in result.segments {
    print("Speaker \(seg.speakerId): \(seg.startTime)s - \(seg.endTime)s")
}

Part of speech-swift.

Conversion

python3 scripts/convert_wespeaker.py --upload

Converts the original pyannote/wespeaker-voxceleb-resnet34-LM checkpoint using a custom unpickler (no pyannote.audio dependency required). Key transformations:

  • Fuse BatchNorm into Conv2d: w_fused = w × γ/√(σ²+ε), b_fused = β − μ×γ/√(σ²+ε)
  • Transpose Conv2d weights: [O, I, H, W] → [O, H, W, I] for MLX channels-last
  • Rename: strip resnet. prefix, seg_1 → embedding
  • Drop num_batches_tracked keys

Weight Mapping

PyTorch KeyMLX KeyShape
resnet.conv1.weight + resnet.bn1.*conv1.weight[32, 3, 3, 1]
resnet.layer{L}.{B}.conv{1,2}.weight + bn{1,2}.*layer{L}.{B}.conv{1,2}.weight[O, 3, 3, I]
resnet.layer{L}.0.shortcut.0.weight + shortcut.1.*layer{L}.0.shortcut.weight[O, 1, 1, I]
resnet.seg_1.weightembedding.weight[256, 5120]
resnet.seg_1.biasembedding.bias[256]

License

The original WeSpeaker model is released under the MIT License.



Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · mlx

Нельзя запустить

MLX-модели работают только на Apple Silicon.

Ревизия весов
26499ce

0 моделей