首页 > 解决方案 > 让谷歌助手用另一种语言回复

问题描述

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

用户用英语与谷歌助手交谈,谷歌正在与之交谈的服务,基本上只是随机化一个瑞典语单词,并将其作为瑞典语的文本呈现给语音。

例如,“Ok Google,与 testapp 谈谈今天的话。” 谷歌回应“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"

标签: responsedialogflow-esgoogle-assistant-sdk

解决方案


不幸的是,没有直接支持的方式让助手以不同于设置对话的语言回复(这是它所期望的输入)。

对于简单的事情,您可以使用 SSML 来播放预先录制的音频,而不是使用文本转语音。就像是

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

如果您需要使其更具动态性,您可以创建另一个 webhook 来获取您想要的文本,并使用Google 的 text-to-speech API 之类的东西来创建 mp3 音频。然后,您可以提供此 URL 作为音频的 src。(不幸的是,谷歌似乎也不允许数据 URL。)


推荐阅读