/ Модель

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

Лицензия
Apache 2.0
Библиотека
sherpa-onnx
Опубликована
28 сен 2026

campplus-zh-en-onnx

Классификация аудиоАудио → label

ONNX-модель CAM++ извлекает голосовые эмбеддинги для диаризации и распознавания говорящих в речи на китайском и английском языках.

0скачиваний за 30 дней0лайковвеса обновлены28 сен 2026

Бенчмарки

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

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

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

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

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

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

Это ONNX-перепаковка модели CAM++ от 3D-Speaker, основанной на архитектуре D-TDNN и предназначенной для получения голосовых эмбеддингов при распознавании и разделении говорящих. Модель обучена на речи на мандаринском китайском и английском, включая переключение между языками; принимает аудио с частотой 16 кГц и формирует векторы размерности 192. Репозиторий содержит варианты fp32, fp16 и динамический int8 для запуска через sherpa-onnx, в том числе на CPU устройствах.

Модель подходит для диаризации многоязычных записей и кластеризации фрагментов речи по говорящим, например в офлайн-приложениях. В описанном тесте на Pixel 6 вариант fp16 показал скорость и точность, сопоставимые с fp32 при меньшем размере; результаты зависят от устройства и сборки runtime. Вариант int8 на протестированной конфигурации работал медленнее fp32 и имел немного меньший показатель разделения говорящих. Лицензия Apache-2.0.

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

  • диаризация записей с китайской и английской речью
  • разделение говорящих в многоязычных аудиозаписях
  • кластеризация фрагментов речи по голосу
  • офлайн-диаризация на Android и CPU-устройствах

Ограничения

Качество и скорость зависят от устройства и реализации ONNX Runtime; в описанном тесте int8-вариант работал медленнее fp32 и немного уступал ему по разделению говорящих. Модель предназначена для извлечения эмбеддингов и сама по себе не выполняет транскрибацию речи.

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

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

Открыть на Hugging Face

CAM++ zh+en speaker embedding (ONNX: fp32 / fp16 / int8)

ONNX speaker-embedding model for on-device, CPU-only speaker diarization in a multilingual (Mandarin/Taiwanese + English, code-switched) setting. Repackaged for sherpa-onnx with fp16 and int8 variants added for size/latency comparison.

  • Base model: 3D-Speaker speech_campplus_sv_zh_en_16k-common_advanced (CAM++, D-TDNN), trained on code-switched Mandarin+English. Embedding dim 192, 16 kHz, 80-dim fbank input.
  • fp32 is the official sherpa-onnx artifact; fp16 / int8 were produced from it with onnxconverter_common.float16 (stats sub-graph kept in fp32) and onnxruntime.quantize_dynamic.
  • License: Apache-2.0 (inherited from 3D-Speaker / ModelScope).
fileprecisionsize
campplus_zh_en_fp32.onnxfp3227 MB
campplus_zh_en_fp16.onnxfp1614 MB
campplus_zh_en_int8.onnxint8 (dynamic)8.2 MB

On-device benchmark (Pixel 6, ARM64 CPU, sherpa-onnx, 4 threads)

Per-utterance embedding over real clips; accuracy = speaker separation margin (mean inter-speaker − mean intra-speaker cosine distance, higher = better) and clustering outcome; speed = ms per utterance (5-run average). Baseline = the previous embedder, 3D-Speaker eres2net_base (zh).

Clean 2-speaker clip (EN + ZH):

modelsizems/uttaccuracy (margin)clustering
eres2net_base (old)37.8 MB2560.7152 spk ✓
CAM++ fp3227.0 MB1020.8142 spk ✓
CAM++ int88.2 MB2870.7382 spk ✓
CAM++ fp1614.0 MB700.8082 spk ✓

3-speaker cross-lingual news clip:

modelsizems/uttaccuracy (margin)clustering
eres2net_base (old)37.8 MB3160.2753 spk ✓
CAM++ fp3227.0 MB1200.3053 spk ✓
CAM++ int88.2 MB3300.2843 spk ✓
CAM++ fp1614.0 MB780.3043 spk ✓

Takeaways

  • fp16 is the best on-device choice: fastest (~1.5× faster than fp32, ~3.5× faster than the old eres2net), half the size of fp32, and accuracy indistinguishable from fp32. The Pixel 6's ARMv8.2 fp16 SIMD runs it in hardware.
  • int8 is counter-productive on this CPU: slower than fp32 (sherpa-onnx's ORT build has no optimized MatMulInteger kernel for this graph) and slightly less accurate — it only wins on disk.
  • CAM++ beats the previous eres2net_base baseline on accuracy, speed, and size at every precision.

Usage (sherpa-onnx)

import sherpa_onnx
ext = sherpa_onnx.SpeakerEmbeddingExtractor(
    sherpa_onnx.SpeakerEmbeddingExtractorConfig(
        model="campplus_zh_en_fp16.onnx", num_threads=4, provider="cpu"))

Produced for VoxSumDroid (offline Android transcribe + diarize + summarize). Original model © 3D-Speaker (ModelScope), Apache-2.0.

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

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

GPU в ailist

Универсальный рантайм · sherpa-onnx

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

В репозитории нет весов в формате PyTorch/safetensors.

Ревизия весов
caddac1

0 моделей