cstr commited on
Commit
b24df01
·
verified ·
1 Parent(s): 4286344

Add files using upload-large-folder tool

Browse files
Files changed (3) hide show
  1. .gitattributes +1 -0
  2. README.md +98 -0
  3. sensevoice-small-f16.gguf +3 -0
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ sensevoice-small-f16.gguf filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,98 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: other
3
+ license_name: funasr-model-license-v1.1
4
+ license_link: https://huggingface.co/FunAudioLLM/SenseVoiceSmall/blob/main/LICENSE
5
+ language:
6
+ - zh
7
+ - yue
8
+ - en
9
+ - ja
10
+ - ko
11
+ pipeline_tag: automatic-speech-recognition
12
+ tags:
13
+ - audio
14
+ - speech-recognition
15
+ - transcription
16
+ - ggml
17
+ - gguf
18
+ - funasr
19
+ - sensevoice
20
+ - sanm
21
+ - multilingual
22
+ - language-identification
23
+ - emotion-recognition
24
+ - audio-event-detection
25
+ library_name: ggml
26
+ base_model: FunAudioLLM/SenseVoiceSmall
27
+ ---
28
+
29
+ # SenseVoiceSmall — GGUF (ggml-quantised)
30
+
31
+ GGUF / ggml conversion of [`FunAudioLLM/SenseVoiceSmall`](https://huggingface.co/FunAudioLLM/SenseVoiceSmall) for use with the `sensevoice` backend in **[CrispStrobe/CrispASR](https://github.com/CrispStrobe/CrispASR)**.
32
+
33
+ SenseVoiceSmall is Alibaba's **multi-task encoder-only ASR**: one forward pass through a 70-block SANM encoder emits the full transcript **plus** the spoken language ID, emotion, and audio-event tags through a single CTC head. Non-autoregressive design → **15× faster than Whisper-Large** (70 ms for 10 s of audio in upstream's measurements).
34
+
35
+ - **70-block SenseVoiceEncoderSmall** (1 entry block @ 560→512 + 49 main blocks + 20 tp blocks, all 512-dim, 4 heads, FSMN k=11 depthwise convolution branch — the same encoder body Fun-ASR-Nano-2512 ships, just here paired with a CTC head instead of an LLM decoder)
36
+ - **4 query embeddings** (language / event / emotion / textnorm) prepended to the LFR fbank features so the encoder can emit rich annotations at those positions
37
+ - **CTC head** (`ctc.ctc_lo`, 25055 SentencePiece pieces)
38
+ - **50+ languages** with native LID (no whisper-tiny pre-step needed)
39
+ - **F16 only** ship: 0.47 GB. Q8_0/Q4_K pending.
40
+
41
+ ## What you get in the output
42
+
43
+ The transcript carries the 4-token rich-annotation prefix as readable
44
+ special tokens followed by the SentencePiece-detokenised transcript:
45
+
46
+ ```text
47
+ <|en|><|HAPPY|><|Speech|><|withitn|>And so my fellow Americans ask not what your country can do for you, ask what you can do for your country.
48
+ <|zh|><|NEUTRAL|><|Speech|><|withitn|>开饭时间早上9点至下午5点。
49
+ <|yue|><|NEUTRAL|><|Speech|><|withitn|>呢几个字都表达唔到我想讲嘅意思。
50
+ <|ja|><|NEUTRAL|><|Speech|><|withitn|>うちの中学は弁当制で持っていけない場合は、50円の学校販売の パンを買う。
51
+ <|ko|><|NEUTRAL|><|Speech|><|withitn|>조금만 생각을 하면서 살면 훨씬 편할 거야.
52
+ ```
53
+
54
+ Languages: `<|zh|>` / `<|en|>` / `<|yue|>` / `<|ja|>` / `<|ko|>` / `<|nospeech|>`.
55
+ Emotions: `<|HAPPY|>` / `<|SAD|>` / `<|ANGRY|>` / `<|NEUTRAL|>` / `<|EMO_UNKNOWN|>`.
56
+ Audio events: `<|Speech|>` / `<|Music|>` / `<|Applause|>` / `<|Laughter|>` / `<|Cry|>` / `<|BGM|>`.
57
+ Text norm: `<|withitn|>` (Arabic digits, punctuation) or `<|woitn|>` (raw).
58
+
59
+ ## Files
60
+
61
+ | File | Size | Notes |
62
+ | --- | ---: | --- |
63
+ | `sensevoice-small-f16.gguf` | 0.47 GB | F16 reference weights |
64
+
65
+ ## Quick Start
66
+
67
+ ```bash
68
+ git clone https://github.com/CrispStrobe/CrispASR
69
+ cd CrispASR
70
+ cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
71
+ cmake --build build --target crispasr-cli
72
+
73
+ ./build/bin/crispasr \
74
+ --backend sensevoice \
75
+ -m /path/to/sensevoice-small-f16.gguf \
76
+ -f samples/jfk.wav -l en
77
+ ```
78
+
79
+ ## Verification
80
+
81
+ `crispasr-diff sensevoice` is 76/76 PASS, byte-identical `generated_text`,
82
+ on Alibaba's own example `zh.mp3`; 75/76 PASS on `samples/jfk.wav` with
83
+ the single difference being the emotion-tag argmax flipping between
84
+ `<|ANGRY|>` and `<|EMO_UNKNOWN|>` (F16/op-order pushes that one slot
85
+ across a near-tied boundary; the transcript itself is byte-identical
86
+ in both runs). On Apple M1 Metal the runtime hits **15-22× realtime**.
87
+
88
+ ## Licence + attribution
89
+
90
+ Upstream **FunAudioLLM/SenseVoiceSmall**:
91
+
92
+ - **Code** (the `funasr` Python package): Apache-2.0.
93
+ - **Model weights**: [**FunASR Model License v1.1**](https://huggingface.co/FunAudioLLM/SenseVoiceSmall/blob/main/LICENSE) (Alibaba) — commercial use OK with attribution. Confirmed on the upstream-tracking discussion in [CrispStrobe/CrispASR#99](https://github.com/CrispStrobe/CrispASR/issues/99).
94
+
95
+ These GGUF files are a quantised / repackaged distribution of the upstream weights and inherit the FunASR Model License v1.1. Please attribute Alibaba / FunAudioLLM in downstream products.
96
+
97
+ > If you use this model, please also cite the upstream FunASR work.
98
+ > See the [upstream model card](https://huggingface.co/FunAudioLLM/SenseVoiceSmall) for the canonical citation.
sensevoice-small-f16.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d9d61bf057ef3e5e4f82d31eb5edb3fb35867c0b7a5374da74cb16fbc220d612
3
+ size 469397824