feat: enhance audio backend detection for Linux/WLS2 and input devi…#10
Open
crixue wants to merge 3 commits into
Open
feat: enhance audio backend detection for Linux/WLS2 and input devi…#10crixue wants to merge 3 commits into
crixue wants to merge 3 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.
feat: enhance audio backend detection for Linux/WSL2 and input device handling
Why
The STT pipeline previously assumed macOS CoreAudio for both recording and device listing. This prevented Linux and WSL2 users from selecting the correct microphone, and caused sox to fail or record from the wrong device when no CoreAudio backend was available. A single cross-platform audio backend abstraction was needed.
What Changes
README.md: rewrote the Speech-to-text section into macOS and Linux/WSL2 subsections. Added microphone verification steps, Linux CPU/CUDA build instructions with a GPU architecture table, a smoke-test section, and updated /stt-mic and STT pipeline descriptions.lib/stt.js:Capabilities
Impact
feat: add support for selecting transcription language in STT
Why:
whisper-clidefaults to-l en, so the plugin silently forced English decoding for all users — non-English speech was transcribed poorly with no way to fix it.What Changes:
Capabilities:
Impact:
feat: add WSL audio server diagnostics and hints for recording failures
Why
On WSL2, WSLg's PulseAudio server can wedge: its listen backlog (hardcoded to 5 in PulseAudio) fills up with orphaned connections that are never accept()ed, so every new client gets Connection refused. The plugin made this failure invisible at three points:
Users on WSL had no way to tell "no microphone exists" apart from "the audio server is stuck, restart WSL".
What Changes
Capabilities
Impact