claude-voice 1.4.1 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -14,7 +14,7 @@ Voice interface for Claude Code CLI. Speak commands, hear responses.
14
14
 
15
15
  - Speaks Claude's responses aloud (Text-to-Speech)
16
16
  - Transcribes your voice commands (Speech-to-Text)
17
- - Hands-free with wake word detection ("Jarvis")
17
+ - Hands-free with wake word detection ("Hey Jarvis")
18
18
  - Works offline with local providers - no API keys required
19
19
  - Deep integration with Claude Code via hooks system
20
20
 
@@ -22,11 +22,14 @@ Voice interface for Claude Code CLI. Speak commands, hear responses.
22
22
 
23
23
  ```bash
24
24
  npm install -g claude-voice
25
- claude-voice setup
26
- claude-voice start
27
25
  ```
28
26
 
29
- Say **"Jarvis"** followed by your command, or press **Cmd+Shift+Space** (macOS) / **Ctrl+Shift+Space** (Linux).
27
+ That's it! The extension auto-starts when you open Claude Code. Say **"Hey Jarvis"** followed by your command.
28
+
29
+ **Upgrade voice quality:**
30
+ - Better TTS: `claude-voice local --download` (Piper neural voices)
31
+ - Best quality: `claude-voice openai` (requires API key)
32
+ - Customize: `claude-voice setup`
30
33
 
31
34
  ## How It Works
32
35
 
@@ -59,7 +62,7 @@ Choose local (free, offline) or cloud providers:
59
62
  |------------|--------------|-------|
60
63
  | Text-to-Speech | Piper, macOS Say, espeak | OpenAI TTS, ElevenLabs |
61
64
  | Speech-to-Text | Sherpa-ONNX | OpenAI Whisper |
62
- | Wake Word | Sherpa-ONNX | Picovoice Porcupine |
65
+ | Wake Word | openWakeWord, Sherpa-ONNX | Picovoice Porcupine |
63
66
 
64
67
  <details>
65
68
  <summary><strong>TTS Providers</strong></summary>
@@ -138,9 +141,20 @@ claude-voice config set stt.provider=openai
138
141
  <details>
139
142
  <summary><strong>Wake Word Providers</strong></summary>
140
143
 
141
- ### Sherpa-ONNX (Default)
144
+ ### openWakeWord (Default)
145
+
146
+ Purpose-trained wake word detection with high accuracy. Requires Python 3. Installed automatically during setup.
147
+
148
+ ```bash
149
+ claude-voice openwakeword --install # Install/configure openWakeWord
150
+ claude-voice config set wakeWord.provider=openwakeword
151
+ ```
152
+
153
+ Available models: `hey_jarvis` (default), `alexa`, `hey_mycroft`, `hey_rhasspy`
154
+
155
+ ### Sherpa-ONNX KWS (Fallback)
142
156
 
143
- Local wake word detection. No API key required.
157
+ Local keyword spotting, no Python required. Used as fallback when Python is not available.
144
158
 
145
159
  ```bash
146
160
  claude-voice config set wakeWord.provider=sherpa-onnx
@@ -204,7 +218,7 @@ claude-voice config reset # Reset to defaults
204
218
  | Option | Default | Description |
205
219
  |--------|---------|-------------|
206
220
  | `wakeWord.enabled` | `true` | Enable wake word detection |
207
- | `wakeWord.provider` | `sherpa-onnx` | sherpa-onnx or picovoice |
221
+ | `wakeWord.provider` | `openwakeword` | openwakeword, sherpa-onnx, or picovoice |
208
222
  | `wakeWord.keyword` | `jarvis` | Wake word: jarvis, claude, computer, etc. |
209
223
  | `wakeWord.sensitivity` | `0.5` | Detection sensitivity (0.0-1.0) |
210
224
  | `wakeWord.playSound` | `true` | Play sound on detection |
@@ -287,6 +301,14 @@ claude-voice status # Check status
287
301
  claude-voice setup # Interactive setup wizard
288
302
  claude-voice doctor # Diagnose issues
289
303
 
304
+ # Provider Presets (Quick Configuration)
305
+ claude-voice openai # Use OpenAI for TTS and STT (cloud)
306
+ claude-voice openai --voice nova # Specify voice (nova, alloy, echo, fable, onyx, shimmer)
307
+ claude-voice local # Use Piper TTS + Sherpa-ONNX STT (offline)
308
+ claude-voice local --download # Configure and download required models
309
+ claude-voice openwakeword # Switch to openWakeWord (better wake word detection)
310
+ claude-voice download-models # Download models for current config
311
+
290
312
  # Models & Voices
291
313
  claude-voice model list # List STT models
292
314
  claude-voice model download <id>
@@ -315,13 +337,14 @@ Run `claude-voice --help` for all 50+ commands.
315
337
  |---------|-------|-------|
316
338
  | TTS | Piper, Say, OpenAI, ElevenLabs | Piper, espeak, OpenAI, ElevenLabs |
317
339
  | STT | Sherpa-ONNX, OpenAI | Sherpa-ONNX, OpenAI |
318
- | Wake Word | Sherpa-ONNX, Picovoice | Sherpa-ONNX, Picovoice |
340
+ | Wake Word | openWakeWord, Sherpa-ONNX, Picovoice | openWakeWord, Sherpa-ONNX, Picovoice |
319
341
  | Keyboard Shortcut | Cmd+Shift+Space | Ctrl+Shift+Space |
320
342
  | Terminal Injection | AppleScript | xdotool (X11), dotool (Wayland) |
321
343
 
322
344
  **Requirements:**
323
345
  - Node.js 18+
324
346
  - Microphone access
347
+ - Python 3 (for openWakeWord; falls back to Sherpa-ONNX if unavailable)
325
348
 
326
349
  ## Troubleshooting
327
350
 
@@ -347,6 +370,7 @@ claude-voice config get tts.provider
347
370
  ```
348
371
 
349
372
  **Wake word not detecting**
373
+ - Upgrade to openWakeWord: `claude-voice openwakeword --install`
350
374
  - Check microphone permissions in System Preferences
351
375
  - Run `claude-voice devices` to verify microphone
352
376
  - Adjust sensitivity: `claude-voice config set wakeWord.sensitivity=0.7`
@@ -375,6 +399,12 @@ claude-voice config get tts.provider
375
399
 
376
400
  ## Changelog
377
401
 
402
+ ### v1.5.0
403
+ - **openWakeWord as default** - Purpose-trained "Hey Jarvis" model (200K+ samples) replaces generic Sherpa-ONNX KWS for much better wake word accuracy
404
+ - **Smart provider detection** - Automatically uses openWakeWord when Python 3 is available, falls back to Sherpa-ONNX KWS otherwise
405
+ - **espeak TTS provider** - Linux native TTS support
406
+ - **Setup wizard upgrade** - All presets now prefer openWakeWord, Custom preset includes wake word provider choice
407
+
378
408
  ### v1.4.0
379
409
  - **License change** - Switched to PolyForm Noncommercial (commercial use restricted)
380
410
 
@@ -394,7 +424,6 @@ claude-voice config get tts.provider
394
424
 
395
425
  ### v1.3.3
396
426
  - **Linux support** - Full Linux platform support added
397
- - **OpenWakeWord removed** - Using only sherpa-onnx for wake word detection
398
427
 
399
428
  ## Contributing
400
429
 
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 1,
3
3
  "tts": {
4
- "provider": "piper",
4
+ "provider": "macos-say",
5
5
  "autoSpeak": true,
6
6
  "maxSpeechLength": 5000,
7
7
  "skipCodeBlocks": true,
@@ -34,7 +34,7 @@
34
34
  "provider": "sherpa-onnx",
35
35
  "language": "en",
36
36
  "sherpaOnnx": {
37
- "model": "whisper-base"
37
+ "model": "whisper-tiny"
38
38
  },
39
39
  "whisperLocal": {
40
40
  "model": "base",
@@ -46,18 +46,18 @@
46
46
  },
47
47
  "wakeWord": {
48
48
  "enabled": true,
49
- "provider": "sherpa-onnx",
49
+ "provider": "openwakeword",
50
50
  "keyword": "jarvis",
51
- "sensitivity": 0.5,
51
+ "sensitivity": 1.0,
52
52
  "playSound": true,
53
53
  "keywords": {
54
54
  "jarvis": [
55
55
  "▁JA R VI S",
56
56
  "▁JA R V I S",
57
- "J AR VI S",
58
57
  "J A R VI S",
59
58
  "J A R V I S",
60
- "▁JA R V IS"
59
+ "J AR V I S",
60
+ "J AR VI S"
61
61
  ],
62
62
  "claude": [
63
63
  "▁C L A U DE",
@@ -70,6 +70,11 @@
70
70
  },
71
71
  "picovoice": {
72
72
  "accessKey": ""
73
+ },
74
+ "openwakeword": {
75
+ "model": "hey_jarvis",
76
+ "threshold": 0.5,
77
+ "debug": false
73
78
  }
74
79
  },
75
80
  "notifications": {
@@ -124,8 +129,8 @@
124
129
  "recording": {
125
130
  "sampleRate": 16000,
126
131
  "channels": 1,
127
- "silenceThreshold": 2500,
128
- "silenceAmplitude": 500,
132
+ "silenceThreshold": 3500,
133
+ "silenceAmplitude": 300,
129
134
  "maxDuration": 60000
130
135
  },
131
136
  "server": {