From c63c2068773839f725e2e39cb2c4a8271fcb8d14 Mon Sep 17 00:00:00 2001 From: wangxiangshun Date: Wed, 8 Oct 2025 19:21:30 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=AD=E9=9F=B3=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vetti/web/controller/ai/AiCommonController.java | 2 +- vetti-admin/src/main/resources/application-dev.yml | 2 +- vetti-admin/src/main/resources/application-druid.yml | 2 +- vetti-admin/target/classes/application-druid.yml | 2 +- .../vetti/common/ai/elevenLabs/ElevenLabsClient.java | 5 +++-- .../vetti/common/ai/elevenLabs/vo/VoiceSettings.java | 11 ++++++++++- 6 files changed, 17 insertions(+), 7 deletions(-) diff --git a/vetti-admin/src/main/java/com/vetti/web/controller/ai/AiCommonController.java b/vetti-admin/src/main/java/com/vetti/web/controller/ai/AiCommonController.java index baaff39..b2cf6b3 100644 --- a/vetti-admin/src/main/java/com/vetti/web/controller/ai/AiCommonController.java +++ b/vetti-admin/src/main/java/com/vetti/web/controller/ai/AiCommonController.java @@ -38,7 +38,7 @@ public class AiCommonController extends BaseController @GetMapping("/handleTextToVice") public AjaxResult handleTextToVice() { - elevenLabsClient.handleTextToVoice("我只是测试的文本转换成语音","/Users/wangxiangshun/Desktop/临时文件/output.mp3"); + elevenLabsClient.handleTextToVoice("我只是测试的文本转换成语音","/Users/wangxiangshun/Desktop/临时文件/output1112.mp3"); return success(); } diff --git a/vetti-admin/src/main/resources/application-dev.yml b/vetti-admin/src/main/resources/application-dev.yml index cd70799..0977543 100644 --- a/vetti-admin/src/main/resources/application-dev.yml +++ b/vetti-admin/src/main/resources/application-dev.yml @@ -160,7 +160,7 @@ whisper: chatGpt: apiKey: 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 apiUrl: https://api.openai.com/v1/chat/completions - model: gpt-3.5-turbo + model: gpt-4 role: user diff --git a/vetti-admin/src/main/resources/application-druid.yml b/vetti-admin/src/main/resources/application-druid.yml index 778d18f..52f6f17 100644 --- a/vetti-admin/src/main/resources/application-druid.yml +++ b/vetti-admin/src/main/resources/application-druid.yml @@ -158,7 +158,7 @@ whisper: chatGpt: apiKey: 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 apiUrl: https://api.openai.com/v1/chat/completions - model: gpt-3.5-turbo + model: gpt-4 role: user diff --git a/vetti-admin/target/classes/application-druid.yml b/vetti-admin/target/classes/application-druid.yml index 778d18f..52f6f17 100644 --- a/vetti-admin/target/classes/application-druid.yml +++ b/vetti-admin/target/classes/application-druid.yml @@ -158,7 +158,7 @@ whisper: chatGpt: apiKey: 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 apiUrl: https://api.openai.com/v1/chat/completions - model: gpt-3.5-turbo + model: gpt-4 role: user diff --git a/vetti-common/src/main/java/com/vetti/common/ai/elevenLabs/ElevenLabsClient.java b/vetti-common/src/main/java/com/vetti/common/ai/elevenLabs/ElevenLabsClient.java index 7440435..da3414f 100644 --- a/vetti-common/src/main/java/com/vetti/common/ai/elevenLabs/ElevenLabsClient.java +++ b/vetti-common/src/main/java/com/vetti/common/ai/elevenLabs/ElevenLabsClient.java @@ -53,7 +53,7 @@ public class ElevenLabsClient { Map payload = new HashMap<>(); payload.put("text", text); payload.put("model_id", modelId); - payload.put("voice_settings", new VoiceSettings(0.7, 0.5)); + payload.put("voice_settings", new VoiceSettings(0.8, 0.5,1)); Gson gson = new Gson(); StringEntity entity = new StringEntity(gson.toJson(payload), ContentType.APPLICATION_JSON); httpPost.setEntity(entity); @@ -107,7 +107,8 @@ public class ElevenLabsClient { if (voicesResponse != null && voicesResponse.getVoices() != null && voicesResponse.getVoices().length > 0) { // 使用第一个可用语音进行文本转语音 - String firstVoiceId = voicesResponse.getVoices()[0].getVoice_id(); +// String firstVoiceId = voicesResponse.getVoices()[0].getVoice_id(); + String firstVoiceId = "21m00Tcm4TlvDq8ikWAM"; textToSpeech(inputText, firstVoiceId, outputFile,httpClient); } } catch (IOException e) { diff --git a/vetti-common/src/main/java/com/vetti/common/ai/elevenLabs/vo/VoiceSettings.java b/vetti-common/src/main/java/com/vetti/common/ai/elevenLabs/vo/VoiceSettings.java index 5eae529..d33c698 100644 --- a/vetti-common/src/main/java/com/vetti/common/ai/elevenLabs/vo/VoiceSettings.java +++ b/vetti-common/src/main/java/com/vetti/common/ai/elevenLabs/vo/VoiceSettings.java @@ -5,12 +5,19 @@ package com.vetti.common.ai.elevenLabs.vo; */ public class VoiceSettings { + /** + * 设置语速 + */ + private double speed; + // 可选:其他语音配置(如稳定性stability、相似度boost,默认无需设置) private double stability; + private double similarity_boost; - public VoiceSettings(double stability, double similarity_boost) { + public VoiceSettings(double stability, double similarity_boost, double speed) { this.stability = stability; this.similarity_boost = similarity_boost; + this.speed = speed; } // getter方法 @@ -22,4 +29,6 @@ public class VoiceSettings { return similarity_boost; } + public double getSpeed() { return speed; } + }