agentvibes 3.5.0 → 3.5.2

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.
@@ -0,0 +1,176 @@
1
+ #
2
+ # File: .claude/hooks-windows/voice-manager-windows.ps1
3
+ #
4
+ # AgentVibes - Windows Voice Management
5
+ #
6
+
7
+ param(
8
+ [Parameter(Position = 0)]
9
+ [ValidateSet('list', 'switch', 'get')]
10
+ [string]$Command = 'list',
11
+
12
+ [Parameter(Position = 1)]
13
+ [string]$VoiceName
14
+ )
15
+
16
+ $ClaudeDir = "$env:USERPROFILE\.claude"
17
+ $ProviderFile = "$ClaudeDir\tts-provider.txt"
18
+ $VoiceSapiFile = "$ClaudeDir\tts-voice-sapi.txt"
19
+ $VoicePiperFile = "$ClaudeDir\tts-voice-piper.txt"
20
+
21
+ # Get active provider
22
+ $ActiveProvider = "windows-sapi"
23
+ if (Test-Path $ProviderFile) {
24
+ $ActiveProvider = (Get-Content $ProviderFile -Raw).Trim()
25
+ }
26
+
27
+ # Get SAPI voices
28
+ function Get-SAPIVoices {
29
+ Add-Type -AssemblyName System.Speech
30
+
31
+ $synth = New-Object System.Speech.Synthesis.SpeechSynthesizer
32
+ $voices = @()
33
+
34
+ foreach ($voice in $synth.GetInstalledVoices()) {
35
+ $voices += $voice.VoiceInfo.Name
36
+ }
37
+
38
+ return $voices
39
+ }
40
+
41
+ # Get Piper voices
42
+ function Get-PiperVoices {
43
+ $VoicesDir = "$ClaudeDir\piper-voices"
44
+
45
+ if (-not (Test-Path $VoicesDir)) {
46
+ return @()
47
+ }
48
+
49
+ $voices = @()
50
+ $onnxFiles = Get-ChildItem -Path $VoicesDir -Filter "*.onnx" -ErrorAction SilentlyContinue
51
+
52
+ foreach ($file in $onnxFiles) {
53
+ $name = $file.BaseName
54
+ $voices += $name
55
+ }
56
+
57
+ return $voices
58
+ }
59
+
60
+ # List available voices
61
+ function List-Voices {
62
+ Write-Host ""
63
+ Write-Host "[VOICES] Available Voices by Provider" -ForegroundColor Cyan
64
+ Write-Host ""
65
+
66
+ # SAPI voices
67
+ Write-Host "[SAPI] Windows SAPI (Built-in):" -ForegroundColor Green
68
+ $sapiVoices = Get-SAPIVoices
69
+
70
+ if ($sapiVoices.Count -eq 0) {
71
+ Write-Host " (No voices installed)" -ForegroundColor Gray
72
+ }
73
+ else {
74
+ $sapiVoices | ForEach-Object {
75
+ $marker = if ($_ -eq (Get-CurrentVoice $VoiceSapiFile)) { "*" } else { " " }
76
+ Write-Host " [$marker] $_" -ForegroundColor White
77
+ }
78
+ }
79
+
80
+ Write-Host ""
81
+
82
+ # Piper voices
83
+ Write-Host "[PIPER] Piper (High Quality):" -ForegroundColor Green
84
+ $piperVoices = Get-PiperVoices
85
+
86
+ if ($piperVoices.Count -eq 0) {
87
+ Write-Host " (No voices downloaded - run setup-windows.ps1)" -ForegroundColor Gray
88
+ }
89
+ else {
90
+ $piperVoices | ForEach-Object {
91
+ $marker = if ($_ -eq (Get-CurrentVoice $VoicePiperFile)) { "*" } else { " " }
92
+ Write-Host " [$marker] $_" -ForegroundColor White
93
+ }
94
+ }
95
+
96
+ Write-Host ""
97
+ Write-Host "[ACTIVE] Active Provider: $ActiveProvider" -ForegroundColor Cyan
98
+ Write-Host ""
99
+ }
100
+
101
+ # Get current voice for provider
102
+ function Get-CurrentVoice {
103
+ param([string]$VoiceFile)
104
+
105
+ if (Test-Path $VoiceFile) {
106
+ return (Get-Content $VoiceFile -Raw).Trim()
107
+ }
108
+
109
+ return $null
110
+ }
111
+
112
+ # Switch voice
113
+ function Switch-Voice {
114
+ param([string]$NewVoice)
115
+
116
+ # Determine which provider's voice file to update
117
+ $VoiceFile = ""
118
+ $ValidVoices = @()
119
+
120
+ if ($ActiveProvider -eq "windows-sapi") {
121
+ $VoiceFile = $VoiceSapiFile
122
+ $ValidVoices = Get-SAPIVoices
123
+ }
124
+ elseif ($ActiveProvider -eq "windows-piper") {
125
+ $VoiceFile = $VoicePiperFile
126
+ $ValidVoices = Get-PiperVoices
127
+ }
128
+ elseif ($ActiveProvider -eq "soprano") {
129
+ Write-Host "[INFO] Soprano uses a single fixed voice (Soprano-1.1-80M)" -ForegroundColor Cyan
130
+ return $true
131
+ }
132
+
133
+ if ($ValidVoices -notcontains $NewVoice) {
134
+ Write-Host "[ERROR] Voice not found: $NewVoice" -ForegroundColor Red
135
+ Write-Host "Available voices for ${ActiveProvider}:" -ForegroundColor Yellow
136
+ $ValidVoices | ForEach-Object { Write-Host " - $_" }
137
+ return $false
138
+ }
139
+
140
+ Set-Content -Path $VoiceFile -Value $NewVoice
141
+ Write-Host "[OK] Voice set to: $NewVoice" -ForegroundColor Green
142
+ return $true
143
+ }
144
+
145
+ # Show current voice
146
+ function Show-CurrentVoice {
147
+ $VoiceFile = if ($ActiveProvider -eq "windows-sapi") { $VoiceSapiFile } else { $VoicePiperFile }
148
+ $CurrentVoice = Get-CurrentVoice $VoiceFile
149
+
150
+ if ($CurrentVoice) {
151
+ Write-Host "[VOICE] Current voice: $CurrentVoice ($ActiveProvider)" -ForegroundColor Cyan
152
+ }
153
+ else {
154
+ Write-Host "[VOICE] Using default voice ($ActiveProvider)" -ForegroundColor Cyan
155
+ }
156
+ }
157
+
158
+ # Main command routing
159
+ switch ($Command) {
160
+ 'list' {
161
+ List-Voices
162
+ }
163
+
164
+ 'switch' {
165
+ if (-not $VoiceName) {
166
+ Write-Host "[ERROR] Voice name required" -ForegroundColor Red
167
+ List-Voices
168
+ exit 1
169
+ }
170
+ Switch-Voice $VoiceName | Out-Null
171
+ }
172
+
173
+ 'get' {
174
+ Show-CurrentVoice
175
+ }
176
+ }
package/README.md CHANGED
@@ -4,14 +4,14 @@
4
4
  >
5
5
  > 🌐 **[agentvibes.org](https://agentvibes.org)**
6
6
  >
7
- > Professional text-to-speech for **Claude Code**, **Claude Desktop**, **Warp Terminal**, and **OpenClaw** - **Piper TTS (Free!)** or **macOS Say (Built-in!)**
7
+ > Professional text-to-speech for **Claude Code**, **Claude Desktop**, **Warp Terminal**, and **OpenClaw** - **Soprano** (Neural), **Piper TTS** (Free!), **macOS Say** (Built-in!), or **Windows SAPI** (Zero Setup!)
8
8
 
9
9
  [![npm version](https://img.shields.io/npm/v/agentvibes)](https://www.npmjs.com/package/agentvibes)
10
10
  [![Test Suite](https://github.com/paulpreibisch/AgentVibes/actions/workflows/test.yml/badge.svg)](https://github.com/paulpreibisch/AgentVibes/actions/workflows/test.yml)
11
11
  [![Publish](https://github.com/paulpreibisch/AgentVibes/actions/workflows/publish.yml/badge.svg)](https://github.com/paulpreibisch/AgentVibes/actions/workflows/publish.yml)
12
12
  [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
13
13
 
14
- **Author**: Paul Preibisch ([@997Fire](https://x.com/997Fire)) | **Version**: v3.4.1
14
+ **Author**: Paul Preibisch ([@997Fire](https://x.com/997Fire)) | **Version**: v3.5.2
15
15
 
16
16
  ---
17
17
 
@@ -40,19 +40,21 @@ Whether you're coding in Claude Code, chatting in Claude Desktop, using Warp Ter
40
40
 
41
41
  ### 🎯 Key Features
42
42
 
43
- **⚡ NEW IN v3.4.0:**
43
+ **🪟 NEW IN v3.5.2 — Native Windows Support:**
44
+ - 🖥️ **Windows Native TTS** - Three providers: Soprano (neural), Piper (offline), Windows SAPI (zero setup). No WSL required!
45
+ - 🎵 **Background Music** - 16 genre tracks (Bachata, Flamenco, Bossa Nova, City Pop, and more) mixed under voice
46
+ - 🎛️ **Reverb & Audio Effects** - 5 reverb levels via ffmpeg (Light, Medium, Heavy, Cathedral)
47
+ - 🔊 **Verbosity Control** - Choose how much Claude speaks: High, Medium, or Low
48
+ - 🎨 **Beautiful Installer** - PowerShell installer with figlet banner, or use `npx agentvibes install`
49
+
50
+ **⚡ v3.4.0 Highlights:**
44
51
  - 🎤 **Soprano TTS Provider** - Ultra-fast neural TTS with 20x CPU, 2000x GPU acceleration (thanks [@nathanchase](https://github.com/nathanchase)!)
45
52
  - 🛡️ **Security Hardening** - 9.5/10 score with comprehensive validation and timeouts
46
53
  - 🌐 **Environment Intelligence** - PulseAudio tunnel auto-detection for SSH scenarios
47
- - 🎯 **Smart Recommendations** - GPU/RAM-based provider suggestions in installer
48
-
49
- **✨ NEW IN v3.3.0:**
50
- - 📱 **AgentVibes Receiver** - Stream TTS from voiceless servers to your phone, laptop, or local machine via encrypted SSH tunnel
51
- - 🌐 **Voiceless Server Support** - Generate TTS on cloud servers (AWS, GCP, Azure) and play on any device with speakers
52
54
 
53
55
  **⚡ Core Features:**
54
56
  - ⚡ **One-Command Install** - Get started in 30 seconds (`npx agentvibes install`)
55
- - 🎭 **Multi-Provider Support** - Choose Piper TTS (50+ free voices, offline) or macOS Say (100+ built-in)
57
+ - 🎭 **Multi-Provider Support** - Soprano (neural), Piper TTS (50+ free voices), macOS Say (100+ built-in), or Windows SAPI
56
58
  - 🎙️ **27+ Professional AI Voices** - Character voices, accents, and unique personalities
57
59
  - 🎙️ **Verbosity Control** - Choose how much Claude speaks (LOW, MEDIUM, HIGH)
58
60
  - 🎙️ **AgentVibes MCP** - Natural language control ("Switch to Aria voice") for Claude Code, Desktop & Warp
@@ -95,7 +97,7 @@ All 50+ Piper voices AgentVibes provides are sourced from Hugging Face's open-so
95
97
  - [📱 Android/Termux](#-quick-setup-android--termux-claude-code-on-your-phone) - Run Claude Code on your phone
96
98
  - [📋 Prerequisites](#-prerequisites) - What you actually need (Node.js + optional tools)
97
99
  - [✨ What is AgentVibes?](#-what-is-agentvibes) - Overview & key features
98
- - [📰 Latest Release](#-latest-release) - v3.4.0 - Soprano TTS & Security Hardening
100
+ - [📰 Latest Release](#-latest-release) - v3.5.2 - Native Windows Support with Soprano, Piper & SAPI
99
101
  - [🪟 Windows Setup Guide for Claude Desktop](mcp-server/WINDOWS_SETUP.md) - Complete Windows installation with WSL & Python
100
102
 
101
103
  ### AgentVibes MCP (Natural Language Control)
@@ -139,25 +141,26 @@ All 50+ Piper voices AgentVibes provides are sourced from Hugging Face's open-so
139
141
 
140
142
  ## 📰 Latest Release
141
143
 
142
- **[v3.4.0 - Soprano TTS, Security Hardening & Environment Intelligence](https://github.com/paulpreibisch/AgentVibes/releases/tag/v3.4.1)** ⚡🛡️
144
+ **[v3.5.2 - Native Windows Support: Soprano, Piper & SAPI Providers](https://github.com/paulpreibisch/AgentVibes/releases/tag/v3.5.2)** 🪟🎤
145
+
146
+ AgentVibes v3.5.2 delivers native Windows support with a polished PowerShell installer offering three TTS providers (Soprano neural, Piper offline, Windows SAPI), background music selection from 16 genre tracks, reverb effects via ffmpeg aecho filter, and verbosity control. The release includes 8 Windows hook scripts, MCP server platform detection for automatic .sh-to-.ps1 resolution, and 46 new unit tests. Security hardening adds path traversal prevention with regex allowlisting and path containment checks, reverb config allowlist validation, and strict mode compliance across all scripts. Cross-platform test fixes ensure the full 93-test suite passes on both Windows and Unix.
143
147
 
144
- AgentVibes v3.4.0 introduces Soprano TTS - an 80M parameter neural provider offering 20x CPU and 2000x GPU acceleration with sub-1GB memory footprint - plus comprehensive security hardening (timeouts, bounds checking, NaN validation) achieving a 9.5/10 security score, and intelligent environment detection that recognizes PulseAudio tunnels as working audio for remote scenarios. The enhanced installer provides GPU-based provider recommendations and context-aware messaging. Special thanks to [@nathanchase](https://github.com/nathanchase) for contributing the Soprano TTS Provider integration!
148
+ Install via `npx agentvibes install` or the standalone PowerShell installer (`.\setup-windows.ps1`). No WSL required!
145
149
 
146
150
  **Key Highlights:**
147
- - **Soprano TTS Provider** - Ultra-fast neural TTS with 20x CPU, 2000x GPU acceleration (thanks @nathanchase!)
148
- - 🛡️ **Security Hardening** - 9.5/10 score with timeouts on system commands and comprehensive validation
149
- - 🌐 **Environment Intelligence** - PulseAudio tunnel auto-detection for SSH + tunnel scenarios
150
- - 🎯 **Smart Recommendations** - GPU/RAM-based provider suggestions (Soprano for CUDA, macOS Say for Apple)
151
- - 📱 **Provider-Aware Voice Pages** - Soprano shows model specs, auto-selects single voice
152
- - 🧪 **260/260 Tests Passing** - Complete suite coverage with all edge cases fixed
153
- - 🎨 **Better UX** - Context-aware messaging ("PulseAudio Tunnel Detected!" vs "speakers")
151
+ - 🖥️ **Native Windows TTS** - Three providers: Soprano, Piper, and Windows SAPI. No WSL needed!
152
+ - 🎵 **Background Music** - 16 genre tracks (Bachata, Flamenco, Bossa Nova, City Pop, and more)
153
+ - 🎛️ **Reverb & Effects** - 5 reverb levels via ffmpeg aecho filter
154
+ - 🔊 **Verbosity Control** - High (full reasoning), Medium (key updates), Low (essential only)
155
+ - 🎨 **Beautiful Installer** - Figlet banner, directory explanations, provider detection
156
+ - 🧪 **93/93 Tests Passing** - 46 Windows + 47 cross-platform
157
+ - 🛡️ **Security Hardened** - Path traversal prevention, input sanitization, resource disposal
154
158
 
155
159
  **Perfect For:**
156
- - GPU users wanting ultra-fast TTS (2000x real-time with CUDA)
157
- - Low-RAM systems (<1GB memory footprint with Soprano)
158
- - SSH sessions with PulseAudio tunnels (auto-detected)
159
- - Production deployments requiring security hardening
160
- - Any environment needing intelligent provider selection
160
+ - Windows developers wanting native TTS without WSL
161
+ - Teams needing zero-setup voice (Windows SAPI works out of the box)
162
+ - Users wanting background music and reverb effects
163
+ - Anyone installing via `npx agentvibes install` on Windows
161
164
 
162
165
  💡 **Tip:** If `npx agentvibes` shows an older version or missing commands, clear your npm cache: `npm cache clean --force && npx agentvibes@latest --help`
163
166
 
package/RELEASE_NOTES.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # AgentVibes Release Notes
2
2
 
3
- ## 📦 v3.5.0 - Native Windows Support: Soprano, Piper & SAPI Providers
3
+ ## 📦 v3.5.2 - Native Windows Support: Soprano, Piper & SAPI Providers
4
4
 
5
- **Release Date:** February 11, 2026
5
+ **Release Date:** February 12, 2026
6
6
 
7
7
  ### 🎯 Why v3.5.0?
8
8
 
@@ -146,7 +146,7 @@ None - all changes are backward compatible. Existing Unix/macOS installations ar
146
146
 
147
147
  ---
148
148
 
149
- **Full Changelog**: https://github.com/paulpreibisch/AgentVibes/compare/v3.4.1...v3.5.0
149
+ **Full Changelog**: https://github.com/paulpreibisch/AgentVibes/compare/v3.4.1...v3.5.2
150
150
 
151
151
  ---
152
152
 
@@ -0,0 +1,208 @@
1
+ # AgentVibes Windows Native Setup
2
+
3
+ This folder contains AgentVibes configured for **native Windows** (not WSL) with three TTS providers available.
4
+
5
+ ## Quick Start
6
+
7
+ ### 1. Open in VS Code (Native Windows)
8
+
9
+ - **File > Open Folder** > Select this folder (`agentvibes-in-windows`)
10
+ - Make sure you're opening in **native Windows VS Code** (not WSL remote)
11
+
12
+ ### 2. Open PowerShell Terminal
13
+
14
+ - **Terminal > New Terminal**
15
+ - Change shell to **PowerShell** (if needed)
16
+
17
+ ### 3. Run Setup
18
+
19
+ ```powershell
20
+ .\setup-windows.ps1
21
+ ```
22
+
23
+ This script will:
24
+ - Check PowerShell version (5.1+)
25
+ - Create `.claude` directories
26
+ - Let you choose TTS provider (Piper or SAPI)
27
+ - Install Piper if you choose it
28
+ - Download a default voice model
29
+ - Test TTS
30
+ - Configure for first use
31
+
32
+ ### 4. Install Dependencies
33
+
34
+ ```powershell
35
+ npm install
36
+ ```
37
+
38
+ ### 5. Start Using AgentVibes
39
+
40
+ Open a Claude Code session in this project. The SessionStart hook will automatically inject TTS protocol instructions, causing Claude to speak all responses.
41
+
42
+ ## TTS Providers
43
+
44
+ ### Option 1: Soprano (Best Quality)
45
+ - **Quality**: Ultra-high (80M parameter neural model)
46
+ - **Voices**: Single high-quality voice (Soprano-1.1-80M)
47
+ - **Download**: `pip install soprano-tts`
48
+ - **Setup**: Start WebUI with `soprano-webui` or API with `uvicorn soprano.server:app`
49
+ - **Speed**: GPU-accelerated, very fast
50
+ - **Features**: Gradio WebUI mode, OpenAI-compatible API mode, CLI fallback
51
+
52
+ To set up Soprano:
53
+ ```powershell
54
+ # Install Soprano
55
+ pip install soprano-tts
56
+
57
+ # Start WebUI (recommended - stays running in background)
58
+ soprano-webui
59
+
60
+ # Set provider
61
+ .\.claude\hooks-windows\provider-manager.ps1 set soprano
62
+
63
+ # Test
64
+ .\.claude\hooks-windows\play-tts-soprano.ps1 "Hello from Soprano"
65
+ ```
66
+
67
+ ### Option 2: Windows Piper (Recommended for Offline)
68
+ - **Quality**: High (neural voices)
69
+ - **Voices**: 50+ available
70
+ - **Download**: ~100MB
71
+ - **Setup**: Automatic (run `setup-windows.ps1`)
72
+ - **Speed**: Offline synthesis
73
+ - **Features**: All AgentVibes features supported
74
+
75
+ ### Option 3: Windows SAPI (Built-in, Zero Setup)
76
+ - **Quality**: Basic
77
+ - **Voices**: ~10 built-in (David, Zira, Mark)
78
+ - **Download**: 0 MB (no installation needed)
79
+ - **Setup**: Select during `setup-windows.ps1`
80
+ - **Speed**: Fast
81
+ - **Features**: Core TTS only
82
+
83
+ ## Claude Code Integration
84
+
85
+ AgentVibes hooks into Claude Code via `.claude/settings.json`. The SessionStart hook runs automatically when Claude starts a session:
86
+
87
+ ```json
88
+ {
89
+ "hooks": {
90
+ "SessionStart": [{
91
+ "hooks": [{
92
+ "type": "command",
93
+ "command": "powershell -NoProfile -ExecutionPolicy Bypass -File \"$CLAUDE_PROJECT_DIR\\.claude\\hooks-windows\\session-start-tts.ps1\""
94
+ }]
95
+ }]
96
+ }
97
+ }
98
+ ```
99
+
100
+ This injects TTS protocol instructions so Claude speaks every response using the configured provider.
101
+
102
+ ## Manual Commands
103
+
104
+ Test TTS manually:
105
+
106
+ ```powershell
107
+ # Test current provider
108
+ .\.claude\hooks-windows\play-tts.ps1 "Hello from Windows"
109
+
110
+ # Test specific providers
111
+ .\.claude\hooks-windows\play-tts-windows-sapi.ps1 "Hello SAPI"
112
+ .\.claude\hooks-windows\play-tts-windows-piper.ps1 "Hello Piper"
113
+ .\.claude\hooks-windows\play-tts-soprano.ps1 "Hello Soprano"
114
+
115
+ # List available voices
116
+ .\.claude\hooks-windows\voice-manager-windows.ps1 list
117
+
118
+ # Switch voice (for Piper/SAPI)
119
+ .\.claude\hooks-windows\voice-manager-windows.ps1 switch "en_US-lessac-high"
120
+
121
+ # List providers
122
+ .\.claude\hooks-windows\provider-manager.ps1 list
123
+
124
+ # Switch provider
125
+ .\.claude\hooks-windows\provider-manager.ps1 set soprano
126
+ .\.claude\hooks-windows\provider-manager.ps1 set windows-piper
127
+ .\.claude\hooks-windows\provider-manager.ps1 set windows-sapi
128
+ ```
129
+
130
+ ## Troubleshooting
131
+
132
+ ### PowerShell Execution Policy Error
133
+
134
+ If you get an "execution policy" error, run:
135
+
136
+ ```powershell
137
+ Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
138
+ ```
139
+
140
+ Then try again.
141
+
142
+ ### No Audio Playing
143
+
144
+ 1. Check Windows volume isn't muted
145
+ 2. Try switching to SAPI provider (zero-setup): `.\.claude\hooks-windows\provider-manager.ps1 set windows-sapi`
146
+ 3. Test SAPI directly: `.\.claude\hooks-windows\play-tts-windows-sapi.ps1 "test"`
147
+
148
+ ### Soprano Not Detected
149
+
150
+ 1. Ensure soprano-webui is running: `soprano-webui`
151
+ 2. Check port 7860 is accessible: `Test-NetConnection -ComputerName 127.0.0.1 -Port 7860`
152
+ 3. Set custom port if needed: `$env:SOPRANO_PORT = "8080"` before running TTS
153
+
154
+ ### Piper Installation Failed
155
+
156
+ 1. Check internet connection
157
+ 2. Run setup again: `.\setup-windows.ps1`
158
+ 3. Or manually download from: https://github.com/rhasspy/piper/releases
159
+
160
+ ### Can't Find Voice
161
+
162
+ For Piper, voices are stored in: `%USERPROFILE%\.claude\piper-voices\`
163
+
164
+ You can download additional voices with `.\download-piper-voices.ps1`.
165
+
166
+ ## Architecture
167
+
168
+ ```
169
+ agentvibes-in-windows/
170
+ ├── .claude/
171
+ │ ├── hooks-windows/ # PowerShell TTS scripts
172
+ │ │ ├── play-tts.ps1 # Main router (dispatches to active provider)
173
+ │ │ ├── play-tts-soprano.ps1 # Soprano provider
174
+ │ │ ├── play-tts-windows-piper.ps1 # Piper provider
175
+ │ │ ├── play-tts-windows-sapi.ps1 # SAPI provider
176
+ │ │ ├── soprano-gradio-synth.py # Python helper for Soprano Gradio API
177
+ │ │ ├── provider-manager.ps1 # Provider switching
178
+ │ │ ├── voice-manager-windows.ps1 # Voice management
179
+ │ │ ├── session-start-tts.ps1 # SessionStart hook (injects TTS protocol)
180
+ │ │ └── audio-cache-utils.ps1 # Audio cache cleanup
181
+ │ ├── settings.json # Claude Code hooks config
182
+ │ ├── audio/ # Audio cache (auto-created)
183
+ │ ├── piper-voices/ # Piper voice models (auto-created)
184
+ │ └── tts-provider.txt # Active provider config
185
+ ├── setup-windows.ps1 # Installation script
186
+ ├── download-piper-voices.ps1 # Download additional Piper voices
187
+ └── WINDOWS-SETUP.md # This file
188
+ ```
189
+
190
+ ## What's Different from WSL
191
+
192
+ | Feature | WSL Version | Windows Native |
193
+ |---------|-------------|----------------|
194
+ | **TTS Scripts** | Bash shell scripts (.sh) | PowerShell scripts (.ps1) |
195
+ | **Audio** | PulseAudio/paplay | System.Media.SoundPlayer |
196
+ | **Providers** | Piper, macOS, Termux, Soprano | Piper, SAPI, Soprano |
197
+ | **Setup** | WSL + PulseAudio config | Native Windows only |
198
+ | **Hook Dir** | `.claude/hooks/` | `.claude/hooks-windows/` |
199
+
200
+ ## Support
201
+
202
+ - **Documentation**: https://agentvibes.org
203
+ - **Issues**: https://github.com/paulpreibisch/AgentVibes/issues
204
+
205
+ ---
206
+
207
+ **Version**: 2.0 (Windows Native + Soprano)
208
+ **Last Updated**: 2026-02-11
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": "3.5.0",
4
+ "version": "3.5.2",
5
5
  "description": "Now your AI Agents can finally talk back! Professional TTS voice for Claude Code, Claude Desktop (via MCP), and Clawdbot with multi-provider support.",
6
6
  "homepage": "https://agentvibes.org",
7
7
  "keywords": [
@@ -50,6 +50,7 @@
50
50
  ".claude/commands/agent-vibes-bmad-voices.md",
51
51
  ".claude/commands/agent-vibes-rdp.md",
52
52
  ".claude/hooks/",
53
+ ".claude/hooks-windows/",
53
54
  ".claude/personalities/",
54
55
  ".claude/output-styles/",
55
56
  ".claude/audio/tracks/",
@@ -63,6 +64,8 @@
63
64
  ".claude/github-star-reminder.txt",
64
65
  ".clawdbot/",
65
66
  ".mcp.json",
67
+ "setup-windows.ps1",
68
+ "WINDOWS-SETUP.md",
66
69
  "README.md",
67
70
  "RELEASE_NOTES.md",
68
71
  "LICENSE",