Mercurial
comparison dictation/README.md @ 282:6bd4a3990696 default tip
Add cross-platform canvas orchestration and typed composer
Enable native ARM dependencies, macOS Copilot orchestration, portable service supervision, CPU dictation, and a shared N-key speak-or-type composer.
Co-authored-by: Copilot <[email protected]>
Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
| author | MrJuneJune <me@mrjunejune.com> |
|---|---|
| date | Thu, 20 Aug 2026 20:45:25 -0700 |
| parents | 49e9e591c9bb |
| children |
comparison
equal
deleted
inserted
replaced
| 281:c57149ad216e | 282:6bd4a3990696 |
|---|---|
| 1 # WebRTC dictation | 1 # WebRTC dictation |
| 2 | 2 |
| 3 This Bazel package runs a local WebRTC speech-to-text service using aiortc and | 3 This Bazel package runs a local WebRTC speech-to-text service using aiortc and |
| 4 faster-whisper. The default multilingual Whisper `small` model uses the RTX | 4 faster-whisper. The default multilingual Whisper `small` model uses CUDA with |
| 5 4070 Ti through native WSL CUDA with `int8_float16` compute. | 5 `int8_float16` on Linux and CPU inference with `int8` on macOS. |
| 6 | 6 |
| 7 ## Setup | 7 ## Setup |
| 8 | 8 |
| 9 ```bash | 9 ```bash |
| 10 bazel run //dictation:preflight | 10 bazel run //dictation:preflight |
| 28 bazel run //dictation:webrtc_smoke -- /path/to/audio.wav | 28 bazel run //dictation:webrtc_smoke -- /path/to/audio.wav |
| 29 ``` | 29 ``` |
| 30 | 30 |
| 31 The model is stored under `~/.cache/zenbu/faster-whisper-small` by default. | 31 The model is stored under `~/.cache/zenbu/faster-whisper-small` by default. |
| 32 Override it with `DICTATION_MODEL_DIR`. | 32 Override it with `DICTATION_MODEL_DIR`. |
| 33 Set `DICTATION_DEVICE=cpu|cuda` to override platform selection. | |
| 33 | 34 |
| 34 Useful tuning: | 35 Useful tuning: |
| 35 | 36 |
| 36 ```bash | 37 ```bash |
| 37 DICTATION_COMPUTE_TYPE=int8_float16 \ | 38 DICTATION_COMPUTE_TYPE=int8_float16 \ |
| 44 The first version intentionally binds to loopback and does not configure STUN | 45 The first version intentionally binds to loopback and does not configure STUN |
| 45 or TURN. Remote WebRTC access requires HTTPS, authentication, origin policy, | 46 or TURN. Remote WebRTC access requires HTTPS, authentication, origin policy, |
| 46 and usually a TURN service. | 47 and usually a TURN service. |
| 47 | 48 |
| 48 Infinite Canvas hosts this page as a hidden CEF/iframe transport. Pressing `M` | 49 Infinite Canvas hosts this page as a hidden CEF/iframe transport. Pressing `M` |
| 49 shows partial and final transcript text in a centered Raylib caption; pressing | 50 shows partial and final transcript text in the retained Dictation entity; |
| 50 `Enter` sends the accumulated text to Qwen session orchestration: | 51 pressing `Enter` sends the accumulated text to Copilot orchestration: |
| 51 | 52 |
| 52 ```bash | 53 ```bash |
| 53 bazel run //infinite_canvas:agent_dev | 54 bazel run //infinite_canvas:agent_dev |
| 54 ``` | 55 ``` |