砥砺奋进谱新篇,且看旧貌换新颜。欢迎访问新的 IBM Developer 中文网站! 了解详情

构建一个能听、能说的实时翻译应用

本 Code Pattern 是 2020 年 Call for Code 全球挑战赛的一部分,可以在 IBM Cloud 上运行。

摘要

使用 Node.js 和 React 组件,创建一个可以作为您的私人翻译的 Web 应用。该应用使用 IBM® Watson™ Speech to Text、Watson Language Translator 和 Watson Text to Speech 完成从麦克风到耳机的转录、翻译和语音合成。可以在 IBM Cloud 中使用 Watson 服务,也可以在 IBM Cloud Pak for Data 中通过 Watson API Kit 来使用 Watson 服务。此 Code Pattern 包括以这两种方式运行 Watson 服务的说明。

描述

使用 React 组件和 Node.js 服务器构建的语言翻译器 Web 应用,可以捕获音频输入并将其串流至 Watson Speech to Text 服务。当输入语音被转录后,会被发送 Watson Language Translator 服务翻译为您选择的语言。该应用会实时显示转录文本和翻译文本。每个处理完的短语被发送到 Watson Text to Speech 服务,用您选择的特定区域的语言来发音。

要了解什么是实时转录/翻译和“处理完成的短语”发音,最好的方法就是亲自体验一下。您会注意到,文本将随着单词和短语的处理完毕而更新,更便于在语境中理解。为了避免重复或重叠音频,只有已处理完成的短语才会进行语音合成。一般都是较短的语句,其中暂停表示停顿。

为了获得最好的现场体验,请戴上耳机来收听麦克风正在听到的翻译版本。您也可以先使用切换按钮来录音和转录,暂时不翻译。准备好后,选择一种语言和声音,然后启用翻译(和语音)。

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

  • 使用 WebSocket 将音频串流到 Watson Speech to Text 服务
  • 将 Watson Language Translator 服务与 REST API 一起使用
  • 使用 REST API 从 Watson Speech to Text 服务中检索音频并播放音频
  • 在 Web 应用中集成 Watson Speech to Text、Watson Language Translator 和 and Watson Text to Speech 服务
  • 使用 React 组件和 Node.js 服务器

流程

构建实时翻译服务流程图

  1. 用户按下麦克风按钮并捕获输入音频。
  2. 使用 WebSocket 将音频串流到 Speech to Text 服务。
  3. 显示并更新从 Speech to Text 服务获取的转录文本。
  4. 转录的文本被发送到 Language Translator,并显示和更新翻译文本。
  5. 处理完成的短语被发送到 Text to Speech 服务,生成的音频将自动播放。

操作说明

README 文件中可找到本 Code Pattern 的详细步骤。这些步骤将展示如何:

  1. 准备 Watson 服务。
  2. 部署服务器。
  3. 使用 Web 应用。

本文翻译自:Build a real-time translation app that can listen and speak(2020-02-08)