开源技术 * IBM 微讲堂:Kubeflow 系列(观看回放 | 下载讲义) 了解详情

实时转录音频或从音频文件转录音频

摘要

使用 Node.js 和 React 组件,创建一个可从麦克风或文件中获取音频并将语音转录为文本的 Web 应用程序。该应用程序使用 IBM® Watson™ Speech to Text 来提供多种模型并支持多种语言。可以在 IBM Cloud 中使用 Watson Speech to Text,还可以在 IBM Cloud Pak® for Data 中通过 Watson API 套件来使用 Watson Speech to Text。

概览

此语音转文本 Web 应用程序是使用 React 组件和 Node.js 服务器构建的,它可从麦克风或文件中获取音频输入。该音频通过 WebSocket 进行流式传输,以便进行实时转录。您可以看到文本显示,并在发言时对其进行更新。

在 Node.js 服务器上,使用您的凭证向该服务进行认证。该 Web 应用程序会从服务器请求一个临时令牌,以确保不会将您的凭证发送到浏览器。

该应用程序旨在帮助您入门。语音转文本应用程序是一个有趣的示例,但只有在您使用此代码使自己的应用程序接受语音输入时,才会获得真正的结果。

可以在 IBM Cloud 中使用 Watson Speech to Text,还可以在 IBM Cloud Pak for Data 中通过 Watson API 套件来使用 Watson Speech to Text。通过 IBM Cloud Pak for Data,您可以在自己的私有云上或在运行 Red Hat OpenShift 的任何位置中配置 Watson Speech to Text。

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

  • 使用 WebSocket 将音频流式传输到 Watson Speech to Text 服务
  • 在 Web 应用程序中集成 Watson Speech to Text
  • 使用 React 组件和 Node.js 服务器

流程

转录音频流程图

  1. 用户向应用程序(在本地、IBM Cloud 或 IBM Cloud Pak for Data 中运行)提供音频输入。
  2. 该应用程序通过 WebSocket 连接将音频数据发送到 Watson Speech to Text 服务。
  3. 处理完该数据后,Watson Speech to Text 服务会将所提取文本的相关信息和其他元数据返回给该应用程序以进行显示。

操作说明

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

  1. 配置 Watson Speech to Text 服务。
  2. 部署服务器。
  3. 使用 Web 应用程序。

本文翻译自:Transcribe audio in real time or from an audio file(2020-07-09)