Logo
Section 1 / 3

前置条件和所需库

学习如何安装所需的库,使用 Python 和 AssemblyAI 进行音频转录。

导入

前置条件和所需库

学习如何安装所需的库,使用 Python 和 AssemblyAI 进行音频转录。

在本章中,我们将构建一个网页应用,使用 AssemblyAI 和 Streamlit 实现音频转写功能。

转写

转写 是将音频转换为文本的过程。虽然我们可以实现一个机器学习模型来从音频中提取文本,但这非常不方便。如果尝试训练一个用于转写的机器学习模型,将面临以下挑战:

  • 需要掌握大量的音频信号处理知识,才能从音频信号中提取特征。
  • 必须从各种来源挖掘或爬取大量数据。
  • 需要熟悉 PyTorch 或 TensorFlow 等机器学习库。

幸运的是,AssemblyAI 提供了免费版本,只需发送少量请求即可完成音频转写。

依赖要求

  • 一个 AssemblyAI 账户(免费注册 这里)
  • 一个 AssemblyAI API 密钥(可在 这里 找到)
  • 基本的 Python 3.5+ 知识(本章将使用 Python 3.9)
  • 虽然不是必需的,但了解 Python 的 Requests 库会很有帮助

使用的库

  • AssemblyAI 用于将音频转换为文本。它提供了一个 REST API,可被任何支持 REST API 调用的语言使用,如 JavaScript、PHP、Python 等。我们将使用 Python 向该 API 发送请求。
  • 我们将使用 Requests 库向 AssemblyAI 的 REST API 发送请求。
  • 我们将使用 Python-dotenv 库从 .env 文件中读取变量。

设置项目目录

通过命令行创建一个新的文件夹/目录。

1mkdir ASSEMBLYAI

为了保护敏感凭证的安全,建议将凭证存储在 .env 文件中。然后可以使用 Python-dotenv 库从该文件中读取凭证。也可以选择将其存储在环境变量中。

在你创建的新目录 ASSEMBLYAI 中,创建两个新的 Python 文件和一个 .env 文件。

如果你使用的是 Windows,运行以下命令:

1New-Item main.py, transcribe.py, .env

如果你使用的是 macOS 或 Linux,运行以下命令:

1touch main.py && touch transcribe.py && touch .env

文件 main.py 将包含与 Streamlit UI 相关的所有代码,而 transcribe.py 将包含辅助函数以及与 AssemblyAI API 交互的代码。

设置项目环境

确保当前位于 ASSEMBLYAI 目录下。如果尚未在此目录,请使用 cd 命令切换目录。

1cd ASSEMBLYAI

Windows 用户的命令

  • 安装 virtualenv,输入以下命令:
    1python -m pip install --user virtualenv
  • 创建虚拟环境,输入以下命令:
    1python -m venv venv
  • 激活 venv,输入以下命令:
    1venv/Scripts/activate

macOS 或 Linux 用户的命令

  • 安装 virtualenv,输入以下命令:
    1python3 -m pip install --user virtualenv
  • 创建虚拟环境,输入以下命令:
    1python3 -m venv venv
  • 激活 venv,输入以下命令:
    1source venv/bin/activate

为了分别安装 Requests、Streamlit 和 Python-dotenv 库,可以在命令行中输入以下一行命令:

1pip install streamlit requests python-dotenv

这将安装所需的最新版本库。

项目文件结构应如下图所示。

...
显示文件结构

将 API 密钥添加到 .env 文件中

  • 打开在“设置项目环境”部分创建的 .env 文件。
  • 添加以下内容:API_TOKEN = "你的 API 密钥"。
  • 将字符串 “你的 API 密钥” 替换为你从 AssemblyAI 获取的实际 API 密钥。

构建一个 Streamlit 应用来抓取 GitHub 用户资料

使用 AssemblyAI 转录本地音频文件