| .cargo | ||
| scripts | ||
| src | ||
| src-tauri | ||
| .gitignore | ||
| agent.md | ||
| index.html | ||
| package-lock.json | ||
| package.json | ||
| postcss.config.js | ||
| README.md | ||
| tailwind.config.js | ||
| tsconfig.json | ||
| vite.config.ts | ||
CrossSubtitle-AI
基于 Tauri v2 + Vue 3 + Pinia + Tailwind CSS 的本地优先字幕工作台,覆盖以下 MVP 链路:
- 导入音视频文件并创建任务队列
- 使用
ffmpeg抽取 16kHz 单声道 WAV - 执行基础 VAD 切分并生成语音片段时间轴
- 进入 Whisper 转录/翻译环节
- 可选接入 OpenAI-compatible 接口生成中文译文
- 实时推送任务进度和字幕片段
- 导出
SRT / VTT / ASS
目录结构
src/: Vue 前端界面、Pinia 状态、字幕编辑器src-tauri/src/audio.rs: 音频抽取与 WAV 读取src-tauri/src/vad.rs: VAD API 与基础能量检测实现src-tauri/src/whisper.rs: Whisper 接口层src-tauri/src/translate.rs: OpenAI-compatible 滑动窗口翻译src-tauri/src/subtitle.rs: SRT / VTT / ASS 导出src-tauri/src/task.rs: 任务编排与事件广播
当前实现说明
- 当前仓库已补齐完整工程骨架与核心数据流。
- 前端
npm run build已通过,Rust 侧cargo check已通过。 whisper.rs已接入真实whisper-rs,会基于 VAD 片段逐段转录;目标语言为英文时启用 Whisper 原生translate。vad.rs已接入ort版 Silero VAD 推理入口;当模型缺失或推理失败时,会自动回退到能量检测,保证链路不断。
运行前准备
- 安装 Rust 工具链。
- 安装
cmake,whisper-rs-sys在首次编译时需要它。 - 安装
ffmpeg,并确保可通过命令行直接调用。 - 安装前端依赖:
npm install
- 如需中文翻译,配置环境变量:
export OPENAI_API_BASE=https://your-openai-compatible-endpoint/v1
export OPENAI_API_KEY=your_api_key
export OPENAI_MODEL=GLM-4-Flash-250414
-
若要真正启用 ONNX Runtime 推理,请确保本机存在可被
ort动态加载的 ONNX Runtime 库,或按你的部署方式提供运行库。 -
启动桌面应用:
npm run dev
下一步建议
- 为
src-tauri/src/vad.rs补模型输入名自适应和更多异常日志。 - 加入文件选择器、任务恢复、批量导出与测试用例。
- 为
whisper-rs增加硬件加速参数与模型配置面板。