2.7 KiB
2.7 KiB
AudioScribe
基于火山引擎大模型录音文件识别 API 的录音转文字工具,支持说话人聚类分离。
功能特性
- 调用火山引擎大模型 ASR API 进行语音转写
- 支持说话人聚类分离(自动识别不同说话人)
- 自动生成 Markdown 格式的转写文档(按时间线排列,标注说话人)
- 同时输出原始 JSON 数据
- 支持 mp3、m4a 等常见音频格式
项目结构
AudioScribe/
├── transcribe_legacy.py # 主脚本(APP ID + Access Token 认证)
├── transcribe_all.py # 备用脚本(API Key 认证)
├── requirements.txt # Python 依赖
├── .env # 环境变量配置(需自行创建)
├── tools/ # 工具(ffmpeg 等)
├── docs/ # API 文档
└── output/ # 转写结果输出目录
快速开始
1. 安装依赖
python -m venv .venv
.venv\Scripts\activate # Windows
# source .venv/bin/activate # Linux/macOS
pip install -r requirements.txt
2. 配置环境变量
在项目根目录创建 .env 文件:
# 火山引擎 API 配置(旧版控制台 - APP ID + Access Token)
X_API_APP_KEY=你的APP_ID
X_API_ACCESS_KEY=你的Access_Token
X_API_RESOURCE_ID=volc.seedasr.auc
# S3 兼容对象存储配置(用于上传音频文件)
S3_ENDPOINT=https://your-s3-endpoint
S3_ACCESS_KEY_ID=your_access_key
S3_SECRET_ACCESS_KEY=your_secret_key
S3_BUCKET=audioscribe
X_API_RESOURCE_ID 可选值:
volc.bigasr.auc— 大模型 ASR 1.0volc.seedasr.auc— 大模型 ASR 2.0(推荐,需旧版控制台认证)
3. 运行转写
python transcribe_legacy.py "音频文件.mp3"
输出文件将保存到 output/ 目录:
{音频名}_转写结果.json— 原始 API 返回数据{音频名}_转写结果.md— Markdown 格式转写文档
两个脚本的区别
transcribe_legacy.py |
transcribe_all.py |
|
|---|---|---|
| 认证方式 | APP ID + Access Token(旧版控制台) | API Key(新版控制台) |
| 对象存储 | S3 兼容(boto3) | MinIO |
| 支持模型 | bigasr / seedasr | 仅 bigasr |
| 输出目录 | output/ |
项目根目录 |
输出格式示例
Markdown 文档按时间线排列,标注说话人:
# 转写结果
**源文件**: 示例.mp3
**音频时长**: 09:04.61
**说话人数量**: 5 人
**分句数量**: 183
---
## 按时间线
- **00:00.54 - 00:01.54** **说话人1** 已经检验了啊。
- **00:02.46 - 00:03.38** **说话人2** 来,你大概说一下嘛。
- **00:04.38 - 00:11.34** **说话人3** 就是计时,从比如说我们是5点钟下班儿……
依赖
- Python 3.8+
- requests
- python-dotenv
- boto3