113 lines
3.0 KiB
Java
113 lines
3.0 KiB
Java
package com.rj.dto;
|
||
|
||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||
import lombok.Data;
|
||
|
||
/**
|
||
* SiliconFlow TTS 请求DTO
|
||
* https://docs.siliconflow.cn/cn/userguide/capabilities/text-to-speech#5
|
||
*
|
||
* 主要请求参数:
|
||
* model:用于语音合成的模型,支持的模型列表。
|
||
* input:待转换为音频的文本内容。
|
||
* voice:参考音色,支持系统预置音色、用户预置音色、用户动态音色。 详细参数请参考:创建文本转语音请求。
|
||
* speed:可以控制音频速度,float类型,默认值是1.0,可选范围是[0.25,4.0];
|
||
* gain:音频增益,单位dB,可以控制音频声音大小,float类型,默认值是0.0,可选范围是[-10,10];
|
||
* response_format:控制输出格式,支持 mp3、opus、wav 和 pcm 格式。在选择不同的输出格式时,输出的采样率也会有所不同。
|
||
* sample_rate:可以控制输出采样率,对于不同的视频输出类型,默认值和可取值范围均不同,具体如下:
|
||
* opus: 目前只支持48000hz
|
||
* wav, pcm: 支持 (8000, 16000, 24000, 32000, 44100), 默认44100
|
||
* mp3: 支持(32000, 44100), 默认44100
|
||
*
|
||
*
|
||
* @author rj
|
||
* @date 2025-01-02
|
||
*/
|
||
@Data
|
||
public class SiliconFlowTtsRequest {
|
||
|
||
/**
|
||
* TTS模型名称
|
||
*/
|
||
@JsonProperty("model")
|
||
private String model;
|
||
|
||
/**
|
||
* 要转换的文本内容
|
||
*/
|
||
@JsonProperty("input")
|
||
private String input;
|
||
|
||
/**
|
||
* 语音参数(必填)
|
||
* fnlp/MOSS-TTSD-v0.5 模型支持的voice值:
|
||
* - fnlp/MOSS-TTSD-v0.5:alex (沉稳男声)
|
||
* - fnlp/MOSS-TTSD-v0.5:anna (沉稳女声)
|
||
* - fnlp/MOSS-TTSD-v0.5:bella (激情女声)
|
||
* - fnlp/MOSS-TTSD-v0.5:benjamin (低沉男声)
|
||
* - fnlp/MOSS-TTSD-v0.5:charles (磁性男声)
|
||
* - fnlp/MOSS-TTSD-v0.5:claire (温柔女声)
|
||
* - fnlp/MOSS-TTSD-v0.5:david (欢快男声)
|
||
* - fnlp/MOSS-TTSD-v0.5:diana (欢快女声)
|
||
*/
|
||
@JsonProperty("voice")
|
||
private String voice = "fnlp/MOSS-TTSD-v0.5:claire";
|
||
|
||
/**
|
||
* 语速(可选)
|
||
*/
|
||
@JsonProperty("speed")
|
||
private Double speed=1.0;
|
||
|
||
/**
|
||
* 音调(可选)
|
||
*/
|
||
@JsonProperty("pitch")
|
||
private Double pitch;
|
||
|
||
/**
|
||
* 音量(可选)
|
||
*/
|
||
@JsonProperty("volume")
|
||
private Double volume;
|
||
|
||
/**
|
||
* 输出格式(可选)
|
||
*/
|
||
@JsonProperty("format")
|
||
private String format;
|
||
|
||
/**
|
||
* 采样率(可选)
|
||
*/
|
||
@JsonProperty("sample_rate")
|
||
private Integer sampleRate;
|
||
|
||
/**
|
||
* 构造函数
|
||
*/
|
||
public SiliconFlowTtsRequest() {
|
||
}
|
||
|
||
/**
|
||
* 创建人姓名
|
||
*/
|
||
private String creatorName;
|
||
|
||
/**
|
||
* 创建人电话
|
||
*/
|
||
private String creatorPhone;
|
||
|
||
/**
|
||
* 构造函数
|
||
*
|
||
* @param model 模型名称
|
||
* @param input 输入文本
|
||
*/
|
||
public SiliconFlowTtsRequest(String model, String input) {
|
||
this.model = model;
|
||
this.input = input;
|
||
}
|
||
}
|