语音合成-音色融合v2
接口描述(Description)
新版本在原有接口基础上,支持Hex格式输出,接口格式
请求地址(Request URL)
[POST] https://api.sensenova.cn/v1/audio/speech_fusion
请求头(Request Header)
无特殊Header,请参考接口鉴权
请求体(Request Body)
| 参数名 | 类型 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|---|
| model | string | 是 | 无 | 模型名称: 用于指定语音合成所采用的模型, 当前为 SenseNova-Audio-Fusion-0603。 |
| input | string | 是 | 无 | 合成文本内容: 待转换为语音的文本信息, 支持中文及英文内容输入。 |
| stream | boolean | 否 | FALSE | 是否返回音频流: 用于控制是否以音频流形式返回合成结果, 适用于实时语音合成场景。布尔值类型, 默认值为 false, 表示返回完整的音频数据。 |
| language | string | 否 | ZH | 支持语言: ZH, EN, 默认 ZH |
| voice_setting | object | 是 | 无 | 声音设置 |
| audio_setting | object | 是 | 无 | 音频格式设置 |
| timbre_weights | object | 否 | 无 | 融合音色权重 (音色名称: 权重值): 用于自定义混合多种音色的合成效果。各音色的权重值总和建议为 1.0, voice 参数指定的主音色必须包含在该权重列表中。支持最多不超过 4 款音色融合。 |
| output_format | string | 否 | hex | 输出格式: 控输出格式。仅支持非流式, 可选值 hex (原始音频输出), url (输出音频链接)。选择 'url' 输出时, 请将 stream 设置成 false。 |
voice_setting参数如下:
| 参数名 | 类型 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|---|
| voice | string | 是 | 无 | 主音色名称: 用于指定语音合成时的主要音色, 详见音色列表, 在使用融合音色功能时, 该音色也必须包含在 timbre_weights 中。 |
| speed | float | 否 | 1 | 语速: 用于设置语音的播放速度, 取值范围为 [0.5, 2.0]。其中, 1.0 表示正常语速, 数值越小语速越慢, 数值越大语速越快。 |
| volume | float | 否 | 1 | 音量: 用于调节合成语音的响度, 取值范围为 (0, 10], 值越大音量越高。 |
| pitch | int | 否 | 0 | 音调: 用于控制合成语音的音高, 取值范围为整数 [-12, 12]。其中, 0 表示保持原始音调, 正值提高音调, 负值降低音调。 |
audio_setting参数如下:
| 参数名 | 类型 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|---|
| sample_rate | int | 否 | 32000 | 音频采样率, 取值范围 [8000, 16000, 22050, 24000, 32000, 44100] |
| channel | int | 否 | 2 | 音频声道, 支持单声道 1, 双声道 2 |
| bitrate | int | 否 | 128000 | 音频码率, 支持 MP3, 取值范围 [32000, 64000, 128000, 256000] |
| response_format | string | 否 | mp3 | 输出结果格式: 可选值 mp3、wav、pcm。 |
timbre_weights参数如下:
| 参数名 | 类型 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|---|
| voice | weight | 是 | 无 | 融合音色 |
| weight | float | 是 | (0, 1.0] | 融合音色权重 |
timbre_weights: 融合音色权重为空或不存在,默认是单音色。否则是融合音色。
voice可选音色如下:
| Voice ID | 名称 | 是否支持融合 |
|---|---|---|
| child_reqing | 热情孩童 | 是 |
| man_zhengqi | 正气中年 | 是 |
| man_weiyan | 威严霸总 | 是 |
| guy_qingshuang | 清爽帅哥 | 是 |
| guy_wenrun | 温润暖男 | 是 |
| male_shenqing | 深情男友 | 是 |
| male_miantian | 腼腆男友 | 是 |
| woman_daihuo | 带货女神 | 是 |
| female_chunzhen | 纯真少女 | 是 |
| female_jiaomei | 娇媚女友 | 是 |
| woman_fengyun | 风韵少妇 | 是 |
| man_qiangyu | 强欲霸总 | 是 |
| guy_shizun | 清冷师尊 | 是 |
| guy_nangong | 挚爱男攻 | 是 |
| female_taimei | 甜甜台妹 | 是 |
| guy_guimi | 男性闺蜜 | 是 |
| female_shumei | 熟媚女神 | 是 |
| man_nuanren | 暖人青叔 | 是 |
| guy_naigou1 | 贴心奶狗 | 是 |
| guy_xingui | 冷御新贵 | 是 |
| female_sajiao | 撒娇甜妹 | 是 |
| female_diantai | 电台女声 | 是 |
| female_diantai_b | 娇俏小妹 | 是 |
| female_jiejie | 明魅御姐 | 是 |
| female_jiejie_a | 爱欲女王 | 是 |
| female_jiejie_b | 柔情女王 | 是 |
| girl_banxia | 娇怜软妹 | 是 |
| girl_banxia_a | 破碎少女 | 是 |
| man_cucao | 冷面硬汉 | 是 |
| guy_xingui_b | 深情病娇 | 是 |
| guy_qiangai | 强爱病娇 | 是 |
| guy_shengse | 生涩奶狗 | 是 |
| female_jiaonv_a | 羞婉娇女 | 是 |
| female_ruanmei_a | 俏萌软妹 | 是 |
| oldman_zhangzhe | 威严长者 | 是 |
| woman_xiuse | 羞涩御姐 | 是 |
响应参数(Response Body)
| 参数名 | 类型 | 说明 |
|---|---|---|
| data | object | 返回的音频数据 |
| trace_id | string | 本次请求的唯一标识, 用于定位请求 |
| extra_info | object | 附加信息 |
data参数如下:
| 参数名 | 类型 | 说明 |
|---|---|---|
| audio | string | 音频数据内容或者音频文件 url, 由 output_format 决定 |
| status | int | 当前音频流状态: 1 表示合成中, 2 表示合成结束 |
extra_info参数如下:
| 参数名 | 类型 | 说明 |
|---|---|---|
| length | int | 音频时长, 单位毫秒 |
| size | int | 音频文件大小 |
| sample_rate | int | 音频采样率 |
| bitrate | float | 音频码率, 支持 MP3 |
| channel | int | 音频声道, 支持单声道 1, 双声道 2 |
| response_format | string | 输出结果格式: 可选值 mp3、wav、pcm |
| usage_characters | int | 计费字符数 |
| word_count | int | 已发音的字符数 |
请求示例(Request Example)
- 非流式—多音色—hex
curl --location 'https://api.sensenova.cn/v1/audio/speech_fusion' \
--header 'Authorization: Bearer {your api key}' \
--header 'Content-Type: application/json' \
--data '{
"model": "SenseNova-Audio-Fusion-0603",
"input": "明月几时有,把酒问青天。",
"stream": false,
"language": "zh",
"voice_setting": {
"voice": "female_chunzhen",
"speed": 1.0,
"volume": 1.0,
"pitch": 0
},
"audio_setting": {
"sample_rate": 32000,
"channel": 2,
"bitrate": 128000,
"response_format": "mp3"
},
"timbre_weights": [
{ "voice": "female_chunzhen", "weight": 0.7 },
{ "voice": "female_taimei", "weight": 0.3 }
],
"output_format": "hex"
}'
- 非流式—单音色—hex
curl --location 'https://api.sensenova.cn/v1/audio/speech_fusion' \
--header 'Authorization: Bearer {your api key}' \
--header 'Content-Type: application/json' \
--data '{
"model": "SenseNova-Audio-Fusion-0603",
"input": "明月几时有,把酒问青天。",
"stream": false,
"language": "zh",
"voice_setting": {
"voice": "female_chunzhen",
"speed": 1.0,
"volume": 1.0,
"pitch": 0
},
"audio_setting": {
"sample_rate": 32000,
"channel": 2,
"bitrate": 128000,
"response_format": "mp3"
},
"output_format": "hex"
}'
响应示例(Response Example)
- 非流式—hex
{
"data":
{
"audio": "base64:AAAAGGZ0... (truncated)",
"status": 2
},
"trace_id": "c4a1e0f3-9d6b-4f68-8a5a-1b2c3d4e5f67",
"extra_info":
{
"length": 2450,
"size": 123456,
"sample_rate": 32000,
"channel": 2,
"bitrate": 128000,
"response_format": "mp3",
"usage_characters": 12,
"word_count": 10
}
}
- 非流式—url
{
"data":
{
"audio": "https://aoss.cn-sh-01.sensecoreapi-oss.cn/xxxxxx",
"status": 2
},
"trace_id": "c4a1e0f3-9d6b-4f68-8a5a-1b2c3d4e5f67",
"extra_info":
{
"length": 2450,
"size": 123456,
"sample_rate": 32000,
"channel": 2,
"bitrate": 128000,
"response_format": "mp3",
"usage_characters": 12,
"word_count": 10
}
}
请求示例(Request Example)
- 流式—多音色
curl --location 'https://api.sensenova.cn/v1/audio/speech_fusion' \
--header 'Authorization: Bearer {your api key}' \
--header 'Content-Type: application/json' \
--data '{
"model": "SenseNova-Audio-Fusion-0603",
"input": "明月几时有,把酒问青天。",
"stream": true,
"language": "zh",
"voice_setting": {
"voice": "female_chunzhen",
"speed": 1.0,
"volume": 1.0,
"pitch": 0
},
"audio_setting": {
"sample_rate": 32000,
"channel": 2,
"bitrate": 128000,
"response_format": "mp3"
},
"timbre_weights": [
{ "voice": "female_chunzhen", "weight": 0.7 },
{ "voice": "female_taimei", "weight": 0.3 }
],
"output_format": "hex"
}'
- 流式—单音色
curl --location 'https://api.sensenova.cn/v1/audio/speech_fusion' \
--header 'Authorization: Bearer {your api key}' \
--header 'Content-Type: application/json' \
--data '{
"model": "SenseNova-Audio-Fusion-0603",
"input": "明月几时有,把酒问青天。",
"stream": true,
"language": "zh",
"voice_setting":
{
"voice": "female_chunzhen",
"speed": 1.0,
"volume": 1.0,
"pitch": 0
},
"audio_setting":
{
"sample_rate": 32000,
"channel": 2,
"bitrate": 128000,
"response_format": "mp3"
},
"output_format": "hex"
}'
响应示例(Response Example)
- 流式—First chunk
data:{
"data": {
"audio": "hex encoded audio_chunk1",
"status": 1
},
"trace_id": "c4a1e0f3-9d6b-4f68-8a5a-1b2c3d4e5f67",
"extra_info": {
"length": 0,
"size": 0,
"sample_rate": 0,
"channel": 0,
"bitrate": 0,
"response_format": "",
"usage_characters": 0,
"word_count": 0
}
}
- 流式—Second chunk
data:{
"data": {
"audio": "hex encoded audio_chunk2",
"status": 1
},
"trace_id": "c4a1e0f3-9d6b-4f68-8a5a-1b2c3d4e5f67",
"extra_info": {
"length": 0,
"size": 0,
"sample_rate": 0,
"channel": 0,
"bitrate": 0,
"response_format": "",
"usage_characters": 0,
"word_count": 0
}
}
- 流式—Final chunk
data:{
"data": {
"audio": "hex encoded audio",
"status": 2
},
"trace_id": "c4a1e0f3-9d6b-4f68-8a5a-1b2c3d4e5f67",
"extra_info": {
"length": 2450,
"size": 123456,
"sample_rate": 32000,
"channel": 2,
"bitrate": 128000,
"response_format": "mp3",
"usage_characters": 12,
"word_count": 10
}
}
- 流式—返回结束
data: [DONE]