如何在Alexa技能的自定义意图中添加人声?

时间:2018-10-14 12:28:26

标签: alexa alexa-skills-kit alexa-skill

当技能收到名称为HelloWorldIntent的意图请求且HelloWorldInten的讲话会发出婴儿的啼哭声时要调用的处理程序。 我该如何将哭声放入说话中?

1 个答案:

答案 0 :(得分:1)

除非您已经参加过技能培训,否则您一言不发就无法触发Alexa(通常为“ Alexa”)。在这两种情况下,意图都是根据交互模型中给出的话语来映射的。

除非您可以将“哭泣的婴儿” 声音转换为文字,否则您将无法触发自定义意图。同样,到目前为止,还没有选择将样本话语作为音频文件上传。

您可以尝试的一件事是AMAZON.FallbackIntent,当Alexa无法找到合适的意图匹配项时会触发该事件。当您参加技能培训时,如果发出“婴儿哭泣” 声音, AMAZON.FallbackIntent可能会被触发,但不能保证。


响应自定义声音

如果要用“哭泣” 声音进行响应,则必须使用SSML将音频源添加到响应中。您可以像这样在音频标签中添加“婴儿哭泣” 的mp3源:

<speak>
    The baby is about to cry.
    <audio src='https://yoursoundsource.com/path/to/baby_crying.mp3'/>
</speak>

Alexa Skills Kit Sound Library

幸运的是,有一个内置的Alexa声音库,并且“婴儿哭泣” 声音已经存在。因此,您不必上传一个。只需在回复SSML中使用音频源即可。
Human Sounds下列出了以下声音。

婴儿大哭(1)

<audio src='soundbank://soundlibrary/human/amzn_sfx_baby_big_cry_01'/>

婴儿哭声(1)

<audio src='soundbank://soundlibrary/human/amzn_sfx_baby_cry_01'/>

婴儿哭声(2)

<audio src='soundbank://soundlibrary/human/amzn_sfx_baby_cry_02'/>

大惊小怪(1)

<audio src='soundbank://soundlibrary/human/amzn_sfx_baby_fuss_01'/>

如果要上传自己的音频,请确保您的音频文件符合条件。
有关SSML audio标签here

的更多信息