/dictate + ctrl+shift+d toggle one shared session: press to start, press again
to stop, flush and paste into the prompt (a terminal gives no key-release event
for hold-to-talk without the Kitty keyboard protocol)
client.recordMic(): spawns ffmpeg AVFoundation capture and appends s16le frames
as they arrive (no pacer — the mic is already 1x paced); stop() = commit + the
same quiescence drain transcribe() uses, since is_last_result never flips true
enumerates mics by slicing the "AVFoundation audio devices:" block off stderr
(ffmpeg prints the table there, then fails opening the dummy input)
--device takes an index or name, --lang / ASR_DICTATE_LANGUAGE, --submit sends
instead of pasting; asr_health now reports the mic inputs it enumerated
capture death surfaces via the emptyGraceMs path with the TCC hint (System
Settings → Privacy & Security → Microphone) when ffmpeg exits non-zero at 0 bytes
env.sh sources the gitignored .env so a shell gets ASR_NIM_URL / ASR_API_KEY
- /dictate + ctrl+shift+d toggle one shared session: press to start, press again
to stop, flush and paste into the prompt (a terminal gives no key-release event
for hold-to-talk without the Kitty keyboard protocol)
- client.recordMic(): spawns ffmpeg AVFoundation capture and appends s16le frames
as they arrive (no pacer — the mic is already 1x paced); stop() = commit + the
same quiescence drain transcribe() uses, since is_last_result never flips true
- enumerates mics by slicing the "AVFoundation audio devices:" block off stderr
(ffmpeg prints the table there, then fails opening the dummy input)
- --device takes an index or name, --lang / ASR_DICTATE_LANGUAGE, --submit sends
instead of pasting; asr_health now reports the mic inputs it enumerated
- capture death surfaces via the emptyGraceMs path with the TCC hint (System
Settings → Privacy & Security → Microphone) when ffmpeg exits non-zero at 0 bytes
- env.sh sources the gitignored .env so a shell gets ASR_NIM_URL / ASR_API_KEY
- /dictate + ctrl+shift+d toggle one shared session: press to start, press again
to stop, flush and paste into the prompt (a terminal gives no key-release event
for hold-to-talk without the Kitty keyboard protocol)
- client.recordMic(): spawns ffmpeg AVFoundation capture and appends s16le frames
as they arrive (no pacer — the mic is already 1x paced); stop() = commit + the
same quiescence drain transcribe() uses, since is_last_result never flips true
- enumerates mics by slicing the "AVFoundation audio devices:" block off stderr
(ffmpeg prints the table there, then fails opening the dummy input)
- --device takes an index or name, --lang / ASR_DICTATE_LANGUAGE, --submit sends
instead of pasting; asr_health now reports the mic inputs it enumerated
- capture death surfaces via the emptyGraceMs path with the TCC hint (System
Settings → Privacy & Security → Microphone) when ffmpeg exits non-zero at 0 bytes
- env.sh sources the gitignored .env so a shell gets ASR_NIM_URL / ASR_API_KEY
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
to stop, flush and paste into the prompt (a terminal gives no key-release event
for hold-to-talk without the Kitty keyboard protocol)
as they arrive (no pacer — the mic is already 1x paced); stop() = commit + the
same quiescence drain transcribe() uses, since is_last_result never flips true
(ffmpeg prints the table there, then fails opening the dummy input)
instead of pasting; asr_health now reports the mic inputs it enumerated
Settings → Privacy & Security → Microphone) when ffmpeg exits non-zero at 0 bytes
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.