comparison dictation/README.md @ 275:78699f810817

Add Qwen3-VL and WebRTC dictation services Add Bazel targets for the CUDA-backed Qwen3-VL server and a local WebRTC faster-whisper dictation service. Co-authored-by: Copilot <[email protected]> Copilot-Session: e3d8cb06-6c95-4ae0-9757-651d3796ab00
author MrJuneJune <me@mrjunejune.com>
date Mon, 17 Aug 2026 10:58:47 -0700
parents
children 49e9e591c9bb
comparison
equal deleted inserted replaced
274:c9be578316a6 275:78699f810817
1 # WebRTC dictation
2
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
5 4070 Ti through native WSL CUDA with `int8_float16` compute.
6
7 ## Setup
8
9 ```bash
10 bazel run //dictation:preflight
11 bazel run //dictation:download_model
12 bazel run //dictation:server
13 ```
14
15 Open <http://127.0.0.1:8090>, grant microphone permission, and start
16 dictation. Audio is carried by WebRTC and partial/final transcript events are
17 returned on the `transcripts` RTC data channel.
18
19 To transcribe an existing audio file:
20
21 ```bash
22 bazel run //dictation:transcribe -- /path/to/audio.wav
23 ```
24
25 To exercise the running HTTP signaling and WebRTC path with an audio file:
26
27 ```bash
28 bazel run //dictation:webrtc_smoke -- /path/to/audio.wav
29 ```
30
31 The model is stored under `~/.cache/zenbu/faster-whisper-small` by default.
32 Override it with `DICTATION_MODEL_DIR`.
33
34 Useful tuning:
35
36 ```bash
37 DICTATION_COMPUTE_TYPE=int8_float16 \
38 DICTATION_MAX_SESSIONS=1 \
39 DICTATION_PARTIAL_INTERVAL_MS=1200 \
40 DICTATION_SILENCE_MS=700 \
41 bazel run //dictation:server
42 ```
43
44 The first version intentionally binds to loopback and does not configure STUN
45 or TURN. Remote WebRTC access requires HTTPS, authentication, origin policy,
46 and usually a TURN service.