Archived | 部署无服务器的多语种会议室

本文已归档

归档日期:: 2019-10-31

此内容不再被更新或维护。 内容是按“原样”提供。鉴于技术的快速发展,某些内容,步骤或插图可能已经改变。

摘要

本 Code Pattern 提供了一种建立沟通渠道的方法,支持不同语言的客户进行无障碍沟通。当参与者位于不同国家或地区的会议室和电话会议时,这种方法尤其有用,不同语言语音被实时翻译成字幕或生成音频。

概览

您是否曾希望不同语言的网游队友能够顺利沟通?是否希望能在聊天室(例如,Slack/Sametime/Zoom 聊天群)中跟使用不同语言的客户有效沟通?是否希望听懂 YouTube 或 Twitch 上的实时广播?抑或是参与网络课堂/网络研讨会?此 Code Pattern 提供了一种方法来实现这一目标:建立沟通渠道,支持使用不同语言的客户无障碍沟通。

此 Code Pattern 利用 MQTT 消息传递协议,允许每个客户发布和“订阅”一个或多个渠道。渠道组成确定了每个客户请求的语言和有效内容类型(例如,fromClient/french/audio)。

每条提交的消息发送到的渠道确定了将以什么顺序调用云功能- 例如,向 fromClient/english/audio 提交消息,将调用 Watson® 语音转文本服务运行音频有效内容,将此结果转发至翻译服务,并将翻译结果分发给所有正在收听的客户。

完成这个 Code Pattern 后,您将掌握如何:

  • 部署 IBM 云功能操作/触发器
  • 与 Watson IoT Platform 交互
  • 设置 Cloud Foundry 应用

流程

flow

  1. 从客户端接收消息,可以是 Web 浏览器、CLI、OpenWhisk 操作、短信等。
  2. 如果消息有效内容包含一个音频文件,它将被转录为文本。
  3. 转录的文本会被翻译为其他受支持的语言。
  4. 如果通过短信发送消息,那么发送方电话号码将被添加到 etcd 键值存储库中。etcd 在这里是用于维护订阅方的电话号码及其相应语言的列表。如果订阅方未参与对话达 300 秒,那么使用可调整的 TTL 值从存储库中移除其电话号码。
  5. 翻译的消息/音频流将发布到 MQTT 代理程序上的各种渠道,随后会在订阅的客户之间分发这些消息。

操作说明

准备好使用这个 Code Pattern 了吗?有关如何开始运行和使用该应用的完整细节请参阅 README

本文翻译自:Deploy a serverless multilingual conference room(2018-06-27)