voicesmith-mcp 1.0.2 → 1.0.3
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.
- package/package.json +1 -1
- package/server.py +21 -4
package/package.json
CHANGED
package/server.py
CHANGED
|
@@ -206,7 +206,8 @@ class _VoiceHTTPHandler(BaseHTTPRequestHandler):
|
|
|
206
206
|
self._json_response(400, {"error": "invalid_json"})
|
|
207
207
|
return
|
|
208
208
|
|
|
209
|
-
|
|
209
|
+
default_name = _config.main_agent if _config else "Eric"
|
|
210
|
+
name = params.get("name", _session_info.get("name", default_name) if _session_info else default_name)
|
|
210
211
|
text = params.get("text", "")
|
|
211
212
|
speed = params.get("speed", 1.0)
|
|
212
213
|
|
|
@@ -806,12 +807,28 @@ def main():
|
|
|
806
807
|
|
|
807
808
|
|
|
808
809
|
def _start_preheat_intro():
|
|
809
|
-
"""Speak a brief intro after server starts. Preheats TTS engine.
|
|
810
|
+
"""Speak a brief intro after server starts. Preheats TTS engine.
|
|
811
|
+
|
|
812
|
+
Only speaks if this session got its preferred name. If the preferred name
|
|
813
|
+
was taken (e.g., during a session resume where the old server is still
|
|
814
|
+
running), skip the intro to avoid confusing double introductions.
|
|
815
|
+
"""
|
|
810
816
|
if _tts_engine is None or _audio_player is None:
|
|
811
817
|
return
|
|
812
818
|
|
|
813
|
-
|
|
814
|
-
|
|
819
|
+
default_name = _config.main_agent if _config else "Eric"
|
|
820
|
+
default_voice = _config.tts.default_voice if _config else "am_eric"
|
|
821
|
+
|
|
822
|
+
name = _session_info.get("name", default_name) if _session_info else default_name
|
|
823
|
+
voice = _session_info.get("voice", default_voice) if _session_info else default_voice
|
|
824
|
+
|
|
825
|
+
# Determine what name we wanted
|
|
826
|
+
preferred = (_config.last_voice_name or default_name) if _config else default_name
|
|
827
|
+
|
|
828
|
+
# Skip intro if we didn't get our preferred name — another session has it
|
|
829
|
+
if name != preferred:
|
|
830
|
+
logger.info(f"Skipping preheat intro: wanted '{preferred}' but got '{name}'")
|
|
831
|
+
return
|
|
815
832
|
|
|
816
833
|
def _intro():
|
|
817
834
|
# Wait for server to settle
|