使用 Cortana 的聊天机器人不会说话
Chatbot using Cortana does not speak
我使用 botframework 和 Azure 创建了一个聊天机器人。我希望能够使用 cortana 与机器人对话,所以我将机器人连接到 Azure 中的 cortana 通道。这有效,我可以调用该技能并发送短信。出于测试目的,机器人可以接收消息,并且只将预定义的消息发送回用户。
根据 this,我应该能够通过设置消息的 Speak-属性 将语音消息发送回用户。我尝试使用纯文本和 SSML:
/** BotFramework SDK v3 **/
var message = context.MakeMessage();
message.Speak = "Hello";
await context.PostAsync(msg);
/** BotFramework SDK v4 **/
var msg = turnContext.Activity.CreateReply();
msg.Speak = "Hello";
await turnContext.SendActivityAsync(msg);
两种变体都不起作用。当我调用技能并输入内容时,我没有音频输出,只有文本输出。
将 Speak-属性 设置为 SSML 字符串也不起作用:
<speak version='1.0' xmlns='http://www.w3.org/2001/10/synthesis' xml:lang='en-US'><voice languages='en-US' gender='female'>Hello</voice></speak>
我来自德国。我知道只有美国支持第 3 方技能。我将我的地区和语言设置为美国,以便能够使用该技能。
机器人有什么问题吗?
我是否必须使用像 MS CognitiveServices 那样的文本转语音系统?
提前致谢。
如前所述,如果通过语音调用或查询,Cortana 将通过语音进行响应。这在文档中并不清楚(我们会修复它)。但是,如果输入文本,您目前无法使用合成语音进行响应 - 我们假设以用户提出请求的形式响应用户。例外是丰富的卡片。如果您单击一个按钮,并且之前的输入是通过语音进行的,则下一次响应将通过语音进行。
请将反馈作为功能请求提交。
我使用 botframework 和 Azure 创建了一个聊天机器人。我希望能够使用 cortana 与机器人对话,所以我将机器人连接到 Azure 中的 cortana 通道。这有效,我可以调用该技能并发送短信。出于测试目的,机器人可以接收消息,并且只将预定义的消息发送回用户。
根据 this,我应该能够通过设置消息的 Speak-属性 将语音消息发送回用户。我尝试使用纯文本和 SSML:
/** BotFramework SDK v3 **/
var message = context.MakeMessage();
message.Speak = "Hello";
await context.PostAsync(msg);
/** BotFramework SDK v4 **/
var msg = turnContext.Activity.CreateReply();
msg.Speak = "Hello";
await turnContext.SendActivityAsync(msg);
两种变体都不起作用。当我调用技能并输入内容时,我没有音频输出,只有文本输出。
将 Speak-属性 设置为 SSML 字符串也不起作用:
<speak version='1.0' xmlns='http://www.w3.org/2001/10/synthesis' xml:lang='en-US'><voice languages='en-US' gender='female'>Hello</voice></speak>
我来自德国。我知道只有美国支持第 3 方技能。我将我的地区和语言设置为美国,以便能够使用该技能。
机器人有什么问题吗?
我是否必须使用像 MS CognitiveServices 那样的文本转语音系统?
提前致谢。
如前所述,如果通过语音调用或查询,Cortana 将通过语音进行响应。这在文档中并不清楚(我们会修复它)。但是,如果输入文本,您目前无法使用合成语音进行响应 - 我们假设以用户提出请求的形式响应用户。例外是丰富的卡片。如果您单击一个按钮,并且之前的输入是通过语音进行的,则下一次响应将通过语音进行。
请将反馈作为功能请求提交。