Learn more >
Get the code
Watch the video
by Kalonji Bankole | Updated June 27, 2018 - Published March 14, 2018
GamingIoTMessagingNode.jsPlatform as a ServiceServerless
Archived date: 2019-06-30
This pattern proposes a method to create a communications channel that allows clients who speak different languages to seamlessly communicate with each other. This channel can be particularly useful in meeting rooms and conference calls where the participants are located in different countries. Translated subtitles, or audio, can be generated and delivered in real time.
Have you ever wished there was a way for online game teammates who speak different languages to communicate effectively? Or how about in chat rooms with many clients, such as a Slack, Sametime, or Zoom chat group? Live broadcasts like on YouTube or Twitch? Or maybe online classes and webinars? This pattern proposes a way to do just that: create a communications channel to allow different-language clients to seamlessly communicate with each other.
This pattern leverages the MQTT messaging protocol, which allows for each client to publish and “subscribe” to one or more channels. The channel makeup determines each client’s requested language and payload type, (fromClient/french/audio, for example).
The channel that each submitted message is sent to determines the sequence of cloud functions that will be called – for example, submitting a message to fromClient/english/audio will run the audio payload through the Watson® Speech to Text service, forward that result to the translator service, and distribute the translated result to all listening clients.
When you have completed this pattern, you will better understand how to:
Ready to put this code pattern to use? Complete details on how to get started running and using this application are in the README.
Back to top