我们正在使用Api.ai(现在是Dialogflow)为Google Home构建一个聊天机器人应用程序,其中包含男性和女性历史人物。我们在谷歌上使用动作。 Google可让您在部署应用时默认使用男声或女声。有没有办法动态切换男性和女性的声音,例如,使用webhook中的代码?
答案 0 :(得分:8)
也许。虽然SSML支持<voice>
标记,但操作文档并未将其列为受支持。但是,正如您所指出的那样,似乎有一些支持。 gender
和variant
属性似乎有效,至少对于en-US而言。 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>
然而 记录为工作的是使用<prosody>
SSML tag来调整默认语音的音高(无论您选择哪一个) 。以下是一个示例,您可以使用它来查看改变音高时的声音:
<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>
您也可以合并这两个标签。