调整 音频合成

This commit is contained in:
spllzh
2025-10-06 12:17:34 +08:00
parent 725a5294d0
commit 20378e8115
43 changed files with 508 additions and 60 deletions

View File

@@ -63,7 +63,7 @@ public class SiliconFlowTtsService {
// 确保voice参数正确设置
if (request.getVoice() == null || request.getVoice().trim().isEmpty()) {
// 根据模型设置默认voice参数
// 根据模型设置默认voice参数 FunAudioLLM/CosyVoice2-0.5B:claire
String model = request.getModel();
if (model != null && model.contains("fnlp/MOSS-TTSD-v0.5")) {
request.setVoice("fnlp/MOSS-TTSD-v0.5:claire");
@@ -145,7 +145,7 @@ public class SiliconFlowTtsService {
}
// 保存请求日志到数据库
saveTtsRequestLog(requestLog, request, ttsResponse, startTime, null);
saveTtsRequestLog(requestLog, request, ttsResponse, startTime, null, fileName);
log.info("TTS请求成功音频数据长度: {} bytes, 估算时长: {:.2f}秒, MinIO URL: {}, 临时URL: {}",
audioBytes.length, estimatedDuration, minioUrl, tempUrlInfo != null ? tempUrlInfo.getUrl() : "");
@@ -158,9 +158,10 @@ public class SiliconFlowTtsService {
} catch (Exception e) {
log.error("TTS请求异常: {}", e.getMessage(), e);
// 保存错误日志到数据库
SiliconFlowTtsResponse errorResponse = SiliconFlowTtsResponse.error("TTS请求异常: " + e.getMessage());
saveTtsRequestLog(requestLog, request, errorResponse, startTime, e.getMessage());
saveTtsRequestLog(requestLog, request, errorResponse, startTime, e.getMessage(), null);
return errorResponse;
}
@@ -296,9 +297,10 @@ public class SiliconFlowTtsService {
* @param response TTS响应
* @param startTime 开始时间
* @param errorMessage 错误信息
* @param audioFileName 音频文件名
*/
private void saveTtsRequestLog(TtsRequestLog requestLog, SiliconFlowTtsRequest request,
SiliconFlowTtsResponse response, long startTime, String errorMessage) {
SiliconFlowTtsResponse response, long startTime, String errorMessage, String audioFileName) {
try {
long processingTime = System.currentTimeMillis() - startTime;
@@ -315,11 +317,13 @@ public class SiliconFlowTtsService {
requestLog.setSampleRate(request.getSampleRate());
requestLog.setCreatorName(request.getCreatorName());
requestLog.setCreatorPhone(request.getCreatorPhone());
requestLog.setAudioName(request.getAudioName());
// 设置响应信息
requestLog.setStatus(response.isSuccess() ? "SUCCESS" : "FAILED");
requestLog.setDuration(response.getDuration());
requestLog.setMinioUrl(response.getMinioUrl()); // 临时访问URL
requestLog.setAudioName(audioFileName); // 音频文件名
requestLog.setShortUrl(response.getShortUrl()); // 短链URL与MinIO URL相同
requestLog.setShortUrlExpireTime(response.getShortUrlExpireTime());
requestLog.setProcessingTimeMs(processingTime);