voice-mode 2.28.2__tar.gz → 2.28.3__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.28.2 → voice_mode-2.28.3}/CHANGELOG.md +27 -5
- {voice_mode-2.28.2 → voice_mode-2.28.3}/PKG-INFO +1 -1
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/__version__.py +1 -1
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/tools/converse.py +10 -1
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/tools/service.py +10 -2
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/tools/services/kokoro/install.py +9 -1
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/tools/services/livekit/install.py +9 -1
- {voice_mode-2.28.2 → voice_mode-2.28.3}/.gitignore +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/README.md +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/build_hooks.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/pyproject.toml +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/__init__.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/__main__.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/cli.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/cli_commands/__init__.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/cli_commands/exchanges.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/config.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/conversation_logger.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/core.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/data/versions.json +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/exchanges/__init__.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/exchanges/conversations.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/exchanges/filters.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/exchanges/formatters.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/exchanges/models.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/exchanges/reader.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/exchanges/stats.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/frontend/README.md +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/frontend/app/api/connection-details/route.ts +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/frontend/app/favicon.ico +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/frontend/app/globals.css +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/frontend/app/layout.tsx +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/frontend/app/page.tsx +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/frontend/components/CloseIcon.tsx +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/frontend/components/NoAgentNotification.tsx +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/frontend/components/TranscriptionView.tsx +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/frontend/hooks/useCombinedTranscriptions.ts +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/frontend/hooks/useLocalMicTrack.ts +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/frontend/next-env.d.ts +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/frontend/next.config.mjs +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/frontend/package-lock.json +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/frontend/package.json +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/frontend/pnpm-lock.yaml +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/frontend/postcss.config.mjs +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/frontend/tailwind.config.ts +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/frontend/tsconfig.json +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/prompts/README.md +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/prompts/__init__.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/prompts/converse.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/prompts/release_notes.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/prompts/services.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/provider_discovery.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/providers.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/resources/__init__.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/resources/audio_files.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/resources/changelog.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/resources/configuration.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/resources/statistics.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/resources/version.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/resources/whisper_models.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/server.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/shared.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/simple_failover.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/statistics.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/streaming.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/templates/launchd/com.voicemode.frontend.plist +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/templates/launchd/com.voicemode.kokoro.plist +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/templates/launchd/com.voicemode.livekit.plist +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/templates/launchd/com.voicemode.whisper.plist +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/templates/launchd/start-kokoro-with-health-check.sh +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/templates/launchd/start-whisper-with-health-check.sh +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/templates/systemd/voicemode-frontend.service +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/templates/systemd/voicemode-kokoro.service +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/templates/systemd/voicemode-livekit.service +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/templates/systemd/voicemode-whisper.service +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/tools/__init__.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/tools/configuration_management.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/tools/dependencies.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/tools/devices.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/tools/diagnostics.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/tools/providers.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/tools/services/kokoro/uninstall.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/tools/services/list_versions.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/tools/services/livekit/__init__.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/tools/services/livekit/frontend.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/tools/services/livekit/production_server.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/tools/services/livekit/uninstall.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/tools/services/version_info.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/tools/services/whisper/__init__.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/tools/services/whisper/install.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/tools/services/whisper/list_models.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/tools/services/whisper/model_active.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/tools/services/whisper/model_benchmark.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/tools/services/whisper/model_install.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/tools/services/whisper/model_remove.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/tools/services/whisper/models.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/tools/services/whisper/uninstall.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/tools/statistics.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/tools/voice_registry.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/utils/__init__.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/utils/audio_diagnostics.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/utils/event_logger.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/utils/ffmpeg_check.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/utils/format_migration.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/utils/gpu_detection.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/utils/migration_helpers.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/utils/services/common.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/utils/services/kokoro_helpers.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/utils/services/livekit_helpers.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/utils/services/whisper_helpers.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/utils/services/whisper_version.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/utils/version_helpers.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/version.py +0 -0
- {voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/voice_preferences.py +0 -0
@@ -7,14 +7,36 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
7
7
|
|
8
8
|
## [Unreleased]
|
9
9
|
|
10
|
+
## [2.28.3] - 2025-08-24
|
11
|
+
|
12
|
+
### Fixed
|
13
|
+
- **Parameter type handling for MCP tools**
|
14
|
+
- Fixed vad_aggressiveness parameter to accept string values from LLMs
|
15
|
+
- Fixed port parameters in kokoro_install and livekit_install
|
16
|
+
- Fixed lines parameter in service management tool
|
17
|
+
- All numeric parameters now properly convert strings to integers
|
18
|
+
- Addresses systemic issue where Claude Code MCP client passes strings
|
19
|
+
|
20
|
+
- **Installer script uvx command corrections**
|
21
|
+
- Fixed MCP configuration to use correct command `uvx voice-mode` (without --refresh)
|
22
|
+
- Installer now always refreshes to latest version at start
|
23
|
+
- Removed unnecessary --refresh flags from runtime commands
|
24
|
+
- Updated user-facing command examples to show correct usage
|
25
|
+
|
10
26
|
## [2.28.2] - 2025-08-24
|
11
27
|
|
28
|
+
### Added
|
29
|
+
- **Configurable audio feedback pip delays**
|
30
|
+
- Added VOICEMODE_PIP_LEADING_SILENCE and VOICEMODE_PIP_TRAILING_SILENCE environment variables
|
31
|
+
- Allows customization of silence before and after audio feedback chimes
|
32
|
+
- Configurable via converse tool parameters pip_leading_silence and pip_trailing_silence
|
33
|
+
- Helps prevent audio cutoff on Bluetooth devices and other audio systems with delay
|
34
|
+
|
12
35
|
### Fixed
|
13
|
-
- **
|
14
|
-
-
|
15
|
-
-
|
16
|
-
-
|
17
|
-
- Improves overall speech detection accuracy
|
36
|
+
- **Audio feedback for Bluetooth devices**
|
37
|
+
- Added silence buffer before chimes to prevent Bluetooth audio cutoff
|
38
|
+
- Improved compatibility with devices that have audio activation delay
|
39
|
+
- Better audio feedback experience across different output devices
|
18
40
|
|
19
41
|
## [2.28.1] - 2025-08-24
|
20
42
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: voice-mode
|
3
|
-
Version: 2.28.
|
3
|
+
Version: 2.28.3
|
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
|
@@ -1323,7 +1323,7 @@ async def converse(
|
|
1323
1323
|
audio_format: Optional[str] = None,
|
1324
1324
|
disable_silence_detection: Union[bool, str] = False,
|
1325
1325
|
speed: Optional[float] = None,
|
1326
|
-
vad_aggressiveness: Optional[int] = None,
|
1326
|
+
vad_aggressiveness: Optional[Union[int, str]] = None,
|
1327
1327
|
skip_tts: Optional[Union[bool, str]] = None,
|
1328
1328
|
pip_leading_silence: Optional[float] = None,
|
1329
1329
|
pip_trailing_silence: Optional[float] = None
|
@@ -1495,6 +1495,15 @@ async def converse(
|
|
1495
1495
|
if skip_tts is not None and isinstance(skip_tts, str):
|
1496
1496
|
skip_tts = skip_tts.lower() in ('true', '1', 'yes', 'on')
|
1497
1497
|
|
1498
|
+
# Convert vad_aggressiveness to integer if provided as string
|
1499
|
+
if vad_aggressiveness is not None and isinstance(vad_aggressiveness, str):
|
1500
|
+
try:
|
1501
|
+
vad_aggressiveness = int(vad_aggressiveness)
|
1502
|
+
# Validation will happen later in the function
|
1503
|
+
except ValueError:
|
1504
|
+
logger.warning(f"Invalid VAD aggressiveness value '{vad_aggressiveness}', using default")
|
1505
|
+
vad_aggressiveness = None
|
1506
|
+
|
1498
1507
|
# Determine whether to skip TTS
|
1499
1508
|
if skip_tts is not None:
|
1500
1509
|
# Parameter explicitly set, use it
|
@@ -8,7 +8,7 @@ import platform
|
|
8
8
|
import subprocess
|
9
9
|
import time
|
10
10
|
from pathlib import Path
|
11
|
-
from typing import Literal, Optional, Dict, Any
|
11
|
+
from typing import Literal, Optional, Dict, Any, Union
|
12
12
|
|
13
13
|
import psutil
|
14
14
|
|
@@ -980,7 +980,7 @@ async def view_logs(service_name: str, lines: Optional[int] = None) -> str:
|
|
980
980
|
async def service(
|
981
981
|
service_name: Literal["whisper", "kokoro", "livekit", "frontend"],
|
982
982
|
action: Literal["status", "start", "stop", "restart", "enable", "disable", "logs", "update-service-files"] = "status",
|
983
|
-
lines: Optional[int] = None
|
983
|
+
lines: Optional[Union[int, str]] = None
|
984
984
|
) -> str:
|
985
985
|
"""Unified service management tool for voice mode services.
|
986
986
|
|
@@ -1007,6 +1007,14 @@ async def service(
|
|
1007
1007
|
service("kokoro", "start") # Start Kokoro service
|
1008
1008
|
service("whisper", "logs", 100) # View last 100 lines of Whisper logs
|
1009
1009
|
"""
|
1010
|
+
# Convert lines to integer if provided as string
|
1011
|
+
if lines is not None and isinstance(lines, str):
|
1012
|
+
try:
|
1013
|
+
lines = int(lines)
|
1014
|
+
except ValueError:
|
1015
|
+
logger.warning(f"Invalid lines value '{lines}', using default 50")
|
1016
|
+
lines = 50
|
1017
|
+
|
1010
1018
|
# Route to appropriate handler
|
1011
1019
|
if action == "status":
|
1012
1020
|
return await status_service(service_name)
|
@@ -26,7 +26,7 @@ logger = logging.getLogger("voice-mode")
|
|
26
26
|
async def kokoro_install(
|
27
27
|
install_dir: Optional[str] = None,
|
28
28
|
models_dir: Optional[str] = None,
|
29
|
-
port: int = 8880,
|
29
|
+
port: Union[int, str] = 8880,
|
30
30
|
auto_start: Union[bool, str] = True,
|
31
31
|
install_models: Union[bool, str] = True,
|
32
32
|
force_reinstall: Union[bool, str] = False,
|
@@ -54,6 +54,14 @@ async def kokoro_install(
|
|
54
54
|
Installation status with service configuration details
|
55
55
|
"""
|
56
56
|
try:
|
57
|
+
# Convert port to integer if provided as string
|
58
|
+
if isinstance(port, str):
|
59
|
+
try:
|
60
|
+
port = int(port)
|
61
|
+
except ValueError:
|
62
|
+
logger.warning(f"Invalid port value '{port}', using default 8880")
|
63
|
+
port = 8880
|
64
|
+
|
57
65
|
# Check for and migrate old installations
|
58
66
|
migration_msg = auto_migrate_if_needed("kokoro")
|
59
67
|
|
@@ -124,7 +124,7 @@ room:
|
|
124
124
|
@mcp.tool()
|
125
125
|
async def livekit_install(
|
126
126
|
install_dir: Optional[str] = None,
|
127
|
-
port: int = 7880,
|
127
|
+
port: Union[int, str] = 7880,
|
128
128
|
force_reinstall: Union[bool, str] = False,
|
129
129
|
auto_enable: Optional[Union[bool, str]] = None,
|
130
130
|
version: str = "latest"
|
@@ -159,6 +159,14 @@ async def livekit_install(
|
|
159
159
|
# Check system
|
160
160
|
system = platform.system()
|
161
161
|
|
162
|
+
# Convert port to integer if provided as string
|
163
|
+
if isinstance(port, str):
|
164
|
+
try:
|
165
|
+
port = int(port)
|
166
|
+
except ValueError:
|
167
|
+
logger.warning(f"Invalid port value '{port}', using default 7880")
|
168
|
+
port = 7880
|
169
|
+
|
162
170
|
# Handle string boolean conversions
|
163
171
|
if isinstance(force_reinstall, str):
|
164
172
|
force_reinstall = force_reinstall.lower() in ("true", "1", "yes", "on")
|
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.28.2 → voice_mode-2.28.3}/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.28.2 → voice_mode-2.28.3}/voice_mode/frontend/components/NoAgentNotification.tsx
RENAMED
File without changes
|
{voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/frontend/components/TranscriptionView.tsx
RENAMED
File without changes
|
{voice_mode-2.28.2 → voice_mode-2.28.3}/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
|
{voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/templates/launchd/com.voicemode.frontend.plist
RENAMED
File without changes
|
{voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/templates/launchd/com.voicemode.kokoro.plist
RENAMED
File without changes
|
{voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/templates/launchd/com.voicemode.livekit.plist
RENAMED
File without changes
|
{voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/templates/launchd/com.voicemode.whisper.plist
RENAMED
File without changes
|
File without changes
|
File without changes
|
{voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/templates/systemd/voicemode-frontend.service
RENAMED
File without changes
|
{voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/templates/systemd/voicemode-kokoro.service
RENAMED
File without changes
|
{voice_mode-2.28.2 → voice_mode-2.28.3}/voice_mode/templates/systemd/voicemode-livekit.service
RENAMED
File without changes
|
{voice_mode-2.28.2 → voice_mode-2.28.3}/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
|
{voice_mode-2.28.2 → voice_mode-2.28.3}/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.28.2 → voice_mode-2.28.3}/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
|