0

./start_app.sh
启动成功后,在浏览器中访问:
http://localhost:7860
按 Ctrl+C 或运行:
# 方式 1:使用端口
lsof -ti:7860 | xargs kill
# 方式 2:使用进程名
pkill -f "python.*webui/app.py"
WebUI 包含 3 个主要功能 Tab:
将单个音频文件转换为文字。
上传音频文件
设置参数(可选)
开始转录
查看结果
界面底部提供了示例音频:
example_en.wav:英文示例example_zh.wav:中文示例点击示例可快速测试功能。
一次性处理多个音频文件,提高工作效率。
上传多个文件
Ctrl(Windows/Linux)或 Cmd(Mac)选择多个文件设置参数(可选)
批量转录
查看结果
| 文件数量 | GPU 模式 | CPU 模式 |
|---|---|---|
| 10 个文件 | 约 30 秒 | 约 5 分钟 |
| 50 个文件 | 约 2.5 分钟 | 约 25 分钟 |
| 100 个文件 | 约 5 分钟 | 约 50 分钟 |
查看、导出和管理所有转录历史记录。
设置显示数量
点击查询
点击导出按钮
.history/export.json导出格式
[
{
"timestamp": "2025-12-22T17:00:00",
"audio_path": "/path/to/audio.wav",
"transcript": "转录文字内容",
"duration": null,
"metadata": {}
}
]
使用导出文件
点击清空按钮
确认清空
.history/transcriptions.jsonlpython cli.py [全局参数] <子命令> [子命令参数]
| 参数 | 说明 | 默认值 |
|---|---|---|
--checkpoint_dir | 模型目录 | models/GLM-ASR-Nano-2512 |
--tokenizer_path | Tokenizer 目录 | 同模型目录 |
--device | 设备(cuda/cpu) | 自动检测 |
--max_new_tokens | 最大生成 Token 数 | 128 |
python cli.py [全局参数] transcribe <音频文件> [选项]
<音频文件>:必需,音频文件路径--no-history:可选,不保存历史记录# 基础用法
python cli.py transcribe examples/example_en.wav
# 使用 CPU
python cli.py --device cpu transcribe examples/example_en.wav
# 不保存历史
python cli.py transcribe examples/example_en.wav --no-history
# 自定义 Token 数
python cli.py --max_new_tokens 256 transcribe examples/example_zh.wav
----------
Be careful not to allow fabric to become too hot, which can cause shrinkage or in extreme cases, scorch.
python cli.py [全局参数] batch <音频文件1> <音频文件2> ...
<音频文件>:必需,一个或多个音频文件路径examples/*.wav# 批量转录多个文件
python cli.py batch examples/example_en.wav examples/example_zh.wav
# 使用通配符
python cli.py batch examples/*.wav
# 递归搜索
python cli.py batch "**/*.wav"
找到 2 个音频文件
Transcribing: 100%|████████████| 2/2 [00:10<00:00, 5.00s/it]
✓ examples/example_en.wav
✓ examples/example_zh.wav
完成:2/2 成功
python cli.py history [选项]
--limit N:显示最近 N 条记录(默认 10)--audio PATH:按音频路径过滤--export FILE:导出到文件--format FORMAT:导出格式(json/csv)--clear:清空历史记录# 查询最近 10 条记录
python cli.py history
# 查询最近 20 条记录
python cli.py history --limit 20
# 按文件名过滤
python cli.py history --audio example_en.wav
# 导出为 JSON
python cli.py history --export history.json --format json
# 导出为 CSV
python cli.py history --export history.csv --format csv
# 清空历史记录
python cli.py history --clear
时间:2025-12-22T17:00:00
文件:examples/example_en.wav
转录:Be careful not to allow fabric to become too hot...
时间:2025-12-22T17:01:00
文件:examples/example_zh.wav
转录:请注意不要让织物过热...
问题:转录一个音频需要很长时间
原因:
解决方案:
# 1. 确认使用 GPU
python -c "import torch; print(f'CUDA: {torch.cuda.is_available()}')"
# 2. 检查 GPU 状态
nvidia-smi
# 3. 使用 GPU 模式
python cli.py --device cuda transcribe audio.wav
问题:Couldn't find appropriate backend to handle uri
原因:缺少音频后端
解决方案:
# 安装 soundfile
pip install soundfile
# 验证
python -c "import torchaudio; print(torchaudio.list_audio_backends())"
问题:Torch not compiled with CUDA enabled
原因:安装了 CPU 版本的 torch
解决方案:
# 卸载 CPU 版本
pip uninstall -y torch torchaudio
# 安装 CUDA 版本
pip install torch torchaudio --index-url https://download.pytorch.org/whl/cu124
# 验证
python -c "import torch; print(f'CUDA: {torch.cuda.is_available()}')"
问题:Address already in use
原因:端口 7860 被其他程序占用
解决方案:
# 方式 1:使用启动脚本(自动处理)
./start_app.sh
# 方式 2:手动终止占用进程
lsof -ti:7860 | xargs kill
问题:转录的文字与音频内容不符
可能原因:
建议:
--max_new_tokens 参数问题:查询不到之前的转录记录
原因:
--no-history 参数解决方案:
.history/transcriptions.jsonl 是否存在--no-historymax_new_tokens 参数.history/ 目录--audio 参数过滤查询| 模式 | 单文件 | 10 文件 | 100 文件 |
|---|---|---|---|
| GPU (RTX 3090) | 2-5 秒 | 30 秒 | 5 分钟 |
| CPU (8 核) | 30-60 秒 | 5 分钟 | 50 分钟 |
| 音频长度 | GPU 时间 | CPU 时间 |
|---|---|---|
| 10 秒 | 2 秒 | 20 秒 |
| 30 秒 | 3 秒 | 40 秒 |
| 1 分钟 | 4 秒 | 60 秒 |
| 5 分钟 | 10 秒 | 5 分钟 |
webUI二次开发by科哥 微信:312088415
如遇到问题,请提供:
查看 todo.md 了解最新的功能更新和问题修复。
最后更新:2025-12-22 版本:v1.0.0
ps -ef |grep python
kill -9 pid
cd /root && bash run.sh

认证作者
支持自启动