Есть ли способ изменить женский голос на мужской во время разговора в DialogFlow (Api.ai)?
Мы создаем приложение чат-бота для Google Home, используя Api.ai (Dialogflow сейчас), в котором есть исторические фигуры как мужчин, так и женщин. Мы используем Действия в Google. Google позволяет вам по умолчанию использовать мужской или женский голос при развертывании приложения. Есть ли способ динамического переключения между мужским и женским голосом, например, с помощью кода в webhook?
1 ответ
Может быть Хотя 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. Вот пример, который вы можете использовать, чтобы увидеть, как он звучит, если вы измените высоту звука:
<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>
Вы также можете объединить два тега.