Native Silero VAD model on Lstm with weights from the upstream ONNX file
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 30/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Lĩnh vực
- machine-learning
Hướng nghiên cứu
Start by reading the existing Lstm state-step API from #823 and the ONNX weight reader in skainet-io-onnx; the issue does not name specific files. Implement the Silero graph with ctx.ops.*, load weights from the pinned upstream ONNX initializers, and add the streaming adapter. Done means parity within 1e-4 over at least 1,000 frames, Android performance under 1 ms per frame, and a Python-side ground-truth entry.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Context
Silero VAD (v6.x, MIT) is the de-facto on-device voice activity detector. A SKaiNET consumer currently has to ship ONNX Runtime only for it, next to whatever runs the ASR model, which costs a second native runtime, an extra ~2.3 MB model on a separate loader, and a minSdk floor set by ORT rather than by SKaiNET.
The model is small: an STFT front end baked into the graph as conv weights, a conv encoder, one LSTM cell with a carried [2,1,128] state, and a dense sigmoid head. Input per call is a 64-sample context prepended to a 512-sample frame at 16 kHz. Lstm with LstmState(h, c) and an explicit step already exists in skainet-lang-core (#823), which was added with exactly this kind of streaming use in mind.
Scope
-
SileroVadmodule (skainet-modelsor a newskainet-model-vad): the graph expressed withctx.ops.*only, so it runs eagerly and lowers through the tape path like every other SKaiNET model. ReuseLstm. - Weights loaded from the initializers of the pinned upstream
silero_vad.onnxthroughskainet-io-onnx's weight reader (no new file format; upstream stays the source of truth). Load the STFT basis as weights rather than re-deriving it so the model matches bit for bit. - Streaming API:
process(frame: FloatArray): Floatreturning speech probability,reset(), and the state carried across calls; aVoiceActivityDetector-shaped adapter for the audio-side libraries. - Parity test: probabilities within 1e-4 of ONNX Runtime over ≥ 1000 consecutive frames from three clips including state carry-over, checked against a committed golden (ORT is a test-time dependency only).
- Android measurement: < 1 ms per frame on one thread with the JNI tier.
- Ground-truth entry so the Python-side suite (#985) covers the op set.
Non-goals
- Importing the Silero graph through the ONNX graph importer. That needs LSTM/Gather/Unsqueeze/Where/If converters and is tracked separately as the verification path; the hand-written module is the shipping path.
Related
- #823 —
Lstmlayer with explicit state step API - #230 — ONNX I/O module MVP
- Ngôn ngữ chính
- Kotlin
- Star
- 52
- Fork
- 15
- Merge trung bình
- 1 ngày 15 giờ
- Pull request đã merge (30 ngày)
- 36
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của SKaiNET-developers/SKaiNET
-
coding good first issue size:xs skill:kotlin-core sub-issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
SKaiNET-developers/SKaiNET#1323 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
coding good first issue platform size:xs skill:js sub-issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
SKaiNET-developers/SKaiNET#1232 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
skeep tracking
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 15/100
SKaiNET-developers/SKaiNET#1331 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
assessment size:s skill:review sub-issue
Độ khó 4/5 1-2 ngày Mức phù hợp với người mới 18/100
SKaiNET-developers/SKaiNET#1330 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
documentation good first issue size:s skill:docs sub-issue
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 78/100
SKaiNET-developers/SKaiNET#1329 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của SKaiNET-developers/SKaiNET
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 83/100
Kotlin/kotlin-lsp#288 ·
-
afk-ok area:data-quality importer size:S
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 77/100
enorm-labs/event-junkie#3166 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
rajpreetcodes/Skills_MCP_Server#25 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bugbane/qf good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 64/100
osservatorionessuno/bugbane#173 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Android: build fails with Android Gradle Plugin 9 (kotlinOptions, lintOptions, proguard-android.txt)Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
capacitor-community/stripe#544 ·
Maintainer thường phản hồi trong vòng 1 ngày