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

Python Flask 音频搜索应用程序

摘要

这一 Code Pattern 解释了如何创建一个用于在音频和视频文件中搜索某一主题的应用程序。

概览

收听播客或者音视频文件时,您常常希望能直接跳转至目标主题,而不是收听无关紧要的信息。然而,在整个录音中查找相关主题或关键字实属不易。

在这个 Code Pattern 中,将创建一个用来在音频或视频文件中搜索内容的应用程序。利用这一应用,您不仅能够搜索内容,还能在文件中突出显示出现搜索字符串或主题的文本。这一 Code Pattern 会在音频文件中执行自然语言查询搜索,返回的结果包含讨论搜索主题的相应时间帧。这个示例使用 IBM® Watson™ Machine Learning 介绍视频来说明这一过程。

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

  • 准备音频和视频数据并进行分块,将其分为更小的可处理数据块
  • 利用 Watson Speech to Text 服务通过 API 调用将音频或视频转换为文本
  • 利用 Watson Discovery 服务通过 API 调用对文本块执行搜索
  • 创建一个 Python Flask 应用程序并在 IBM Cloud 上进行部署

流程

Python Flash 音频播客流程图

  1. 用户在 UI 上上传音频或视频文件。
  2. 通过 moviepypydub Python 库处理音频或视频文件,并将文件划分为更小的可处理数据块。
  3. 用户通过提供的应用程序 UI 与 Watson Speech to Text 服务进行交互。使用 Watson Speech to Text 将音频块转换为文本块。
  4. 通过使用 Python SDK 调用 Watson Discovery API,在 Watson Discovery 上上传文本块。
  5. 用户利用 Watson Discovery 执行搜索查询。
  6. 结果显示在 UI 上。

操作说明

可在 readme 文件中获取详细的步骤。这些步骤将展示如何:

  1. 克隆 GitHub 代码库。
  2. 创建 Watson Speech to Text 服务。
  3. 创建 Watson Discovery 实例。
  4. 在本地运行应用程序。

本文翻译自:A Python Flask audio search application(2020-09-10)