diff --git a/astrbot/core/config/default.py b/astrbot/core/config/default.py index f299f5db1..3ae0568ae 100644 --- a/astrbot/core/config/default.py +++ b/astrbot/core/config/default.py @@ -1191,7 +1191,11 @@ CONFIG_METADATA_2 = { "type": "genie_tts", "provider_type": "text_to_speech", "enable": False, - "character_name": "mika", + "genie_character_name": "mika", + "genie_onnx_model_dir": "CharacterModels/v2ProPlus/mika/tts_models", + "genie_language": "Japanese", + "genie_refer_audio_path": "", + "genie_refer_text": "", "timeout": 20, }, "Edge TTS": { @@ -1410,6 +1414,16 @@ CONFIG_METADATA_2 = { }, }, "items": { + "genie_onnx_model_dir": { + "description": "ONNX Model Directory", + "type": "string", + "hint": "The directory path containing the ONNX model files", + }, + "genie_language": { + "description": "Language", + "type": "string", + "options": ["Japanese", "English", "Chinese"], + }, "provider_source_id": { "invisible": True, "type": "string", diff --git a/astrbot/core/provider/sources/genie_tts.py b/astrbot/core/provider/sources/genie_tts.py index 0fd6d5b99..36436919c 100644 --- a/astrbot/core/provider/sources/genie_tts.py +++ b/astrbot/core/provider/sources/genie_tts.py @@ -29,10 +29,24 @@ class GenieTTSProvider(TTSProvider): if not genie: raise ImportError("Please install genie_tts first.") - self.character_name = provider_config.get("character_name", "mika") + self.character_name = provider_config.get("genie_character_name", "mika") + language = provider_config.get("genie_language", "Japanese") + model_dir = provider_config.get("genie_onnx_model_dir", "") + refer_audio_path = provider_config.get("genie_refer_audio_path", "") + refer_text = provider_config.get("genie_refer_text", "") try: - genie.load_predefined_character(self.character_name) + genie.load_character( + character_name=self.character_name, + language=language, + onnx_model_dir=model_dir, + ) + genie.set_reference_audio( + character_name=self.character_name, + audio_path=refer_audio_path, + audio_text=refer_text, + language=language, + ) except Exception as e: raise RuntimeError(f"Failed to load character {self.character_name}: {e}")