一个基于 stable-ts 的网页版音频文本字幕对齐工具,可以将现有的 TXT 文本与音频文件对齐并生成 SRT/ASS 字幕文件。
- 支持多种音频格式(MP3、WAV、M4A)
- 支持多种语言(中文、英文、日文、韩文等)
- 可选择不同的模型大小(Tiny、Base、Small、Medium、Large)
- 支持多种字幕格式输出(SRT、ASS、JSON、TSV)
- 实时显示处理进度
首先确保已安装 Python 3.8 或更高版本,然后安装依赖:
pip install -r requirements.txtpython app.py服务器启动后,在浏览器中打开:
http://localhost:5000
- 点击"添加文件"按钮,选择你的音频和文本
- 或者可以直接拖拽上传
- 选择语言(默认为中文)
- 选择模型大小(推荐使用 Base,速度和准确度平衡)
- 选择输出格式(默认为 SRT)
- 点击"开始对齐"按钮
- 等待处理完成(进度条会显示实时进度)
- 点击"下载字幕文件"按钮获取生成的字幕
- Tiny: 最快,准确度较低,适合快速测试
- Base: 推荐使用,速度和准确度平衡
- Small: 较慢,准确度较高
- Medium: 慢,准确度高
- Large: 最慢,准确度最高,需要更多内存
- 中文 (zh)
- 英文 (en)
- 日文 (ja)
- 韩文 (ko)
- 西班牙文 (es)
- 法文 (fr)
更多语言请参考 Whisper 支持的语言列表
- SRT: 最常用的字幕格式,兼容性好
- ASS: 高级字幕格式,支持更多样式
- JSON: 包含完整的时间戳和元数据
- TSV: 表格格式,便于数据分析
- 句子级(推荐): 只显示句子时间戳,输出简洁的通用字幕格式,适合大多数播放器
- 单词级高亮: 为每个单词添加时间戳和高亮样式,适合学习和精确对齐场景
- 高亮颜色: 可自定义单词高亮的颜色(默认为绿色)
- 文本样式: 支持粗体、斜体、下划线样式的组合
- 设置持久化: 您的选择会自动保存,刷新页面后保持
TXTSubAlign/
├── app.py # Flask 后端服务器
├── index.html # 前端页面
├── requirements.txt # 依赖列表
├── README.md # 说明文档
├── start.bat # Windows 快速启动脚本
├── uploads/ # 临时上传文件目录(自动创建)
└── outputs/ # 输出字幕文件目录(自动创建)
└── YYYY-MM-DD_HH-MM-SS/ # 每次批量处理的独立目录(按时间戳命名)
├── file1.srt
├── file2.srt
└── ...
- 首次运行时会下载模型文件,可能需要一些时间
- 模型文件会缓存在本地,后续运行会更快
- 处理大文件或使用大模型时需要更多时间
- 确保文本内容与音频内容匹配,否则对齐效果会不佳
- 每次批量处理会自动创建一个独立的时间戳目录,避免文件名冲突
- 历史批次的输出文件会保留在各自的时间戳目录中
如果模型下载失败,可以手动下载模型文件并放置在正确的目录,或配置代理。
如果遇到内存不足的问题,可以尝试:
- 使用更小的模型(如 Tiny 或 Base)
- 处理较短的音频片段
- 增加系统内存
如果处理速度较慢:
- 使用更小的模型
- 检查是否有 GPU 支持
- 确保 PyTorch 正确安装了 CUDA 支持(如有 NVIDIA GPU)
- 后端: Flask + stable-ts
- 前端: 纯 HTML/CSS/JavaScript
- AI 模型: OpenAI Whisper
本项目仅供学习和个人使用。