让Google助手用其他语言回复

问题描述 投票:1回答:1

我已经在Google的Dialogflow中设置了一个应用/代理。我已经让我的助手与之交谈,并对我已设置的服务执行Web挂钩。

[用户以英语与Google助手对话,即Google正在与之交谈的服务,本质上只是将瑞典语单词随机化,然后将其作为文本以瑞典语形式呈现给语音。

例如,“好的,谷歌,与testapp交流。”然后Google回应“ Dagens ord:köttfärs”。

但是,谷歌语音对用户说的是英语,我无法将其更改为瑞典语回复。我希望该应用程序以英语听,但是如果可以的话,以瑞典语回应,这是英语朋友学习瑞典语单词的培训活动。

[我发现一些API文档提到locale,所以我尝试摆弄它,但是接缝必须绑定到客户端/代理的源语言上,从而无法确定结果声音。]]

这是响应数据((以python格式)

response_headers = {}
response_headers[b'Content-Type'] = b'application/json'
response_headers[b'Google-Assistant-API-Version'] = b'v2'

response_data = {
    "fulfillmentText": TTS,
    "locale" : "sv-SE",
    "fulfillmentMessages": [
        {
            "card": {
                "title": TTS,
                "subtitle": TTS,
                "imageUri": "https://assistant.google.com/static/images/molecule/Molecule-Formation-stop.png",
                "buttons": [
                    {
                        "text": "Turn it off",
                        "postback": "https://service.com/google_home.py?state=off"
                    }
                ]
            }
        }
    ],
    "source": "service.com",
    "payload": {
        "google": {
            "expectUserResponse": False,
            "locale" : "sv-SE",
            "richResponse": {
                "items": [
                    {
                        "simpleResponse": {
                            "textToSpeech": TTS,
                            "locale" : "sv-SE"
                        }
                    }
                ]
            }
        }
    }
}

是否有一种方法可以告诉助手应在回复时切换语言上下文,而不取决于输入?在缝上加locale几乎没有什么用,所以我想我距离这里远吗?

[也许我应该提到TTS是短语"Dagens ord: köttfärs"

我已经在Google的Dialogflow中设置了一个应用/代理。我已经让我的助手与之交谈,并对我已设置的服务执行Web挂钩。用户使用英语与Google助手通话,... ...>

response dialogflow google-assistant-sdk
1个回答
1
投票
对于简单的事情,您可以use SSML to play pre-recorded audio,而不是使用文本转语音。有点像

<speech> <audio src="https://example.com/audio/dagens-ord-kottfars.mp3"> <desc>Dagens ord: köttfärs</desc> </audio> </speech>

© www.soinside.com 2019 - 2024. All rights reserved.