Commit Graph
726 Commits
Author SHA1 Message Date
iamdoubz 181af150e5 test(bench): qualitative meeting-audio pass — W2/W4/P1 on bank_deposits.wav
62 s real recording (48 kHz stereo, downmixed/resampled by the production
reader). Reference .txt is a placeholder; WER column is meaningless here,
only the hypothesis text counts.
2026-07-16 08:16:53 -05:00
iamdoubz d89b99db6c fix(build): restore /O2 /DNDEBUG for native deps clobbered by cmake-rs on MSVC
cmake-rs hardcodes opt_level(0) and replaces CMake's Release C flags, so
ggml/whisper.cpp compiled at /Od — root cause of the W1 CPU-pathology
(RTF ~20) in docs/benchmarks/2026-07-parakeet-vs-whisper.md. cc-rs appends
env CFLAGS/CXXFLAGS last, restoring optimization for all native deps.
2026-07-16 08:14:08 -05:00
iamdoubz 32e0d3c8d9 test(bench): raw benchmark CSVs (30-utterance LibriSpeech matrix + W1 non-vulkan rerun) 2026-07-16 00:42:26 -05:00
iamdoubz 21691d3756 docs(bench): parakeet-vs-whisper results — pre-registered criteria evaluated, per-rung recommendation 2026-07-16 00:42:25 -05:00
iamdoubz ca0563039d test(bench): p2-parakeet-dml contender (Parakeet on the iGPU via DirectML EP) 2026-07-15 23:14:47 -05:00
iamdoubz a682ffccdd test(bench): bench-directml feature for DirectML sherpa binaries (P2, never default) 2026-07-15 23:14:42 -05:00
iamdoubz 68632db6ef fix(bench): named Set-Content params — positional+NoNewline silently wrote nothing on PS 5.1 2026-07-15 21:45:46 -05:00
iamdoubz 297c412488 test(bench): sequential matrix runner (6 corpus + 3 live runs) 2026-07-15 21:42:28 -05:00
iamdoubz ad4495f220 test(bench): asr_bench harness — W1-W4 + Parakeet contenders, WER/RTF/CPU-seconds, live-window mode 2026-07-15 21:40:44 -05:00
iamdoubz 4dddcdfe1a test(bench): typeperf CPU/GPU/NPU counter capture script 2026-07-15 21:35:43 -05:00
iamdoubz 965f1adc86 test(bench): parakeet-tdt-0.6b-v2 int8 staging script 2026-07-15 21:35:42 -05:00
iamdoubz 96072a2f75 test(bench): corpus staging script + gitignore for bench-corpus (parakeet bake-off) 2026-07-15 21:35:41 -05:00
iamdoubz 8c8e476cb7 Ignore memory file 2026-07-15 21:16:46 -05:00
iamdoubz 22810df4c1 Delete MEMORY.md 2026-07-15 21:15:06 -05:00
iamdoubz 87fb665e9e Merge pull request 'Feature chore bug 010' (#25) from feature_chore_bug_010 into main
Reviewed-on: #25
v0.7.3
2026-07-15 20:42:24 -05:00
iamdoubz 470fe6a7e7 docs(readme): refresh to v0.7.3 — NPU+iGPU split, live 'You' diarization, mic mute, tray, background import, AI-enhance, libpst button; drop stale 'signed installer' claim 2026-07-15 20:39:29 -05:00
iamdoubz 403d652c6d style: cargo fmt sweep (reflow-only; verified rustfmt(HEAD) == worktree per file) 2026-07-15 20:36:48 -05:00
iamdoubz e8a6ddca71 docs(release): v0.7.3 release notes with SHA-256 checksums 2026-07-15 20:35:12 -05:00
iamdoubz c9643cd79b feat(calendar): libpst (readpst) download button in Settings, matching the Import dialog's tool buttons (FR-CAL-1, ADR-0008) 2026-07-15 20:28:19 -05:00
iamdoubz 29bb636cb5 feat(i18n): Settings calendar 'requires readpst' string 2026-07-15 20:28:18 -05:00
iamdoubz 89bd7c3b7e chore: bump version 0.7.3 2026-07-15 20:14:30 -05:00
iamdoubz 4a3f8de679 docs(adr): 0004 update — NPU path is OpenVINO; decoder split to iGPU with KV cache 2026-07-15 19:48:16 -05:00
iamdoubz 7f7de48ecc feat(npu): engine log names the decoder EP alongside the encoder EP 2026-07-15 19:48:15 -05:00
iamdoubz 402ffe4586 feat(npu): KV-cache greedy decode + decoder on the OpenVINO GPU EP (T3.4)
Merged-decoder (use_cache_branch/past_key_values) loop discovered from the
graph at load; step 1 runs the no-cache branch over the prompt, later steps
feed one token + cached KVs (decoder slots refreshed, encoder cross-attn KVs
kept from step 1). Decoder session lands on the Intel iGPU via the OpenVINO
GPU plugin (same staged runtime) with CPU-EP fallback and a
WA_ONNX_DECODER_DEVICE=cpu|gpu override; DirectML backends keep the CPU
decoder. Legacy decoder_model.onnx is removed once the merged graph loads.

Measured (Core Ultra 5 135U, base.en, 19s TTS clip, identical transcripts):
decoder on OpenVINO/GPU infer=1288ms vs CPU-EP infer=6098ms
2026-07-15 19:48:14 -05:00
iamdoubz 177f1f7d90 feat(npu): catalog the merged Whisper decoder (decoder_model_merged.onnx) for KV-cache decode (T3.4) 2026-07-15 19:35:16 -05:00
iamdoubz 21f3d76ed0 Merge pull request 'Feature chore bug 009' (#24) from feature_chore_bug_009 into main
Reviewed-on: #24
v0.7.2
2026-07-15 18:13:11 -05:00
iamdoubz 19bd5815c0 chore: bump version 0.7.2 2026-07-15 18:09:07 -05:00
iamdoubz a552ddb1fa fix(ui): action items as two-row cards so the action text is always readable in the narrow pane
Text row (confirm + full-width text + delete) over a wrapping meta row
(owner, due date, reminder). Also void the seekNonce dependency read to
satisfy no-unused-expressions.
2026-07-15 17:41:38 -05:00
iamdoubz de25ac70e7 fix(notes): adopt server-side notes.md changes (speaker rename, reprocess) into the open editor buffer
Also untangles the a11y svelte-ignore comment from its prose so eslint's
no-unused-svelte-ignore stops parsing the explanation as ignore codes.
2026-07-15 17:41:37 -05:00
iamdoubz 28d9b2988a fix(spk): live split attribution + honest model reporting + notes rename rewrite (FR-SPK, T3.4)
- live diarization tick on split recordings now uses attribute_split (mic
  channel = 'You' from the first pass) instead of whole-mix clustering +
  voiceprint matching, which never reliably surfaced 'You' before stop
- attribute_split assigns via diarization::assign_split (channel-total
  overlap) so the user's speech can't be swallowed by a longer far-side span
- stop_recording overlays live user renames over the automatic name map
- rename_speaker/map_speaker_to_participant rewrite notes.md's baked-in
  **Name:** dialogue tags so the Notes pane follows the Speakers pane
- model_used records the ONNX model when the NPU/DirectML engine is routed
  (was reporting the unused ggml model id) + info log naming the encoder EP
2026-07-15 17:41:28 -05:00
iamdoubz f24adc3a59 fix(diarization): channel-total split attribution so mic speech can't be swallowed by a far span (FR-SPK) 2026-07-15 17:33:40 -05:00
iamdoubz 94425d456c docs(release): v0.7.1 release notes with SHA-256 checksums 2026-07-15 14:44:01 -05:00
iamdoubz 49cdbd6a54 chore: bump version 0.7.1 2026-07-15 14:38:31 -05:00
iamdoubz b4d72622da docs(data): close_to_tray setting in settings.json schema 2026-07-15 14:02:22 -05:00
iamdoubz c1ccdce497 docs(api): toggle_microphone_mute command + recording://mic event 2026-07-15 14:02:21 -05:00
iamdoubz a319dd9e97 feat(i18n): mute + close-to-tray strings 2026-07-15 14:01:43 -05:00
iamdoubz 6a01afbba6 feat(settings): default close_to_tray in settings store 2026-07-15 14:01:42 -05:00
iamdoubz 8c6a0ea25c feat(settings): close-to-tray toggle in Settings 2026-07-15 14:01:41 -05:00
iamdoubz 4a000f07a2 feat(app): M-key + mic mute button in recording controls 2026-07-15 14:01:40 -05:00
iamdoubz 0e2a3bb110 feat(recording): micMuted state + toggleMute synced to recording://mic 2026-07-15 13:59:04 -05:00
iamdoubz 95b3d34713 feat(api): toggleMicrophoneMute + recording://mic event + close_to_tray setting 2026-07-15 13:58:18 -05:00
iamdoubz 588354f488 fix(tray): remove duplicate trayIcon from config — one tray icon only 2026-07-15 13:57:38 -05:00
iamdoubz ee08f2bc88 feat(app): single tray with Show/Quit menu, close-to-tray, register mute cmd 2026-07-15 13:57:37 -05:00
iamdoubz a71c17965f feat(recording): toggle_microphone_mute command + recording://mic event 2026-07-15 13:57:36 -05:00
iamdoubz 3c73ec1cd4 feat(settings): close_to_tray setting (default on) 2026-07-15 13:57:35 -05:00
iamdoubz 8f805b8ef5 feat(audio): live mic mute — zero mic samples via CaptureHandle.set_muted (FR-CAP-7) 2026-07-15 13:57:33 -05:00
iamdoubz f83234bde1 docs(api): document import_media (model, background) + import://progress event 2026-07-15 13:46:50 -05:00
iamdoubz d4b1578478 feat(i18n): transcript.transcribed_with label 2026-07-15 13:46:01 -05:00
iamdoubz 185e4ec803 feat(import): show import tracker + 'transcribed with' model in meeting view 2026-07-15 13:46:00 -05:00
iamdoubz 30f4a4d3ec feat(import): init imports store for live progress tracking 2026-07-15 13:45:59 -05:00