导入
前置条件和所需库
学习如何安装所需的库,使用 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 密钥。