有没有办法在DialogFlow(Api.ai)的对话中改变女性对男性的声音

Mia*_*mad 5 voice actions-on-google dialogflow-es

我们正在使用Api.ai(现在的Dialogflow)为Google Home构建一个聊天机器人应用程序,该应用程序包含男性和女性历史人物.我们在谷歌上使用动作.Google可让您在部署应用时默认使用男声或女声.有没有办法动态切换男性和女性的声音,例如,使用webhook中的代码?

Pri*_*ner 10

也许吧.虽然SSML支持<voice>标记,但Actions的文档不会将其列为支持.但是,正如您所指出的那样,似乎有一些支持.这些gendervariant属性似乎有效,至少对于美国而言.该languages属性似乎不是.所以像这样的东西可能有效:

<speech>
    <voice gender="male" variant="1">male</voice>
    <voice gender="male" variant="2">male</voice>
    <voice gender="female" variant="1">female</voice>
    <voice gender="female" variant="2">female</voice>
</speech>
Run Code Online (Sandbox Code Playgroud)

然而什么记录为工作是利用调整默认的声音(你选择哪一个)的间距<prosody> SSML标签.下面是一个示例,您可以使用它来查看改变音高时的声音:

<speech>
    test
    <prosody pitch="-1st">test</prosody>
    <prosody pitch="-2st">test</prosody>
    <prosody pitch="-3st">test</prosody>
    <prosody pitch="-4st">test</prosody>
    <prosody pitch="-5st">test</prosody>
    <prosody pitch="-6st">test</prosody>
    <prosody pitch="-7st">test</prosody>
    <prosody pitch="-8st">test</prosody>
    <prosody pitch="-9st">test</prosody>
    <prosody pitch="+1st">test</prosody>
    <prosody pitch="+2st">test</prosody>
    <prosody pitch="+3st">test</prosody>
    <prosody pitch="+4st">test</prosody>
    <prosody pitch="+5st">test</prosody>
    <prosody pitch="+6st">test</prosody>
    <prosody pitch="+7st">test</prosody>
    <prosody pitch="+8st">test</prosody>
    <prosody pitch="+9st">test</prosody>
</speech>
Run Code Online (Sandbox Code Playgroud)

您也可以组合这两个标签.