From 3eb39ebef250d415c24bb3e67c3e4aafa02a4b38 Mon Sep 17 00:00:00 2001 From: Sakura-RanChen <1908198662@qq.com> Date: Mon, 11 Aug 2025 17:38:17 +0800 Subject: [PATCH 1/3] update: huoshanTTS add config --- .../main/resources/db/changelog/202508111733.sql | 4 ++++ .../resources/db/changelog/db.changelog-master.yaml | 7 +++++++ main/xiaozhi-server/config.yaml | 3 +++ .../core/providers/tts/huoshan_double_stream.py | 13 +++++++++++++ 4 files changed, 27 insertions(+) create mode 100644 main/manager-api/src/main/resources/db/changelog/202508111733.sql diff --git a/main/manager-api/src/main/resources/db/changelog/202508111733.sql b/main/manager-api/src/main/resources/db/changelog/202508111733.sql new file mode 100644 index 00000000..c4c52b02 --- /dev/null +++ b/main/manager-api/src/main/resources/db/changelog/202508111733.sql @@ -0,0 +1,4 @@ +-- 更新HuoshanDoubleStreamTTS供应器增加语速,音调等配置 +UPDATE `ai_model_provider` +SET fields = '[{"key": "ws_url", "type": "string", "label": "WebSocket地址"}, {"key": "appid", "type": "string", "label": "应用ID"}, {"key": "access_token", "type": "string", "label": "访问令牌"}, {"key": "resource_id", "type": "string", "label": "资源ID"}, {"key": "speaker", "type": "string", "label": "默认音色"}, {"key": "speech_rate", "type": "number", "label": "语速(-50~100)"}, {"key": "loudness_rate", "type": "number", "label": "音量(-50~100)"}, {"key": "pitch", "type": "number", "label": "音高(-12~12)"}]' +WHERE id = 'SYSTEM_TTS_HSDSTTS'; \ No newline at end of file diff --git a/main/manager-api/src/main/resources/db/changelog/db.changelog-master.yaml b/main/manager-api/src/main/resources/db/changelog/db.changelog-master.yaml index c36272eb..b477e02f 100755 --- a/main/manager-api/src/main/resources/db/changelog/db.changelog-master.yaml +++ b/main/manager-api/src/main/resources/db/changelog/db.changelog-master.yaml @@ -289,3 +289,10 @@ databaseChangeLog: - sqlFile: encoding: utf8 path: classpath:db/changelog/202508081701.sql + - changeSet: + id: 202508111733 + author: RanChen + changes: + - sqlFile: + encoding: utf8 + path: classpath:db/changelog/202508111733.sql diff --git a/main/xiaozhi-server/config.yaml b/main/xiaozhi-server/config.yaml index 8e9e77cd..ab662798 100644 --- a/main/xiaozhi-server/config.yaml +++ b/main/xiaozhi-server/config.yaml @@ -586,6 +586,9 @@ TTS: access_token: 你的火山引擎语音合成服务access_token resource_id: volc.service_type.10029 speaker: zh_female_wanwanxiaohe_moon_bigtts + speech_rate: 0 + loudness_rate: 0 + pitch: 0 CosyVoiceSiliconflow: type: siliconflow # 硅基流动TTS diff --git a/main/xiaozhi-server/core/providers/tts/huoshan_double_stream.py b/main/xiaozhi-server/core/providers/tts/huoshan_double_stream.py index ea7f18fd..33e2750d 100644 --- a/main/xiaozhi-server/core/providers/tts/huoshan_double_stream.py +++ b/main/xiaozhi-server/core/providers/tts/huoshan_double_stream.py @@ -152,6 +152,12 @@ class TTSProvider(TTSProviderBase): self.voice = config.get("private_voice") else: self.voice = config.get("speaker") + speech_rate = config.get("speech_rate", "0") + loudness_rate = config.get("loudness_rate", "0") + pitch = config.get("pitch", "0") + self.speech_rate = int(speech_rate) if speech_rate else 0 + self.loudness_rate = int(loudness_rate) if loudness_rate else 0 + self.pitch = int(pitch) if pitch else 0 self.ws_url = config.get("ws_url") self.authorization = config.get("authorization") self.header = {"Authorization": f"{self.authorization}{self.access_token}"} @@ -636,8 +642,15 @@ class TTSProvider(TTSProviderBase): "audio_params": { "format": audio_format, "sample_rate": audio_sample_rate, + "speech_rate": self.speech_rate, + "loudness_rate": self.loudness_rate }, }, + "additions": { + "post_process": { + "pitch": self.pitch + } + } } ) ) From 210bda15b87e94f60c9ca7a5ffbf7cadbbb43be4 Mon Sep 17 00:00:00 2001 From: hrz <1710360675@qq.com> Date: Mon, 11 Aug 2025 21:24:43 +0800 Subject: [PATCH 2/3] =?UTF-8?q?update:=E6=9B=B4=E6=96=B0=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/xiaozhi/common/constant/Constant.java | 2 +- main/xiaozhi-server/config/logger.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/main/manager-api/src/main/java/xiaozhi/common/constant/Constant.java b/main/manager-api/src/main/java/xiaozhi/common/constant/Constant.java index b43099c8..30679cb4 100644 --- a/main/manager-api/src/main/java/xiaozhi/common/constant/Constant.java +++ b/main/manager-api/src/main/java/xiaozhi/common/constant/Constant.java @@ -237,7 +237,7 @@ public interface Constant { /** * 版本号 */ - public static final String VERSION = "0.7.3"; + public static final String VERSION = "0.7.4"; /** * 无效固件URL diff --git a/main/xiaozhi-server/config/logger.py b/main/xiaozhi-server/config/logger.py index 95577e7e..d9fc6c87 100644 --- a/main/xiaozhi-server/config/logger.py +++ b/main/xiaozhi-server/config/logger.py @@ -5,7 +5,7 @@ from config.config_loader import load_config from config.settings import check_config_file from datetime import datetime -SERVER_VERSION = "0.7.3" +SERVER_VERSION = "0.7.4" _logger_initialized = False From 733b36b86998982ba9f62ee730f88f071ee6b46f Mon Sep 17 00:00:00 2001 From: hrz <1710360675@qq.com> Date: Mon, 11 Aug 2025 21:45:32 +0800 Subject: [PATCH 3/3] =?UTF-8?q?update=EF=BC=9A=E8=A1=A5=E5=85=85=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/db/changelog/202508111733.sql | 4 ---- .../main/resources/db/changelog/202508111734.sql | 16 ++++++++++++++++ .../db/changelog/db.changelog-master.yaml | 4 ++-- 3 files changed, 18 insertions(+), 6 deletions(-) delete mode 100644 main/manager-api/src/main/resources/db/changelog/202508111733.sql create mode 100644 main/manager-api/src/main/resources/db/changelog/202508111734.sql diff --git a/main/manager-api/src/main/resources/db/changelog/202508111733.sql b/main/manager-api/src/main/resources/db/changelog/202508111733.sql deleted file mode 100644 index c4c52b02..00000000 --- a/main/manager-api/src/main/resources/db/changelog/202508111733.sql +++ /dev/null @@ -1,4 +0,0 @@ --- 更新HuoshanDoubleStreamTTS供应器增加语速,音调等配置 -UPDATE `ai_model_provider` -SET fields = '[{"key": "ws_url", "type": "string", "label": "WebSocket地址"}, {"key": "appid", "type": "string", "label": "应用ID"}, {"key": "access_token", "type": "string", "label": "访问令牌"}, {"key": "resource_id", "type": "string", "label": "资源ID"}, {"key": "speaker", "type": "string", "label": "默认音色"}, {"key": "speech_rate", "type": "number", "label": "语速(-50~100)"}, {"key": "loudness_rate", "type": "number", "label": "音量(-50~100)"}, {"key": "pitch", "type": "number", "label": "音高(-12~12)"}]' -WHERE id = 'SYSTEM_TTS_HSDSTTS'; \ No newline at end of file diff --git a/main/manager-api/src/main/resources/db/changelog/202508111734.sql b/main/manager-api/src/main/resources/db/changelog/202508111734.sql new file mode 100644 index 00000000..fb3162b1 --- /dev/null +++ b/main/manager-api/src/main/resources/db/changelog/202508111734.sql @@ -0,0 +1,16 @@ +-- 更新HuoshanDoubleStreamTTS供应器增加语速,音调等配置 +UPDATE `ai_model_provider` +SET fields = '[{"key": "ws_url", "type": "string", "label": "WebSocket地址"}, {"key": "appid", "type": "string", "label": "应用ID"}, {"key": "access_token", "type": "string", "label": "访问令牌"}, {"key": "resource_id", "type": "string", "label": "资源ID"}, {"key": "speaker", "type": "string", "label": "默认音色"}, {"key": "speech_rate", "type": "number", "label": "语速(-50~100)"}, {"key": "loudness_rate", "type": "number", "label": "音量(-50~100)"}, {"key": "pitch", "type": "number", "label": "音高(-12~12)"}]' +WHERE id = 'SYSTEM_TTS_HSDSTTS'; + +UPDATE `ai_model_config` SET +`doc_link` = 'https://console.volcengine.com/speech/service/10007', +`remark` = '火山引擎语音合成服务配置说明: +1. 访问 https://www.volcengine.com/ 注册并开通火山引擎账号 +2. 访问 https://console.volcengine.com/speech/service/10007 开通语音合成大模型,购买音色 +3. 在页面底部获取appid和access_token +5. 资源ID固定为:volc.service_type.10029(大模型语音合成及混音) +6. 语速:-50~100,可不填,正常默认值0,可填-50~100 +7. 音量:-50~100,可不填,正常默认值0,可填-50~100 +8. 音高:-12~12,可不填,正常默认值0,可填-12~12 +9. 填入配置文件中' WHERE `id` = 'TTS_HuoshanDoubleStreamTTS'; \ No newline at end of file diff --git a/main/manager-api/src/main/resources/db/changelog/db.changelog-master.yaml b/main/manager-api/src/main/resources/db/changelog/db.changelog-master.yaml index b477e02f..cd4b26cf 100755 --- a/main/manager-api/src/main/resources/db/changelog/db.changelog-master.yaml +++ b/main/manager-api/src/main/resources/db/changelog/db.changelog-master.yaml @@ -290,9 +290,9 @@ databaseChangeLog: encoding: utf8 path: classpath:db/changelog/202508081701.sql - changeSet: - id: 202508111733 + id: 202508111734 author: RanChen changes: - sqlFile: encoding: utf8 - path: classpath:db/changelog/202508111733.sql + path: classpath:db/changelog/202508111734.sql