如何制作 Alexa 'sing' 铃儿响叮当?
How to make Alexa 'sing' jingle bells?
我正在创建一个季节性的 Alexa 技能,其中会有 'how many sleeps till Christmas'、'am I on the good list' 等意图;我还想请 Alexa 唱 铃儿响叮当。关键是让她唱。
在我的技能中,为了 singJingleBells
意图,我将 Jingle Bells 的歌词输出为语音响应,但 Alexa 读取 歌词。 (如果我诚实的话,正如预期的那样)。
我发现有一种(大概是亚马逊官方的)技能可以让她唱铃儿响叮当。你可以说 Alexa, sing Jingle Bells
我希望我的技能也能做到这一点。
我猜亚马逊的技能是通过 SSML
语音来实现的,或者更有可能是通过 SSML audio
标签或 SSML speechcon interjection
[=18= 预先录制的 MP3 ]
有没有 discover/capture Amazon 技能的输出响应,以便我可以理解(并复制!)它的工作方式?
利用 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"
}
}
}
您可以通过 audio 标签使用 'Jingle Bells' 的音频剪辑。单个输出响应中最多可以使用 5 个音频标签。
音频剪辑必须遵循以下几点。
- MP3 必须托管在可通过互联网访问的 HTTPS 端点。 HTTPS 是必需的,托管 MP3 文件的域必须提供有效、可信的 SSL 证书。不能使用自签名证书。
- MP3 不得包含任何客户特定信息或其他敏感信息。
- MP3 必须是有效的 MP3 文件(MPEG 版本 2)。
- 音频文件不能超过九十 (90) 秒。
- 比特率必须为 48 kbps。请注意,此比特率在用于语音内容时会产生良好的效果,但对于音乐来说通常质量不够高。
- 采样率必须为 16000 Hz。
请参阅此 link 以获得更清楚的信息,Audio Tag
如果我没理解错的话,您想将 Alexa 音频输出为 .mp3 文件(或其他格式),以便可以在自定义技能中再次播放。
如果这是目标,您需要使用 Alexa 语音服务 (AVS),更具体地说 SpeechSynthesizer Interface 来获取音频输出,然后在您的自定义技能响应中使用。
因此,您将同时使用 Alexa Skills Kit(用于技能)和 Alexa 语音服务 (AVS) 来获取音频。
我正在创建一个季节性的 Alexa 技能,其中会有 'how many sleeps till Christmas'、'am I on the good list' 等意图;我还想请 Alexa 唱 铃儿响叮当。关键是让她唱。
在我的技能中,为了 singJingleBells
意图,我将 Jingle Bells 的歌词输出为语音响应,但 Alexa 读取 歌词。 (如果我诚实的话,正如预期的那样)。
我发现有一种(大概是亚马逊官方的)技能可以让她唱铃儿响叮当。你可以说 Alexa, sing Jingle Bells
我希望我的技能也能做到这一点。
我猜亚马逊的技能是通过 SSML
语音来实现的,或者更有可能是通过 SSML audio
标签或 SSML speechcon interjection
[=18= 预先录制的 MP3 ]
有没有 discover/capture Amazon 技能的输出响应,以便我可以理解(并复制!)它的工作方式?
利用 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"
}
}
}
您可以通过 audio 标签使用 'Jingle Bells' 的音频剪辑。单个输出响应中最多可以使用 5 个音频标签。
音频剪辑必须遵循以下几点。
- MP3 必须托管在可通过互联网访问的 HTTPS 端点。 HTTPS 是必需的,托管 MP3 文件的域必须提供有效、可信的 SSL 证书。不能使用自签名证书。
- MP3 不得包含任何客户特定信息或其他敏感信息。
- MP3 必须是有效的 MP3 文件(MPEG 版本 2)。
- 音频文件不能超过九十 (90) 秒。
- 比特率必须为 48 kbps。请注意,此比特率在用于语音内容时会产生良好的效果,但对于音乐来说通常质量不够高。
- 采样率必须为 16000 Hz。
请参阅此 link 以获得更清楚的信息,Audio Tag
如果我没理解错的话,您想将 Alexa 音频输出为 .mp3 文件(或其他格式),以便可以在自定义技能中再次播放。
如果这是目标,您需要使用 Alexa 语音服务 (AVS),更具体地说 SpeechSynthesizer Interface 来获取音频输出,然后在您的自定义技能响应中使用。
因此,您将同时使用 Alexa Skills Kit(用于技能)和 Alexa 语音服务 (AVS) 来获取音频。