【问题标题】:Chatbot using Cortana does not speak使用 Cortana 的聊天机器人不会说话
【发布时间】:2019-02-27 12:42:57
【问题描述】:

我使用 botframework 和 Azure 创建了一个聊天机器人。我希望能够使用 Cortana 与机器人对话,因此我将机器人连接到 Azure 中的 Cortana 通道。这有效,我可以调用该技能并发送短信。出于测试目的,机器人可以接收消息,并且只将预定义的消息发送回用户。

根据this,我应该能够通过设置消息的 Speak-property 将语音消息发送回用户。我用纯文本和 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-property 设置为 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 cortana cortana-skills-kit


【解决方案1】:

如前所述,如果使用语音调用或查询,Cortana 将使用语音进行响应。这在文档中并不清楚(我们会解决这个问题)。但是,如果输入了文本,您目前无法使用合成语音进行响应 - 我们假设以用户提出请求的形式响应用户。富卡除外。如果您单击一个按钮,并且之前的输入是通过语音进行的,那么下一个响应将是通过语音进行的。

请将反馈作为功能请求提交。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-14
    • 2018-12-13
    • 1970-01-01
    • 2019-01-18
    • 1970-01-01
    • 1970-01-01
    • 2022-09-29
    • 1970-01-01
    相关资源
    最近更新 更多