gojiteji commited on
Commit
e127cbb
·
verified ·
1 Parent(s): 78e826d

Audio Decision Model release

Browse files
Files changed (35) hide show
  1. LICENSE.md +17 -0
  2. MANIFEST.json +208 -0
  3. README.md +84 -0
  4. cloud/clap_heads/clap_animal8_oof_v1.pt +3 -0
  5. cloud/clap_heads/clap_sound_v1.pt +3 -0
  6. cloud/qwen_asr_adaptation/qwen06_asr_ja_keyword_alpha050.json +14 -0
  7. cloud/qwen_asr_adaptation/qwen06_asr_ja_keyword_alpha050.safetensors +3 -0
  8. cloud/semantic_v8/README.md +24 -0
  9. cloud/semantic_v8/REPORT.json +428 -0
  10. cloud/semantic_v8/SELECTED_PROTOCOL.json +46 -0
  11. cloud/semantic_v8/semantic_head.pt +3 -0
  12. cloud/semantic_v8/text_encoder/config.json +45 -0
  13. cloud/semantic_v8/text_encoder/model.safetensors +3 -0
  14. cloud/semantic_v8/text_encoder/special_tokens_map.json +9 -0
  15. cloud/semantic_v8/text_encoder/tokenizer.json +0 -0
  16. cloud/semantic_v8/text_encoder/tokenizer_config.json +166 -0
  17. cloud/typed_head/checkpoint.pt +3 -0
  18. edge/models/clap_audio_q8.onnx +3 -0
  19. edge/models/clap_heads_q8.onnx +3 -0
  20. edge/models/clap_preprocessor_config.json +22 -0
  21. edge/models/manifest.json +105 -0
  22. edge/models/modality_router_core_fp32.onnx +3 -0
  23. edge/models/modality_router_natural_fp32.onnx +3 -0
  24. edge/models/qwen_audio_q8.onnx +3 -0
  25. edge/models/qwen_preprocessor_config.json +15 -0
  26. edge/models/qwen_typed_head_q8.onnx +3 -0
  27. edge/models/text_q8.onnx +3 -0
  28. edge/models/tokenizer/config.json +47 -0
  29. edge/models/tokenizer/special_tokens_map.json +51 -0
  30. edge/models/tokenizer/tokenizer.json +0 -0
  31. edge/models/tokenizer/tokenizer_config.json +171 -0
  32. licenses/CLAP-Apache-2.0.txt +202 -0
  33. licenses/CLAP-NOTICE.txt +13 -0
  34. licenses/ModernBERT-Ja-MIT.txt +21 -0
  35. licenses/Qwen-Apache-2.0.txt +202 -0
LICENSE.md ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # License and distribution status
2
+
3
+ This is a **private preview** containing artifacts with multiple provenance and license chains. A single Apache-2.0 or MIT tag would misrepresent the bundle. The Hugging Face metadata therefore uses `license: other` and points to this file.
4
+
5
+ | Included artifacts | Source and pinned revision | Upstream declaration | Transformation |
6
+ |---|---|---|---|
7
+ | `edge/models/qwen_audio_q8.onnx`, `cloud/qwen_asr_adaptation/*` | [Qwen/Qwen3-ASR-0.6B](https://huggingface.co/Qwen/Qwen3-ASR-0.6B/tree/5eb144179a02acc5e5ba31e748d22b0cf3e303b0), `5eb144179a02acc5e5ba31e748d22b0cf3e303b0` | Apache-2.0 | Audio tower ONNX QInt8 conversion; separately trained Japanese ASR adaptation. The complete Cloud base is fetched upstream and is not copied here. |
8
+ | `edge/models/clap_audio_q8.onnx`, `cloud/clap_heads/*`, `edge/models/clap_heads_q8.onnx` | [laion/clap-htsat-unfused](https://huggingface.co/laion/clap-htsat-unfused/tree/8fa0f1c6d0433df6e97c127f64b2a1d6c0dcda8a), `8fa0f1c6d0433df6e97c127f64b2a1d6c0dcda8a` | Apache-2.0 | Audio tower ONNX QInt8 conversion and separately trained broad/animal heads. The complete Cloud base is fetched upstream. |
9
+ | `edge/models/text_q8.onnx`, `edge/models/tokenizer/*`, `edge/models/modality_router_*` | [sbintuitions/modernbert-ja-30m](https://huggingface.co/sbintuitions/modernbert-ja-30m/tree/8cb03f54cb9e30e72459e5f1cedc6d89c7d8dcb5), `8cb03f54cb9e30e72459e5f1cedc6d89c7d8dcb5` | MIT, Copyright © 2025 SB Intuitions | Text encoder ONNX QInt8 conversion; original learned router heads over its embeddings. |
10
+ | `cloud/semantic_v8/*` | [sbintuitions/modernbert-ja-130m](https://huggingface.co/sbintuitions/modernbert-ja-130m/tree/28c180b16463ba6f3fa79b48756fbf21586fe23e), `28c180b16463ba6f3fa79b48756fbf21586fe23e` | MIT, Copyright © 2025 SB Intuitions | Fine-tuned fixed-ontology transcript classifier, copied byte-identically from the selected private semantic-v8 artifact. |
11
+ | `edge/models/qwen_typed_head_q8.onnx`, `cloud/typed_head/*` | mocomoco inc. trained heads using Qwen and ModernBERT representations | Original project artifacts | Typed output heads; no upstream audio/text base weights are copied in these particular files. |
12
+
13
+ Full Apache-2.0 and MIT notice texts are under `licenses/`. The ModernBERT-Ja MIT text is byte-identical to the pinned 30M and 130M upstream `LICENSE` files. The pinned Qwen and CLAP model cards declare Apache-2.0 but do not contain separate root `LICENSE`/`NOTICE` files; the Apache-2.0 text is provided here with explicit provenance. Keep these notices with any redistribution of the corresponding transformed weights. Dependencies used to run the models carry their own terms and are not relicensed by this repository.
14
+
15
+ **mocomoco inc. has not assigned a public redistribution license to its original heads, routing implementation, or packaging in this preview.** Access to this private repository grants no additional rights to redistribute those original components. This statement does not restrict rights already granted under the upstream licenses to upstream-derived material. A public release requires a separately reviewed license choice for the original components.
16
+
17
+ The Jev/OpenJev/SemIf references are design inspiration only; trademark or endorsement rights are not asserted.
MANIFEST.json ADDED
@@ -0,0 +1,208 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "format": "mocomoco-audio-jev-private-model-bundle-v1",
3
+ "created_utc": "2026-09-21",
4
+ "repository": "mocomoco-inc/mocomoco-AudioJev-AudioDecisionModel",
5
+ "visibility": "private",
6
+ "license_summary": "mixed upstream Apache-2.0 and MIT; original mocomoco heads pending public license",
7
+ "upstream_models": {
8
+ "Qwen/Qwen3-ASR-0.6B": {
9
+ "revision": "5eb144179a02acc5e5ba31e748d22b0cf3e303b0",
10
+ "license": "Apache-2.0"
11
+ },
12
+ "laion/clap-htsat-unfused": {
13
+ "revision": "8fa0f1c6d0433df6e97c127f64b2a1d6c0dcda8a",
14
+ "license": "Apache-2.0"
15
+ },
16
+ "sbintuitions/modernbert-ja-30m": {
17
+ "revision": "8cb03f54cb9e30e72459e5f1cedc6d89c7d8dcb5",
18
+ "license": "MIT"
19
+ },
20
+ "sbintuitions/modernbert-ja-130m": {
21
+ "revision": "28c180b16463ba6f3fa79b48756fbf21586fe23e",
22
+ "license": "MIT"
23
+ }
24
+ },
25
+ "semantic_source": {
26
+ "repo_id": "gojiteji/mocovoice-audio-jev-semantic-v8",
27
+ "revision": "23779177e4f8abe672cef0d59812e7ee63bb1095"
28
+ },
29
+ "space_runtime_commit": "148af8074e989207db805fb0bb35d3374417ea6a",
30
+ "evaluation_reports": {
31
+ "routing": "artifacts/audio-jev-runtime-v7/REPORT.json",
32
+ "animal8": "artifacts/clap-animal8-oof-v1/REPORT.json",
33
+ "edge_keyword": "artifacts/qwen06-noul-match-refine-quant-official-test-v1/REPORT.json"
34
+ },
35
+ "files": {
36
+ "edge/models/clap_audio_q8.onnx": {
37
+ "bytes": 34052666,
38
+ "sha256": "04c42a3444bf26e7f89b8f28a3de074b83870075a82eaaac7082520d19823e80",
39
+ "role": "edge"
40
+ },
41
+ "edge/models/clap_heads_q8.onnx": {
42
+ "bytes": 291284,
43
+ "sha256": "ade9005a37094c1446072c6f2b42e98fe0e0dc910b64f287ca3f2a6062042332",
44
+ "role": "edge"
45
+ },
46
+ "edge/models/clap_preprocessor_config.json": {
47
+ "bytes": 541,
48
+ "sha256": "9739f58296aa6f9ac18008fd0150fb2649bc554985fbde86d0a4041c882ac753",
49
+ "role": "edge"
50
+ },
51
+ "edge/models/manifest.json": {
52
+ "bytes": 5726,
53
+ "sha256": "28edd9692b0512d26c9ad094af08782a110138c665c5be5261eb33226d00e08f",
54
+ "role": "edge"
55
+ },
56
+ "edge/models/modality_router_core_fp32.onnx": {
57
+ "bytes": 2377624,
58
+ "sha256": "eb38982da1b3ee0f2374f7489fb9a2a15f10de5fd66a679ffe3a2b1dd7df1c81",
59
+ "role": "edge"
60
+ },
61
+ "edge/models/modality_router_natural_fp32.onnx": {
62
+ "bytes": 2377624,
63
+ "sha256": "a8b6715cf49c5b7dfbd71411ee757564d00b50a8530048cd360208d2c4be3cbc",
64
+ "role": "edge"
65
+ },
66
+ "edge/models/qwen_audio_q8.onnx": {
67
+ "bytes": 199867760,
68
+ "sha256": "d85ffc31784d45cb338482804b9f8aa4a7c555de20596117a1d2c4560108058f",
69
+ "role": "edge"
70
+ },
71
+ "edge/models/qwen_preprocessor_config.json": {
72
+ "bytes": 357,
73
+ "sha256": "0443a40d411d3caad769e7b59971fa6eae75926ed4b7e337e60da909eb38c1f7",
74
+ "role": "edge"
75
+ },
76
+ "edge/models/qwen_typed_head_q8.onnx": {
77
+ "bytes": 6168028,
78
+ "sha256": "6e182b201d0b905a7104411fc9297993a3939b7852ee0226d8a66d352f0184b0",
79
+ "role": "edge"
80
+ },
81
+ "edge/models/text_q8.onnx": {
82
+ "bytes": 37128405,
83
+ "sha256": "c6096df8806d762e355b6893c6155ccfe49e89fd938b18eb55a25795e6ae0d63",
84
+ "role": "edge"
85
+ },
86
+ "edge/models/tokenizer/config.json": {
87
+ "bytes": 1278,
88
+ "sha256": "aa9491de9d1a655d7afbfc31b13d7f2bb18199a41281c5caa82563cffccc6f00",
89
+ "role": "edge"
90
+ },
91
+ "edge/models/tokenizer/special_tokens_map.json": {
92
+ "bytes": 968,
93
+ "sha256": "30bf8256f9a1eb3287af2a9b7940465e29a38aad4a459a3e773bb3a14bd34c0f",
94
+ "role": "edge"
95
+ },
96
+ "edge/models/tokenizer/tokenizer.json": {
97
+ "bytes": 6724873,
98
+ "sha256": "0a94ac9a0a02c067bdef25b72ae9f4ee33f48f552e55988d444f6d25eeb1d062",
99
+ "role": "edge"
100
+ },
101
+ "edge/models/tokenizer/tokenizer_config.json": {
102
+ "bytes": 3806,
103
+ "sha256": "fbab9c962596d0c493da0a6c10e3183d71e3705ea63c2d8e57a2678a65543246",
104
+ "role": "edge"
105
+ },
106
+ "cloud/qwen_asr_adaptation/qwen06_asr_ja_keyword_alpha050.safetensors": {
107
+ "bytes": 73494064,
108
+ "sha256": "776d9ff19aff2cce4b5a59dacf56e747c5d2945b06f19970844a875e7f803533",
109
+ "role": "cloud_asr"
110
+ },
111
+ "cloud/qwen_asr_adaptation/qwen06_asr_ja_keyword_alpha050.json": {
112
+ "bytes": 645,
113
+ "sha256": "5c12106cf7d8eb216a59a7e3aa61e147988b4ab2be320088351dc51b5a18b2ed",
114
+ "role": "cloud_asr"
115
+ },
116
+ "cloud/typed_head/checkpoint.pt": {
117
+ "bytes": 3175685,
118
+ "sha256": "34b0a35761f5b72b1f33367616b8f4ac6c46893f6fb0e855b96736ed7c955218",
119
+ "role": "cloud_typed"
120
+ },
121
+ "cloud/clap_heads/clap_sound_v1.pt": {
122
+ "bytes": 540985,
123
+ "sha256": "e6a70ae19e5cbb4e97b12d103a22b0541b92f0aaaf2bd8c10152711febe2ecf4",
124
+ "role": "cloud_clap"
125
+ },
126
+ "cloud/clap_heads/clap_animal8_oof_v1.pt": {
127
+ "bytes": 542109,
128
+ "sha256": "c7fe88df06f8b758ba7c525f590b09449f8315264a19a17895065adf0e50083e",
129
+ "role": "cloud_clap"
130
+ },
131
+ "cloud/semantic_v8/README.md": {
132
+ "bytes": 1123,
133
+ "sha256": "05da720f39bc66f6b15d4ff45e1f57fb93a372def7382003b81f22edd5e4172d",
134
+ "role": "cloud_semantic"
135
+ },
136
+ "cloud/semantic_v8/REPORT.json": {
137
+ "bytes": 12769,
138
+ "sha256": "d8743ec6ccc00975dd8ebd3bb95b93252c661f6317c30ecf2db0268aab660a61",
139
+ "role": "cloud_semantic"
140
+ },
141
+ "cloud/semantic_v8/SELECTED_PROTOCOL.json": {
142
+ "bytes": 1498,
143
+ "sha256": "94239add34099bdf3811dd46ac2bc437aeb92137d85e20a34b4207f2c3a44e53",
144
+ "role": "cloud_semantic"
145
+ },
146
+ "cloud/semantic_v8/semantic_head.pt": {
147
+ "bytes": 24533,
148
+ "sha256": "65783985da2edb2522c0065ea8f08c2fd287bc55ee84b5b76a730c36e8db2c90",
149
+ "role": "cloud_semantic"
150
+ },
151
+ "cloud/semantic_v8/text_encoder/config.json": {
152
+ "bytes": 1183,
153
+ "sha256": "e4d0ab0a4f10607f927c427d07568a377b540aec54c66a1059b777355e794468",
154
+ "role": "cloud_semantic"
155
+ },
156
+ "cloud/semantic_v8/text_encoder/model.safetensors": {
157
+ "bytes": 528573472,
158
+ "sha256": "9a8bc7409deb7156c016324c70773e59b54a37722dd8cabfc98044b617a38636",
159
+ "role": "cloud_semantic"
160
+ },
161
+ "cloud/semantic_v8/text_encoder/special_tokens_map.json": {
162
+ "bytes": 170,
163
+ "sha256": "9d8b23aa686bf627911b8964fe0aecdb9e4bff42999d87e6e4074b92d428ac12",
164
+ "role": "cloud_semantic"
165
+ },
166
+ "cloud/semantic_v8/text_encoder/tokenizer.json": {
167
+ "bytes": 6718748,
168
+ "sha256": "ed67f09f3f18baedada0b9e5352fe60b27b047a627b2d495c44c6843acda2509",
169
+ "role": "cloud_semantic"
170
+ },
171
+ "cloud/semantic_v8/text_encoder/tokenizer_config.json": {
172
+ "bytes": 3673,
173
+ "sha256": "7d07a485eee9c29d9efd95b2f17dadccba2b30ee6c281abf8ba9a0b94b52fa00",
174
+ "role": "cloud_semantic"
175
+ },
176
+ "README.md": {
177
+ "bytes": 5445,
178
+ "sha256": "5665f81645cee3cf0046b2fa18247db8dd4281b7a94927344c5b510ec8a6aeb4",
179
+ "role": "documentation"
180
+ },
181
+ "LICENSE.md": {
182
+ "bytes": 3295,
183
+ "sha256": "7d3a12fa7cae69d245cba97f55359f1be8fa9dda8f7ef89d9d9ee15acd9e89d2",
184
+ "role": "documentation"
185
+ },
186
+ "licenses/Qwen-Apache-2.0.txt": {
187
+ "bytes": 11358,
188
+ "sha256": "cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30",
189
+ "role": "license_notice"
190
+ },
191
+ "licenses/CLAP-Apache-2.0.txt": {
192
+ "bytes": 11358,
193
+ "sha256": "cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30",
194
+ "role": "license_notice"
195
+ },
196
+ "licenses/CLAP-NOTICE.txt": {
197
+ "bytes": 577,
198
+ "sha256": "fd6cbe54e4c62613d1bb59394c3b208a6f6b34d1ebe9d3b96e0da4fcc4017e6d",
199
+ "role": "license_notice"
200
+ },
201
+ "licenses/ModernBERT-Ja-MIT.txt": {
202
+ "bytes": 1070,
203
+ "sha256": "284353c80e0d52c06e97af62fd40e4dd1d253fa28f5d1e756121ea1d5d441509",
204
+ "role": "license_notice"
205
+ }
206
+ },
207
+ "total_payload_bytes": 902124700
208
+ }
README.md ADDED
@@ -0,0 +1,84 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language:
3
+ - ja
4
+ - en
5
+ license: other
6
+ license_name: audio-jev-mixed-terms
7
+ license_link: https://huggingface.co/mocomoco-inc/mocomoco-AudioJev-AudioDecisionModel/blob/main/LICENSE.md
8
+ base_model:
9
+ - Qwen/Qwen3-ASR-0.6B
10
+ - laion/clap-htsat-unfused
11
+ - sbintuitions/modernbert-ja-30m
12
+ - sbintuitions/modernbert-ja-130m
13
+ tags:
14
+ - audio-jev
15
+ - audio-classification
16
+ - automatic-speech-recognition
17
+ - japanese
18
+ - on-device
19
+ - onnx
20
+ ---
21
+
22
+ # mocomoco-AudioJev-AudioDecisionModel
23
+
24
+ mocomoco-AudioJev-AudioDecisionModelは、音声に質問を投げると、答えを`Noul`(Yes/No)・`Choice`(選択)・`Score`(数値)の形で返すモデルです。「予約を取り消したい?」「犬の鳴き声がする?」「発話と背景音を合わせると何が起きている?」といった質問を、同じ音声にまとめて指定できます。
25
+
26
+ [デモを試す](https://huggingface.co/spaces/gojiteji/mocovoice-audio-jev-playground) · [ライセンス](LICENSE.md)
27
+
28
+ ## できること
29
+
30
+ 予約の変更や取り消し、特定の言葉が含まれるかといった発話内容への質問に加え、音楽、動物の鳴き声、環境音についても質問できます。発話と背景音の両方が必要な場合は、それぞれのモデルの判断を組み合わせます。Cloudとブラウザ上で動くEdge AIを用意しています。
31
+
32
+ 入力は0.25〜30秒の音声と、任意の文脈・質問・選択肢です。出力には質問ごとの回答、選択肢スコア、使用したexpert、ルーティング重みが含まれます。
33
+
34
+ ## モデルのしくみ
35
+
36
+ 質問文・文脈・選択肢をModernBERT-Jaで読み、学習済みrouterが音声言語と非言語音の使い方を決めます。言語側はQwen3-ASR、非言語側はCLAPを基盤にし、両方が必要な質問では選択肢単位で結果を融合します。Cloudには日本語ASR適応重み、意味分類器、汎用typed head、CLAP分類headを収録しています。Edge AIには量子化した音声塔・質問encoder・headと、FP32のrouterをONNX形式で収録しています。
37
+
38
+ | 実行方式 | モデル | 取得量の目安 |
39
+ |---|---|---:|
40
+ | Cloud | Qwen3-ASR-0.6B + ModernBERT-Ja-130M + CLAP | 基盤モデルは各配布元から取得 |
41
+ | Edge AI | Qwen音声塔 + ModernBERT-Ja-30M + CLAP(ONNX) | 「モデルを読み込む」で全体約289 MBを取得 |
42
+
43
+ ## 評価
44
+
45
+ 予約・注文などの用件と、依頼・確認など発話の役割を音声から同時に答える評価では、事前に固定した240件のうち**88.75%**で両方正解しました。
46
+
47
+ 発話と周囲の音を組み合わせる質問や、自由に作成した質問全体の正答率は引き続き評価中です。選択肢スコアは確率校正前の値です。VAD・話者分離・ストリーミングは現行モデルの構造化出力にまだ含まれません。
48
+
49
+ ## 使い方と収録内容
50
+
51
+ デモでは音声を録音またはアップロードし、質問・選択肢を編集してCloudとEdge AIの回答を試せます。モデルを取得する場合は以下を使用してください。
52
+
53
+ ```python
54
+ from huggingface_hub import snapshot_download
55
+
56
+ model_dir = snapshot_download("mocomoco-inc/mocomoco-AudioJev-AudioDecisionModel", token=True)
57
+ print(model_dir)
58
+ ```
59
+
60
+ | ディレクトリ | 内容 |
61
+ |---|---|
62
+ | `edge/models/` | ブラウザ実行用ONNX、tokenizer、前処理設定、実行manifest |
63
+ | `cloud/qwen_asr_adaptation/` | Qwen3-ASR-0.6Bの日本語適応重み |
64
+ | `cloud/semantic_v8/` | ModernBERT-Ja-130Mの意味分類器 |
65
+ | `cloud/typed_head/` | `Noul`・`Choice`・`Score`用の汎用head |
66
+ | `cloud/clap_heads/` | 広域音・動物8種のCLAP head |
67
+ | `MANIFEST.json` | 全ファイルのSHA-256と基盤モデルrevision |
68
+
69
+ Cloud実行には、ここに収録した適応重み・headに加え、[Qwen3-ASR-0.6B](https://huggingface.co/Qwen/Qwen3-ASR-0.6B)と[CLAP](https://huggingface.co/laion/clap-htsat-unfused)の基盤モデルを使用します。入出力の実装例は[デモのソース](https://huggingface.co/spaces/gojiteji/mocovoice-audio-jev-playground/tree/main)にあります。
70
+
71
+ ## ライセンスとクレジット
72
+
73
+ このモデルは、以下の事前学習済みモデルを基盤にしています。
74
+
75
+ | 基盤モデル | ライセンス | 本リポジトリに含まれるもの |
76
+ |---|---|---|
77
+ | [Qwen3-ASR-0.6B](https://huggingface.co/Qwen/Qwen3-ASR-0.6B) | Apache-2.0 | Edge用の量子化音声塔、Cloud用の日本語ASR適応重み |
78
+ | [CLAP HTSAT unfused](https://huggingface.co/laion/clap-htsat-unfused) | Apache-2.0 | Edge用の量子化音声塔、音カテゴリ・動物分類head |
79
+ | [ModernBERT-Ja-30M](https://huggingface.co/sbintuitions/modernbert-ja-30m) | MIT | Edge用の量子化質問encoderとtokenizer |
80
+ | [ModernBERT-Ja-130M](https://huggingface.co/sbintuitions/modernbert-ja-130m) | MIT | Cloud用の意味分類器 |
81
+
82
+ router、typed head、分類headなどmocomoco inc.が作成した部���も含まれます。基盤モデルのライセンス文とnoticeは`licenses/`に収録し、ファイルごとの条件と基盤モデルrevisionは[LICENSE.md](LICENSE.md)と[MANIFEST.json](MANIFEST.json)に記載しています。
83
+
84
+ [Jev / TypeSafe AI](https://typesafe.ai/blog/introducing-system-one-models-and-jev)と[OpenJev / SemIf](https://github.com/TheoLeeCJ/SemIf)のアイデアを参考にしています。
cloud/clap_heads/clap_animal8_oof_v1.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c7fe88df06f8b758ba7c525f590b09449f8315264a19a17895065adf0e50083e
3
+ size 542109
cloud/clap_heads/clap_sound_v1.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e6a70ae19e5cbb4e97b12d103a22b0541b92f0aaaf2bd8c10152711febe2ecf4
3
+ size 540985
cloud/qwen_asr_adaptation/qwen06_asr_ja_keyword_alpha050.json ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "format": "qwen06-asr-runtime-weights-v1",
3
+ "model": "Qwen/Qwen3-ASR-0.6B",
4
+ "revision": "5eb144179a02acc5e5ba31e748d22b0cf3e303b0",
5
+ "candidate": "hybrid_channel-alpha050",
6
+ "source_delta_sha256": "27753c9fef555f8706ad72afc8557b2041ab5019646c5a2988fe5a62e7525b8c",
7
+ "selection_sha256": "acee6dab7ba61a629b98a6542afe7c3fac907252b0874a30bf4c4308167a3238",
8
+ "dtype": "bfloat16",
9
+ "path": "spaces/mocovoice-audio-jev/server_runtime/qwen06_asr_ja_keyword_alpha050.safetensors",
10
+ "sha256": "776d9ff19aff2cce4b5a59dacf56e747c5d2945b06f19970844a875e7f803533",
11
+ "bytes": 73494064,
12
+ "parameter_tensors": 47,
13
+ "parameter_count": 36744064
14
+ }
cloud/qwen_asr_adaptation/qwen06_asr_ja_keyword_alpha050.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:776d9ff19aff2cce4b5a59dacf56e747c5d2945b06f19970844a875e7f803533
3
+ size 73494064
cloud/semantic_v8/README.md ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: mit
3
+ library_name: transformers
4
+ base_model: sbintuitions/modernbert-ja-130m
5
+ tags:
6
+ - audio-jev
7
+ - japanese
8
+ - audio-classification
9
+ - text-classification
10
+ - private-preview
11
+ ---
12
+
13
+ # Audio Jev semantic-v8 (private preview)
14
+
15
+ Qwen3-ASR-0.6Bの日本語文字起こしから、固定ontologyの`intent`と`speech_act`を判定するModernBERT-Ja-130M後段モデルです。mocomoco inc.のAudio Jev Cloud実験用に選定したprivate artifactです。
16
+
17
+ - intent: `none / reservation / order / change / cancel`
18
+ - speech act: `backchannel / confirm / request / correct / cancel / other`
19
+ - 凍結240件: intent macro-F1 0.9543、speech-act macro-F1 0.8914
20
+ - Qwen3-ASR-0.6B実音声診断108件: intent 0.9576、speech-act 0.9235
21
+
22
+ 実音声診断は旧モデル分析後に再利用した改善確認であり、独立した最終テストではありません。詳細、データ分割、hash、制約は`REPORT.json`と`SELECTED_PROTOCOL.json`に収録しています。
23
+
24
+ ベースモデル`sbintuitions/modernbert-ja-130m`はMIT Licenseです。Qwen3-ASRの重みはこのリポジトリに含みません。
cloud/semantic_v8/REPORT.json ADDED
@@ -0,0 +1,428 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "status": "selected_postselection_evaluated",
3
+ "winner": "gpu4-v8p20-s9314",
4
+ "selection": {
5
+ "epoch": 4,
6
+ "eligible": true,
7
+ "worst_group": 0.8211988304093567,
8
+ "mean_group": 0.9039162579392765,
9
+ "composite": 0.8501499300448286
10
+ },
11
+ "candidate_runs": [
12
+ {
13
+ "name": "gpu4-v8p20-s9314",
14
+ "selection": {
15
+ "epoch": 4,
16
+ "eligible": true,
17
+ "worst_group": 0.8211988304093567,
18
+ "mean_group": 0.9039162579392765,
19
+ "composite": 0.8501499300448286
20
+ }
21
+ },
22
+ {
23
+ "name": "gpu-v8p12-s9312",
24
+ "selection": {
25
+ "epoch": 4,
26
+ "eligible": true,
27
+ "worst_group": 0.8235847888021802,
28
+ "mean_group": 0.8960488451430481,
29
+ "composite": 0.848947208521484
30
+ }
31
+ },
32
+ {
33
+ "name": "local-v8p8-s9311",
34
+ "selection": {
35
+ "epoch": 3,
36
+ "eligible": true,
37
+ "worst_group": 0.8245623771939562,
38
+ "mean_group": 0.8820502272747681,
39
+ "composite": 0.8446831247222404
40
+ }
41
+ },
42
+ {
43
+ "name": "gpu3-v8p16-s9313",
44
+ "selection": {
45
+ "epoch": 1,
46
+ "eligible": true,
47
+ "worst_group": 0.800505666797183,
48
+ "mean_group": 0.904817786097236,
49
+ "composite": 0.8370149085522015
50
+ }
51
+ }
52
+ ],
53
+ "protocol": {
54
+ "selection": "Validation composite only; semantic-natural-v8 frozen test first opened after winner fixed.",
55
+ "confirmation": "Post-selection diagnostic on previously opened Qwen3-ASR-0.6B transcripts; not a fresh holdout.",
56
+ "adoption_gate": "v8 frozen mean Macro-F1 gain >= .05, confirmation mean non-regression, and no confirmation task regresses by more than .01."
57
+ },
58
+ "baseline": {
59
+ "v8_frozen": {
60
+ "n": 240,
61
+ "act": {
62
+ "macro_f1": 0.5949459605042527,
63
+ "accuracy": 0.7291666666666666,
64
+ "support": {
65
+ "request": 102,
66
+ "confirm": 42,
67
+ "correct": 18,
68
+ "cancel": 48,
69
+ "backchannel": 18,
70
+ "other": 12
71
+ },
72
+ "per_class_f1": {
73
+ "backchannel": 0.6938775510204082,
74
+ "confirm": 0.6666666666666666,
75
+ "request": 0.8017241379310345,
76
+ "correct": 0.6666666666666666,
77
+ "cancel": 0.7407407407407407,
78
+ "other": 0.0
79
+ }
80
+ },
81
+ "intent": {
82
+ "macro_f1": 0.7424774737296578,
83
+ "accuracy": 0.7458333333333333,
84
+ "support": {
85
+ "reservation": 48,
86
+ "order": 48,
87
+ "change": 48,
88
+ "cancel": 48,
89
+ "none": 48
90
+ },
91
+ "per_class_f1": {
92
+ "none": 0.7058823529411765,
93
+ "reservation": 0.7027027027027027,
94
+ "order": 0.9306930693069307,
95
+ "change": 0.6588235294117647,
96
+ "cancel": 0.7142857142857143
97
+ }
98
+ },
99
+ "joint_accuracy": 0.6166666666666667
100
+ },
101
+ "confirmation_qwen06_asr": {
102
+ "aggregate": {
103
+ "n": 108,
104
+ "act": {
105
+ "macro_f1": 0.7743670565047895,
106
+ "accuracy": 0.7777777777777778,
107
+ "support": {
108
+ "request": 18,
109
+ "correct": 18,
110
+ "cancel": 18,
111
+ "confirm": 18,
112
+ "backchannel": 18,
113
+ "other": 18
114
+ },
115
+ "per_class_f1": {
116
+ "backchannel": 0.8292682926829268,
117
+ "confirm": 0.5,
118
+ "request": 0.6666666666666666,
119
+ "correct": 0.9090909090909091,
120
+ "cancel": 0.9411764705882353,
121
+ "other": 0.8
122
+ }
123
+ },
124
+ "intent": {
125
+ "macro_f1": 0.8876576962768912,
126
+ "accuracy": 0.9259259259259259,
127
+ "support": {
128
+ "reservation": 12,
129
+ "order": 12,
130
+ "none": 48,
131
+ "change": 18,
132
+ "cancel": 18
133
+ },
134
+ "per_class_f1": {
135
+ "none": 0.96,
136
+ "reservation": 0.6666666666666666,
137
+ "order": 0.9230769230769231,
138
+ "change": 0.9473684210526315,
139
+ "cancel": 0.9411764705882353
140
+ }
141
+ },
142
+ "joint_accuracy": 0.7592592592592593
143
+ },
144
+ "by_variant": {
145
+ "voice_design": {
146
+ "n": 54,
147
+ "act": {
148
+ "macro_f1": 0.7748366013071896,
149
+ "accuracy": 0.7777777777777778,
150
+ "support": {
151
+ "request": 9,
152
+ "correct": 9,
153
+ "cancel": 9,
154
+ "confirm": 9,
155
+ "backchannel": 9,
156
+ "other": 9
157
+ },
158
+ "per_class_f1": {
159
+ "backchannel": 0.8,
160
+ "confirm": 0.5,
161
+ "request": 0.6666666666666666,
162
+ "correct": 0.9411764705882353,
163
+ "cancel": 0.9411764705882353,
164
+ "other": 0.8
165
+ }
166
+ },
167
+ "intent": {
168
+ "macro_f1": 0.8876576962768912,
169
+ "accuracy": 0.9259259259259259,
170
+ "support": {
171
+ "reservation": 6,
172
+ "order": 6,
173
+ "none": 24,
174
+ "change": 9,
175
+ "cancel": 9
176
+ },
177
+ "per_class_f1": {
178
+ "none": 0.96,
179
+ "reservation": 0.6666666666666666,
180
+ "order": 0.9230769230769231,
181
+ "change": 0.9473684210526315,
182
+ "cancel": 0.9411764705882353
183
+ }
184
+ },
185
+ "joint_accuracy": 0.7592592592592593
186
+ },
187
+ "telephone_narrowband": {
188
+ "n": 54,
189
+ "act": {
190
+ "macro_f1": 0.7733309990662932,
191
+ "accuracy": 0.7777777777777778,
192
+ "support": {
193
+ "request": 9,
194
+ "correct": 9,
195
+ "cancel": 9,
196
+ "confirm": 9,
197
+ "backchannel": 9,
198
+ "other": 9
199
+ },
200
+ "per_class_f1": {
201
+ "backchannel": 0.8571428571428571,
202
+ "confirm": 0.5,
203
+ "request": 0.6666666666666666,
204
+ "correct": 0.875,
205
+ "cancel": 0.9411764705882353,
206
+ "other": 0.8
207
+ }
208
+ },
209
+ "intent": {
210
+ "macro_f1": 0.8876576962768912,
211
+ "accuracy": 0.9259259259259259,
212
+ "support": {
213
+ "reservation": 6,
214
+ "order": 6,
215
+ "none": 24,
216
+ "change": 9,
217
+ "cancel": 9
218
+ },
219
+ "per_class_f1": {
220
+ "none": 0.96,
221
+ "reservation": 0.6666666666666666,
222
+ "order": 0.9230769230769231,
223
+ "change": 0.9473684210526315,
224
+ "cancel": 0.9411764705882353
225
+ }
226
+ },
227
+ "joint_accuracy": 0.7592592592592593
228
+ }
229
+ }
230
+ }
231
+ },
232
+ "candidate": {
233
+ "v8_frozen": {
234
+ "n": 240,
235
+ "act": {
236
+ "macro_f1": 0.8914422694857477,
237
+ "accuracy": 0.8916666666666667,
238
+ "support": {
239
+ "request": 102,
240
+ "confirm": 42,
241
+ "correct": 18,
242
+ "cancel": 48,
243
+ "backchannel": 18,
244
+ "other": 12
245
+ },
246
+ "per_class_f1": {
247
+ "backchannel": 1.0,
248
+ "confirm": 0.8636363636363636,
249
+ "request": 0.9178743961352657,
250
+ "correct": 0.75,
251
+ "cancel": 0.8571428571428571,
252
+ "other": 0.96
253
+ }
254
+ },
255
+ "intent": {
256
+ "macro_f1": 0.9543391812865497,
257
+ "accuracy": 0.9541666666666667,
258
+ "support": {
259
+ "reservation": 48,
260
+ "order": 48,
261
+ "change": 48,
262
+ "cancel": 48,
263
+ "none": 48
264
+ },
265
+ "per_class_f1": {
266
+ "none": 0.96,
267
+ "reservation": 0.9894736842105263,
268
+ "order": 1.0,
269
+ "change": 0.8888888888888888,
270
+ "cancel": 0.9333333333333333
271
+ }
272
+ },
273
+ "joint_accuracy": 0.8875
274
+ },
275
+ "confirmation_qwen06_asr": {
276
+ "aggregate": {
277
+ "n": 108,
278
+ "act": {
279
+ "macro_f1": 0.9235294117647058,
280
+ "accuracy": 0.9259259259259259,
281
+ "support": {
282
+ "request": 18,
283
+ "correct": 18,
284
+ "cancel": 18,
285
+ "confirm": 18,
286
+ "backchannel": 18,
287
+ "other": 18
288
+ },
289
+ "per_class_f1": {
290
+ "backchannel": 0.9,
291
+ "confirm": 0.8,
292
+ "request": 1.0,
293
+ "correct": 0.9,
294
+ "cancel": 0.9411764705882353,
295
+ "other": 1.0
296
+ }
297
+ },
298
+ "intent": {
299
+ "macro_f1": 0.9575628626692456,
300
+ "accuracy": 0.9629629629629629,
301
+ "support": {
302
+ "reservation": 12,
303
+ "order": 12,
304
+ "none": 48,
305
+ "change": 18,
306
+ "cancel": 18
307
+ },
308
+ "per_class_f1": {
309
+ "none": 0.9787234042553191,
310
+ "reservation": 0.9090909090909091,
311
+ "order": 1.0,
312
+ "change": 0.9,
313
+ "cancel": 1.0
314
+ }
315
+ },
316
+ "joint_accuracy": 0.9074074074074074
317
+ },
318
+ "by_variant": {
319
+ "voice_design": {
320
+ "n": 54,
321
+ "act": {
322
+ "macro_f1": 0.9439241486068112,
323
+ "accuracy": 0.9444444444444444,
324
+ "support": {
325
+ "request": 9,
326
+ "correct": 9,
327
+ "cancel": 9,
328
+ "confirm": 9,
329
+ "backchannel": 9,
330
+ "other": 9
331
+ },
332
+ "per_class_f1": {
333
+ "backchannel": 0.9473684210526315,
334
+ "confirm": 0.875,
335
+ "request": 1.0,
336
+ "correct": 0.9,
337
+ "cancel": 0.9411764705882353,
338
+ "other": 1.0
339
+ }
340
+ },
341
+ "intent": {
342
+ "macro_f1": 0.9575628626692456,
343
+ "accuracy": 0.9629629629629629,
344
+ "support": {
345
+ "reservation": 6,
346
+ "order": 6,
347
+ "none": 24,
348
+ "change": 9,
349
+ "cancel": 9
350
+ },
351
+ "per_class_f1": {
352
+ "none": 0.9787234042553191,
353
+ "reservation": 0.9090909090909091,
354
+ "order": 1.0,
355
+ "change": 0.9,
356
+ "cancel": 1.0
357
+ }
358
+ },
359
+ "joint_accuracy": 0.9259259259259259
360
+ },
361
+ "telephone_narrowband": {
362
+ "n": 54,
363
+ "act": {
364
+ "macro_f1": 0.9021008403361344,
365
+ "accuracy": 0.9074074074074074,
366
+ "support": {
367
+ "request": 9,
368
+ "correct": 9,
369
+ "cancel": 9,
370
+ "confirm": 9,
371
+ "backchannel": 9,
372
+ "other": 9
373
+ },
374
+ "per_class_f1": {
375
+ "backchannel": 0.8571428571428571,
376
+ "confirm": 0.7142857142857143,
377
+ "request": 1.0,
378
+ "correct": 0.9,
379
+ "cancel": 0.9411764705882353,
380
+ "other": 1.0
381
+ }
382
+ },
383
+ "intent": {
384
+ "macro_f1": 0.9575628626692456,
385
+ "accuracy": 0.9629629629629629,
386
+ "support": {
387
+ "reservation": 6,
388
+ "order": 6,
389
+ "none": 24,
390
+ "change": 9,
391
+ "cancel": 9
392
+ },
393
+ "per_class_f1": {
394
+ "none": 0.9787234042553191,
395
+ "reservation": 0.9090909090909091,
396
+ "order": 1.0,
397
+ "change": 0.9,
398
+ "cancel": 1.0
399
+ }
400
+ },
401
+ "joint_accuracy": 0.8888888888888888
402
+ }
403
+ }
404
+ }
405
+ },
406
+ "delta": {
407
+ "v8_frozen_mean_macro_f1": 0.2541790082691935,
408
+ "confirmation_mean_macro_f1": 0.1095337608261353,
409
+ "confirmation_worst_task": 0.06990516639235445
410
+ },
411
+ "adoption_gate_passed": true,
412
+ "artifact": {
413
+ "bytes": 535478396,
414
+ "sha256": {
415
+ "candidate_v8_frozen_predictions.jsonl": "2139a015770e44c99583588ba18b4993dc45defed103b2700321715920b6fe57",
416
+ "baseline_v8_frozen_predictions.jsonl": "482e31ef3746cfdf22c9d663eca8163e94b41bffaaaf774c8db5d14bf21d86e8",
417
+ "semantic_head.pt": "65783985da2edb2522c0065ea8f08c2fd287bc55ee84b5b76a730c36e8db2c90",
418
+ "SELECTED_PROTOCOL.json": "94239add34099bdf3811dd46ac2bc437aeb92137d85e20a34b4207f2c3a44e53",
419
+ "candidate_confirmation_predictions.jsonl": "1f2615f90ea9cd76c451565ef50f86705e369a0a02da0181b8e85ce850c28fcb",
420
+ "baseline_confirmation_predictions.jsonl": "6233ee127383f6c604b645936f376af68aa8a13b2c0f92e845f5c0d322b26e43",
421
+ "text_encoder/special_tokens_map.json": "9d8b23aa686bf627911b8964fe0aecdb9e4bff42999d87e6e4074b92d428ac12",
422
+ "text_encoder/tokenizer.json": "ed67f09f3f18baedada0b9e5352fe60b27b047a627b2d495c44c6843acda2509",
423
+ "text_encoder/config.json": "e4d0ab0a4f10607f927c427d07568a377b540aec54c66a1059b777355e794468",
424
+ "text_encoder/model.safetensors": "9a8bc7409deb7156c016324c70773e59b54a37722dd8cabfc98044b617a38636",
425
+ "text_encoder/tokenizer_config.json": "7d07a485eee9c29d9efd95b2f17dadccba2b30ee6c281abf8ba9a0b94b52fa00"
426
+ }
427
+ }
428
+ }
cloud/semantic_v8/SELECTED_PROTOCOL.json ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "format": "qwen06-semantic-natural-v8-candidate-v1",
3
+ "role": "Transcript semantics following unmodified Qwen3-ASR-0.6B",
4
+ "warmstart": "artifacts/semantic-v7/130m_selected",
5
+ "seed": 9314,
6
+ "training": {
7
+ "epochs": 4,
8
+ "steps_per_epoch": 120,
9
+ "batch_size": 32,
10
+ "allocation": {
11
+ "v8": 20,
12
+ "v7": 5,
13
+ "legacy": 5,
14
+ "v5": 2
15
+ },
16
+ "lr": 9e-06,
17
+ "label_smoothing": 0.03
18
+ },
19
+ "selection": "Highest .65*minimum-group-macro-F1 + .35*mean-group-macro-F1 over v5/v7/v8 validation, with v5 and v7 per-task regression limited to 0.04 versus warm start.",
20
+ "prohibitions": [
21
+ "semantic-natural-v8/frozen_test is not opened",
22
+ "semantic-confirmation-v2 is not opened",
23
+ "OOD/demo/test predictions are not opened"
24
+ ],
25
+ "data_sha256": {
26
+ "v8_train": "dca1446d8b14dee914d986422df1c17516dc24a5eb5de60d4447c75bd9e44b8f",
27
+ "v8_validation": "1642cef85bca3b1edb2115c881f7d5a75890c926d94910b909f966babc573264",
28
+ "v7_train": "31d9e6cbcfcbcf735bf2055a4337fbb803e82c7b8ae4415aaf92151c8e5e40bc",
29
+ "v7_validation": "d98928b57f16798e1362610101346c30b0d7fff62a365aa9286e3fa82ab42fd6",
30
+ "v5_train": "002ecee4d080fd7722b309a918997836d06a59ac54388243538f250769f70022",
31
+ "v5_validation": "595decb454ac43436897f6d12c88228cebd366d049c4cf23205afb402a8076f1"
32
+ },
33
+ "counts": {
34
+ "train": {
35
+ "legacy": 3826,
36
+ "v5": 36,
37
+ "v7": 1200,
38
+ "v8": 560
39
+ },
40
+ "validation": {
41
+ "v5": 27,
42
+ "v7": 400,
43
+ "v8": 200
44
+ }
45
+ }
46
+ }
cloud/semantic_v8/semantic_head.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:65783985da2edb2522c0065ea8f08c2fd287bc55ee84b5b76a730c36e8db2c90
3
+ size 24533
cloud/semantic_v8/text_encoder/config.json ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "ModernBertModel"
4
+ ],
5
+ "attention_bias": false,
6
+ "attention_dropout": 0.0,
7
+ "bos_token_id": 1,
8
+ "classifier_activation": "gelu",
9
+ "classifier_bias": false,
10
+ "classifier_dropout": 0.0,
11
+ "classifier_pooling": "cls",
12
+ "cls_token_id": 6,
13
+ "decoder_bias": true,
14
+ "deterministic_flash_attn": false,
15
+ "dtype": "float32",
16
+ "embedding_dropout": 0.0,
17
+ "eos_token_id": 2,
18
+ "global_attn_every_n_layers": 3,
19
+ "global_rope_theta": 160000.0,
20
+ "gradient_checkpointing": false,
21
+ "hidden_activation": "gelu",
22
+ "hidden_size": 512,
23
+ "initializer_cutoff_factor": 2.0,
24
+ "initializer_range": 0.02,
25
+ "intermediate_size": 2048,
26
+ "layer_norm_eps": 1e-05,
27
+ "local_attention": 128,
28
+ "local_rope_theta": 10000.0,
29
+ "max_position_embeddings": 8192,
30
+ "mlp_bias": false,
31
+ "mlp_dropout": 0.0,
32
+ "model_type": "modernbert",
33
+ "norm_bias": false,
34
+ "norm_eps": 1e-05,
35
+ "num_attention_heads": 8,
36
+ "num_hidden_layers": 19,
37
+ "pad_token_id": 3,
38
+ "position_embedding_type": "rope",
39
+ "repad_logits_with_grad": false,
40
+ "sep_token_id": 4,
41
+ "sparse_pred_ignore_index": -100,
42
+ "sparse_prediction": false,
43
+ "transformers_version": "4.57.6",
44
+ "vocab_size": 102400
45
+ }
cloud/semantic_v8/text_encoder/model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9a8bc7409deb7156c016324c70773e59b54a37722dd8cabfc98044b617a38636
3
+ size 528573472
cloud/semantic_v8/text_encoder/special_tokens_map.json ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "bos_token": "<s>",
3
+ "cls_token": "<cls>",
4
+ "eos_token": "</s>",
5
+ "mask_token": "<mask>",
6
+ "pad_token": "<pad>",
7
+ "sep_token": "<sep>",
8
+ "unk_token": "<unk>"
9
+ }
cloud/semantic_v8/text_encoder/tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
cloud/semantic_v8/text_encoder/tokenizer_config.json ADDED
@@ -0,0 +1,166 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "added_tokens_decoder": {
3
+ "0": {
4
+ "content": "<unk>",
5
+ "lstrip": false,
6
+ "normalized": false,
7
+ "rstrip": false,
8
+ "single_word": false,
9
+ "special": true
10
+ },
11
+ "1": {
12
+ "content": "<s>",
13
+ "lstrip": false,
14
+ "normalized": false,
15
+ "rstrip": false,
16
+ "single_word": false,
17
+ "special": true
18
+ },
19
+ "2": {
20
+ "content": "</s>",
21
+ "lstrip": false,
22
+ "normalized": false,
23
+ "rstrip": false,
24
+ "single_word": false,
25
+ "special": true
26
+ },
27
+ "3": {
28
+ "content": "<pad>",
29
+ "lstrip": false,
30
+ "normalized": false,
31
+ "rstrip": false,
32
+ "single_word": false,
33
+ "special": true
34
+ },
35
+ "4": {
36
+ "content": "<sep>",
37
+ "lstrip": false,
38
+ "normalized": false,
39
+ "rstrip": false,
40
+ "single_word": false,
41
+ "special": true
42
+ },
43
+ "5": {
44
+ "content": "<mask>",
45
+ "lstrip": false,
46
+ "normalized": false,
47
+ "rstrip": false,
48
+ "single_word": false,
49
+ "special": true
50
+ },
51
+ "6": {
52
+ "content": "<cls>",
53
+ "lstrip": false,
54
+ "normalized": false,
55
+ "rstrip": false,
56
+ "single_word": false,
57
+ "special": true
58
+ },
59
+ "7": {
60
+ "content": "<|system|>",
61
+ "lstrip": false,
62
+ "normalized": false,
63
+ "rstrip": false,
64
+ "single_word": false,
65
+ "special": false
66
+ },
67
+ "8": {
68
+ "content": "<|assistant|>",
69
+ "lstrip": false,
70
+ "normalized": false,
71
+ "rstrip": false,
72
+ "single_word": false,
73
+ "special": false
74
+ },
75
+ "9": {
76
+ "content": "<|user|>",
77
+ "lstrip": false,
78
+ "normalized": false,
79
+ "rstrip": false,
80
+ "single_word": false,
81
+ "special": false
82
+ },
83
+ "10": {
84
+ "content": "<|available_tools|>",
85
+ "lstrip": false,
86
+ "normalized": false,
87
+ "rstrip": false,
88
+ "single_word": false,
89
+ "special": false
90
+ },
91
+ "11": {
92
+ "content": "<|tool_calls|>",
93
+ "lstrip": false,
94
+ "normalized": false,
95
+ "rstrip": false,
96
+ "single_word": false,
97
+ "special": false
98
+ },
99
+ "12": {
100
+ "content": "<|tool_results|>",
101
+ "lstrip": false,
102
+ "normalized": false,
103
+ "rstrip": false,
104
+ "single_word": false,
105
+ "special": false
106
+ },
107
+ "13": {
108
+ "content": "<|code|>",
109
+ "lstrip": false,
110
+ "normalized": false,
111
+ "rstrip": false,
112
+ "single_word": false,
113
+ "special": false
114
+ },
115
+ "14": {
116
+ "content": "<|file|>",
117
+ "lstrip": false,
118
+ "normalized": false,
119
+ "rstrip": false,
120
+ "single_word": false,
121
+ "special": false
122
+ },
123
+ "102397": {
124
+ "content": "<|prefix|>",
125
+ "lstrip": false,
126
+ "normalized": false,
127
+ "rstrip": false,
128
+ "single_word": false,
129
+ "special": false
130
+ },
131
+ "102398": {
132
+ "content": "<|suffix|>",
133
+ "lstrip": false,
134
+ "normalized": false,
135
+ "rstrip": false,
136
+ "single_word": false,
137
+ "special": false
138
+ },
139
+ "102399": {
140
+ "content": "<|middle|>",
141
+ "lstrip": false,
142
+ "normalized": false,
143
+ "rstrip": false,
144
+ "single_word": false,
145
+ "special": false
146
+ }
147
+ },
148
+ "bos_token": "<s>",
149
+ "clean_up_tokenization_spaces": false,
150
+ "cls_token": "<cls>",
151
+ "eos_token": "</s>",
152
+ "extra_special_tokens": {},
153
+ "mask_token": "<mask>",
154
+ "max_length": 256,
155
+ "model_max_length": 1000000000000000019884624838656,
156
+ "pad_to_multiple_of": null,
157
+ "pad_token": "<pad>",
158
+ "pad_token_type_id": 0,
159
+ "padding_side": "right",
160
+ "sep_token": "<sep>",
161
+ "stride": 0,
162
+ "tokenizer_class": "PreTrainedTokenizerFast",
163
+ "truncation_side": "right",
164
+ "truncation_strategy": "longest_first",
165
+ "unk_token": "<unk>"
166
+ }
cloud/typed_head/checkpoint.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:34b0a35761f5b72b1f33367616b8f4ac6c46893f6fb0e855b96736ed7c955218
3
+ size 3175685
edge/models/clap_audio_q8.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:04c42a3444bf26e7f89b8f28a3de074b83870075a82eaaac7082520d19823e80
3
+ size 34052666
edge/models/clap_heads_q8.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ade9005a37094c1446072c6f2b42e98fe0e0dc910b64f287ca3f2a6062042332
3
+ size 291284
edge/models/clap_preprocessor_config.json ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "chunk_length_s": 10,
3
+ "feature_extractor_type": "ClapFeatureExtractor",
4
+ "feature_size": 64,
5
+ "fft_window_size": 1024,
6
+ "frequency_max": 14000,
7
+ "frequency_min": 50,
8
+ "hop_length": 480,
9
+ "max_length_s": 10,
10
+ "n_fft": 1024,
11
+ "nb_frequency_bins": 513,
12
+ "nb_max_frames": 1000,
13
+ "nb_max_samples": 480000,
14
+ "padding": "repeatpad",
15
+ "padding_side": "right",
16
+ "padding_value": 0.0,
17
+ "processor_class": "ClapProcessor",
18
+ "return_attention_mask": false,
19
+ "sampling_rate": 48000,
20
+ "top_db": null,
21
+ "truncation": "rand_trunc"
22
+ }
edge/models/manifest.json ADDED
@@ -0,0 +1,105 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model": "Qwen3-ASR-0.6B + ModernBERT-Ja-30M learned sparse-router ensemble + NoulMatch + CLAP unified Edge Jev",
3
+ "format": "mocovoice-audio-jev-edge-qwen-noulmatch-clap-learned-router-v6",
4
+ "sample_rates": {
5
+ "language_hz": 16000,
6
+ "clap_hz": 48000
7
+ },
8
+ "revisions": {
9
+ "qwen": "5eb144179a02acc5e5ba31e748d22b0cf3e303b0",
10
+ "modernbert": "8cb03f54cb9e30e72459e5f1cedc6d89c7d8dcb5",
11
+ "clap": "8fa0f1c6d0433df6e97c127f64b2a1d6c0dcda8a"
12
+ },
13
+ "precision": {
14
+ "qwen_audio": "QInt8",
15
+ "modernbert_text": "QInt8",
16
+ "qwen_typed_head": "validation-selected mixed INT8/FP32",
17
+ "clap_audio": "QInt8",
18
+ "clap_heads": "QInt8",
19
+ "modality_router_ensemble": "FP32 heads x2 over QInt8 ModernBERT text embeddings"
20
+ },
21
+ "routing": {
22
+ "gate": "ModernBERT context/question/options -> two learned routers -> 0.4/0.6 logit ensemble -> soft speech/nonverbal/joint weights",
23
+ "sparse_execution": "top-1 expert; run both when joint weight >= 0.10 or normalized entropy >= 0.40",
24
+ "language": "Qwen audio + ModernBERT + shared typed head",
25
+ "nonverbal": "CLAP audio + fixed broad/animal heads",
26
+ "joint": "learned option-level weighted logit fusion of Qwen and CLAP distributions",
27
+ "user_model_selection_required": false,
28
+ "lexical_routing_rules": false
29
+ },
30
+ "files": {
31
+ "qwen_audio_q8.onnx": {
32
+ "bytes": 199867760,
33
+ "sha256": "d85ffc31784d45cb338482804b9f8aa4a7c555de20596117a1d2c4560108058f"
34
+ },
35
+ "text_q8.onnx": {
36
+ "bytes": 37128405,
37
+ "sha256": "c6096df8806d762e355b6893c6155ccfe49e89fd938b18eb55a25795e6ae0d63"
38
+ },
39
+ "qwen_typed_head_q8.onnx": {
40
+ "bytes": 6168028,
41
+ "sha256": "6e182b201d0b905a7104411fc9297993a3939b7852ee0226d8a66d352f0184b0"
42
+ },
43
+ "clap_audio_q8.onnx": {
44
+ "bytes": 34052666,
45
+ "sha256": "04c42a3444bf26e7f89b8f28a3de074b83870075a82eaaac7082520d19823e80"
46
+ },
47
+ "clap_heads_q8.onnx": {
48
+ "bytes": 291284,
49
+ "sha256": "ade9005a37094c1446072c6f2b42e98fe0e0dc910b64f287ca3f2a6062042332"
50
+ },
51
+ "qwen_preprocessor_config.json": {
52
+ "bytes": 357,
53
+ "sha256": "0443a40d411d3caad769e7b59971fa6eae75926ed4b7e337e60da909eb38c1f7"
54
+ },
55
+ "clap_preprocessor_config.json": {
56
+ "bytes": 541,
57
+ "sha256": "9739f58296aa6f9ac18008fd0150fb2649bc554985fbde86d0a4041c882ac753"
58
+ },
59
+ "modality_router_core_fp32.onnx": {
60
+ "bytes": 2377624,
61
+ "sha256": "eb38982da1b3ee0f2374f7489fb9a2a15f10de5fd66a679ffe3a2b1dd7df1c81"
62
+ },
63
+ "modality_router_natural_fp32.onnx": {
64
+ "bytes": 2377624,
65
+ "sha256": "a8b6715cf49c5b7dfbd71411ee757564d00b50a8530048cd360208d2c4be3cbc"
66
+ }
67
+ },
68
+ "download": {
69
+ "complete_bytes_with_tokenizer": 288992968,
70
+ "complete_decimal_mb": 289.0,
71
+ "routing_core_bytes": 48613230,
72
+ "routing_core_decimal_mb": 48.6,
73
+ "language_on_demand_bytes": 206035788,
74
+ "nonverbal_on_demand_bytes": 34343950,
75
+ "initial_download_bytes": 48613230,
76
+ "experts_loaded_on_demand": true
77
+ },
78
+ "validation": {
79
+ "qwen_audio_quantization": "Irodori 300 typed rows: QInt8 0 argmax disagreements vs FP32",
80
+ "qwen_head_q8": "NoulMatch refined on 17,692 validation rows; official fixed test: language ID 100%, language presence 100%, keyword Choice accuracy 84.44%, keyword presence macro-F1 0.9279; 0.22% official-test argmax disagreement vs FP32",
81
+ "clap_q8": "validation-only 128 clips: feature cosine p50 0.998978; animal threshold decisions 0/1024 differences; broad 1/512",
82
+ "wasm": "seven deployment graphs: five quantized expert/text graphs plus two FP32 learned router heads; web exports contain no Cast nodes and have 0/2,485 question plus 0/10,819 option argmax differences from the trained routers",
83
+ "frontend": "Transformers.js Qwen and CLAP DSP passed Python parity",
84
+ "local_browser_catalog": "4/5: reservation, backchannel, music and dog passed; telephone cancellation returned change",
85
+ "qwen_head_selection": "refine_phone_a-s94701 + qint8_pc_only_warm; training selection SHA256 305376a7d267002c75701fc7844a6283633f8a2e4fb4389300981efed30981df; quant selection SHA256 9c57712d2ebcb1aa9cbf7cd846207b58825e4b00d9c85f62d49f580ab77da117; ONNX SHA256 6e182b201d0b905a7104411fc9297993a3939b7852ee0226d8a66d352f0184b0",
86
+ "joint_fusion": "option-level learned soft modality weights; deterministic AND/OR routing removed; end-to-end joint-audio accuracy remains to be measured",
87
+ "learned_router_ensemble": "validation 2,485 rows: question macro-F1 0.9941, option macro-F1 0.9956, required expert-set recall 1.0000, average 1.1368 experts/question",
88
+ "learned_router_test": "2,659 rows: question macro-F1 0.9791, option macro-F1 0.9776, required expert-set recall 1.0000, average 1.1452 experts/question; fresh natural subset 228 rows: top-route macro-F1 0.8800, required expert-set recall 1.0000"
89
+ },
90
+ "licenses": {
91
+ "qwen": "Apache-2.0",
92
+ "modernbert": "MIT",
93
+ "clap": "Apache-2.0",
94
+ "onnxruntime-web": "MIT",
95
+ "transformers.js": "Apache-2.0"
96
+ },
97
+ "limitations": [
98
+ "Scores are not calibrated correctness probabilities.",
99
+ "On the fresh natural routing subset, top-route macro-F1 is 0.8800; entropy/joint fallback reached required expert-set recall 1.0000 by running both experts for 63.6% of those questions.",
100
+ "Non-verbal arbitrary-schema adapter was rejected after FSD diagnostic regression; deployed sound answers retain the validated frozen CLAP taxonomy mapping.",
101
+ "End-to-end held-out joint-audio answer accuracy is not established yet.",
102
+ "Real mobile memory and latency require device validation.",
103
+ "NoulMatch fixed-test coverage is five-language ID/presence, English keyword keywords, and speech presence; arbitrary schemas remain unestablished."
104
+ ]
105
+ }
edge/models/modality_router_core_fp32.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:eb38982da1b3ee0f2374f7489fb9a2a15f10de5fd66a679ffe3a2b1dd7df1c81
3
+ size 2377624
edge/models/modality_router_natural_fp32.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a8b6715cf49c5b7dfbd71411ee757564d00b50a8530048cd360208d2c4be3cbc
3
+ size 2377624
edge/models/qwen_audio_q8.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d85ffc31784d45cb338482804b9f8aa4a7c555de20596117a1d2c4560108058f
3
+ size 199867760
edge/models/qwen_preprocessor_config.json ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "chunk_length": 30,
3
+ "dither": 0.0,
4
+ "feature_extractor_type": "WhisperFeatureExtractor",
5
+ "feature_size": 128,
6
+ "hop_length": 160,
7
+ "n_fft": 400,
8
+ "n_samples": 480000,
9
+ "nb_max_frames": 3000,
10
+ "padding_side": "right",
11
+ "padding_value": 0.0,
12
+ "processor_class": "Qwen3ASRProcessor",
13
+ "return_attention_mask": true,
14
+ "sampling_rate": 16000
15
+ }
edge/models/qwen_typed_head_q8.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6e182b201d0b905a7104411fc9297993a3939b7852ee0226d8a66d352f0184b0
3
+ size 6168028
edge/models/text_q8.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c6096df8806d762e355b6893c6155ccfe49e89fd938b18eb55a25795e6ae0d63
3
+ size 37128405
edge/models/tokenizer/config.json ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_name_or_path": "sbintuitions/modernbert-ja-30m",
3
+ "architectures": [
4
+ "ModernBertForMaskedLM"
5
+ ],
6
+ "attention_bias": false,
7
+ "attention_dropout": 0.0,
8
+ "bos_token_id": 1,
9
+ "classifier_activation": "gelu",
10
+ "classifier_bias": false,
11
+ "classifier_dropout": 0.0,
12
+ "classifier_pooling": "cls",
13
+ "cls_token_id": 6,
14
+ "decoder_bias": true,
15
+ "deterministic_flash_attn": false,
16
+ "embedding_dropout": 0.0,
17
+ "eos_token_id": 2,
18
+ "global_attn_every_n_layers": 3,
19
+ "global_rope_theta": 160000.0,
20
+ "gradient_checkpointing": false,
21
+ "hidden_activation": "gelu",
22
+ "hidden_size": 256,
23
+ "initializer_cutoff_factor": 2.0,
24
+ "initializer_range": 0.02,
25
+ "intermediate_size": 1024,
26
+ "layer_norm_eps": 1e-05,
27
+ "local_attention": 128,
28
+ "local_rope_theta": 10000.0,
29
+ "max_position_embeddings": 8192,
30
+ "mlp_bias": false,
31
+ "mlp_dropout": 0.0,
32
+ "model_type": "modernbert",
33
+ "norm_bias": false,
34
+ "norm_eps": 1e-05,
35
+ "num_attention_heads": 4,
36
+ "num_hidden_layers": 10,
37
+ "pad_token_id": 3,
38
+ "position_embedding_type": "rope",
39
+ "reference_compile": false,
40
+ "repad_logits_with_grad": false,
41
+ "sep_token_id": 4,
42
+ "sparse_pred_ignore_index": -100,
43
+ "sparse_prediction": false,
44
+ "torch_dtype": "float32",
45
+ "transformers_version": "4.48.3",
46
+ "vocab_size": 102400
47
+ }
edge/models/tokenizer/special_tokens_map.json ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "bos_token": {
3
+ "content": "<s>",
4
+ "lstrip": false,
5
+ "normalized": false,
6
+ "rstrip": false,
7
+ "single_word": false
8
+ },
9
+ "cls_token": {
10
+ "content": "<cls>",
11
+ "lstrip": false,
12
+ "normalized": false,
13
+ "rstrip": false,
14
+ "single_word": false
15
+ },
16
+ "eos_token": {
17
+ "content": "</s>",
18
+ "lstrip": false,
19
+ "normalized": false,
20
+ "rstrip": false,
21
+ "single_word": false
22
+ },
23
+ "mask_token": {
24
+ "content": "<mask>",
25
+ "lstrip": false,
26
+ "normalized": false,
27
+ "rstrip": false,
28
+ "single_word": false
29
+ },
30
+ "pad_token": {
31
+ "content": "<pad>",
32
+ "lstrip": false,
33
+ "normalized": false,
34
+ "rstrip": false,
35
+ "single_word": false
36
+ },
37
+ "sep_token": {
38
+ "content": "<sep>",
39
+ "lstrip": false,
40
+ "normalized": false,
41
+ "rstrip": false,
42
+ "single_word": false
43
+ },
44
+ "unk_token": {
45
+ "content": "<unk>",
46
+ "lstrip": false,
47
+ "normalized": false,
48
+ "rstrip": false,
49
+ "single_word": false
50
+ }
51
+ }
edge/models/tokenizer/tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
edge/models/tokenizer/tokenizer_config.json ADDED
@@ -0,0 +1,171 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_bos_token": true,
3
+ "add_dummy_prefix_space": false,
4
+ "add_eos_token": true,
5
+ "add_prefix_space": false,
6
+ "added_tokens_decoder": {
7
+ "0": {
8
+ "content": "<unk>",
9
+ "lstrip": false,
10
+ "normalized": false,
11
+ "rstrip": false,
12
+ "single_word": false,
13
+ "special": true
14
+ },
15
+ "1": {
16
+ "content": "<s>",
17
+ "lstrip": false,
18
+ "normalized": false,
19
+ "rstrip": false,
20
+ "single_word": false,
21
+ "special": true
22
+ },
23
+ "2": {
24
+ "content": "</s>",
25
+ "lstrip": false,
26
+ "normalized": false,
27
+ "rstrip": false,
28
+ "single_word": false,
29
+ "special": true
30
+ },
31
+ "3": {
32
+ "content": "<pad>",
33
+ "lstrip": false,
34
+ "normalized": false,
35
+ "rstrip": false,
36
+ "single_word": false,
37
+ "special": true
38
+ },
39
+ "4": {
40
+ "content": "<sep>",
41
+ "lstrip": false,
42
+ "normalized": false,
43
+ "rstrip": false,
44
+ "single_word": false,
45
+ "special": true
46
+ },
47
+ "5": {
48
+ "content": "<mask>",
49
+ "lstrip": false,
50
+ "normalized": false,
51
+ "rstrip": false,
52
+ "single_word": false,
53
+ "special": true
54
+ },
55
+ "6": {
56
+ "content": "<cls>",
57
+ "lstrip": false,
58
+ "normalized": false,
59
+ "rstrip": false,
60
+ "single_word": false,
61
+ "special": true
62
+ },
63
+ "7": {
64
+ "content": "<|system|>",
65
+ "lstrip": false,
66
+ "normalized": false,
67
+ "rstrip": false,
68
+ "single_word": false,
69
+ "special": false
70
+ },
71
+ "8": {
72
+ "content": "<|assistant|>",
73
+ "lstrip": false,
74
+ "normalized": false,
75
+ "rstrip": false,
76
+ "single_word": false,
77
+ "special": false
78
+ },
79
+ "9": {
80
+ "content": "<|user|>",
81
+ "lstrip": false,
82
+ "normalized": false,
83
+ "rstrip": false,
84
+ "single_word": false,
85
+ "special": false
86
+ },
87
+ "10": {
88
+ "content": "<|available_tools|>",
89
+ "lstrip": false,
90
+ "normalized": false,
91
+ "rstrip": false,
92
+ "single_word": false,
93
+ "special": false
94
+ },
95
+ "11": {
96
+ "content": "<|tool_calls|>",
97
+ "lstrip": false,
98
+ "normalized": false,
99
+ "rstrip": false,
100
+ "single_word": false,
101
+ "special": false
102
+ },
103
+ "12": {
104
+ "content": "<|tool_results|>",
105
+ "lstrip": false,
106
+ "normalized": false,
107
+ "rstrip": false,
108
+ "single_word": false,
109
+ "special": false
110
+ },
111
+ "13": {
112
+ "content": "<|code|>",
113
+ "lstrip": false,
114
+ "normalized": false,
115
+ "rstrip": false,
116
+ "single_word": false,
117
+ "special": false
118
+ },
119
+ "14": {
120
+ "content": "<|file|>",
121
+ "lstrip": false,
122
+ "normalized": false,
123
+ "rstrip": false,
124
+ "single_word": false,
125
+ "special": false
126
+ },
127
+ "102397": {
128
+ "content": "<|prefix|>",
129
+ "lstrip": false,
130
+ "normalized": false,
131
+ "rstrip": false,
132
+ "single_word": false,
133
+ "special": false
134
+ },
135
+ "102398": {
136
+ "content": "<|suffix|>",
137
+ "lstrip": false,
138
+ "normalized": false,
139
+ "rstrip": false,
140
+ "single_word": false,
141
+ "special": false
142
+ },
143
+ "102399": {
144
+ "content": "<|middle|>",
145
+ "lstrip": false,
146
+ "normalized": false,
147
+ "rstrip": false,
148
+ "single_word": false,
149
+ "special": false
150
+ }
151
+ },
152
+ "bos_token": "<s>",
153
+ "clean_up_tokenization_spaces": false,
154
+ "cls_token": "<cls>",
155
+ "do_lower_case": false,
156
+ "eos_token": "</s>",
157
+ "extra_ids": 0,
158
+ "extra_special_tokens": {},
159
+ "keep_accents": true,
160
+ "legacy": false,
161
+ "mask_token": "<mask>",
162
+ "model_max_length": 1000000000000000019884624838656,
163
+ "pad_token": "<pad>",
164
+ "padding_side": "right",
165
+ "sep_token": "<sep>",
166
+ "sp_model_kwargs": {},
167
+ "spaces_between_special_tokens": false,
168
+ "tokenizer_class": "LlamaTokenizer",
169
+ "unk_token": "<unk>",
170
+ "use_default_system_prompt": false
171
+ }
licenses/CLAP-Apache-2.0.txt ADDED
@@ -0,0 +1,202 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ Apache License
3
+ Version 2.0, January 2004
4
+ http://www.apache.org/licenses/
5
+
6
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7
+
8
+ 1. Definitions.
9
+
10
+ "License" shall mean the terms and conditions for use, reproduction,
11
+ and distribution as defined by Sections 1 through 9 of this document.
12
+
13
+ "Licensor" shall mean the copyright owner or entity authorized by
14
+ the copyright owner that is granting the License.
15
+
16
+ "Legal Entity" shall mean the union of the acting entity and all
17
+ other entities that control, are controlled by, or are under common
18
+ control with that entity. For the purposes of this definition,
19
+ "control" means (i) the power, direct or indirect, to cause the
20
+ direction or management of such entity, whether by contract or
21
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
22
+ outstanding shares, or (iii) beneficial ownership of such entity.
23
+
24
+ "You" (or "Your") shall mean an individual or Legal Entity
25
+ exercising permissions granted by this License.
26
+
27
+ "Source" form shall mean the preferred form for making modifications,
28
+ including but not limited to software source code, documentation
29
+ source, and configuration files.
30
+
31
+ "Object" form shall mean any form resulting from mechanical
32
+ transformation or translation of a Source form, including but
33
+ not limited to compiled object code, generated documentation,
34
+ and conversions to other media types.
35
+
36
+ "Work" shall mean the work of authorship, whether in Source or
37
+ Object form, made available under the License, as indicated by a
38
+ copyright notice that is included in or attached to the work
39
+ (an example is provided in the Appendix below).
40
+
41
+ "Derivative Works" shall mean any work, whether in Source or Object
42
+ form, that is based on (or derived from) the Work and for which the
43
+ editorial revisions, annotations, elaborations, or other modifications
44
+ represent, as a whole, an original work of authorship. For the purposes
45
+ of this License, Derivative Works shall not include works that remain
46
+ separable from, or merely link (or bind by name) to the interfaces of,
47
+ the Work and Derivative Works thereof.
48
+
49
+ "Contribution" shall mean any work of authorship, including
50
+ the original version of the Work and any modifications or additions
51
+ to that Work or Derivative Works thereof, that is intentionally
52
+ submitted to Licensor for inclusion in the Work by the copyright owner
53
+ or by an individual or Legal Entity authorized to submit on behalf of
54
+ the copyright owner. For the purposes of this definition, "submitted"
55
+ means any form of electronic, verbal, or written communication sent
56
+ to the Licensor or its representatives, including but not limited to
57
+ communication on electronic mailing lists, source code control systems,
58
+ and issue tracking systems that are managed by, or on behalf of, the
59
+ Licensor for the purpose of discussing and improving the Work, but
60
+ excluding communication that is conspicuously marked or otherwise
61
+ designated in writing by the copyright owner as "Not a Contribution."
62
+
63
+ "Contributor" shall mean Licensor and any individual or Legal Entity
64
+ on behalf of whom a Contribution has been received by Licensor and
65
+ subsequently incorporated within the Work.
66
+
67
+ 2. Grant of Copyright License. Subject to the terms and conditions of
68
+ this License, each Contributor hereby grants to You a perpetual,
69
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
70
+ copyright license to reproduce, prepare Derivative Works of,
71
+ publicly display, publicly perform, sublicense, and distribute the
72
+ Work and such Derivative Works in Source or Object form.
73
+
74
+ 3. Grant of Patent License. Subject to the terms and conditions of
75
+ this License, each Contributor hereby grants to You a perpetual,
76
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
77
+ (except as stated in this section) patent license to make, have made,
78
+ use, offer to sell, sell, import, and otherwise transfer the Work,
79
+ where such license applies only to those patent claims licensable
80
+ by such Contributor that are necessarily infringed by their
81
+ Contribution(s) alone or by combination of their Contribution(s)
82
+ with the Work to which such Contribution(s) was submitted. If You
83
+ institute patent litigation against any entity (including a
84
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
85
+ or a Contribution incorporated within the Work constitutes direct
86
+ or contributory patent infringement, then any patent licenses
87
+ granted to You under this License for that Work shall terminate
88
+ as of the date such litigation is filed.
89
+
90
+ 4. Redistribution. You may reproduce and distribute copies of the
91
+ Work or Derivative Works thereof in any medium, with or without
92
+ modifications, and in Source or Object form, provided that You
93
+ meet the following conditions:
94
+
95
+ (a) You must give any other recipients of the Work or
96
+ Derivative Works a copy of this License; and
97
+
98
+ (b) You must cause any modified files to carry prominent notices
99
+ stating that You changed the files; and
100
+
101
+ (c) You must retain, in the Source form of any Derivative Works
102
+ that You distribute, all copyright, patent, trademark, and
103
+ attribution notices from the Source form of the Work,
104
+ excluding those notices that do not pertain to any part of
105
+ the Derivative Works; and
106
+
107
+ (d) If the Work includes a "NOTICE" text file as part of its
108
+ distribution, then any Derivative Works that You distribute must
109
+ include a readable copy of the attribution notices contained
110
+ within such NOTICE file, excluding those notices that do not
111
+ pertain to any part of the Derivative Works, in at least one
112
+ of the following places: within a NOTICE text file distributed
113
+ as part of the Derivative Works; within the Source form or
114
+ documentation, if provided along with the Derivative Works; or,
115
+ within a display generated by the Derivative Works, if and
116
+ wherever such third-party notices normally appear. The contents
117
+ of the NOTICE file are for informational purposes only and
118
+ do not modify the License. You may add Your own attribution
119
+ notices within Derivative Works that You distribute, alongside
120
+ or as an addendum to the NOTICE text from the Work, provided
121
+ that such additional attribution notices cannot be construed
122
+ as modifying the License.
123
+
124
+ You may add Your own copyright statement to Your modifications and
125
+ may provide additional or different license terms and conditions
126
+ for use, reproduction, or distribution of Your modifications, or
127
+ for any such Derivative Works as a whole, provided Your use,
128
+ reproduction, and distribution of the Work otherwise complies with
129
+ the conditions stated in this License.
130
+
131
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
132
+ any Contribution intentionally submitted for inclusion in the Work
133
+ by You to the Licensor shall be under the terms and conditions of
134
+ this License, without any additional terms or conditions.
135
+ Notwithstanding the above, nothing herein shall supersede or modify
136
+ the terms of any separate license agreement you may have executed
137
+ with Licensor regarding such Contributions.
138
+
139
+ 6. Trademarks. This License does not grant permission to use the trade
140
+ names, trademarks, service marks, or product names of the Licensor,
141
+ except as required for reasonable and customary use in describing the
142
+ origin of the Work and reproducing the content of the NOTICE file.
143
+
144
+ 7. Disclaimer of Warranty. Unless required by applicable law or
145
+ agreed to in writing, Licensor provides the Work (and each
146
+ Contributor provides its Contributions) on an "AS IS" BASIS,
147
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
148
+ implied, including, without limitation, any warranties or conditions
149
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
150
+ PARTICULAR PURPOSE. You are solely responsible for determining the
151
+ appropriateness of using or redistributing the Work and assume any
152
+ risks associated with Your exercise of permissions under this License.
153
+
154
+ 8. Limitation of Liability. In no event and under no legal theory,
155
+ whether in tort (including negligence), contract, or otherwise,
156
+ unless required by applicable law (such as deliberate and grossly
157
+ negligent acts) or agreed to in writing, shall any Contributor be
158
+ liable to You for damages, including any direct, indirect, special,
159
+ incidental, or consequential damages of any character arising as a
160
+ result of this License or out of the use or inability to use the
161
+ Work (including but not limited to damages for loss of goodwill,
162
+ work stoppage, computer failure or malfunction, or any and all
163
+ other commercial damages or losses), even if such Contributor
164
+ has been advised of the possibility of such damages.
165
+
166
+ 9. Accepting Warranty or Additional Liability. While redistributing
167
+ the Work or Derivative Works thereof, You may choose to offer,
168
+ and charge a fee for, acceptance of support, warranty, indemnity,
169
+ or other liability obligations and/or rights consistent with this
170
+ License. However, in accepting such obligations, You may act only
171
+ on Your own behalf and on Your sole responsibility, not on behalf
172
+ of any other Contributor, and only if You agree to indemnify,
173
+ defend, and hold each Contributor harmless for any liability
174
+ incurred by, or claims asserted against, such Contributor by reason
175
+ of your accepting any such warranty or additional liability.
176
+
177
+ END OF TERMS AND CONDITIONS
178
+
179
+ APPENDIX: How to apply the Apache License to your work.
180
+
181
+ To apply the Apache License to your work, attach the following
182
+ boilerplate notice, with the fields enclosed by brackets "[]"
183
+ replaced with your own identifying information. (Don't include
184
+ the brackets!) The text should be enclosed in the appropriate
185
+ comment syntax for the file format. We also recommend that a
186
+ file or class name and description of purpose be included on the
187
+ same "printed page" as the copyright notice for easier
188
+ identification within third-party archives.
189
+
190
+ Copyright [yyyy] [name of copyright owner]
191
+
192
+ Licensed under the Apache License, Version 2.0 (the "License");
193
+ you may not use this file except in compliance with the License.
194
+ You may obtain a copy of the License at
195
+
196
+ http://www.apache.org/licenses/LICENSE-2.0
197
+
198
+ Unless required by applicable law or agreed to in writing, software
199
+ distributed under the License is distributed on an "AS IS" BASIS,
200
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201
+ See the License for the specific language governing permissions and
202
+ limitations under the License.
licenses/CLAP-NOTICE.txt ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ CLAP runtime notice
2
+
3
+ The Cloud non-verbal branch uses laion/clap-htsat-unfused at revision
4
+ 8fa0f1c6d0433df6e97c127f64b2a1d6c0dcda8a. Its model distribution is
5
+ Apache-2.0 according to the pinned model card.
6
+
7
+ Source: https://huggingface.co/laion/clap-htsat-unfused/tree/8fa0f1c6d0433df6e97c127f64b2a1d6c0dcda8a
8
+ License: https://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ The bundled supervised heads are project artifacts:
11
+ - clap_sound_v1.pt: broad labels animal, nature, music, environment
12
+ - clap_animal8_oof_v1.pt: dog, cat, bird, insect, chicken_and_rooster, crow,
13
+ frog, cricket
licenses/ModernBERT-Ja-MIT.txt ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ MIT License
2
+
3
+ Copyright (c) 2025 SB Intuitions
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
licenses/Qwen-Apache-2.0.txt ADDED
@@ -0,0 +1,202 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ Apache License
3
+ Version 2.0, January 2004
4
+ http://www.apache.org/licenses/
5
+
6
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7
+
8
+ 1. Definitions.
9
+
10
+ "License" shall mean the terms and conditions for use, reproduction,
11
+ and distribution as defined by Sections 1 through 9 of this document.
12
+
13
+ "Licensor" shall mean the copyright owner or entity authorized by
14
+ the copyright owner that is granting the License.
15
+
16
+ "Legal Entity" shall mean the union of the acting entity and all
17
+ other entities that control, are controlled by, or are under common
18
+ control with that entity. For the purposes of this definition,
19
+ "control" means (i) the power, direct or indirect, to cause the
20
+ direction or management of such entity, whether by contract or
21
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
22
+ outstanding shares, or (iii) beneficial ownership of such entity.
23
+
24
+ "You" (or "Your") shall mean an individual or Legal Entity
25
+ exercising permissions granted by this License.
26
+
27
+ "Source" form shall mean the preferred form for making modifications,
28
+ including but not limited to software source code, documentation
29
+ source, and configuration files.
30
+
31
+ "Object" form shall mean any form resulting from mechanical
32
+ transformation or translation of a Source form, including but
33
+ not limited to compiled object code, generated documentation,
34
+ and conversions to other media types.
35
+
36
+ "Work" shall mean the work of authorship, whether in Source or
37
+ Object form, made available under the License, as indicated by a
38
+ copyright notice that is included in or attached to the work
39
+ (an example is provided in the Appendix below).
40
+
41
+ "Derivative Works" shall mean any work, whether in Source or Object
42
+ form, that is based on (or derived from) the Work and for which the
43
+ editorial revisions, annotations, elaborations, or other modifications
44
+ represent, as a whole, an original work of authorship. For the purposes
45
+ of this License, Derivative Works shall not include works that remain
46
+ separable from, or merely link (or bind by name) to the interfaces of,
47
+ the Work and Derivative Works thereof.
48
+
49
+ "Contribution" shall mean any work of authorship, including
50
+ the original version of the Work and any modifications or additions
51
+ to that Work or Derivative Works thereof, that is intentionally
52
+ submitted to Licensor for inclusion in the Work by the copyright owner
53
+ or by an individual or Legal Entity authorized to submit on behalf of
54
+ the copyright owner. For the purposes of this definition, "submitted"
55
+ means any form of electronic, verbal, or written communication sent
56
+ to the Licensor or its representatives, including but not limited to
57
+ communication on electronic mailing lists, source code control systems,
58
+ and issue tracking systems that are managed by, or on behalf of, the
59
+ Licensor for the purpose of discussing and improving the Work, but
60
+ excluding communication that is conspicuously marked or otherwise
61
+ designated in writing by the copyright owner as "Not a Contribution."
62
+
63
+ "Contributor" shall mean Licensor and any individual or Legal Entity
64
+ on behalf of whom a Contribution has been received by Licensor and
65
+ subsequently incorporated within the Work.
66
+
67
+ 2. Grant of Copyright License. Subject to the terms and conditions of
68
+ this License, each Contributor hereby grants to You a perpetual,
69
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
70
+ copyright license to reproduce, prepare Derivative Works of,
71
+ publicly display, publicly perform, sublicense, and distribute the
72
+ Work and such Derivative Works in Source or Object form.
73
+
74
+ 3. Grant of Patent License. Subject to the terms and conditions of
75
+ this License, each Contributor hereby grants to You a perpetual,
76
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
77
+ (except as stated in this section) patent license to make, have made,
78
+ use, offer to sell, sell, import, and otherwise transfer the Work,
79
+ where such license applies only to those patent claims licensable
80
+ by such Contributor that are necessarily infringed by their
81
+ Contribution(s) alone or by combination of their Contribution(s)
82
+ with the Work to which such Contribution(s) was submitted. If You
83
+ institute patent litigation against any entity (including a
84
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
85
+ or a Contribution incorporated within the Work constitutes direct
86
+ or contributory patent infringement, then any patent licenses
87
+ granted to You under this License for that Work shall terminate
88
+ as of the date such litigation is filed.
89
+
90
+ 4. Redistribution. You may reproduce and distribute copies of the
91
+ Work or Derivative Works thereof in any medium, with or without
92
+ modifications, and in Source or Object form, provided that You
93
+ meet the following conditions:
94
+
95
+ (a) You must give any other recipients of the Work or
96
+ Derivative Works a copy of this License; and
97
+
98
+ (b) You must cause any modified files to carry prominent notices
99
+ stating that You changed the files; and
100
+
101
+ (c) You must retain, in the Source form of any Derivative Works
102
+ that You distribute, all copyright, patent, trademark, and
103
+ attribution notices from the Source form of the Work,
104
+ excluding those notices that do not pertain to any part of
105
+ the Derivative Works; and
106
+
107
+ (d) If the Work includes a "NOTICE" text file as part of its
108
+ distribution, then any Derivative Works that You distribute must
109
+ include a readable copy of the attribution notices contained
110
+ within such NOTICE file, excluding those notices that do not
111
+ pertain to any part of the Derivative Works, in at least one
112
+ of the following places: within a NOTICE text file distributed
113
+ as part of the Derivative Works; within the Source form or
114
+ documentation, if provided along with the Derivative Works; or,
115
+ within a display generated by the Derivative Works, if and
116
+ wherever such third-party notices normally appear. The contents
117
+ of the NOTICE file are for informational purposes only and
118
+ do not modify the License. You may add Your own attribution
119
+ notices within Derivative Works that You distribute, alongside
120
+ or as an addendum to the NOTICE text from the Work, provided
121
+ that such additional attribution notices cannot be construed
122
+ as modifying the License.
123
+
124
+ You may add Your own copyright statement to Your modifications and
125
+ may provide additional or different license terms and conditions
126
+ for use, reproduction, or distribution of Your modifications, or
127
+ for any such Derivative Works as a whole, provided Your use,
128
+ reproduction, and distribution of the Work otherwise complies with
129
+ the conditions stated in this License.
130
+
131
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
132
+ any Contribution intentionally submitted for inclusion in the Work
133
+ by You to the Licensor shall be under the terms and conditions of
134
+ this License, without any additional terms or conditions.
135
+ Notwithstanding the above, nothing herein shall supersede or modify
136
+ the terms of any separate license agreement you may have executed
137
+ with Licensor regarding such Contributions.
138
+
139
+ 6. Trademarks. This License does not grant permission to use the trade
140
+ names, trademarks, service marks, or product names of the Licensor,
141
+ except as required for reasonable and customary use in describing the
142
+ origin of the Work and reproducing the content of the NOTICE file.
143
+
144
+ 7. Disclaimer of Warranty. Unless required by applicable law or
145
+ agreed to in writing, Licensor provides the Work (and each
146
+ Contributor provides its Contributions) on an "AS IS" BASIS,
147
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
148
+ implied, including, without limitation, any warranties or conditions
149
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
150
+ PARTICULAR PURPOSE. You are solely responsible for determining the
151
+ appropriateness of using or redistributing the Work and assume any
152
+ risks associated with Your exercise of permissions under this License.
153
+
154
+ 8. Limitation of Liability. In no event and under no legal theory,
155
+ whether in tort (including negligence), contract, or otherwise,
156
+ unless required by applicable law (such as deliberate and grossly
157
+ negligent acts) or agreed to in writing, shall any Contributor be
158
+ liable to You for damages, including any direct, indirect, special,
159
+ incidental, or consequential damages of any character arising as a
160
+ result of this License or out of the use or inability to use the
161
+ Work (including but not limited to damages for loss of goodwill,
162
+ work stoppage, computer failure or malfunction, or any and all
163
+ other commercial damages or losses), even if such Contributor
164
+ has been advised of the possibility of such damages.
165
+
166
+ 9. Accepting Warranty or Additional Liability. While redistributing
167
+ the Work or Derivative Works thereof, You may choose to offer,
168
+ and charge a fee for, acceptance of support, warranty, indemnity,
169
+ or other liability obligations and/or rights consistent with this
170
+ License. However, in accepting such obligations, You may act only
171
+ on Your own behalf and on Your sole responsibility, not on behalf
172
+ of any other Contributor, and only if You agree to indemnify,
173
+ defend, and hold each Contributor harmless for any liability
174
+ incurred by, or claims asserted against, such Contributor by reason
175
+ of your accepting any such warranty or additional liability.
176
+
177
+ END OF TERMS AND CONDITIONS
178
+
179
+ APPENDIX: How to apply the Apache License to your work.
180
+
181
+ To apply the Apache License to your work, attach the following
182
+ boilerplate notice, with the fields enclosed by brackets "[]"
183
+ replaced with your own identifying information. (Don't include
184
+ the brackets!) The text should be enclosed in the appropriate
185
+ comment syntax for the file format. We also recommend that a
186
+ file or class name and description of purpose be included on the
187
+ same "printed page" as the copyright notice for easier
188
+ identification within third-party archives.
189
+
190
+ Copyright [yyyy] [name of copyright owner]
191
+
192
+ Licensed under the Apache License, Version 2.0 (the "License");
193
+ you may not use this file except in compliance with the License.
194
+ You may obtain a copy of the License at
195
+
196
+ http://www.apache.org/licenses/LICENSE-2.0
197
+
198
+ Unless required by applicable law or agreed to in writing, software
199
+ distributed under the License is distributed on an "AS IS" BASIS,
200
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201
+ See the License for the specific language governing permissions and
202
+ limitations under the License.