Codingstark commited on
Commit
43fd74b
·
verified ·
1 Parent(s): 083afbc

Release FlashVAD v0.1 alpha research preview

Browse files
MODEL_LICENSE.md ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # FlashVAD v0.1 model licence
2
+
3
+ The model artifacts in this repository are available under the
4
+ [Creative Commons Attribution 4.0 International licence](https://creativecommons.org/licenses/by/4.0/).
5
+
6
+ This applies to:
7
+
8
+ - `flashvad-v0.1.pt`;
9
+ - `flashvad-stream.onnx`;
10
+ - the accompanying model configuration and calibration metadata;
11
+ - generated native weight arrays such as `native/macos/flashvad_weights.c`
12
+ and `native/macos/flashvad_weights.h`, including their packaged-wheel paths.
13
+
14
+ Attribution:
15
+
16
+ > FlashVAD v0.1 by OSS Codes, with training-data and teacher attribution
17
+ > documented in the repository `NOTICE` file.
18
+
19
+ The repository source code, excluding these model-derived artifacts, is
20
+ separately licensed under the MIT licence.
21
+ Third-party datasets, models, and benchmark materials retain their own terms.
NOTICE ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FlashVAD
2
+ Copyright 2026 OSS Codes
3
+
4
+ The FlashVAD v0.1 research checkpoint was trained using derived data from:
5
+
6
+ - FLEURS, Google LLC, licensed under CC BY 4.0.
7
+ https://huggingface.co/datasets/google/fleurs
8
+ - AMI Meeting Corpus, licensed under CC BY 4.0.
9
+ https://groups.inf.ed.ac.uk/ami/corpus/
10
+ - MUSAN, David Snyder, Guoguo Chen, and Daniel Povey, licensed under CC BY 4.0.
11
+ https://www.openslr.org/17/
12
+
13
+ Weak frame targets were generated with Silero VAD, which is distributed under
14
+ the MIT License:
15
+ https://github.com/snakers4/silero-vad
16
+
17
+ TEN VAD's public test set was used only for the retained cross-domain
18
+ evaluation summary. TEN source code and weights are not included:
19
+ https://github.com/TEN-framework/ten-vad
20
+
21
+ FireRedVAD source code and weights are not included. Its official release was
22
+ used only for reference measurements and rejected teacher-student experiments:
23
+ https://github.com/FireRedTeam/FireRedVAD
README.md ADDED
@@ -0,0 +1,159 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: cc-by-4.0
3
+ library_name: flashvad
4
+ language:
5
+ - ar
6
+ - en
7
+ - gu
8
+ - hi
9
+ - kn
10
+ - pa
11
+ - ta
12
+ - te
13
+ - ur
14
+ tags:
15
+ - audio
16
+ - voice-activity-detection
17
+ - vad
18
+ - streaming
19
+ - onnx
20
+ - pytorch
21
+ - telephony
22
+ - webrtc
23
+ ---
24
+
25
+ # FlashVAD v0.1 model card
26
+
27
+ ## Summary
28
+
29
+ FlashVAD v0.1 is a 46,170-parameter causal streaming voice-activity detector.
30
+ It consumes 16 kHz mono audio, produces one speech probability every 10 ms,
31
+ and keeps independent convolutional, recurrent, feature, and detector state
32
+ per call.
33
+
34
+ This checkpoint is an **alpha research preview** for integration testing,
35
+ browser demonstrations, and shadow evaluation. It is not approved for
36
+ production use and is not validated as a general multilingual or India/GCC
37
+ call model.
38
+
39
+ ## Artifacts
40
+
41
+ | Artifact | SHA-256 |
42
+ |---|---|
43
+ | `flashvad-v0.1.pt` | `ca9e35475518466b2a1f2e89b4953cd1e26e3d8c513cdcf265ab319e74e2b288` |
44
+ | `flashvad-stream.onnx` | `9a88e34bf3118d60e25a16cb622cb394e2f3ab71445b0aa5957df6f1d5f1b6ba` |
45
+ | `config.json` | `0b1ad372808f7c67cea5a1ca4b41a817714c9a0b0cf49b3baa56fe8d5f64ad2b` |
46
+ | `detector-calibration.json` | `b5d000e0406d81fbd87a9e66194a877fa8433a76783faac8275c7969c43051b4` |
47
+
48
+ The ONNX graph accepts precomputed 43-dimensional causal features. Use
49
+ `src/flashvad/features.py` or
50
+ `report-site/src/lib/vad-features.mjs`; it is not a raw-waveform graph.
51
+
52
+ The public ONNX file is self-contained and stripped of exporter stack traces,
53
+ local paths, and private build metadata.
54
+
55
+ ## Download and source
56
+
57
+ Download the complete model repository:
58
+
59
+ ```bash
60
+ hf download oss-codes/flashvad --local-dir flashvad-model
61
+ ```
62
+
63
+ Source code and runtime integrations are published separately at
64
+ [`oss-codes/flashvad`](https://github.com/oss-codes/flashvad).
65
+
66
+ The ONNX graph does not accept raw waveform audio. It expects the causal
67
+ 43-dimensional features described below, with independent feature and model
68
+ state for every call.
69
+
70
+ ## Intended use
71
+
72
+ Appropriate current uses:
73
+
74
+ - research and architecture evaluation;
75
+ - functional integration with browser, LiveKit, Pipecat, SIP, or PSTN stacks;
76
+ - latency and concurrency measurement;
77
+ - shadow-mode comparison on consented, labelled call audio.
78
+
79
+ Do not use this checkpoint as the sole basis for:
80
+
81
+ - emergency, medical, legal, financial, or safety-critical decisions;
82
+ - call recording consent or compliance decisions;
83
+ - a production multilingual accuracy claim;
84
+ - semantic end-of-turn detection.
85
+
86
+ Reset all feature, model, resampler, and detector state when a call ends or an
87
+ audio discontinuity occurs.
88
+
89
+ ## Architecture
90
+
91
+ - 25 ms causal analysis frame and 10 ms hop;
92
+ - 40 log-mel bands plus energy, zero-crossing rate, and spectral flatness;
93
+ - four causal depthwise temporal blocks with dilations 1, 2, 4, and 8;
94
+ - one 64-unit GRU;
95
+ - speech and auxiliary event heads;
96
+ - 184,680 bytes of FP32 parameters.
97
+
98
+ ## Training inputs and provenance limit
99
+
100
+ Historical training notes associated with the retained checkpoint report:
101
+
102
+ - 558 derived clips from nine FLEURS configurations: Arabic, English,
103
+ Gujarati, Hindi, Kannada, Punjabi, Tamil, Telugu, and Urdu;
104
+ - 288 AMI meeting clips with meeting-family-disjoint train/validation splits;
105
+ - 64 MUSAN noise clips;
106
+ - weak frame targets from the official Silero VAD model.
107
+
108
+ FLEURS, AMI, and MUSAN attribution is in `NOTICE`; dataset audio is not
109
+ distributed here.
110
+
111
+ Those counts and corpus names are not embedded as complete provenance in the
112
+ public checkpoint. The exact retained training manifests, their digests, source
113
+ revisions, and teacher-output digest were not preserved, so the checkpoint's
114
+ training run is **not bit-for-bit reproducible** from the public tree. This is a
115
+ provenance limitation, not evidence of broader accuracy. Future release
116
+ candidates must preserve those records before training begins.
117
+
118
+ ## Evaluation
119
+
120
+ The retained checkpoint was repeatedly inspected on TEN VAD's public
121
+ 30-recording set while research candidates were compared. At the retained
122
+ detector policy, the descriptive results are:
123
+
124
+ - 26,243 frames;
125
+ - ROC-AUC: 0.882;
126
+ - raw F1 at the configured threshold: 0.886;
127
+ - hysteresis-decision F1: 0.889;
128
+ - false-alarm rate: 26.3%;
129
+ - miss rate: 13.0%.
130
+
131
+ Because the public set influenced research decisions, this is an exploratory
132
+ external-set result—not an untouched test, independent benchmark, or
133
+ production generalization estimate. Language is recorded as `und`, and codec,
134
+ channel, device, and SNR are unknown.
135
+
136
+ The machine-readable report is
137
+ `benchmarks/flashvad-v0.1/ten-public-evaluation.json`. Its false-alarm rate is
138
+ too high for production.
139
+
140
+ ## Known limitations
141
+
142
+ - Quiet speech, music, TTS leakage, echo, television, laughter, singing, and
143
+ overlapping speakers may cause misses or false triggers.
144
+ - Read speech and meetings do not cover real carrier, device, packet-loss, and
145
+ room conditions.
146
+ - Language presence in training does not prove per-language performance.
147
+ - Linear 8-to-16 kHz conversion prioritizes causal speed, not audio fidelity.
148
+ - VAD cannot determine whether a speaker has semantically completed a turn.
149
+
150
+ A production candidate needs consented, human-labelled, speaker-disjoint calls
151
+ with predeclared per-slice gates and a test set untouched until final
152
+ evaluation.
153
+
154
+ ## Licences
155
+
156
+ Repository source code is MIT-licensed. The retained model artifacts are
157
+ separately available under CC BY 4.0; see
158
+ `MODEL_LICENSE.md` and `NOTICE`. Third-party datasets, models, and benchmark
159
+ materials retain their own terms.
SHA256SUMS ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ ca9e35475518466b2a1f2e89b4953cd1e26e3d8c513cdcf265ab319e74e2b288 flashvad-v0.1.pt
2
+ 9a88e34bf3118d60e25a16cb622cb394e2f3ab71445b0aa5957df6f1d5f1b6ba flashvad-stream.onnx
3
+ 0b1ad372808f7c67cea5a1ca4b41a817714c9a0b0cf49b3baa56fe8d5f64ad2b config.json
4
+ b5d000e0406d81fbd87a9e66194a877fa8433a76783faac8275c7969c43051b4 detector-calibration.json
5
+ 5052faab08f4a50c9b628b7a57e1747d368b3e7d4cedd3c92da8e3095ba3ea65 flashvad-stream.json
6
+ d4b0097061d3637e40646bec84650d3870b05bbaab2e0f5d4bb8654cc1491f4b training-history.json
benchmarks/flashvad-v0.1/ten-public-evaluation.json ADDED
@@ -0,0 +1,240 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schema": "flashvad-exploratory-evaluation-v1",
3
+ "status": "exploratory_repeated_public_set_evaluation",
4
+ "disclosure": "This public set was consulted across research candidates. Results are descriptive and must not be presented as an untouched test or production generalization estimate.",
5
+ "checkpoint": "models/flashvad-v0.1/flashvad-v0.1.pt",
6
+ "checkpoint_sha256": "ca9e35475518466b2a1f2e89b4953cd1e26e3d8c513cdcf265ab319e74e2b288",
7
+ "manifest": "TEN public test set (30 files)",
8
+ "source": {
9
+ "repository": "https://github.com/TEN-framework/ten-vad",
10
+ "revision": "22a3bcd4509d0faaa8eef4881e8af5f39c178950",
11
+ "manifest_digest": null,
12
+ "reproducibility_limit": "The exact converted manifest and per-file outputs were not retained with this artifact."
13
+ },
14
+ "items": 30,
15
+ "report": {
16
+ "aggregate": {
17
+ "frames": 26243,
18
+ "speech_fraction": 0.7519338726997375,
19
+ "threshold": 0.49999999999999994,
20
+ "roc_auc": 0.8819343068676508,
21
+ "pr_auc": 0.9572105585618752,
22
+ "accuracy": 0.8310787638608391,
23
+ "precision": 0.8982300884955752,
24
+ "recall": 0.8744235544519333,
25
+ "f1": 0.8861669619700587,
26
+ "false_alarm_rate": 0.30030721966205837,
27
+ "miss_rate": 0.12557644554806668,
28
+ "reference_segments": 126,
29
+ "predicted_segments": 337,
30
+ "matched_segments": 121,
31
+ "segment_recall": 0.9603174603174603,
32
+ "short_utterance_recall": 1.0,
33
+ "onset_error_p50_ms": 60.0,
34
+ "onset_error_p95_ms": 1080.0,
35
+ "offset_error_p50_ms": 10.0,
36
+ "offset_error_p95_ms": 330.0,
37
+ "premature_end_rate_100ms": 0.371900826446281,
38
+ "false_triggers": 216,
39
+ "false_triggers_per_noise_hour": 11889.908256880733
40
+ },
41
+ "oracle_test_threshold": {
42
+ "warning": "Diagnostic only. Never select a release threshold on the test set.",
43
+ "threshold": 0.38999999999999996,
44
+ "accuracy": 0.8331364554357352,
45
+ "precision": 0.8757709251101321,
46
+ "recall": 0.906704505143668,
47
+ "f1": 0.8909693001020841,
48
+ "false_alarm_rate": 0.3898617511520737,
49
+ "miss_rate": 0.09329549485633203
50
+ },
51
+ "groups": {
52
+ "language": {
53
+ "und": {
54
+ "frames": 26243,
55
+ "speech_fraction": 0.7519338726997375,
56
+ "threshold": 0.49999999999999994,
57
+ "roc_auc": 0.8819343068676508,
58
+ "pr_auc": 0.9572105585618752,
59
+ "accuracy": 0.8310787638608391,
60
+ "precision": 0.8982300884955752,
61
+ "recall": 0.8744235544519333,
62
+ "f1": 0.8861669619700587,
63
+ "false_alarm_rate": 0.30030721966205837,
64
+ "miss_rate": 0.12557644554806668
65
+ }
66
+ },
67
+ "domain": {
68
+ "public-benchmark": {
69
+ "frames": 26243,
70
+ "speech_fraction": 0.7519338726997375,
71
+ "threshold": 0.49999999999999994,
72
+ "roc_auc": 0.8819343068676508,
73
+ "pr_auc": 0.9572105585618752,
74
+ "accuracy": 0.8310787638608391,
75
+ "precision": 0.8982300884955752,
76
+ "recall": 0.8744235544519333,
77
+ "f1": 0.8861669619700587,
78
+ "false_alarm_rate": 0.30030721966205837,
79
+ "miss_rate": 0.12557644554806668
80
+ }
81
+ },
82
+ "channel": {
83
+ "unknown": {
84
+ "frames": 26243,
85
+ "speech_fraction": 0.7519338726997375,
86
+ "threshold": 0.49999999999999994,
87
+ "roc_auc": 0.8819343068676508,
88
+ "pr_auc": 0.9572105585618752,
89
+ "accuracy": 0.8310787638608391,
90
+ "precision": 0.8982300884955752,
91
+ "recall": 0.8744235544519333,
92
+ "f1": 0.8861669619700587,
93
+ "false_alarm_rate": 0.30030721966205837,
94
+ "miss_rate": 0.12557644554806668
95
+ }
96
+ },
97
+ "codec": {
98
+ "unknown": {
99
+ "frames": 26243,
100
+ "speech_fraction": 0.7519338726997375,
101
+ "threshold": 0.49999999999999994,
102
+ "roc_auc": 0.8819343068676508,
103
+ "pr_auc": 0.9572105585618752,
104
+ "accuracy": 0.8310787638608391,
105
+ "precision": 0.8982300884955752,
106
+ "recall": 0.8744235544519333,
107
+ "f1": 0.8861669619700587,
108
+ "false_alarm_rate": 0.30030721966205837,
109
+ "miss_rate": 0.12557644554806668
110
+ }
111
+ },
112
+ "device": {
113
+ "unknown": {
114
+ "frames": 26243,
115
+ "speech_fraction": 0.7519338726997375,
116
+ "threshold": 0.49999999999999994,
117
+ "roc_auc": 0.8819343068676508,
118
+ "pr_auc": 0.9572105585618752,
119
+ "accuracy": 0.8310787638608391,
120
+ "precision": 0.8982300884955752,
121
+ "recall": 0.8744235544519333,
122
+ "f1": 0.8861669619700587,
123
+ "false_alarm_rate": 0.30030721966205837,
124
+ "miss_rate": 0.12557644554806668
125
+ }
126
+ },
127
+ "condition": {
128
+ "ten-public-testset": {
129
+ "frames": 26243,
130
+ "speech_fraction": 0.7519338726997375,
131
+ "threshold": 0.49999999999999994,
132
+ "roc_auc": 0.8819343068676508,
133
+ "pr_auc": 0.9572105585618752,
134
+ "accuracy": 0.8310787638608391,
135
+ "precision": 0.8982300884955752,
136
+ "recall": 0.8744235544519333,
137
+ "f1": 0.8861669619700587,
138
+ "false_alarm_rate": 0.30030721966205837,
139
+ "miss_rate": 0.12557644554806668
140
+ }
141
+ },
142
+ "snr": {
143
+ "unknown": {
144
+ "frames": 26243,
145
+ "speech_fraction": 0.7519338726997375,
146
+ "threshold": 0.49999999999999994,
147
+ "roc_auc": 0.8819343068676508,
148
+ "pr_auc": 0.9572105585618752,
149
+ "accuracy": 0.8310787638608391,
150
+ "precision": 0.8982300884955752,
151
+ "recall": 0.8744235544519333,
152
+ "f1": 0.8861669619700587,
153
+ "false_alarm_rate": 0.30030721966205837,
154
+ "miss_rate": 0.12557644554806668
155
+ }
156
+ }
157
+ },
158
+ "confidence_intervals": {
159
+ "method": "item_bootstrap",
160
+ "confidence_level": 0.95,
161
+ "iterations": 1000,
162
+ "seed": 20260726,
163
+ "threshold": 0.49999999999999994,
164
+ "threshold_policy": "fixed_supplied_threshold",
165
+ "metrics": {
166
+ "roc_auc": {
167
+ "lower": 0.8527576527660946,
168
+ "upper": 0.9096820873574871
169
+ },
170
+ "pr_auc": {
171
+ "lower": 0.9431235727029147,
172
+ "upper": 0.9695627537195856
173
+ },
174
+ "f1": {
175
+ "lower": 0.8558978786995401,
176
+ "upper": 0.9091075843752642
177
+ },
178
+ "false_alarm_rate": {
179
+ "lower": 0.23351331173319365,
180
+ "upper": 0.3659907698080037
181
+ },
182
+ "miss_rate": {
183
+ "lower": 0.08368710277707596,
184
+ "upper": 0.17908854936116203
185
+ }
186
+ },
187
+ "production_detector_metrics": {
188
+ "roc_auc": {
189
+ "lower": 0.770814211710769,
190
+ "upper": 0.8337388187174674
191
+ },
192
+ "pr_auc": {
193
+ "lower": 0.867475058413576,
194
+ "upper": 0.9084727586283602
195
+ },
196
+ "f1": {
197
+ "lower": 0.8555711879216696,
198
+ "upper": 0.9152932721739816
199
+ },
200
+ "false_alarm_rate": {
201
+ "lower": 0.20229136044741164,
202
+ "upper": 0.327427047690151
203
+ },
204
+ "miss_rate": {
205
+ "lower": 0.07915514707921022,
206
+ "upper": 0.19416996455779523
207
+ }
208
+ }
209
+ },
210
+ "production_detector": {
211
+ "detector": {
212
+ "start_threshold": 0.8,
213
+ "stop_threshold": 0.5,
214
+ "start_frames": 3,
215
+ "stop_frames": 4,
216
+ "pre_roll_frames": 3
217
+ },
218
+ "frames": 26243,
219
+ "speech_fraction": 0.7519338726997375,
220
+ "accuracy": 0.8369469953892467,
221
+ "precision": 0.9092257176146594,
222
+ "recall": 0.8700146961941925,
223
+ "f1": 0.8891881393240968,
224
+ "false_alarm_rate": 0.26328725038402456,
225
+ "miss_rate": 0.12998530380580753,
226
+ "reference_segments": 126,
227
+ "predicted_segments": 162,
228
+ "matched_segments": 115,
229
+ "segment_recall": 0.9126984126984127,
230
+ "short_utterance_recall": 1.0,
231
+ "onset_error_p50_ms": 40.0,
232
+ "onset_error_p95_ms": 1106.999999999999,
233
+ "offset_error_p50_ms": 40.0,
234
+ "offset_error_p95_ms": 559.9999999999991,
235
+ "premature_end_rate_100ms": 0.26956521739130435,
236
+ "false_triggers": 47,
237
+ "false_triggers_per_noise_hour": 2587.1559633027523
238
+ }
239
+ }
240
+ }
config.json ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "seed": 20260726,
3
+ "feature": {
4
+ "sample_rate": 16000,
5
+ "frame_ms": 25.0,
6
+ "hop_ms": 10.0,
7
+ "n_fft": 512,
8
+ "n_mels": 40,
9
+ "f_min": 50.0,
10
+ "f_max": 7600.0
11
+ },
12
+ "model": {
13
+ "feature_dim": 43,
14
+ "hidden_dim": 64,
15
+ "kernel_size": 3,
16
+ "dilations": [
17
+ 1,
18
+ 2,
19
+ 4,
20
+ 8
21
+ ],
22
+ "recurrent_dim": 64,
23
+ "dropout": 0.08
24
+ },
25
+ "training": {
26
+ "chunk_seconds": 4.0,
27
+ "batch_size": 24,
28
+ "epochs": 20,
29
+ "learning_rate": 0.001,
30
+ "weight_decay": 0.0001,
31
+ "num_workers": 0,
32
+ "positive_weight": 1.0,
33
+ "boundary_weight": 0.2,
34
+ "auxiliary_weight": 0.1,
35
+ "gradient_clip": 5.0,
36
+ "detector_max_false_alarm_rate": 0.1
37
+ },
38
+ "detector": {
39
+ "start_threshold": 0.8,
40
+ "stop_threshold": 0.5,
41
+ "start_frames": 3,
42
+ "stop_frames": 4,
43
+ "pre_roll_frames": 3
44
+ }
45
+ }
detector-calibration.json ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "selection_split": "validation",
3
+ "max_false_alarm_rate": 0.1,
4
+ "detector": {
5
+ "start_threshold": 0.8,
6
+ "stop_threshold": 0.5,
7
+ "start_frames": 3,
8
+ "stop_frames": 4,
9
+ "pre_roll_frames": 3
10
+ },
11
+ "metrics": {
12
+ "accuracy": 0.9266013824884792,
13
+ "precision": 0.8959382916346454,
14
+ "recall": 0.9205954609265325,
15
+ "f1": 0.908099531193653,
16
+ "false_alarm_rate": 0.06949513381995134,
17
+ "miss_rate": 0.07940453907346748
18
+ }
19
+ }
flashvad-stream.json ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "feature": {
3
+ "sample_rate": 16000,
4
+ "frame_ms": 25.0,
5
+ "hop_ms": 10.0,
6
+ "n_fft": 512,
7
+ "n_mels": 40,
8
+ "f_min": 50.0,
9
+ "f_max": 7600.0
10
+ },
11
+ "model": {
12
+ "feature_dim": 43,
13
+ "hidden_dim": 64,
14
+ "kernel_size": 3,
15
+ "dilations": [
16
+ 1,
17
+ 2,
18
+ 4,
19
+ 8
20
+ ],
21
+ "recurrent_dim": 64,
22
+ "dropout": 0.08
23
+ },
24
+ "detector": {
25
+ "start_threshold": 0.8,
26
+ "stop_threshold": 0.5,
27
+ "start_frames": 3,
28
+ "stop_frames": 4,
29
+ "pre_roll_frames": 3
30
+ },
31
+ "mode": "streaming",
32
+ "note": "Graph accepts precomputed causal features."
33
+ }
flashvad-stream.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9a88e34bf3118d60e25a16cb622cb394e2f3ab71445b0aa5957df6f1d5f1b6ba
3
+ size 208103
flashvad-v0.1.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ca9e35475518466b2a1f2e89b4953cd1e26e3d8c513cdcf265ab319e74e2b288
3
+ size 195653
training-history.json ADDED
@@ -0,0 +1,262 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "epoch": 1,
4
+ "loss": 0.6686453428761713,
5
+ "elapsed_seconds": 8.71256791599808,
6
+ "accuracy": 0.8037442396313365,
7
+ "precision": 0.7224080267558528,
8
+ "recall": 0.814927468413664,
9
+ "f1": 0.765883759603095,
10
+ "false_alarm_rate": 0.2035241788321168,
11
+ "miss_rate": 0.185072531586336,
12
+ "threshold": 0.31999999999999995,
13
+ "fixed_0_5_f1": 0.7043037035788339
14
+ },
15
+ {
16
+ "epoch": 2,
17
+ "loss": 0.554987029782657,
18
+ "elapsed_seconds": 7.3522632909989625,
19
+ "accuracy": 0.846036866359447,
20
+ "precision": 0.7891653245959904,
21
+ "recall": 0.8312178287318671,
22
+ "f1": 0.8096458992108938,
23
+ "false_alarm_rate": 0.14433166058394162,
24
+ "miss_rate": 0.16878217126813289,
25
+ "threshold": 0.4099999999999999,
26
+ "fixed_0_5_f1": 0.7949665556946948
27
+ },
28
+ {
29
+ "epoch": 3,
30
+ "loss": 0.5157594269719618,
31
+ "elapsed_seconds": 7.07947454099849,
32
+ "accuracy": 0.8560714285714286,
33
+ "precision": 0.7942396875762753,
34
+ "recall": 0.8565161441272813,
35
+ "f1": 0.8242031942587772,
36
+ "false_alarm_rate": 0.1442176094890511,
37
+ "miss_rate": 0.14348385587271875,
38
+ "threshold": 0.3,
39
+ "fixed_0_5_f1": 0.7878360850000801
40
+ },
41
+ {
42
+ "epoch": 4,
43
+ "loss": 0.45891835360691463,
44
+ "elapsed_seconds": 7.055543165999552,
45
+ "accuracy": 0.8850345622119815,
46
+ "precision": 0.8367874926975826,
47
+ "recall": 0.8797379503977538,
48
+ "f1": 0.8577253739003978,
49
+ "false_alarm_rate": 0.11152296228710462,
50
+ "miss_rate": 0.12026204960224614,
51
+ "threshold": 0.37999999999999995,
52
+ "fixed_0_5_f1": 0.8469178861172189
53
+ },
54
+ {
55
+ "epoch": 5,
56
+ "loss": 0.4393227614205459,
57
+ "elapsed_seconds": 7.123187124998367,
58
+ "accuracy": 0.8942281105990784,
59
+ "precision": 0.8420822277539185,
60
+ "recall": 0.9003275620028077,
61
+ "f1": 0.8702313813622808,
62
+ "false_alarm_rate": 0.10973616180048662,
63
+ "miss_rate": 0.09967243799719233,
64
+ "threshold": 0.5399999999999999,
65
+ "fixed_0_5_f1": 0.8690602490367971
66
+ },
67
+ {
68
+ "epoch": 6,
69
+ "loss": 0.40598839213108195,
70
+ "elapsed_seconds": 7.728116750000481,
71
+ "accuracy": 0.9017165898617512,
72
+ "precision": 0.8575449352096977,
73
+ "recall": 0.9000058493214788,
74
+ "f1": 0.8782624826976041,
75
+ "false_alarm_rate": 0.09717153284671533,
76
+ "miss_rate": 0.09999415067852128,
77
+ "threshold": 0.62,
78
+ "fixed_0_5_f1": 0.8706310447189506
79
+ },
80
+ {
81
+ "epoch": 7,
82
+ "loss": 0.4059724561099348,
83
+ "elapsed_seconds": 7.395234250001522,
84
+ "accuracy": 0.906036866359447,
85
+ "precision": 0.8673250564334086,
86
+ "recall": 0.8989822180627047,
87
+ "f1": 0.8828699448529413,
88
+ "false_alarm_rate": 0.08937804136253041,
89
+ "miss_rate": 0.10101778193729527,
90
+ "threshold": 0.4799999999999999,
91
+ "fixed_0_5_f1": 0.8817869217210391
92
+ },
93
+ {
94
+ "epoch": 8,
95
+ "loss": 0.37956942669276533,
96
+ "elapsed_seconds": 7.249073541999678,
97
+ "accuracy": 0.9088133640552996,
98
+ "precision": 0.8779884346500187,
99
+ "recall": 0.8925479644361254,
100
+ "f1": 0.8852083363548028,
101
+ "false_alarm_rate": 0.08061511557177616,
102
+ "miss_rate": 0.10745203556387459,
103
+ "threshold": 0.57,
104
+ "fixed_0_5_f1": 0.8843839358115316
105
+ },
106
+ {
107
+ "epoch": 9,
108
+ "loss": 0.3707546304012167,
109
+ "elapsed_seconds": 7.321023499996954,
110
+ "accuracy": 0.9126152073732718,
111
+ "precision": 0.8823613945333831,
112
+ "recall": 0.8978708469817501,
113
+ "f1": 0.890048561281438,
114
+ "false_alarm_rate": 0.07780185523114355,
115
+ "miss_rate": 0.10212915301824989,
116
+ "threshold": 0.4699999999999999,
117
+ "fixed_0_5_f1": 0.8892169185349741
118
+ },
119
+ {
120
+ "epoch": 10,
121
+ "loss": 0.36226719926143514,
122
+ "elapsed_seconds": 8.081949041999906,
123
+ "accuracy": 0.908652073732719,
124
+ "precision": 0.8604880994866445,
125
+ "recall": 0.9167349087505849,
126
+ "f1": 0.8877214347413587,
127
+ "false_alarm_rate": 0.09660127737226278,
128
+ "miss_rate": 0.08326509124941507,
129
+ "threshold": 0.5399999999999999,
130
+ "fixed_0_5_f1": 0.886519357143858
131
+ },
132
+ {
133
+ "epoch": 11,
134
+ "loss": 0.37090496873033457,
135
+ "elapsed_seconds": 7.963082500002201,
136
+ "accuracy": 0.9163940092165899,
137
+ "precision": 0.8903283772425586,
138
+ "recall": 0.8984265325222274,
139
+ "f1": 0.8943591236625663,
140
+ "false_alarm_rate": 0.07192822384428224,
141
+ "miss_rate": 0.10157346747777257,
142
+ "threshold": 0.5499999999999999,
143
+ "fixed_0_5_f1": 0.8930540242557883
144
+ },
145
+ {
146
+ "epoch": 12,
147
+ "loss": 0.3591049221055261,
148
+ "elapsed_seconds": 7.2273035420003,
149
+ "accuracy": 0.91036866359447,
150
+ "precision": 0.8642230680125765,
151
+ "recall": 0.9164424426766495,
152
+ "f1": 0.8895670688431513,
153
+ "false_alarm_rate": 0.09357892335766424,
154
+ "miss_rate": 0.08355755732335049,
155
+ "threshold": 0.5499999999999999,
156
+ "fixed_0_5_f1": 0.8886739014609798
157
+ },
158
+ {
159
+ "epoch": 13,
160
+ "loss": 0.34848099124842674,
161
+ "elapsed_seconds": 7.2729878749996715,
162
+ "accuracy": 0.9095276497695852,
163
+ "precision": 0.8587539840366123,
164
+ "recall": 0.921970051474029,
165
+ "f1": 0.8892399260941312,
166
+ "false_alarm_rate": 0.09855915450121655,
167
+ "miss_rate": 0.07802994852597099,
168
+ "threshold": 0.5099999999999999,
169
+ "fixed_0_5_f1": 0.8888232231556137
170
+ },
171
+ {
172
+ "epoch": 14,
173
+ "loss": 0.36074137584916477,
174
+ "elapsed_seconds": 7.317171624999901,
175
+ "accuracy": 0.9165898617511521,
176
+ "precision": 0.8765928906773978,
177
+ "recall": 0.9174075807206364,
178
+ "f1": 0.8965359551846348,
179
+ "false_alarm_rate": 0.08394160583941605,
180
+ "miss_rate": 0.08259241927936359,
181
+ "threshold": 0.49999999999999994,
182
+ "fixed_0_5_f1": 0.8965359551846348
183
+ },
184
+ {
185
+ "epoch": 15,
186
+ "loss": 0.34603760571315373,
187
+ "elapsed_seconds": 7.179848791001859,
188
+ "accuracy": 0.9125115207373272,
189
+ "precision": 0.8778125,
190
+ "recall": 0.9036909218530651,
191
+ "f1": 0.8905637537468296,
192
+ "false_alarm_rate": 0.08175562652068126,
193
+ "miss_rate": 0.09630907814693496,
194
+ "threshold": 0.48999999999999994,
195
+ "fixed_0_5_f1": 0.8904491541339805
196
+ },
197
+ {
198
+ "epoch": 16,
199
+ "loss": 0.341331767110989,
200
+ "elapsed_seconds": 7.022008708001522,
201
+ "accuracy": 0.915184331797235,
202
+ "precision": 0.8766988655509379,
203
+ "recall": 0.9131083294337857,
204
+ "f1": 0.8945332645693658,
205
+ "false_alarm_rate": 0.08346639294403893,
206
+ "miss_rate": 0.08689167056621432,
207
+ "threshold": 0.5599999999999999,
208
+ "fixed_0_5_f1": 0.8933743612906869
209
+ },
210
+ {
211
+ "epoch": 17,
212
+ "loss": 0.3445210888467986,
213
+ "elapsed_seconds": 7.093474582998169,
214
+ "accuracy": 0.9121428571428571,
215
+ "precision": 0.8657213656387666,
216
+ "recall": 0.9196010762751521,
217
+ "f1": 0.8918481960517358,
218
+ "false_alarm_rate": 0.09270453163017031,
219
+ "miss_rate": 0.08039892372484791,
220
+ "threshold": 0.57,
221
+ "fixed_0_5_f1": 0.8900419857443751
222
+ },
223
+ {
224
+ "epoch": 18,
225
+ "loss": 0.33865347658765727,
226
+ "elapsed_seconds": 7.130151833000127,
227
+ "accuracy": 0.9156566820276497,
228
+ "precision": 0.8847178077484752,
229
+ "recall": 0.903632428638278,
230
+ "f1": 0.8940750922375751,
231
+ "false_alarm_rate": 0.07652828467153285,
232
+ "miss_rate": 0.09636757136172204,
233
+ "threshold": 0.5599999999999999,
234
+ "fixed_0_5_f1": 0.8932243456466634
235
+ },
236
+ {
237
+ "epoch": 19,
238
+ "loss": 0.33929446545140496,
239
+ "elapsed_seconds": 7.077023041998473,
240
+ "accuracy": 0.9157834101382488,
241
+ "precision": 0.885062739930098,
242
+ "recall": 0.9035446888160973,
243
+ "f1": 0.8942082259978581,
244
+ "false_alarm_rate": 0.07626216545012166,
245
+ "miss_rate": 0.09645531118390267,
246
+ "threshold": 0.61,
247
+ "fixed_0_5_f1": 0.8917919367766795
248
+ },
249
+ {
250
+ "epoch": 20,
251
+ "loss": 0.34355349376283845,
252
+ "elapsed_seconds": 7.516699709001841,
253
+ "accuracy": 0.9161520737327189,
254
+ "precision": 0.88662874217089,
255
+ "recall": 0.9025503041647169,
256
+ "f1": 0.8945186817009189,
257
+ "false_alarm_rate": 0.07500760340632603,
258
+ "miss_rate": 0.09744969583528311,
259
+ "threshold": 0.61,
260
+ "fixed_0_5_f1": 0.892152583184308
261
+ }
262
+ ]