update: 增加TTS音色语种选择

This commit is contained in:
Sakura-RanChen
2026-02-09 15:28:31 +08:00
parent 520e24a54e
commit 4ea3bea85c
21 changed files with 220 additions and 61 deletions
-1
View File
@@ -134,7 +134,6 @@ class ConnectionHandler:
self.asr_audio = []
self.asr_audio_queue = queue.Queue()
self.current_speaker = None # 存储当前说话人
self.current_language_tag = None # 存储当前ASR识别的语言标签
# llm相关变量
self.dialogue = Dialogue()
@@ -67,11 +67,6 @@ async def startToChat(conn: "ConnectionHandler", text):
conn.current_speaker = speaker_name
else:
conn.current_speaker = None
# 保存语种信息到连接对象
if language_tag:
conn.current_language_tag = language_tag
else:
conn.current_language_tag = "zh"
if conn.need_bind:
await check_bind_device(conn)
@@ -251,6 +251,15 @@ class PromptManager:
or ""
)
# 获取TTS选择的语言,默认值为中文
language = (
self.config.get("TTS", {})
.get(self.config.get("selected_module", {}).get("TTS", ""), {})
.get("language")
or "中文"
)
self.logger.bind(tag=TAG).debug(f"获取到选择的语言: {language}")
# 替换模板变量
template = Template(self.base_prompt_template)
enhanced_prompt = template.render(
@@ -265,6 +274,7 @@ class PromptManager:
device_id=device_id,
client_ip=client_ip,
dynamic_context=self.context_data,
language=language,
*args,
**kwargs,
)