voice-mode 2.34.0__tar.gz → 2.34.2__tar.gz
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.
- {voice_mode-2.34.0 → voice_mode-2.34.2}/CHANGELOG.md +18 -2
- {voice_mode-2.34.0 → voice_mode-2.34.2}/PKG-INFO +1 -1
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/__version__.py +1 -1
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/config.py +1 -1
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/tools/service.py +11 -5
- {voice_mode-2.34.0 → voice_mode-2.34.2}/.gitignore +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/README.md +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/build_hooks.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/pyproject.toml +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/__init__.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/__main__.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/cli.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/cli_commands/__init__.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/cli_commands/exchanges.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/conversation_logger.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/core.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/data/versions.json +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/exchanges/__init__.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/exchanges/conversations.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/exchanges/filters.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/exchanges/formatters.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/exchanges/models.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/exchanges/reader.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/exchanges/stats.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/frontend/README.md +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/frontend/app/api/connection-details/route.ts +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/frontend/app/favicon.ico +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/frontend/app/globals.css +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/frontend/app/layout.tsx +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/frontend/app/page.tsx +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/frontend/components/CloseIcon.tsx +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/frontend/components/NoAgentNotification.tsx +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/frontend/components/TranscriptionView.tsx +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/frontend/hooks/useCombinedTranscriptions.ts +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/frontend/hooks/useLocalMicTrack.ts +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/frontend/next-env.d.ts +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/frontend/next.config.mjs +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/frontend/package-lock.json +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/frontend/package.json +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/frontend/pnpm-lock.yaml +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/frontend/postcss.config.mjs +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/frontend/tailwind.config.ts +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/frontend/tsconfig.json +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/prompts/README.md +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/prompts/__init__.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/prompts/converse.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/prompts/release_notes.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/prompts/services.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/provider_discovery.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/providers.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/resources/__init__.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/resources/audio_files.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/resources/changelog.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/resources/configuration.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/resources/statistics.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/resources/version.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/resources/whisper_models.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/server.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/shared.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/simple_failover.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/statistics.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/streaming.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/templates/__init__.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/templates/launchd/com.voicemode.frontend.plist +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/templates/launchd/com.voicemode.kokoro.plist +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/templates/launchd/com.voicemode.livekit.plist +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/templates/launchd/com.voicemode.whisper.plist +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/templates/launchd/start-kokoro-with-health-check.sh +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/templates/launchd/start-whisper-with-health-check.sh +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/templates/scripts/__init__.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/templates/scripts/start-whisper-server.sh +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/templates/systemd/voicemode-frontend.service +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/templates/systemd/voicemode-kokoro.service +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/templates/systemd/voicemode-livekit.service +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/templates/systemd/voicemode-whisper.service +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/tools/__init__.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/tools/configuration_management.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/tools/converse.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/tools/dependencies.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/tools/devices.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/tools/diagnostics.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/tools/providers.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/tools/services/kokoro/install.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/tools/services/kokoro/uninstall.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/tools/services/list_versions.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/tools/services/livekit/__init__.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/tools/services/livekit/frontend.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/tools/services/livekit/install.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/tools/services/livekit/production_server.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/tools/services/livekit/uninstall.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/tools/services/version_info.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/tools/services/whisper/__init__.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/tools/services/whisper/install.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/tools/services/whisper/list_models.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/tools/services/whisper/model_active.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/tools/services/whisper/model_benchmark.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/tools/services/whisper/model_install.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/tools/services/whisper/model_remove.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/tools/services/whisper/models.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/tools/services/whisper/uninstall.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/tools/statistics.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/tools/voice_registry.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/utils/__init__.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/utils/audio_diagnostics.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/utils/event_logger.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/utils/ffmpeg_check.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/utils/format_migration.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/utils/gpu_detection.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/utils/migration_helpers.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/utils/services/common.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/utils/services/coreml_setup.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/utils/services/kokoro_helpers.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/utils/services/livekit_helpers.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/utils/services/whisper_helpers.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/utils/services/whisper_version.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/utils/version_helpers.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/version.py +0 -0
- {voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/voice_preferences.py +0 -0
@@ -7,9 +7,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
7
7
|
|
8
8
|
## [Unreleased]
|
9
9
|
|
10
|
-
## [2.34.
|
10
|
+
## [2.34.2] - 2025-08-26
|
11
|
+
|
12
|
+
## [2.34.1] - 2025-08-26
|
13
|
+
|
14
|
+
### Fixed
|
15
|
+
- **Whisper service enable command**
|
16
|
+
- Fixed `voicemode whisper enable` using incorrect template variable names
|
17
|
+
- Changed from WHISPER_BIN/MODEL_FILE to START_SCRIPT_PATH/INSTALL_DIR to match plist template
|
18
|
+
- Correctly locates start-whisper-server.sh script in whisper install directory
|
19
|
+
- Fixes KeyError 'START_SCRIPT_PATH' when enabling whisper service after installation
|
11
20
|
|
12
|
-
|
21
|
+
### Changed
|
22
|
+
- **Installer reliability**
|
23
|
+
- Added `--force` flag to `uv tool install --upgrade` command
|
24
|
+
- Ensures voicemode is fully reinstalled even if already present
|
25
|
+
- Prevents stale installations when package structure changes
|
26
|
+
- Improves update reliability when running install.sh multiple times
|
27
|
+
|
28
|
+
## [2.34.0] - 2025-08-26
|
13
29
|
|
14
30
|
### Changed
|
15
31
|
- **Installer improvements**
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: voice-mode
|
3
|
-
Version: 2.34.
|
3
|
+
Version: 2.34.2
|
4
4
|
Summary: VoiceMode - Voice interaction capabilities for AI assistants (formerly voice-mcp)
|
5
5
|
Project-URL: Homepage, https://github.com/mbailey/voicemode
|
6
6
|
Project-URL: Repository, https://github.com/mbailey/voicemode
|
@@ -286,7 +286,7 @@ VAD_AGGRESSIVENESS = int(os.getenv("VOICEMODE_VAD_AGGRESSIVENESS", "2")) # 0-3,
|
|
286
286
|
SILENCE_THRESHOLD_MS = int(os.getenv("VOICEMODE_SILENCE_THRESHOLD_MS", "1000")) # Stop after 1000ms (1 second) of silence
|
287
287
|
MIN_RECORDING_DURATION = float(os.getenv("VOICEMODE_MIN_RECORDING_DURATION", "0.5")) # Minimum 0.5s recording
|
288
288
|
VAD_CHUNK_DURATION_MS = 30 # VAD frame size (must be 10, 20, or 30ms)
|
289
|
-
INITIAL_SILENCE_GRACE_PERIOD = float(os.getenv("VOICEMODE_INITIAL_SILENCE_GRACE_PERIOD", "
|
289
|
+
INITIAL_SILENCE_GRACE_PERIOD = float(os.getenv("VOICEMODE_INITIAL_SILENCE_GRACE_PERIOD", "1")) # No initial silence grace period by default
|
290
290
|
|
291
291
|
# Default listen duration for converse tool
|
292
292
|
DEFAULT_LISTEN_DURATION = float(os.getenv("VOICEMODE_DEFAULT_LISTEN_DURATION", "120.0")) # Default 120s listening time
|
@@ -582,12 +582,18 @@ async def enable_service(service_name: str) -> str:
|
|
582
582
|
if not model_file:
|
583
583
|
return "❌ No Whisper model found. Please run download_model first."
|
584
584
|
|
585
|
+
# Find the start script
|
586
|
+
# whisper_bin is at ~/.voicemode/services/whisper/build/bin/whisper-server
|
587
|
+
# start script is at ~/.voicemode/services/whisper/bin/start-whisper-server.sh
|
588
|
+
install_dir = Path(whisper_bin).parent.parent.parent # Go up from build/bin/whisper-server to whisper dir
|
589
|
+
start_script_path = install_dir / "bin" / "start-whisper-server.sh"
|
590
|
+
if not start_script_path.exists():
|
591
|
+
return f"❌ Start script not found: {start_script_path}"
|
592
|
+
|
585
593
|
content = template.format(
|
586
|
-
|
587
|
-
|
588
|
-
|
589
|
-
LOG_DIR=logs_dir,
|
590
|
-
WORKING_DIR=Path(whisper_bin).parent
|
594
|
+
START_SCRIPT_PATH=str(start_script_path),
|
595
|
+
LOG_DIR=str(logs_dir),
|
596
|
+
INSTALL_DIR=str(install_dir)
|
591
597
|
)
|
592
598
|
elif service_name == "kokoro":
|
593
599
|
kokoro_dir = find_kokoro_fastapi()
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/frontend/app/api/connection-details/route.ts
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/frontend/components/NoAgentNotification.tsx
RENAMED
File without changes
|
{voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/frontend/components/TranscriptionView.tsx
RENAMED
File without changes
|
{voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/frontend/hooks/useCombinedTranscriptions.ts
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/templates/launchd/com.voicemode.frontend.plist
RENAMED
File without changes
|
{voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/templates/launchd/com.voicemode.kokoro.plist
RENAMED
File without changes
|
{voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/templates/launchd/com.voicemode.livekit.plist
RENAMED
File without changes
|
{voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/templates/launchd/com.voicemode.whisper.plist
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/templates/scripts/start-whisper-server.sh
RENAMED
File without changes
|
{voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/templates/systemd/voicemode-frontend.service
RENAMED
File without changes
|
{voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/templates/systemd/voicemode-kokoro.service
RENAMED
File without changes
|
{voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/templates/systemd/voicemode-livekit.service
RENAMED
File without changes
|
{voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/templates/systemd/voicemode-whisper.service
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/tools/services/livekit/production_server.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{voice_mode-2.34.0 → voice_mode-2.34.2}/voice_mode/tools/services/whisper/model_benchmark.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|