AWS API获取Alexa语音

时间:2017-12-18 20:52:17

标签: aws-lambda aws-sdk alexa

有没有人知道是否有AWS API或类似内容允许我发送文本(或SSML),并取回Alexa'发言'的音频。
至关重要的是,我想要Alexa的'声音'中的输出

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

  • AWS Polly
    这是我的第一个停靠点,听起来很有前途,并且很容易与之互动;但可用的声音不包括Alexa的声音(我认为Alexa的GB声音是'Abbey') 如果我不需要Alexa的声音,我可能会使用这个想法
  • 一个简单的Alexa技能lambda和API网关
    我的想法是一个简单的Alexa lambda,其意图是有一个插槽,其中SpeechletResponseOutputSpeech包含插槽的值。 AWS API网关配置为调用lambda并返回结果 我没试过这个,但我猜测通过API网关返回我的客户端的结果将是SpeechletResponse的json表示而不是音频流。
  • 使用AVS的东西
    我目前正在讨论这个想法,特别是javaclient的{​​{1}}部分,但我不知道我是不是正在咆哮错误的树 我已经创建了一个AVS产品,我已经配置了alexa-avs-sample-app来与之交谈 目前它的交互是基于从我的麦克风到音频流采样音频流,并将其发送到AVS(即,好像我已经说过我的Echo) 所以我可以说“告诉mySkill说'你好世界'”它会说“你好世界” 但这不是我想要的 - 我不想说什么,我想以编程方式调用带有一些文本的API来获取语音音频流。

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

在回复其中一条评论时,我会尝试描述我想要Alexa声音的具体用例:

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

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

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

1 个答案:

答案 0 :(得分:0)

我认为您正在寻找这个:

在Alexa开发人员控制台的“测试”标签下,您会看到三个标签“ Alexa Simulator”,“ Manual JSON”和“ Voice&Tone”,第三个是您要问的那个,在这里,您会看到标记,还可以使用ssml:

Alexa Voice & Tone