Ir para o conteúdo
ModelListadosExterno
Browse files

Campplus Zh En Onnx

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...

TipoOtherVersãoCampplus zh en fp16Cnota

Fonte do modelo

Tipo
Other
Tamanho do arquivo
8,20–27,0 MB
Versão
vCampplus zh en fp16
Atualizado
25 de out. de 2026
Fonte
Hugging Face

Descrição da fonte

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.

Fontes

1 fonte
Hugging FacePrimárioVersão aa79cf9b8628a46ca362bf9bf7cde226a470a282
huggingface.co/Luigi/campplus-zh-en-onnx/tree/aa79cf9b8628a46ca362bf9bf7cde226a470a282

Verificado 25 de out.

Download files

Artefatos de modelo

3 artefatos

campplus_zh_en_fp16.onnx

onnx · 14,0 MB · SHA-256 62eb2d79d363…8ef3 · Hugging Face

Download file

campplus_zh_en_fp32.onnx

onnx · 27,0 MB · SHA-256 aa3cfc16963a…eba2 · Hugging Face

Download file

campplus_zh_en_int8.onnx

onnx · 8,20 MB · SHA-256 27bbb97acd18…d67d · Hugging Face

Download file

Trechos de fonte

2 trechos

--- license: apache-2.0 tags: - speaker-recognition - speaker-diarization - speaker-embedding - onnx - sherpa-onnx - campplus - 3d-speaker language: - zh - en library_name: sherpa-onnx pipeline_tag: audio-classification --- # 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](https://github.com/k2-fsa/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). | file | precision | size | |---|---|---| | `campplus_zh_en_fp32.onnx` | fp32 | 27 MB | | `campplus_zh_en_fp16.onnx` | fp16 | 14 MB | | `campplus_zh_en_int8.onnx` | int8 (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):** | model | size | ms/utt | accuracy (margin) | clustering | |---|---|---|---|---| | eres2net_base (old) | 37.8 MB | 256 | 0.715 | 2 spk ✓ | | CAM++ **fp32** | 27.0 MB | 102 | **0.814** | 2 spk ✓ | | CAM++ **int8** | 8.2 MB | 287 | 0.738 | 2 spk ✓ | | CAM++ **fp16** | 14.0 MB | **70** | 0.808 | 2 spk ✓ | **3-speaker cross-lingual news clip:** | model | size | ms/utt | accuracy (margin) | clustering | |---|---|---|---|---| | eres2net_base (old) | 37.8 MB | 316 | 0.275 | 3 spk ✓ | | CAM++ **fp32** | 27.0 MB | 120 | 0.305 | 3 spk ✓ | | CAM++ **int8** | 8.2 MB | 330 | 0.284 | 3 spk ✓ | | CAM++ **fp16** | 14.0 MB | **78** | 0.304 | 3 spk ✓ | ### Takeaways - **fp16 is the best on-device choice:** fastest (~1.5× faster than fp32, ~3.5× faster than the old eres2net), half...

Source context: 0 downloads · 0 likes · Pipeline audio-classification · Library sherpa-onnx · Repo Luigi/campplus-zh-en-onnx