语音合成#
把一段文本合成为示范音,返回音频地址与时长,常用于跟读题的标准音。中文音色取 xiaoyan 女声或 xiaofeng 男声,英文取 female 或 male,格式取 mp3,wav,ogg,语速,音调,音量取值 0 到 100,默认 50。
Java
TtsResult tts = client.tts(new TtsRequest("你好世界", "zh-CN", "xiaoyan").format("mp3"));
System.out.println("示范音 " + tts.getAbsoluteUrl() + ",时长 " + tts.getDuration() + " 秒");JavaScript
const tts = await client.tts({ text: '你好世界', language: 'zh-CN', voice: 'xiaoyan', format: 'mp3' });
console.log('示范音', tts.absoluteUrl, '时长', tts.duration);Shell
# 语音合成。被签名参数为请求体顶层的非空标量字段,按键名排序
BODY='{"text":"你好世界","language":"zh-CN","voice":"xiaoyan","format":"mp3"}'
TS=$(date +%s)
NONCE=$(openssl rand -hex 16)
SIGN=$(printf 'format=mp3&language=zh-CN&text=你好世界&voice=xiaoyan' | openssl dgst -sha256 -hmac "$YUGU_SECRET_KEY" -binary | base64)
curl -sS https://open.shengzhiai.com/api/v1/tts/generate \
-H "Content-Type: application/json" \
-H "X-App-Key: $YUGU_APP_KEY" \
-H "X-Timestamp: $TS" \
-H "X-Nonce: $NONCE" \
-H "X-Signature: $SIGN" \
-H "Idempotency-Key: $(openssl rand -hex 16)" \
-d "$BODY"| 端 | 方法 | 可直接播放的地址 |
|---|---|---|
| Java | tts(TtsRequest) |
TtsResult.getAbsoluteUrl() |
| 安卓 | tts(request, options),异步 ttsAsync |
resolvedUrl |
| iOS | tts(_:options:),另有 async 写法 |
absoluteAudioUrl |
| 网页 | tts(request, options) |
absoluteUrl |
| 小程序 | tts(params, options) |
fullUrl,可直接交给 InnerAudioContext |
语音合成是写操作,带幂等键,重试不会重复计费。接口定义见语音合成。
报告查询#
按 recordId 查询一次评测的报告,只能查询本账号的记录,记录不存在时回 HTTP 400,错误码 40001。返回的 data.score 为评测分数,data.report 为自然语言点评,改进建议与维度分。
Java
ReportResult report = client.getReport(args[0]);
JsonNode data = report.getData();
System.out.println("总分 " + data.path("score").path("overall").asDouble());
System.out.println("点评 " + data.path("report").path("summary").asText());JavaScript
const report = await client.getReport(process.argv[2]);
console.log('点评', report.report?.summary, '维度分', report.report?.dimensionScores);Shell
# 报告查询。被签名参数为空集合,recordId 是路径的一段
RECORD_ID=eval_a31712f40cbf
TS=$(date +%s)
NONCE=$(openssl rand -hex 16)
SIGN=$(printf '' | openssl dgst -sha256 -hmac "$YUGU_SECRET_KEY" -binary | base64)
curl -sS "https://open.shengzhiai.com/api/v1/report/$RECORD_ID" \
-H "X-App-Key: $YUGU_APP_KEY" \
-H "X-Timestamp: $TS" \
-H "X-Nonce: $NONCE" \
-H "X-Signature: $SIGN"| 字段 | 含义 |
|---|---|
data.score.overall |
总分,与评测结果的 result.overall 一致 |
data.report.summary |
整体点评 |
data.report.suggestions |
改进建议,逐条给出 |
data.report.dimensionScores |
维度分,键随语种与题型不同,值为 null 表示本次不评该维 |
报告查询天然幂等,SDK 照常重试。评测时设置 includeReport 会生成 AI 报告,评测结果的 report 另含整体点评与改进建议。接口定义见报告查询。