如何修改amazon lex输出语音?
How to modify amazon lex output voice?
我正在尝试使用 aws lex 创建一个语音机器人。
其中一个意图响应是 "Your incident INC11111111 is closed"(文本)。
以上响应来自 lambda 函数。请检查下面的代码。
let response = (event, data) => {
let lambda_response = {
"sessionAttributes": {
"incidentNo": event.currentIntent.slots.INCIDENT_NO,
},
"dialogAction": {
"type": "Close",
"fulfillmentState": "Fulfilled",
"message": {
"contentType": "PlainText",
"content": "Hi " + data["User ID"].split('.')[0]+", Your Incident Number " + "INC"+event.currentIntent.slots.INCIDENT_NO+ " is ," + data["Status"]
},
}
};
return lambda_response;
};
Ex 事件编号:INC11111111
但是语音输出是"your incident INC 1 crore 11 lakhs 11 thousand 1hundered eleven is closed"。
我期待的是“您的事件 INC 一一一一一一一一一关闭。
提前谢谢你。
您需要使用 SSML(语音合成标记语言)
使用 SSML 标签,您可以自定义和控制语音的各个方面,例如发音、音量和语速。
您可以在 SSML 中使用多种指令来以不同方式发音。在您的情况下,say-as
指令可能很有用。
根据问题编辑,尝试这些更改
"message": {
"contentType": "SSML",
"content": "<speak> Hi " + data["User ID"].split('.')[0]+", Your Incident Number <say-as interpret-as="characters">" + "INC"+event.currentIntent.slots.INCIDENT_NO+ "</say-as> is ," + data["Status"] +"</speak>"
},
相关阅读:Announcing Responses Capability in Amazon Lex and SSML Support in Text Response
我正在尝试使用 aws lex 创建一个语音机器人。
其中一个意图响应是 "Your incident INC11111111 is closed"(文本)。
以上响应来自 lambda 函数。请检查下面的代码。
let response = (event, data) => {
let lambda_response = {
"sessionAttributes": {
"incidentNo": event.currentIntent.slots.INCIDENT_NO,
},
"dialogAction": {
"type": "Close",
"fulfillmentState": "Fulfilled",
"message": {
"contentType": "PlainText",
"content": "Hi " + data["User ID"].split('.')[0]+", Your Incident Number " + "INC"+event.currentIntent.slots.INCIDENT_NO+ " is ," + data["Status"]
},
}
};
return lambda_response;
};
Ex 事件编号:INC11111111
但是语音输出是"your incident INC 1 crore 11 lakhs 11 thousand 1hundered eleven is closed"。
我期待的是“您的事件 INC 一一一一一一一一一关闭。 提前谢谢你。
您需要使用 SSML(语音合成标记语言)
使用 SSML 标签,您可以自定义和控制语音的各个方面,例如发音、音量和语速。
您可以在 SSML 中使用多种指令来以不同方式发音。在您的情况下,say-as
指令可能很有用。
根据问题编辑,尝试这些更改
"message": {
"contentType": "SSML",
"content": "<speak> Hi " + data["User ID"].split('.')[0]+", Your Incident Number <say-as interpret-as="characters">" + "INC"+event.currentIntent.slots.INCIDENT_NO+ "</say-as> is ," + data["Status"] +"</speak>"
},
相关阅读:Announcing Responses Capability in Amazon Lex and SSML Support in Text Response