Windows native dictation preview: WASAPI, shared core and FunASR - #60
Draft
LeonardNJU wants to merge 9 commits into
Draft
Windows native dictation preview: WASAPI, shared core and FunASR#60LeonardNJU wants to merge 9 commits into
LeonardNJU wants to merge 9 commits into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a Windows x64 native dictation preview on an isolated branch. The stable v5.0.7 release and installed Linux/macOS applications are not changed.
The frontend connects a held-F9/Shift+F9 shortcut, an isolated event-driven WASAPI recorder, the shared C++ core, native FunASR offline/streaming workers, a non-activating bounded preview, and guarded Unicode insertion. Escape cancels. Full results remain available for manual copying when focus changes or Windows rejects insertion. No clipboard overwrite or administrator elevation is used.
Windows transport uses private local-only named pipes, an inherited-handle allowlist, CreateProcessW, and kill-on-close job objects. Audio startup, stalls, stop, and inference have bounded waits. CLI transcription uses a private temporary copy because the shared core owns and removes its input file; the original source WAV is protected by a byte-preservation regression test.
Validation
欢迎大家来体验达摩院推出的语音识别模型; streaming returned the same text with 8 partial updates, using 88,747 PCM frames from a hash-pinned public upstream fixture.The final packaging workflow adds pinned ONNX Runtime notices and verifies that all tested EXE/DLL hashes remain unchanged. It records both the native-source and packaging commits and never promotes a stable release.
Scope / remaining hands-on validation
This remains a draft preview until testing on a physical Windows desktop. No Windows microphone device was attached to this development session. Physical capture, F9-to-target-app interaction, device switching/sleep/wake/Bluetooth, and application-specific insertion behavior are not claimed as tested. This is not a signed installer, TSF IME, ARM64 build, or complete feature parity with Linux/macOS; Ctrl+F9 voice editing and a full settings GUI are not implemented.
Setup and diagnostics:
docs/integrations/windows.md. The portable ZIP includes executables/DLLs, checksums, notices, and an explicit PowerShell 7 model-setup script. Model revisions and hashes match the existing native model-manager manifest. No Python implementation or runtime dependency is added.Final verified portable artifact
VocoType-Windows-x64-preview-f100047.zip.a7709b716c60e8a6fde901385b90cbf4106b070766b59a59ba6e04ebda7857cd.3c6fcdd; packaging commit isf100047.