59 lines
2.0 KiB
Markdown
59 lines
2.0 KiB
Markdown
# 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`: 任务编排与事件广播
|
||
|
||
## 当前实现说明
|
||
|
||
- 当前仓库已补齐完整工程骨架与核心数据流。
|
||
- 由于本机环境缺少 Rust 工具链,本次未能执行 `cargo check` 或 `tauri dev`。
|
||
- `whisper.rs` 目前提供了稳定的接口与任务路由,但真实 `whisper-rs` 推理仍需在安装 Rust 后继续接入具体模型调用。
|
||
- `vad.rs` 已提供可用的 VAD 模块 API,默认实现为能量检测回退;如果你后续放入 Silero ONNX,可在此模块内替换为 `ort` 推理。
|
||
|
||
## 运行前准备
|
||
|
||
1. 安装 Rust 工具链。
|
||
2. 安装 `ffmpeg`,并确保可通过命令行直接调用。
|
||
3. 安装前端依赖:
|
||
|
||
```bash
|
||
npm install
|
||
```
|
||
|
||
4. 如需中文翻译,配置环境变量:
|
||
|
||
```bash
|
||
export OPENAI_API_BASE=https://your-openai-compatible-endpoint/v1
|
||
export OPENAI_API_KEY=your_api_key
|
||
export OPENAI_MODEL=gpt-4o-mini
|
||
```
|
||
|
||
5. 启动桌面应用:
|
||
|
||
```bash
|
||
npm run dev
|
||
```
|
||
|
||
## 下一步建议
|
||
|
||
- 将 `src-tauri/src/whisper.rs` 的占位实现替换为真实 `whisper-rs` 推理。
|
||
- 在 `src-tauri/src/vad.rs` 接入 Silero VAD ONNX Runtime。
|
||
- 加入文件选择器、任务恢复、批量导出与测试用例。
|