feat: speech-to-text for pi via NVIDIA Speech NIM realtime ASR

- asr_transcribe / asr_health tools + the /asr command, with live partials,
  per-word timings, transcript export and TUI rendering
- zero-dependency realtime client (https + Node 22 global WebSocket):
  mint transcription session -> subprotocol handshake -> event loop -> quiescence
- decodes anything ffmpeg supports (and native 16k mono/stereo pcm16/pcm_f32le wav)
  to the 16 kHz mono PCM16 the NIM mandates
- credentials via ASR_API_KEY / ASR_NIM_URL or ~/.pi/agent/asr.json; never in source
- README documents the six places the published API reference diverges from the
  deployed protocol (commit vs done, cumulative deltas, double .completed,
  HTTP 403 at upgrade, ?token= not rejected, model reset on session.update)
This commit is contained in:
iulianp committed 2026-09-09 18:05:31 +03:00
commit 19faa8b088
5 files changed
+893

No files matched your search

+10
View File
@@ -0,0 +1,10 @@
node_modules/
package-lock.json
yarn-error.log
*.wav
*.pcm
*.mp3
*.mp4
asr.json
.DS_Store
*.log