声音文件驱动数字人(播报类型)
通过声音文件,生成口型、身体动作信息,身体动作可以根据实际情形选择是否生成。
请求地址:https://motionverseapi.deepscience.cn/v3.1/api/voiceBroadcastMotion
请求方式:POST
请求类型:application/json
请求参数:
名称 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
audio_url | string | 是 | 语音文件链接(.wav, .mp3)或者内容为语音 base64 的文件链接(.json) | http://ds-model-tts. http://ds-model-tts. |
audio_format | string | 否 | 表示语音的类型;若 audio_format 为”wav”,则表示语音数据为 wav 格式。若为“mp3”则语音数据是 MP3 格式;若为”base64”,则表示语音数据为 base64 格式; | 默认为”wav” |
is_cache | int | 否 | 表示表情及动作是否进行缓存,此项为全局缓存,会同时针对表情及动作进行作用。1 为缓存,0 为不缓存; | 默认为 0 |
face_config ▼ | object | 否 | 表情请求参数设置(注:如果使用默认视素驱动效果,则可传这部分参数。默认的视素驱动效果更佳。) | {} |
face_type | number | 否 | 表情类型选择,1 为语音驱动表情,此时 face_gender 和 face_tag 起作用。2 为视素驱动,此时 face_gender 和 face_tag 不起作用。3、MetaHuman 驱动。4、表情生成驱动 | 默认为 2 |
face_gender | string | 否 | 可以设定表情性别,性别不同表情效果不同。性别 male 男性 女性 female | 默认为 male, 当 face_type 为 1 时, 该项才起作用。 |
face_tag | number | 否 | 可以调整表情的情绪。 0-综合 1-高兴 2-悲伤 3-生气 4-惊讶 5-中立 6-激动 7-沮丧 8-恐惧 9-厌恶 | 默认值为 0, 当 face_type 为 1 时, 该项才起作用。 |
face_stretch_scale | number | 否 | face_type 为 2、3 时,表示希望嘴部发‘a’的音的夸张的程度,值越大在发’a’时嘴越夸张;范围[1.0, 3.0] | 1.5 |
face_mouth_divisor | number | 否 | face_type 为 2、3 时,表示整体的嘴部的幅度,值越大嘴部整体幅度越小,范围[0.5, 3] | 1.6 |
face_smile_template | number | 否 | 微笑模板,范围[0, 80] 只有 face_type 为 4 时生效 | 40 |
body_config ▼ | object | 否 | 动作请求参数设置 | {} |
body_motion | number | 否 | 身体动作,0=不生成身体动作 1=自然闲聊 2=通用演讲 3=通用讲解 4=丰富演讲 5=金姐演讲 6=可爱女生 7=站立直播 8=标准客服 9=坐姿直播 10=主持人风格 | 默认为空 |
body_filter_window | number | 否 | 表示动作自然度 数值越大自然效果越明显,但细节损失也会越多。范围 3-31,必须为奇数;此项必须与 order 搭配使用。非必须请默认此项。 | 默认值 15 |
body_filter_order | number | 否 | 动作自然阶数,范围 2-4,数值越小阶数越高;此项必须与 window 搭配使用。非必须请默认此项。 | 默认值 3 |
body_fixed | bool | 否 | 表示获取动作数据是半身还是全身。如果是 True 就直接获取上半身数据,False 直接获取全身数据; | 默认 false |
body_head_x_rot | number | 否 | 用于调整头部的仰俯角度。范围为-180 度~ 180 度;正数表示低头,负数表示抬头 | 默认值 0 |
body_compress | bool | 否 | 表示返回的 oss_url 的内容是否是二进制;若为 True,生成的是二进制格式,二进制格式传输速度更快;若为 False,生成的是可读的 json 格式; | 默认为 false |
返回参数:
名称 | 类型 | 描述 | 示例值 |
---|---|---|---|
code | number | 响应码 | 200 |
msg | string | 提示信息 | 正常返回”ok”,错误返回具体错误信息。 |
data ▼ | object | 返回数据 | {} |
allfaceData ▼ | object | 表情动作数据 | |
oss_url | string | 表情动作数据的 url | href="http://xxx.xxx.json" http://xxx.xxx.json |
time_log | string | 流程中的时间戳日志 | |
audio_time | number | 播报时长 | "audio_time": 2.8875 |
motionFusionedData ▼ | object | 身体动作数据 | |
oss_url | string | 身体动作数据的 url | href="http://xxx.xxx.json" http://xxx.xxx.json |
time_log | string | 流程中的时间戳日志 | |
audio_time | number | 播报时长 | "audio_time": 2.8875 |
请求示例:
{
"audio_url": "http://ds-model-tts.oss-cn-beijing.aliyuncs.com/temp/166320562819877046.wav",
"body_config": { "body_motion": 1 }
}
返回示例:
{
"code": 0,
"msg": "ok",
"data": {
"allfaceData": {
"oss_url": "https://ds-vhost-action-dev.oss-cn-beijing.aliyuncs.com/mouth/77db9e92-e385-4d19-8cce-b4cf7797269e.json",
"time_log": {
"all_time": 0.3748183250427246,
"download_time": 0.0007715225219726562,
"featextr_time": 0.19159865379333496,
"inference_time": 0.020695924758911133,
"upload_time": 0.16169285774230957
},
"audio_time": 6.9079375
},
"motionFusionedData": {
"oss_url": "https://ds-vhost-action-dev.oss-cn-beijing.aliyuncs.com/body/77db9e92-e385-4d19-8cce-b4cf7797269e.json",
"time_log": {
"all_time": 1.8889949321746826,
"postprocess_motion_time": 0.000102996826171875,
"query_audio_time": 0.11474728584289551,
"synth_motion_time": 1.5677759647369385,
"upload_time": 0.19675874710083008
},
"audio_time": 6.9079375
}
}
}
视素请求示例:
{
"upload_type": 1,
"viseme_list": [
{ "beginTime": 0, "id": "21", "ipa": "p,b,m" },
{ "beginTime": 75, "id": "4", "ipa": "\u025b,\u028a" }
]
}
视素返回示例:
{
"audio_time": 26.233333333333334,
"code": 0,
"face_data": null,
"oss_url": "https://phoneme-mouth-bs.oss-cn-beijing.aliyuncs.com/mouth/0c70e00f-9114-41ac-bea5-ad52eac73720.json",
"time_log": {
"all_time": 0.37830376625061035,
"synth_face_time": 0.12147140502929688,
"upload_time": 0.25348329544067383
},
"version": "v2.0.0"
}