diff --git a/main/xiaozhi-server/config.yaml b/main/xiaozhi-server/config.yaml index c0aa3f93..72365f62 100644 --- a/main/xiaozhi-server/config.yaml +++ b/main/xiaozhi-server/config.yaml @@ -141,6 +141,7 @@ plugins: # 声纹识别配置 voiceprint: + enable: false # 声纹接口地址 url: # 说话人配置:speaker_id,名称,描述 diff --git a/main/xiaozhi-server/core/connection.py b/main/xiaozhi-server/core/connection.py index 4b3b9d1c..6bbfbda9 100644 --- a/main/xiaozhi-server/core/connection.py +++ b/main/xiaozhi-server/core/connection.py @@ -430,12 +430,16 @@ class ConnectionHandler: def _initialize_voiceprint(self): """为当前连接初始化声纹识别""" try: - voiceprint_config = self.config.get("voiceprint", {}) - if voiceprint_config: - self.voiceprint_provider = VoiceprintProvider(voiceprint_config) - self.logger.bind(tag=TAG).info("声纹识别功能已在连接时动态启用") + voiceprint_enable = self.config.get("voiceprint", {}).get("enable", False) + if voiceprint_enable: + voiceprint_provider = VoiceprintProvider(self.config.get("voiceprint", {})) + if voiceprint_provider is not None and voiceprint_provider.enabled: + self.voiceprint_provider = voiceprint_provider + self.logger.bind(tag=TAG).info("声纹识别功能已在连接时动态启用") + else: + self.logger.bind(tag=TAG).warning("声纹识别功能启用但配置不完整") else: - self.logger.bind(tag=TAG).info("声纹识别功能未启用或配置不完整") + self.logger.bind(tag=TAG).info("声纹识别功能未启用") except Exception as e: self.logger.bind(tag=TAG).warning(f"声纹识别初始化失败: {str(e)}")