【问题标题】:AWS API to get Alexa voice获取 Alexa 语音的 AWS API
【发布时间】:2017-12-18 20:52:16
【问题描述】:

有谁知道是否有 AWS API 或类似的 API 可以让我发送文本(或 SSML),并取回 Alexa“说话”的音频。
至关重要的是,我想要 Alexa 的“声音”输出

到目前为止我探索的选项是:

  • AWS Polly
    这是我的第一个停靠港,听起来很有希望,而且交互简单;但可用的声音不包括 Alexa 的声音(我认为 Alexa 的 GB 声音是“Abbey”)
    如果我不需要 Alexa 的声音,我可能会使用这个想法
  • 一个简单的 Alexa 技能 lambda 和 API 网关
    我的想法类似于一个简单的 Alexa lambda,其意图是有一个插槽,其中 SpeechletResponse 有一个 OutputSpeech 包含插槽的值。配置为调用 lambda 并返回结果的 AWS API 网关。
    我没有尝试过,但我猜测通过 API 网关返回到我的客户端的结果将是 SpeechletResponse 的 json 表示,而不是音频流。
  • 使用 AVS 的东西
    我目前正在研究这个想法,特别是alexa-avs-sample-appjavaclient 部分,但我不知道我是不是找错了树
    我创建了一个 AVS 产品,并配置了 javaclient 与它交谈。
    目前,它的交互基于从我的麦克风采样音频流到音频流,然后将其发送到 AVS(即,好像我已经和我的 Echo 说话了)
    所以我可以说“告诉 mySkill 说 'hello world'”,它会说“hello world”
    但这并不是我想要的——我不想和任何东西说话,我想以编程方式调用带有一些文本的 API 来获取语音音频流。

已经问过similar question,但目前没有答案,我想我已经为我的特定问题添加了更多细节/分析。


针对其中一位 cmets,我将尝试描述我想要 Alexa 语音的具体用例:

在开发 Alexa 技能时,您可以在 lambda 函数中的代码中构造和填充 OutputSpeech。在您部署 lambda 并在真实设备上进行测试或使用开发人员门户的“测试”选项卡的“语音模拟器”部分之前,您无法听到语音输出的声音。

我要解决的问题是为 Alexa 技能创建良好的语音响应,而无需上述试错方法。部署和使用真实设备显然是冗长的。使用语音模拟器更好,但它的局限性在于您可以操作的字段非常小(如果您想要说出长句子或段落,那就不好了),并且添加 SSML 来增强口语输出不是出色的用户体验和工作流程。

我正在考虑创建一些东西来改进这个用户体验和工作流程,但它背后的核心要求是听到 Alexa 的声音。是的,我当然可以使用 Polly,但如果这个用例是为了让 Alexa 技能更容易编写,那么听到另一个声音并没有多大用处,并且可以说是误导,因为不同的声音发音不同的单词和标点符号的方式是不同的,所以您可能需要为一种声音的某些单词添加 SSML 语音,而另一种声音则不需要。

【问题讨论】:

  • 一个明智的假设是,唯一允许用 Alexa 的声音说话的东西——作为政策问题,而不是技术问题——是 Alexa。您希望以这种特定的声音表达语音的原因是什么?
  • 您会发现 Alexa 的声音在世界各地因区域设置而异。没有单一的通用“Alexa”声音。您的要求正是 Amazon Polly 的用例,但声音与 Alexa 不完全匹配(但它使用了许多相同的技术)。

标签: aws-lambda aws-sdk alexa


【解决方案1】:

我想你正在寻找这个:

在您的 Alexa 开发人员控制台上的“测试”选项卡下,您会看到三个选项卡“Alexa 模拟器”、“手动 JSON”和“语音和音调”,第三个是您所要求的我相信的选项卡,在这里你会看到标签,你也可以使用 ssml:

【讨论】:

  • 不,我最初的问题是我正在寻找 API 调用,特别是不是测试选项卡和语音模拟器。我特别描述了我正在尝试调用某种 API,以便克服使用测试选项卡和语音模拟器的一些缺点。
  • 内森,你运气好吗?我也在找一样的吗?
猜你喜欢
  • 2015-12-14
  • 2017-04-21
  • 2019-12-01
  • 1970-01-01
  • 2014-02-26
  • 2018-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多