如何让Alexa'唱'铃声响起?

时间:2017-11-05 19:48:01

标签: alexa alexa-skills-kit

我正在创造一个季节性的Alexa技能,在那里会有一些意图,比如“到圣诞节有多少人睡觉”,“我在好的名单上”等等;而且我也想要让Alexa 唱歌 Jingle Bells。关键部分是让她唱歌

在我的技巧中,对于singJingleBells意图,我输出Jingle Bells的歌词作为语音响应,但Alexa 读取歌词。 (正如我所说的那样诚实)。

我发现有一种(可能是官方的亚马逊)技能让她唱歌 Jingle Bells。你可以说Alexa, sing Jingle Bells

我希望自己的技能能够做到这一点。

我猜测亚马逊的技能是通过SSML语音来实现的,或者更有可能是通过SSML audio标签预先录制的MP3或SSML speechcon interjection

有没有发现/捕获亚马逊技能的输出响应,以便我能理解(并复制!)它的方式?

使用Steve的想法,我可以使用echosim.io上的控制台来捕获SpeechSynthesizer。不确定这是否让我更接近?

{
    "directive": {
        "header": {
            "dialogRequestId": "dialogRequestId-6688b290-80d3-4111-a29d-4c60c6d47c31",
            "namespace": "SpeechSynthesizer",
            "name": "Speak",
            "messageId": "c5771361-2a80-4b00-beb6-22a783a7c504"
        },
        "payload": {
            "url": "cid:b438a3ea-d337-4c5f-b719-816e429ed473#Alexa3P:1.0/2017/11/06/20/94a9a7c4112b44568bff10df69d30825/01:18::TNIH_2V.f000372f-b147-4bea-81fb-4c2e7de67334ZXV/0_359577804",
            "token": "amzn1.as-ct.v1.Domain:Application:Knowledge#ACRI#b438a3ea-d337-4c5f-b719-816e429ed473#Alexa3P:1.0/2017/11/06/20/94a9a7c4112b44568bff10df69d30825/01:18::TNIH_2V.f000372f-b147-4bea-81fb-4c2e7de67334ZXV/0",
            "format": "AUDIO_MPEG"
        }
    }
}

2 个答案:

答案 0 :(得分:0)

您可以使用' Jingle Bells'的音频片段。使用标记。单个输出响应中最多可以使用5个音频标签
音频片段必须遵循以下几点。

  • MP3必须托管在可通过Internet访问的HTTPS端点上。 HTTPS是必需的,托管MP3文件的域必须提供有效的,受信任的SSL证书。无法使用自签名证书。
  • MP3不得包含任何客户特定信息或其他敏感信息。
  • MP3必须是有效的MP3文件(MPEG版本2)。
  • 音频文件不能超过九十(90)秒。
  • 比特率必须为48 kbps。请注意,与口语内容一起使用时,此比特率会产生良好的效果,但通常音质不够高。
  • 采样率必须为16000 Hz。

    有关更清晰的信息,请参阅此链接Audio Tag

答案 1 :(得分:0)

如果我理解正确,您希望将Alexa音频输出转换为.mp3文件(或其他格式),以便可以在自定义技能中再次播放。

如果这是目标,您需要使用Alexa语音服务(AVS),更具体地说是SpeechSynthesizer Interface来获取您随后使用的音频输出您的自定义技能响应。

因此,您将同时使用Alexa技能套件(用于技能)和Alexa语音服务(AVS)来获取音频。