agentvibes 2.0.17-beta.6 → 2.0.17-beta.8

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.
@@ -100,10 +100,12 @@ Make each response unique, creative, and naturally incorporate the personality's
100
100
 
101
101
  **Check if learning mode is enabled:**
102
102
  ```bash
103
- LEARN_ENABLED=$(cat .claude/tts-learn-enabled.txt 2>/dev/null || cat ~/.claude/tts-learn-enabled.txt 2>/dev/null || echo "false")
103
+ LEARN_MODE=$(cat .claude/tts-learn-mode.txt 2>/dev/null || cat ~/.claude/tts-learn-mode.txt 2>/dev/null || echo "OFF")
104
104
  ```
105
105
 
106
- **If learning mode is ENABLED ("true"):**
106
+ Learning mode is enabled if `$LEARN_MODE` equals "ON".
107
+
108
+ **If learning mode is ENABLED ($LEARN_MODE == "ON"):**
107
109
  1. Get target language and voice:
108
110
  ```bash
109
111
  TARGET_LANG=$(cat .claude/tts-target-language.txt 2>/dev/null || cat ~/.claude/tts-target-language.txt 2>/dev/null)
@@ -111,29 +113,55 @@ LEARN_ENABLED=$(cat .claude/tts-learn-enabled.txt 2>/dev/null || cat ~/.claude/t
111
113
  ```
112
114
 
113
115
  2. **Make TWO TTS calls** for each acknowledgment/completion:
114
- - **First**: Play in main language (English) with current voice
115
- - **Second**: Translate to target language and play with target voice
116
+ - **First**: Play in main language (English) - NO voice override (uses configured main voice)
117
+ - **Second**: Translate to target language and play - PASS $TARGET_VOICE as second parameter
116
118
 
117
119
  3. **Translation**: Use AI to translate the English message to the target language naturally
118
120
 
119
121
  **Example with learning mode enabled (Spanish):**
120
- ```
121
- User: "hello"
122
- # Acknowledgment in English
122
+ ```bash
123
+ # First get the target voice
124
+ TARGET_VOICE=$(cat .claude/tts-target-voice.txt 2>/dev/null || cat ~/.claude/tts-target-voice.txt 2>/dev/null)
125
+
126
+ # Acknowledgment in English (no voice parameter - uses main/configured voice)
123
127
  .claude/hooks/play-tts.sh "Hey there! Great to hear from you!"
124
- # Acknowledgment in Spanish
125
- .claude/hooks/play-tts.sh "¡Hola! ¡Qué bueno saber de ti!" "Antoni"
128
+
129
+ # Wait briefly between calls
130
+ sleep 0.5
131
+
132
+ # Acknowledgment in Spanish (pass target voice explicitly)
133
+ .claude/hooks/play-tts.sh "¡Hola! ¡Qué bueno saber de ti!" "$TARGET_VOICE"
126
134
  ```
127
135
 
136
+ **CRITICAL:**
137
+ - First call: NO voice parameter (uses main voice from config)
138
+ - Second call: MUST pass $TARGET_VOICE (the target voice supports the target language)
139
+
128
140
  **If learning mode is DISABLED:**
129
141
  - Make normal single TTS call as usual
130
142
 
131
143
  ## Voice Selection
132
144
 
133
- - If user specifies a voice (e.g., "use Aria voice"), pass it as second parameter
134
- - Otherwise, omit second parameter to use default voice from `.claude/tts-voice.txt`
145
+ **CRITICAL: Let the system choose the voice automatically based on provider!**
146
+
147
+ - **Default behavior**: ALWAYS omit the second parameter (voice name) unless explicitly requested by user
148
+ - This allows play-tts.sh to automatically select the correct voice for the active provider
149
+ - The system will use the configured voice from `.claude/tts-voice.txt` or `~/.claude/tts-voice.txt`
150
+ - **Only** pass a voice name as second parameter if user explicitly requests it (e.g., "use Aria voice")
135
151
  - Use same voice for both acknowledgment and completion
136
- - For learning mode, use target voice for second TTS call
152
+ - For learning mode, use target voice for second TTS call (system handles this automatically)
153
+
154
+ **Examples:**
155
+ ```bash
156
+ # CORRECT - Let system choose voice
157
+ .claude/hooks/play-tts.sh "I'll handle that for you"
158
+
159
+ # CORRECT - User requested specific voice
160
+ .claude/hooks/play-tts.sh "I'll handle that for you" "Aria"
161
+
162
+ # WRONG - Don't hardcode voice names
163
+ .claude/hooks/play-tts.sh "I'll handle that for you" "Michael"
164
+ ```
137
165
 
138
166
  ## Example Usage
139
167
 
@@ -91,6 +91,107 @@ AgentVibes now speaks **30+ languages** with native voice quality!
91
91
 
92
92
  ---
93
93
 
94
+ ### 🎓 Language Learning Mode (Beta)
95
+
96
+ **Learn languages naturally with dual-language TTS!**
97
+
98
+ AgentVibes now includes a **language learning mode** that helps you learn new languages through context and repetition. Every acknowledgment and completion is spoken TWICE - first in your main language (English), then in your target language.
99
+
100
+ #### **How It Works:**
101
+
102
+ 1. **Set your target language** - Choose from 30+ supported languages
103
+ 2. **Enable learning mode** - Activates dual-language TTS
104
+ 3. **Natural repetition** - Hear everything twice in context
105
+ 4. **Adjustable speed** - Slow down target language for better comprehension
106
+
107
+ #### **New Learning Commands:**
108
+
109
+ ```bash
110
+ # Set the language you want to learn
111
+ /agent-vibes:target spanish
112
+ /agent-vibes:target french
113
+ /agent-vibes:target german
114
+
115
+ # Set voice for target language (auto-selected based on provider)
116
+ /agent-vibes:target-voice Antoni # ElevenLabs
117
+ /agent-vibes:target-voice es_ES-davefx-medium # Piper
118
+
119
+ # Enable/disable learning mode
120
+ /agent-vibes:learn
121
+
122
+ # Set your main/native language
123
+ /agent-vibes:language english
124
+
125
+ # Adjust speech speed (Piper only)
126
+ /agent-vibes:set-speed 2x # 2x slower (great for learning)
127
+ /agent-vibes:set-speed target 2x # Slow down target language only
128
+ /agent-vibes:set-speed normal # Reset to normal speed
129
+ ```
130
+
131
+ #### **Example Learning Session:**
132
+
133
+ ```
134
+ User: "hello"
135
+
136
+ Claude (English): "Hey there! Great to hear from you!"
137
+ 🔊 Plays in English with your configured voice
138
+
139
+ Claude (Spanish): "¡Hola! ¡Qué bueno saber de ti!"
140
+ 🔊 Plays in Spanish with target voice (Antoni/es_ES-davefx-medium)
141
+ ```
142
+
143
+ #### **Advanced Features:**
144
+
145
+ **🎚️ Speech Rate Control (Piper TTS):**
146
+ - Slow down target language for better comprehension
147
+ - Separate speed controls for main and target languages
148
+ - Intuitive syntax: `2x` = 2x slower, `0.5x` = 2x faster
149
+ - Perfect for language learners who need more time to process
150
+
151
+ **🔄 Mixed Provider Support:**
152
+ - Use **ElevenLabs for English** (premium quality)
153
+ - Use **Piper for Spanish** (free, slower speech)
154
+ - System auto-detects provider from voice name
155
+ - Seamless switching between providers
156
+
157
+ **🎯 Auto-Voice Selection:**
158
+ - System automatically selects the best voice for your target language
159
+ - Provider-aware: ElevenLabs voices for ElevenLabs, Piper voices for Piper
160
+ - Smart fallback if preferred voice unavailable
161
+
162
+ **🌍 Supported Target Languages:**
163
+ Spanish, French, German, Italian, Portuguese, Chinese, Japanese, Korean, Russian, Arabic, Hindi, Polish, Dutch, Turkish, Swedish, Danish, Norwegian, Finnish, Czech, Romanian, Ukrainian, Greek, Bulgarian, Croatian, Slovak, and more!
164
+
165
+ #### **Voice Mappings by Provider:**
166
+
167
+ **ElevenLabs Voices:**
168
+ - Spanish → Antoni
169
+ - French → Rachel
170
+ - German → Domi
171
+ - Italian → Bella
172
+ - Portuguese → Matilda
173
+ - Chinese, Japanese, Korean → Antoni (multilingual)
174
+
175
+ **Piper Voices (Free, Offline):**
176
+ - Spanish → es_ES-davefx-medium
177
+ - French → fr_FR-siwis-medium
178
+ - German → de_DE-thorsten-medium
179
+ - Italian → it_IT-riccardo-x_low
180
+ - Portuguese → pt_BR-faber-medium
181
+ - Chinese → zh_CN-huayan-medium
182
+ - Japanese → ja_JP-hikari-medium
183
+
184
+ #### **Why This Helps Learning:**
185
+
186
+ 1. **Context-based learning** - Hear words/phrases in real situations
187
+ 2. **Natural repetition** - Every message twice, reinforcing vocabulary
188
+ 3. **Pronunciation practice** - Native-quality voices model correct pronunciation
189
+ 4. **Adjustable pace** - Slow down difficult phrases with speed control
190
+ 5. **Consistent exposure** - Learn while coding, naturally building vocabulary
191
+ 6. **No extra effort** - Learning happens passively as you work
192
+
193
+ ---
194
+
94
195
  ### 🎤 Expanded Voice Library (27+ Voices)
95
196
 
96
197
  **New multilingual voices added:**
@@ -269,6 +370,8 @@ sarcastic, flirty, pirate, grandpa, dry-humor, angry, robot, zen, professional,
269
370
  │ ├── provider-manager.sh # Provider switching
270
371
  │ ├── provider-commands.sh # Provider CLI
271
372
  │ ├── language-manager.sh # Language system
373
+ │ ├── learn-manager.sh # Language learning mode
374
+ │ ├── speed-manager.sh # Speech rate control (Piper)
272
375
  │ ├── voice-manager.sh # Voice switching
273
376
  │ ├── personality-manager.sh # Personality system
274
377
  │ ├── sentiment-manager.sh # Sentiment system
@@ -289,6 +392,12 @@ sarcastic, flirty, pirate, grandpa, dry-humor, angry, robot, zen, professional,
289
392
  - `tts-personality.txt` - Active personality
290
393
  - `tts-sentiment.txt` - Active sentiment
291
394
  - `tts-language.txt` - Selected language
395
+ - `tts-learn-mode.txt` - Learning mode status (ON/OFF)
396
+ - `tts-target-language.txt` - Target language for learning
397
+ - `tts-target-voice.txt` - Voice for target language
398
+ - `tts-main-language.txt` - Main/native language
399
+ - `config/piper-speech-rate.txt` - Main voice speech rate (Piper)
400
+ - `config/piper-target-speech-rate.txt` - Target voice speech rate (Piper)
292
401
 
293
402
  ---
294
403
 
@@ -315,6 +424,15 @@ sarcastic, flirty, pirate, grandpa, dry-humor, angry, robot, zen, professional,
315
424
  - `/agent-vibes:set-language list` - Show languages
316
425
  - `/agent-vibes:set-language english` - Reset to English
317
426
 
427
+ ### Language Learning Commands:
428
+ - `/agent-vibes:target <language>` - Set target language to learn
429
+ - `/agent-vibes:target-voice <voice>` - Set voice for target language
430
+ - `/agent-vibes:learn` - Enable/disable learning mode
431
+ - `/agent-vibes:language <language>` - Set main/native language
432
+ - `/agent-vibes:set-speed <speed>` - Set speech rate (Piper only)
433
+ - `/agent-vibes:set-speed target <speed>` - Set target language speed
434
+ - `/agent-vibes:set-speed get` - Show current speed settings
435
+
318
436
  ### Personality Commands:
319
437
  - `/agent-vibes:personality <name>` - Set personality
320
438
  - `/agent-vibes:personality list` - Show all
@@ -407,6 +525,17 @@ sarcastic, flirty, pirate, grandpa, dry-humor, angry, robot, zen, professional,
407
525
 
408
526
  ## 🐛 Bug Fixes
409
527
 
528
+ ### v2.0.17-beta Series (Language Learning Mode):
529
+ - **Fixed ElevenLabs audio static** - Added MP3 codec (`-c:a libmp3lame`) to prevent WAV format issues
530
+ - **Fixed MCP provider switching** - Enhanced non-interactive detection with `CLAUDE_PROJECT_DIR` check
531
+ - **Fixed target voice sync** - Auto-updates target voice when switching providers
532
+ - **Fixed voice/provider mismatches** - Output style now lets system choose voice based on active provider
533
+ - **Fixed learning mode config** - Corrected file names (`tts-learn-mode.txt`) and value checks (`ON`/`OFF`)
534
+ - **Fixed Piper speech rate** - Properly reads numeric values from config files (strips comments)
535
+ - **Fixed interactive prompts in MCP** - Provider switch commands now work seamlessly via slash commands
536
+ - **Fixed Spanish voice download** - Voice models now download automatically with user consent
537
+
538
+ ### v2.0.0 Core Fixes:
410
539
  - Fixed symlink support for shared hooks
411
540
  - Fixed WSL audio static with silence padding
412
541
  - Fixed installer directory detection for npx
@@ -419,15 +548,17 @@ sarcastic, flirty, pirate, grandpa, dry-humor, angry, robot, zen, professional,
419
548
 
420
549
  ## 📊 Statistics
421
550
 
422
- **v2.0.0 by the numbers:**
551
+ **v2.0.17-beta by the numbers:**
423
552
  - 🎤 **200+ voices** across both providers
424
- - 🌍 **30+ languages** supported
553
+ - 🌍 **30+ languages** supported (learning mode for all)
554
+ - 🎓 **1 language learning mode** with dual-language TTS
425
555
  - 🎭 **19 personalities** included
426
556
  - 💭 **19 sentiments** available
427
- - 📝 **15 slash commands** total
428
- - 🔧 **12 hook scripts** installed
429
- - 🔌 **2 TTS providers** available
557
+ - 📝 **20+ slash commands** total (incl. learning commands)
558
+ - 🔧 **14 hook scripts** installed (incl. learn-manager, speed-manager)
559
+ - 🔌 **2 TTS providers** available (mixed provider support)
430
560
  - 🤖 **10 BMAD agents** with voice mapping
561
+ - 🎚️ **Adjustable speech rate** for Piper TTS (0.5x - 3x)
431
562
 
432
563
  ---
433
564
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "agentvibes",
4
- "version": "2.0.17-beta.6",
4
+ "version": "2.0.17-beta.8",
5
5
  "description": "Now your AI Agents can finally talk back! Professional TTS voice for Claude Code and Claude Desktop (via MCP) with multi-provider support.",
6
6
  "homepage": "https://agentvibes.org",
7
7
  "keywords": [