Conwerter commited on
Commit
5c38f63
Β·
verified Β·
1 Parent(s): 48b1f62

Update README: document English ASR and Russian summarization models

Browse files
Files changed (1) hide show
  1. README.md +75 -39
README.md CHANGED
@@ -2,75 +2,111 @@
2
  license: apache-2.0
3
  language:
4
  - ru
 
5
  tags:
6
  - automatic-speech-recognition
7
  - speaker-diarization
 
 
8
  - onnx
9
  - russian
 
10
  - asr
11
  - gigaam
 
12
  - 3d-speaker
13
  - camplus
14
  - eres2net
 
 
 
15
  - mobile
16
  - offline
17
  library_name: onnx
18
  ---
19
 
20
- # ProtocolVoice ASR Models
21
 
22
- ONNX models for offline Russian speech recognition and speaker diarization,
23
- packaged for the [ProtocolVoice](https://github.com/protocolvoice) Android app.
 
24
 
25
  ## Contents
26
 
27
- | File | Size | Purpose | Original source | Original license |
 
 
28
  |---|---|---|---|---|
29
  | `gigaam_v3_e2e_ctc_int8.onnx` | 305 MB | Russian ASR with built-in punctuation | [Sber/SaluteDevices GigaAM](https://github.com/salute-developers/GigaAM) (v3, e2e CTC, int8-quantized) | MIT |
30
- | `speaker_embedding_camplus.onnx` | 27 MB | Speaker embedding (CAM++) | [modelscope/3D-Speaker](https://github.com/modelscope/3D-Speaker) | Apache-2.0 |
31
- | `speaker_embedding.onnx` | 111 MB | Speaker embedding (ERes2Net) | [modelscope/3D-Speaker](https://github.com/modelscope/3D-Speaker) | Apache-2.0 |
 
 
 
 
 
 
 
 
 
 
 
 
 
32
  | `speaker_embedding_v2.onnx` | 68 MB | Speaker embedding (ERes2NetV2) | [modelscope/3D-Speaker](https://github.com/modelscope/3D-Speaker) | Apache-2.0 |
33
- | `manifest.json` | < 1 KB | SHA-256 hashes of all models | this repo | Apache-2.0 |
34
 
35
- ## Important
36
 
37
- These are NOT new models β€” this repository **redistributes existing models** in ONNX
38
- format for convenient mobile delivery. The original authors retain all credit and
39
- copyright. We did not train, fine-tune, or modify the model weights.
 
40
 
41
- **Please cite the original projects, not this redistribution:**
42
 
43
- - **GigaAM-v3** (ASR): Sber AI, SaluteDevices β€”
44
- https://github.com/salute-developers/GigaAM
45
- - **3D-Speaker** (CAM++, ERes2Net, ERes2NetV2): ModelScope, Alibaba β€”
46
- https://github.com/modelscope/3D-Speaker
47
 
48
- The ONNX conversions and runtime were prepared via [sherpa-onnx](https://github.com/k2-fsa/sherpa-onnx)
49
- (Apache-2.0).
 
 
 
 
 
 
 
 
 
 
 
 
 
50
 
51
  ## Why this redistribution
52
 
53
- The ProtocolVoice mobile app needs to download these models on first run from a
54
- mirror that:
55
  - supports files larger than 100 MB without git-lfs limits,
56
  - has fast CDN reachable from Russia,
57
  - is the conventional hosting platform for ML models.
58
 
59
- All redistributed files retain their original licenses. This README serves as
60
- the required attribution under those licenses.
61
 
62
- ## How to use
63
 
64
- Each model is loaded by [sherpa-onnx](https://github.com/k2-fsa/sherpa-onnx) on
65
- the device. The ProtocolVoice app:
 
 
66
 
67
- 1. Downloads each `.onnx` file by HTTP from
68
- `https://huggingface.co/protocolvoice/asr-models/resolve/main/{filename}`,
69
- 2. Verifies SHA-256 against `manifest.json`,
70
- 3. Loads via sherpa-onnx for offline inference.
 
71
 
72
- You can also use these files directly with sherpa-onnx in any project that
73
- respects the original licenses.
 
74
 
75
  ## Verifying integrity
76
 
@@ -84,16 +120,16 @@ with open("gigaam_v3_e2e_ctc_int8.onnx", "rb") as f:
84
 
85
  Hashes for all files are in `manifest.json`.
86
 
 
 
 
 
 
 
87
  ## License
88
 
89
- This repository's metadata, README, and packaging scripts are released under
90
- **Apache-2.0**. Each model file remains under its original license (see the
91
- table above). By using a model, you accept its original license β€” not just
92
- this repository's.
93
 
94
  ## Removal request
95
 
96
- If you are an author of one of the upstream projects and have any concerns
97
- about this redistribution (attribution, hosting, anything else), please open
98
- a discussion on this Hugging Face repo or email the maintainers β€” the files
99
- will be amended or removed as requested.
 
2
  license: apache-2.0
3
  language:
4
  - ru
5
+ - en
6
  tags:
7
  - automatic-speech-recognition
8
  - speaker-diarization
9
+ - named-entity-recognition
10
+ - text-summarization
11
  - onnx
12
  - russian
13
+ - english
14
  - asr
15
  - gigaam
16
+ - whisper
17
  - 3d-speaker
18
  - camplus
19
  - eres2net
20
+ - slovnet
21
+ - natasha
22
+ - navec
23
  - mobile
24
  - offline
25
  library_name: onnx
26
  ---
27
 
28
+ # ProtocolVoice models
29
 
30
+ Offline models for the [ProtocolVoice](https://github.com/conwerter1/protocolvoice) Android app β€” voice transcription, speaker diarization, and on-device interview summarization.
31
+
32
+ All models run **on the device**, no cloud calls.
33
 
34
  ## Contents
35
 
36
+ ### Russian ASR
37
+
38
+ | File | Size | Purpose | Original source | License |
39
  |---|---|---|---|---|
40
  | `gigaam_v3_e2e_ctc_int8.onnx` | 305 MB | Russian ASR with built-in punctuation | [Sber/SaluteDevices GigaAM](https://github.com/salute-developers/GigaAM) (v3, e2e CTC, int8-quantized) | MIT |
41
+
42
+ ### English ASR
43
+
44
+ | File | Size | Purpose | Original source | License |
45
+ |---|---|---|---|---|
46
+ | `en/whisper_base_en_encoder_int8.onnx` | 28 MB | Whisper base.en encoder | [openai/whisper](https://github.com/openai/whisper) via [sherpa-onnx](https://github.com/k2-fsa/sherpa-onnx) | MIT |
47
+ | `en/whisper_base_en_decoder_int8.onnx` | 125 MB | Whisper base.en decoder | OpenAI Whisper via sherpa-onnx | MIT |
48
+ | `en/whisper_base_en_tokens.txt` | 0.8 MB | Whisper tokens vocab | OpenAI Whisper | MIT |
49
+
50
+ ### Speaker diarization (works for any language)
51
+
52
+ | File | Size | Purpose | Original source | License |
53
+ |---|---|---|---|---|
54
+ | `speaker_embedding_camplus.onnx` | 27 MB | Speaker embedding (CAM++) β€” recommended default | [modelscope/3D-Speaker](https://github.com/modelscope/3D-Speaker) | Apache-2.0 |
55
+ | `speaker_embedding.onnx` | 111 MB | Speaker embedding (ERes2Net V1) β€” best quality | [modelscope/3D-Speaker](https://github.com/modelscope/3D-Speaker) | Apache-2.0 |
56
  | `speaker_embedding_v2.onnx` | 68 MB | Speaker embedding (ERes2NetV2) | [modelscope/3D-Speaker](https://github.com/modelscope/3D-Speaker) | Apache-2.0 |
 
57
 
58
+ ### Russian summarization (Default tier β€” NER-based, no LLM)
59
 
60
+ | File | Size | Purpose | Original source | License |
61
+ |---|---|---|---|---|
62
+ | `summary/navec_news.tar` | 25 MB | Navec quantized word embeddings (250K Russian words, 300-dim, PQ-100) | [natasha/navec](https://github.com/natasha/navec) | MIT |
63
+ | `summary/slovnet_ner.tar` | 2.3 MB | Slovnet NER weights (WordCNN + CRF, PER/LOC/ORG) | [natasha/slovnet](https://github.com/natasha/slovnet) | MIT |
64
 
65
+ These two files together (28 MB total) enable offline Russian named entity recognition + LexRank-based extractive summarization. ProtocolVoice uses them to extract names, organizations, locations, and key quotes from interview transcripts. No LLM required β€” fully deterministic, factual extraction.
66
 
67
+ ### Manifest
 
 
 
68
 
69
+ | File | Size | Purpose |
70
+ |---|---|---|
71
+ | `manifest.json` | < 2 KB | SHA-256 hashes and metadata for all models |
72
+
73
+ ## Important β€” attribution
74
+
75
+ These are NOT new models β€” this repository **redistributes existing models** in formats convenient for mobile delivery. The original authors retain all credit and copyright. We did not train, fine-tune, or modify the model weights.
76
+
77
+ **Please cite the original projects, not this redistribution:**
78
+
79
+ - **GigaAM-v3** (Russian ASR): Sber AI, SaluteDevices β€” https://github.com/salute-developers/GigaAM
80
+ - **Whisper** (English ASR): OpenAI β€” https://github.com/openai/whisper
81
+ - **3D-Speaker** (CAM++, ERes2Net, ERes2NetV2): ModelScope, Alibaba β€” https://github.com/modelscope/3D-Speaker
82
+ - **Slovnet NER + Navec**: Natasha project, Alexander Kukushkin β€” https://github.com/natasha/slovnet, https://github.com/natasha/navec
83
+ - **sherpa-onnx** (ONNX runtime): Next-gen Kaldi (k2-fsa) β€” https://github.com/k2-fsa/sherpa-onnx
84
 
85
  ## Why this redistribution
86
 
87
+ The ProtocolVoice mobile app needs to download these models on first run from a mirror that:
 
88
  - supports files larger than 100 MB without git-lfs limits,
89
  - has fast CDN reachable from Russia,
90
  - is the conventional hosting platform for ML models.
91
 
92
+ All redistributed files retain their original licenses. This README serves as the required attribution under those licenses.
 
93
 
94
+ ## How the app uses these models
95
 
96
+ ASR + diarization (loaded via [sherpa-onnx](https://github.com/k2-fsa/sherpa-onnx)):
97
+ 1. App downloads `.onnx` files from `https://huggingface.co/protocolvoice/asr-models/resolve/main/{filename}`
98
+ 2. Verifies SHA-256 against `manifest.json`
99
+ 3. Loads via sherpa-onnx for offline inference
100
 
101
+ Summarization (Default tier, custom Kotlin port):
102
+ 1. App downloads `summary/navec_news.tar` and `summary/slovnet_ner.tar`
103
+ 2. Extracts both `.tar` archives into the app's private files directory
104
+ 3. Loads weights into a pure-Kotlin reimplementation of Slovnet NER (no PyTorch, no Python β€” just FloatArray math): WordEmbedding β†’ ShapeEmbedding β†’ 3-layer Conv1D β†’ Linear β†’ CRF Viterbi
105
+ 4. Combines NER output with TF-IDF + LexRank to extract top quotes, named entities, risks, and numerical data
106
 
107
+ Inference performance on Xiaomi 12T: ~6 seconds for a 17,900-word transcript (default tier, NER + LexRank, no LLM).
108
+
109
+ You can also use these files directly with the upstream libraries (sherpa-onnx, slovnet, navec) in any project that respects the original licenses.
110
 
111
  ## Verifying integrity
112
 
 
120
 
121
  Hashes for all files are in `manifest.json`.
122
 
123
+ ## Optional: Pro tier (QVikhr 1.5B)
124
+
125
+ ProtocolVoice has an optional **PRO tier** that produces a literary, narrative summary using [QVikhr-2.5-1.5B-Instruct-r](https://huggingface.co/Vikhrmodels/QVikhr-2.5-1.5B-Instruct-r) (1.0 GB GGUF, runs via llama.cpp on-device). The PRO tier is layered on top of the Default tier β€” Default extracts facts, PRO turns them into a coherent narrative.
126
+
127
+ The QVikhr GGUF is **not hosted in this repo** β€” users download it directly from the Vikhrmodels HF org or from a separate mirror, on demand. The QVikhr authors retain copyright; please cite them, not us.
128
+
129
  ## License
130
 
131
+ This repository's metadata, README, and packaging scripts are released under **Apache-2.0**. Each model file remains under its original license (see the tables above). By using a model, you accept its original license β€” not just this repository's.
 
 
 
132
 
133
  ## Removal request
134
 
135
+ If you are an author of one of the upstream projects and have any concerns about this redistribution (attribution, hosting, anything else), please open a discussion on this Hugging Face repo or email the maintainers β€” the files will be amended or removed as requested.