diff --git a/astrbot/core/config/default.py b/astrbot/core/config/default.py index d81662adf..f10678bf7 100644 --- a/astrbot/core/config/default.py +++ b/astrbot/core/config/default.py @@ -1286,7 +1286,7 @@ class ChatProviderTemplate(TypedDict): "minimax-is-timber-weight": False, "minimax-voice-id": "female-shaonv", "minimax-timber-weight": '[\n {\n "voice_id": "Chinese (Mandarin)_Warm_Girl",\n "weight": 25\n },\n {\n "voice_id": "Chinese (Mandarin)_BashfulGirl",\n "weight": 50\n }\n]', - "minimax-voice-emotion": "neutral", + "minimax-voice-emotion": "auto", "minimax-voice-latex": False, "minimax-voice-english-normalization": False, "timeout": 20, @@ -1858,15 +1858,18 @@ class ChatProviderTemplate(TypedDict): "minimax-voice-emotion": { "type": "string", "description": "情绪", - "hint": "控制合成语音的情绪", + "hint": "控制合成语音的情绪。当为 auto 时,将根据文本内容自动选择情绪。", "options": [ + "auto", "happy", "sad", "angry", "fearful", "disgusted", "surprised", - "neutral", + "calm", + "fluent", + "whisper", ], }, "minimax-voice-latex": { diff --git a/astrbot/core/provider/sources/minimax_tts_api_source.py b/astrbot/core/provider/sources/minimax_tts_api_source.py index 9e2d665c7..dcd29060e 100644 --- a/astrbot/core/provider/sources/minimax_tts_api_source.py +++ b/astrbot/core/provider/sources/minimax_tts_api_source.py @@ -51,7 +51,7 @@ def __init__( "voice_id": "" if self.is_timber_weight else provider_config.get("minimax-voice-id", ""), - "emotion": provider_config.get("minimax-voice-emotion", "neutral"), + "emotion": provider_config.get("minimax-voice-emotion", "auto"), "latex_read": provider_config.get("minimax-voice-latex", False), "english_normalization": provider_config.get( "minimax-voice-english-normalization", @@ -59,6 +59,9 @@ def __init__( ), } + if self.voice_setting["emotion"] == "auto": + self.voice_setting.pop("emotion", None) + self.audio_setting: dict = { "sample_rate": 32000, "bitrate": 128000,