在您的应用程序中使用 Mozilla DeepSpeech 启用语音转文本

应用程序中的语音识别不仅仅是一个有趣的技巧,也是一项重要的可访问性功能。
30 位读者喜欢这篇文章。
Open source voice control

Pixabay。由 Opensource.com 修改。CC BY-SA 4.0。

计算机的主要功能之一是解析数据。有些数据比其他数据更容易解析,而语音输入仍然是一项正在进行的工作。 然而,近年来该领域取得了许多改进,其中之一就是 DeepSpeech,这是 Mozilla 的一个项目,该基金会维护着 Firefox 网络浏览器。 DeepSpeech 是一个语音转文本的命令和库,使其对需要将语音输入转换为文本的用户以及希望为其应用程序提供语音输入的开发人员非常有用。

安装 DeepSpeech

DeepSpeech 是开源的,根据 Mozilla 公共许可证 (MPL) 发布。 您可以从其 GitHub 页面下载源代码。

要安装,首先为 Python 创建一个虚拟环境

$ python3 -m pip install deepspeech --user

DeepSpeech 依赖于机器学习。 您可以自己训练它,但最简单的方法是在刚开始时下载预先训练好的模型文件。

$ mkdir DeepSpeech
$ cd Deepspeech
$ curl -LO \
https://github.com/mozilla/DeepSpeech/releases/download/vX.Y.Z/deepspeech-X.Y.Z-models.pbmm
$ curl -LO \
https://github.com/mozilla/DeepSpeech/releases/download/vX.Y.Z/deepspeech-X.Y.Z-models.scorer

用户应用程序

使用 DeepSpeech,您可以将语音录音转录为书面文本。 从最佳条件下干净录制的语音中,您可以获得最佳效果。 但是,在紧急情况下,您可以尝试任何录音,并且您可能会得到一些可以用作手动转录起点的东西。

出于测试目的,您可以录制一个包含简单短语“This is a test. Hello world, this is a test.”的音频文件。 将音频另存为名为 hello-test.wav.wav 文件。

在您的 DeepSpeech 文件夹中,通过提供模型文件、评分器文件和您的音频来启动转录

$ deepspeech --model deepspeech*pbmm \
--scorer deepspeech*scorer \
--audio hello-test.wav

输出将提供给标准输出(您的终端)

this is a test hello world this is a test

您可以使用 --json 选项以 JSON 格式获取输出

$ deepspeech --model deepspeech*pbmm \
-- json
--scorer deepspeech*scorer \
--audio hello-test.wav

这将呈现每个单词以及时间戳

{
  "transcripts": [
    {
      "confidence": -42.7990608215332,
      "words": [
        {
          "word": "this",
          "start_time": 2.54,
          "duration": 0.12
        },
        {
          "word": "is",
          "start_time": 2.74,
          "duration": 0.1
        },
        {
          "word": "a",
          "start_time": 2.94,
          "duration": 0.04
        },
        {
          "word": "test",
          "start_time": 3.06,
          "duration": 0.74
        },
[...]

开发人员

DeepSpeech 不仅仅是一个转录预先录制的音频的命令。您还可以使用它来实时处理音频流。 GitHub 存储库 DeepSpeech-examples 包含适用于 Android 的 JavaScript、Python、C# 和 Java 示例。

大部分的辛苦工作已经完成,因此集成 DeepSpeech 通常只需要引用 DeepSpeech 库并了解如何从主机设备获取音频(您通常通过 Linux 上的 /dev 文件系统或 Android 和其他平台上的 SDK 来完成)。

语音识别

作为一名开发人员,为您的应用程序启用语音识别不仅仅是一个有趣的技巧,而且是一项重要的辅助功能,它可以让行动不便、视力不佳以及喜欢双手繁忙的长期多任务处理者更轻松地使用您的应用程序。 作为用户,DeepSpeech 是一种有用的转录工具,可以将音频文件转换为文本。 无论您的用例如何,请尝试 DeepSpeech,看看它可以为您做些什么。

接下来阅读什么
Seth Kenlon
Seth Kenlon 是一位 UNIX 极客、自由文化倡导者、独立多媒体艺术家和 D&D 爱好者。 他曾在电影和计算行业工作,通常同时进行。

评论已关闭。

Creative Commons License本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.