voice-mode 2.25.1__tar.gz → 2.26.0__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.25.1 → voice_mode-2.26.0}/.gitignore +3 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/CHANGELOG.md +13 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/PKG-INFO +1 -1
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/__version__.py +1 -1
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/cli.py +162 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/README.md +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/build_hooks.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/pyproject.toml +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/__init__.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/__main__.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/cli_commands/__init__.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/cli_commands/exchanges.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/config.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/conversation_logger.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/core.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/data/versions.json +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/exchanges/__init__.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/exchanges/conversations.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/exchanges/filters.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/exchanges/formatters.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/exchanges/models.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/exchanges/reader.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/exchanges/stats.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/frontend/README.md +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/frontend/app/api/connection-details/route.ts +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/frontend/app/favicon.ico +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/frontend/app/globals.css +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/frontend/app/layout.tsx +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/frontend/app/page.tsx +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/frontend/components/CloseIcon.tsx +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/frontend/components/NoAgentNotification.tsx +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/frontend/components/TranscriptionView.tsx +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/frontend/hooks/useCombinedTranscriptions.ts +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/frontend/hooks/useLocalMicTrack.ts +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/frontend/next-env.d.ts +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/frontend/next.config.mjs +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/frontend/package-lock.json +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/frontend/package.json +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/frontend/pnpm-lock.yaml +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/frontend/postcss.config.mjs +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/frontend/tailwind.config.ts +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/frontend/tsconfig.json +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/prompts/README.md +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/prompts/__init__.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/prompts/converse.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/prompts/release_notes.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/prompts/services.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/provider_discovery.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/providers.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/resources/__init__.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/resources/audio_files.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/resources/changelog.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/resources/configuration.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/resources/statistics.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/resources/version.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/resources/whisper_models.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/server.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/shared.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/simple_failover.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/statistics.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/streaming.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/templates/launchd/com.voicemode.frontend.plist +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/templates/launchd/com.voicemode.kokoro.plist +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/templates/launchd/com.voicemode.livekit.plist +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/templates/launchd/com.voicemode.whisper.plist +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/templates/launchd/start-kokoro-with-health-check.sh +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/templates/launchd/start-whisper-with-health-check.sh +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/templates/systemd/voicemode-frontend.service +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/templates/systemd/voicemode-kokoro.service +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/templates/systemd/voicemode-livekit.service +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/templates/systemd/voicemode-whisper.service +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/tools/__init__.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/tools/configuration_management.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/tools/converse.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/tools/dependencies.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/tools/devices.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/tools/diagnostics.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/tools/providers.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/tools/service.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/tools/services/kokoro/install.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/tools/services/kokoro/uninstall.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/tools/services/list_versions.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/tools/services/livekit/__init__.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/tools/services/livekit/frontend.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/tools/services/livekit/install.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/tools/services/livekit/production_server.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/tools/services/livekit/uninstall.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/tools/services/version_info.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/tools/services/whisper/download_model.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/tools/services/whisper/install.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/tools/services/whisper/uninstall.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/tools/statistics.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/tools/voice_registry.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/utils/__init__.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/utils/audio_diagnostics.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/utils/event_logger.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/utils/ffmpeg_check.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/utils/format_migration.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/utils/gpu_detection.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/utils/migration_helpers.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/utils/services/common.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/utils/services/kokoro_helpers.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/utils/services/livekit_helpers.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/utils/services/whisper_helpers.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/utils/version_helpers.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/version.py +0 -0
- {voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/voice_preferences.py +0 -0
@@ -7,6 +7,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
7
7
|
|
8
8
|
## [Unreleased]
|
9
9
|
|
10
|
+
## [2.26.0] - 2025-08-18
|
11
|
+
|
12
|
+
### Added
|
13
|
+
- **CLI converse command** - Direct voice conversations from the command line
|
14
|
+
- New `voice-mode converse` command for testing voice interactions
|
15
|
+
- Supports all MCP tool options (voice, speed, audio format, etc.)
|
16
|
+
- Continuous conversation mode with `--continuous` flag
|
17
|
+
- Useful for testing TTS/STT services without MCP client
|
18
|
+
- Full control over voice parameters and silence detection
|
19
|
+
|
20
|
+
### Changed
|
21
|
+
- **Gitignore update** - Added `*.prof` files to gitignore for profiling output
|
22
|
+
|
10
23
|
## [2.25.1] - 2025-08-18
|
11
24
|
|
12
25
|
### Fixed
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: voice-mode
|
3
|
-
Version: 2.
|
3
|
+
Version: 2.26.0
|
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
|
@@ -994,3 +994,165 @@ cli.add_command(exchanges_cmd.exchanges)
|
|
994
994
|
voice_mode_main_cli.add_command(exchanges_cmd.exchanges)
|
995
995
|
|
996
996
|
|
997
|
+
# Converse command - direct voice conversation from CLI
|
998
|
+
@voice_mode_main_cli.command()
|
999
|
+
@click.option('--message', '-m', default="Hello! How can I help you today?", help='Initial message to speak')
|
1000
|
+
@click.option('--wait/--no-wait', default=True, help='Wait for response after speaking')
|
1001
|
+
@click.option('--duration', '-d', type=float, default=30.0, help='Listen duration in seconds')
|
1002
|
+
@click.option('--min-duration', type=float, default=2.0, help='Minimum listen duration before silence detection')
|
1003
|
+
@click.option('--transport', type=click.Choice(['auto', 'local', 'livekit']), default='auto', help='Transport method')
|
1004
|
+
@click.option('--room-name', default='', help='LiveKit room name (for livekit transport)')
|
1005
|
+
@click.option('--voice', help='TTS voice to use (e.g., nova, shimmer, af_sky)')
|
1006
|
+
@click.option('--tts-provider', type=click.Choice(['openai', 'kokoro']), help='TTS provider')
|
1007
|
+
@click.option('--tts-model', help='TTS model (e.g., tts-1, tts-1-hd)')
|
1008
|
+
@click.option('--tts-instructions', help='Tone/style instructions for gpt-4o-mini-tts')
|
1009
|
+
@click.option('--audio-feedback/--no-audio-feedback', default=None, help='Enable/disable audio feedback')
|
1010
|
+
@click.option('--audio-format', help='Audio format (pcm, mp3, wav, flac, aac, opus)')
|
1011
|
+
@click.option('--disable-silence-detection', is_flag=True, help='Disable silence detection')
|
1012
|
+
@click.option('--speed', type=float, help='Speech rate (0.25 to 4.0)')
|
1013
|
+
@click.option('--vad-aggressiveness', type=int, help='VAD aggressiveness (0-3)')
|
1014
|
+
@click.option('--skip-tts/--no-skip-tts', default=None, help='Skip TTS and only show text')
|
1015
|
+
@click.option('--continuous', '-c', is_flag=True, help='Continuous conversation mode')
|
1016
|
+
def converse(message, wait, duration, min_duration, transport, room_name, voice, tts_provider,
|
1017
|
+
tts_model, tts_instructions, audio_feedback, audio_format, disable_silence_detection,
|
1018
|
+
speed, vad_aggressiveness, skip_tts, continuous):
|
1019
|
+
"""Have a voice conversation directly from the command line.
|
1020
|
+
|
1021
|
+
Examples:
|
1022
|
+
|
1023
|
+
# Simple conversation
|
1024
|
+
voice-mode converse
|
1025
|
+
|
1026
|
+
# Speak a message without waiting
|
1027
|
+
voice-mode converse -m "Hello there!" --no-wait
|
1028
|
+
|
1029
|
+
# Continuous conversation mode
|
1030
|
+
voice-mode converse --continuous
|
1031
|
+
|
1032
|
+
# Use specific voice
|
1033
|
+
voice-mode converse --voice nova
|
1034
|
+
"""
|
1035
|
+
from voice_mode.tools.converse import converse as converse_fn
|
1036
|
+
|
1037
|
+
async def run_conversation():
|
1038
|
+
"""Run the conversation asynchronously."""
|
1039
|
+
try:
|
1040
|
+
if continuous:
|
1041
|
+
# Continuous conversation mode
|
1042
|
+
click.echo("🎤 Starting continuous conversation mode...")
|
1043
|
+
click.echo(" Press Ctrl+C to exit\n")
|
1044
|
+
|
1045
|
+
# First message
|
1046
|
+
result = await converse_fn.fn(
|
1047
|
+
message=message,
|
1048
|
+
wait_for_response=True,
|
1049
|
+
listen_duration=duration,
|
1050
|
+
min_listen_duration=min_duration,
|
1051
|
+
transport=transport,
|
1052
|
+
room_name=room_name,
|
1053
|
+
voice=voice,
|
1054
|
+
tts_provider=tts_provider,
|
1055
|
+
tts_model=tts_model,
|
1056
|
+
tts_instructions=tts_instructions,
|
1057
|
+
audio_feedback=audio_feedback,
|
1058
|
+
audio_feedback_style=None,
|
1059
|
+
audio_format=audio_format,
|
1060
|
+
disable_silence_detection=disable_silence_detection,
|
1061
|
+
speed=speed,
|
1062
|
+
vad_aggressiveness=vad_aggressiveness,
|
1063
|
+
skip_tts=skip_tts
|
1064
|
+
)
|
1065
|
+
|
1066
|
+
if result and "Voice response:" in result:
|
1067
|
+
click.echo(f"You: {result.split('Voice response:')[1].split('|')[0].strip()}")
|
1068
|
+
|
1069
|
+
# Continue conversation
|
1070
|
+
while True:
|
1071
|
+
# Wait for user's next input
|
1072
|
+
result = await converse_fn.fn(
|
1073
|
+
message="", # Empty message for listening only
|
1074
|
+
wait_for_response=True,
|
1075
|
+
listen_duration=duration,
|
1076
|
+
min_listen_duration=min_duration,
|
1077
|
+
transport=transport,
|
1078
|
+
room_name=room_name,
|
1079
|
+
voice=voice,
|
1080
|
+
tts_provider=tts_provider,
|
1081
|
+
tts_model=tts_model,
|
1082
|
+
tts_instructions=tts_instructions,
|
1083
|
+
audio_feedback=audio_feedback,
|
1084
|
+
audio_feedback_style=None,
|
1085
|
+
audio_format=audio_format,
|
1086
|
+
disable_silence_detection=disable_silence_detection,
|
1087
|
+
speed=speed,
|
1088
|
+
vad_aggressiveness=vad_aggressiveness,
|
1089
|
+
skip_tts=skip_tts
|
1090
|
+
)
|
1091
|
+
|
1092
|
+
if result and "Voice response:" in result:
|
1093
|
+
user_text = result.split('Voice response:')[1].split('|')[0].strip()
|
1094
|
+
click.echo(f"You: {user_text}")
|
1095
|
+
|
1096
|
+
# Check for exit commands
|
1097
|
+
if user_text.lower() in ['exit', 'quit', 'goodbye', 'bye']:
|
1098
|
+
await converse_fn.fn(
|
1099
|
+
message="Goodbye!",
|
1100
|
+
wait_for_response=False,
|
1101
|
+
voice=voice,
|
1102
|
+
tts_provider=tts_provider,
|
1103
|
+
tts_model=tts_model,
|
1104
|
+
audio_format=audio_format,
|
1105
|
+
speed=speed,
|
1106
|
+
skip_tts=skip_tts
|
1107
|
+
)
|
1108
|
+
break
|
1109
|
+
else:
|
1110
|
+
# Single conversation
|
1111
|
+
result = await converse_fn.fn(
|
1112
|
+
message=message,
|
1113
|
+
wait_for_response=wait,
|
1114
|
+
listen_duration=duration,
|
1115
|
+
min_listen_duration=min_duration,
|
1116
|
+
transport=transport,
|
1117
|
+
room_name=room_name,
|
1118
|
+
voice=voice,
|
1119
|
+
tts_provider=tts_provider,
|
1120
|
+
tts_model=tts_model,
|
1121
|
+
tts_instructions=tts_instructions,
|
1122
|
+
audio_feedback=audio_feedback,
|
1123
|
+
audio_feedback_style=None,
|
1124
|
+
audio_format=audio_format,
|
1125
|
+
disable_silence_detection=disable_silence_detection,
|
1126
|
+
speed=speed,
|
1127
|
+
vad_aggressiveness=vad_aggressiveness,
|
1128
|
+
skip_tts=skip_tts
|
1129
|
+
)
|
1130
|
+
|
1131
|
+
# Display result
|
1132
|
+
if result:
|
1133
|
+
if "Voice response:" in result:
|
1134
|
+
# Extract the response text and timing info
|
1135
|
+
parts = result.split('|')
|
1136
|
+
response_text = result.split('Voice response:')[1].split('|')[0].strip()
|
1137
|
+
timing_info = parts[1].strip() if len(parts) > 1 else ""
|
1138
|
+
|
1139
|
+
click.echo(f"\n📢 Spoke: {message}")
|
1140
|
+
if wait:
|
1141
|
+
click.echo(f"🎤 Heard: {response_text}")
|
1142
|
+
if timing_info:
|
1143
|
+
click.echo(f"⏱️ {timing_info}")
|
1144
|
+
else:
|
1145
|
+
click.echo(result)
|
1146
|
+
|
1147
|
+
except KeyboardInterrupt:
|
1148
|
+
click.echo("\n\n👋 Conversation ended")
|
1149
|
+
except Exception as e:
|
1150
|
+
click.echo(f"❌ Error: {e}", err=True)
|
1151
|
+
import traceback
|
1152
|
+
if os.environ.get('VOICEMODE_DEBUG'):
|
1153
|
+
traceback.print_exc()
|
1154
|
+
|
1155
|
+
# Run the async function
|
1156
|
+
asyncio.run(run_conversation())
|
1157
|
+
|
1158
|
+
|
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.25.1 → voice_mode-2.26.0}/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.25.1 → voice_mode-2.26.0}/voice_mode/frontend/components/NoAgentNotification.tsx
RENAMED
File without changes
|
{voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/frontend/components/TranscriptionView.tsx
RENAMED
File without changes
|
{voice_mode-2.25.1 → voice_mode-2.26.0}/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.25.1 → voice_mode-2.26.0}/voice_mode/templates/launchd/com.voicemode.frontend.plist
RENAMED
File without changes
|
{voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/templates/launchd/com.voicemode.kokoro.plist
RENAMED
File without changes
|
{voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/templates/launchd/com.voicemode.livekit.plist
RENAMED
File without changes
|
{voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/templates/launchd/com.voicemode.whisper.plist
RENAMED
File without changes
|
File without changes
|
File without changes
|
{voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/templates/systemd/voicemode-frontend.service
RENAMED
File without changes
|
{voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/templates/systemd/voicemode-kokoro.service
RENAMED
File without changes
|
{voice_mode-2.25.1 → voice_mode-2.26.0}/voice_mode/templates/systemd/voicemode-livekit.service
RENAMED
File without changes
|
{voice_mode-2.25.1 → voice_mode-2.26.0}/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
|
File without changes
|
{voice_mode-2.25.1 → voice_mode-2.26.0}/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
|
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
|