claude-voice 1.5.10 → 1.5.11

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.
Files changed (2) hide show
  1. package/README.md +62 -10
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -18,7 +18,21 @@
18
18
  npm install -g claude-voice
19
19
  ```
20
20
 
21
- That's it. The extension auto-installs hooks and starts with Claude Code. Say **"Hey Jarvis"** and speak your command.
21
+ That's it. The extension auto-installs hooks, downloads speech models, and starts with Claude Code. Say **"Hey Jarvis"** and speak your command.
22
+
23
+ ## What Gets Installed
24
+
25
+ The postinstall script sets up everything automatically:
26
+
27
+ 1. Default configuration (`~/.claude-voice/config.json`)
28
+ 2. Claude Code hooks (session-start, stop, post-tool-use, notification)
29
+ 3. Claude Code plugin (voice skill)
30
+ 4. Wake word model (openWakeWord or Sherpa-ONNX KWS)
31
+ 5. **STT model** — Whisper Small (~488MB) for high-accuracy speech recognition
32
+ 6. **TTS voice** — Piper neural voice (`en_US-joe-medium`, ~50MB)
33
+ 7. Audio tools check (sox, afplay, etc.)
34
+
35
+ Total download: ~1GB on first install. All models run locally — no API keys needed.
22
36
 
23
37
  ## Why Claude Voice?
24
38
 
@@ -26,10 +40,12 @@ That's it. The extension auto-installs hooks and starts with Claude Code. Say **
26
40
 
27
41
  **Hear every response** — Claude doesn't just respond in text. It speaks back to you. Step away from the screen and still follow along.
28
42
 
29
- **Works offline** — Local STT (Sherpa-ONNX) and local TTS (Piper, macOS Say) mean zero API calls, zero latency, zero cost. Your voice data never leaves your machine.
43
+ **Works offline** — Local STT (Whisper Small via Sherpa-ONNX) and local TTS (Piper neural voice) mean zero API calls, zero latency, zero cost. Your voice data never leaves your machine.
30
44
 
31
45
  **5 TTS providers, 3 STT providers** — Choose the quality/cost/privacy balance that works for you. From free local voices to premium OpenAI and ElevenLabs.
32
46
 
47
+ **Custom wake words** — Train your own Picovoice keyword model and drop the `.ppn` file in `~/.claude-voice/models/`. Say "Hey Claude" instead of "Hey Jarvis".
48
+
33
49
  **Tool announcements** — Hear "Build completed", "Tests passed", "File written" while you're making coffee. Know what Claude is doing without watching the screen.
34
50
 
35
51
  **Multi-language** — Speak in English, Turkish, German, French, Spanish, Japanese, Chinese, and more. Change with one command: `claude-voice config set stt.language=tr`
@@ -47,9 +63,9 @@ The extension integrates via Claude Code hooks: auto-start on session, speak res
47
63
 
48
64
  | | Local (Free) | Cloud |
49
65
  |---|---|---|
50
- | **TTS** | macOS Say, Piper, espeak | OpenAI, ElevenLabs |
51
- | **STT** | Sherpa-ONNX Whisper | OpenAI Whisper |
52
- | **Wake Word** | openWakeWord, Sherpa-ONNX | Picovoice |
66
+ | **TTS** | Piper (default), macOS Say, espeak | OpenAI, ElevenLabs |
67
+ | **STT** | Sherpa-ONNX Whisper Small (default) | OpenAI Whisper |
68
+ | **Wake Word** | openWakeWord (default), Sherpa-ONNX | Picovoice |
53
69
 
54
70
  **Quick presets:**
55
71
 
@@ -59,6 +75,33 @@ claude-voice openai # Cloud TTS + STT (requires API key)
59
75
  claude-voice local --download # Piper TTS + larger Whisper model (offline)
60
76
  ```
61
77
 
78
+ ## Wake Word
79
+
80
+ ### Default: openWakeWord
81
+ Works out of the box. Say **"Hey Jarvis"** to activate.
82
+
83
+ ### Picovoice (best accuracy)
84
+ Picovoice offers 97%+ keyword detection accuracy with custom wake words.
85
+
86
+ ```bash
87
+ claude-voice picovoice --key YOUR_ACCESS_KEY
88
+ ```
89
+
90
+ Get a free access key at [console.picovoice.ai](https://console.picovoice.ai/).
91
+
92
+ ### Custom Wake Words (Picovoice)
93
+ Train a custom keyword at [Picovoice Console](https://console.picovoice.ai/), download the `.ppn` file, and place it in `~/.claude-voice/models/`:
94
+
95
+ ```bash
96
+ # Example: use "Hey Claude" as wake word
97
+ cp hey-claude_en_mac_v3_0_0.ppn ~/.claude-voice/models/hey-claude.ppn
98
+ claude-voice config set wakeWord.provider=picovoice
99
+ claude-voice config set wakeWord.keyword=hey-claude
100
+ claude-voice restart
101
+ ```
102
+
103
+ The detector searches for `<keyword>.ppn` in `~/.claude-voice/models/` first, then falls back to Picovoice built-in keywords (jarvis, alexa, computer, etc.).
104
+
62
105
  ## Configuration
63
106
 
64
107
  ```bash
@@ -75,13 +118,15 @@ Config file: `~/.claude-voice/config.json`
75
118
 
76
119
  | Option | Default | Description |
77
120
  |--------|---------|-------------|
78
- | `tts.provider` | `macos-say` | macos-say, piper, openai, elevenlabs, espeak, disabled |
79
- | `tts.autoSpeak` | `true` | Auto-speak Claude responses |
121
+ | `tts.provider` | `piper` | piper, macos-say, openai, elevenlabs, espeak, disabled |
122
+ | `tts.autoSpeak` | `false` | Auto-speak Claude responses |
80
123
  | `tts.maxSpeechLength` | `5000` | Max characters to speak |
81
124
  | `stt.provider` | `sherpa-onnx` | sherpa-onnx, openai, whisper-local, disabled |
125
+ | `stt.sherpaOnnx.model` | `whisper-small` | whisper-tiny (75MB), whisper-base (142MB), whisper-small (488MB) |
82
126
  | `stt.language` | `en` | Language code (en, tr, de, fr, es, ja, zh...) |
83
127
  | `wakeWord.enabled` | `true` | Enable wake word detection |
84
128
  | `wakeWord.provider` | `openwakeword` | openwakeword, sherpa-onnx, picovoice |
129
+ | `wakeWord.keyword` | `jarvis` | Wake word (or custom .ppn filename without extension) |
85
130
  | `wakeWord.sensitivity` | `0.5` | Detection sensitivity (0.0-1.0) |
86
131
  | `voiceOutput.enabled` | `false` | TTS-friendly response formatting |
87
132
  | `toolTTS.enabled` | `false` | Announce tool completions |
@@ -100,6 +145,11 @@ claude-voice start / stop / restart / status
100
145
  claude-voice setup # Interactive wizard
101
146
  claude-voice doctor # Diagnose issues
102
147
 
148
+ # Provider Presets
149
+ claude-voice openai # Cloud TTS + STT
150
+ claude-voice local --download # Local with model downloads
151
+ claude-voice picovoice --key KEY # Best wake word accuracy
152
+
103
153
  # Models & Voices
104
154
  claude-voice model list / download <id> # STT models (whisper-tiny/base/small)
105
155
  claude-voice voice list / download <id> # Piper TTS voices
@@ -120,11 +170,11 @@ claude-voice devices # List audio devices
120
170
 
121
171
  | | macOS | Linux |
122
172
  |---|---|---|
123
- | TTS | Say, Piper, OpenAI, ElevenLabs | espeak, Piper, OpenAI, ElevenLabs |
173
+ | TTS | Piper, Say, OpenAI, ElevenLabs | Piper, espeak, OpenAI, ElevenLabs |
124
174
  | STT | Sherpa-ONNX, OpenAI | Sherpa-ONNX, OpenAI |
125
175
  | Wake Word | openWakeWord, Sherpa-ONNX, Picovoice | openWakeWord, Sherpa-ONNX, Picovoice |
126
176
 
127
- **Requires:** Node.js 18+, microphone access. Python 3 recommended (for openWakeWord).
177
+ **Requires:** Node.js 18+, microphone access. Python 3 recommended (for Piper TTS and openWakeWord).
128
178
 
129
179
  ## Troubleshooting
130
180
 
@@ -134,7 +184,9 @@ claude-voice logs # Check daemon logs
134
184
  claude-voice start -f # Run in foreground for debugging
135
185
  ```
136
186
 
137
- **Wake word not detecting?** Run `claude-voice openwakeword --install` for better accuracy.
187
+ **Wake word not detecting?** Run `claude-voice openwakeword --install` for better accuracy, or switch to Picovoice for 97%+ detection rate.
188
+
189
+ **STT not working?** Check model is installed: `claude-voice model list`. Re-download if needed: `claude-voice model download whisper-small`.
138
190
 
139
191
  ## License
140
192
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-voice",
3
- "version": "1.5.10",
3
+ "version": "1.5.11",
4
4
  "description": "Voice interface extension for Claude Code - TTS, STT, and wake word detection",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",