152 lines
8.0 KiB
Markdown
152 lines
8.0 KiB
Markdown
# AI 字幕 & 配音终极工具套件 (AI Subtitle & Dubbing Ultimate Toolkit)
|
||
|
||
[](https://opensource.org/licenses/MIT)
|
||
|
||
这是一个为视频创作者、翻译组和内容生产者设计的桌面端应用程序套件,旨在通过 AI 技术全方位优化和自动化字幕处理与配音合成流程。从文本内容的初步精炼,到听感的节奏优化,再到最终的 AI 配音合成,本套件提供了一站式解决方案。
|
||
|
||
## 🌟 核心功能
|
||
|
||
* **智能文本精炼**: 利用本地大语言模型 (Ollama) 自动润色、精炼字幕文本,去除口语化、冗余词,使其更符合书面语和专业配音风格。
|
||
* **听感节奏优化**: 独创的算法,基于黄金语速模型,智能地压缩、拆分、缝合字幕,解决语速过快或过慢的问题,极大提升观众的听感体验。
|
||
* **交互式精细编辑**: 提供可视化界面,让你逐句对比、修改、润色字幕,并可随时调用 AI 进行单句优化,实现对最终成品的高度掌控。
|
||
* **一键式 AI 配音**: 集成 Microsoft Edge TTS,能够根据优化后的字幕时间轴,自动生成高质量、语速匹配的 AI 配音,并将其与视频一键合成。
|
||
* **高度可定制化**: 所有核心参数(如黄金语速、停顿时间、LLM 模型等)均可配置,满足不同场景下的个性化需求。
|
||
* **本地化与隐私**: 所有 AI 计算(LLM)均通过 Ollama 在本地完成,无需将你的字幕内容上传到云端,确保数据安全和隐私。
|
||
|
||
## 🛠️ 工具套件构成
|
||
|
||
本套件包含以下几个独立的、但可串联使用的图形化工具:
|
||
|
||
| 文件名 | 工具名称 | 主要功能 |
|
||
| :-------------------------------- | :-------------------------- | :----------------------------------------------------------- |
|
||
| `srt_refiner_v1.py` | **字幕内容批量精炼师** | **[第一步]** 对整个 SRT 文件进行全自动、批量的文本内容润色。 |
|
||
| `srt_interactive_refiner_v1.0.py` | **交互式字幕编辑器** | **[第二步]** 手动精修和校对字幕,可对单句进行 AI 润色或自定义修改。 |
|
||
| `srt_ultimate_optimizer_v4.0.py` | **终极字幕优化器** | **[第三步]** 核心工具,对字幕的**时间轴和结构**进行深度优化,调整语速和节奏。 |
|
||
| `srt_optimizer_v2.py` | **字幕听感优化器 (轻量版)** | **[备选]** `ultimate` 的无 LLM 替代版,纯粹基于规则进行节奏优化,速度更快。 |
|
||
| `main_v1.py` | **AI 视频配音合成工具** | **[第四步]** 读取最终优化好的 SRT 文件,生成配音并与视频合成。 |
|
||
|
||
## 🚀 技术栈
|
||
|
||
* **GUI 框架**: `Python` + `Tkinter`
|
||
* **UI 主题**: `sv-ttk` (提供现代化的深色/浅色主题)
|
||
* **大语言模型 (LLM) 支持**: `Ollama` (本地部署,支持 Gemma, Llama, Qwen 等模型)
|
||
* **文本转语音 (TTS)**: `edge-tts` (调用微软 Edge 浏览器的高质量 TTS 引擎)
|
||
* **音视频处理**: `FFmpeg` (业界标准的音视频处理库)
|
||
* **异步处理**: `asyncio`, `threading`, `queue` (确保 GUI 流畅不卡顿)
|
||
|
||
## 📦 安装与配置
|
||
|
||
在开始使用前,请确保你的系统已完成以下环境配置。
|
||
|
||
### 1. 先决条件
|
||
|
||
* **Python 3.8+**: [下载 Python](https://www.python.org/downloads/)
|
||
* **FFmpeg**:
|
||
* 必须安装并将其添加到系统的环境变量 (PATH) 中。
|
||
* Windows 用户可以从 [gyan.dev](https://www.gyan.dev/ffmpeg/builds/) 下载,解压后将 `bin` 目录路径添加到环境变量。
|
||
* macOS 用户可通过 Homebrew 安装: `brew install ffmpeg`
|
||
* Linux 用户可通过包管理器安装: `sudo apt-get install ffmpeg`
|
||
* **Ollama (可选,但强烈推荐)**:
|
||
* 用于驱动文本精炼和部分优化功能。
|
||
* 访问 [Ollama 官网](https://ollama.com/) 下载并安装。
|
||
* 安装后,必须至少拉取一个模型,推荐使用 `qwen:14b` 或 `llama3`:
|
||
```bash
|
||
ollama pull qwen:14b
|
||
```
|
||
|
||
### 2. 安装 Python 依赖库
|
||
|
||
为了方便管理,建议将以下内容保存为 `requirements.txt` 文件:
|
||
|
||
```
|
||
# requirements.txt
|
||
sv-ttk
|
||
jieba
|
||
requests
|
||
edge-tts
|
||
pysrt
|
||
```
|
||
|
||
然后通过 pip 一键安装:
|
||
|
||
```bash
|
||
pip install -r requirements.txt
|
||
```
|
||
|
||
## 📖 使用指南与推荐工作流程
|
||
|
||
每个工具都可以独立运行,但遵循以下流程可以获得最佳效果。
|
||
|
||
### 运行方式
|
||
|
||
在你的终端或命令行中,使用 `python` 命令运行指定的脚本文件,例如:
|
||
|
||
```bash
|
||
python srt_refiner_v1.py
|
||
```
|
||
|
||
### 推荐工作流程
|
||
|
||
假设你有一个从视频自动生成的原始字幕文件 `raw.srt`。
|
||
|
||
#### **第 1 步:内容批量精炼 (可选)**
|
||
|
||
* **工具**: `srt_refiner_v1.py` (字幕内容批量精炼师)
|
||
* **目的**: 快速去除原始字幕中的口语化表达和错误。
|
||
* **操作**:
|
||
1. 运行 `python srt_refiner_v1.py`。
|
||
2. 加载 `raw.srt` 文件。
|
||
3. 选择一个已下载的 Ollama 模型。
|
||
4. 点击 "开始精炼",等待处理完成。
|
||
5. 保存为 `refined.srt`。
|
||
|
||
#### **第 2 步:交互式精修校对**
|
||
|
||
* **工具**: `srt_interactive_refiner_v1.0.py` (交互式字幕编辑器)
|
||
* **目的**: 手动检查、修改和完善字幕文本,确保内容准确无误。
|
||
* **操作**:
|
||
1. 运行 `python srt_interactive_refiner_v1.0.py`。
|
||
2. 加载 `refined.srt`。
|
||
3. 在右侧工作区逐行检查字幕。你可以:
|
||
* 直接在下方的编辑框中修改文本。
|
||
* 点击 "润色" 按钮,让 AI 单独优化当前行。
|
||
* 点击 "还原文本" 恢复到原始版本。
|
||
* 点击 "删除此行" 移除不必要的字幕。
|
||
4. 全部检查完毕后,点击 "另存为...",保存为 `final_text.srt`。
|
||
|
||
#### **第 3 步:优化听感与节奏**
|
||
|
||
* **工具**: `srt_ultimate_optimizer_v4.0.py` (终极字幕优化器)
|
||
* **目的**: 这是最关键的一步,它不修改文本,而是重塑字幕的**时间结构**,使其听起来更自然、流畅。
|
||
* **操作**:
|
||
1. 运行 `python srt_ultimate_optimizer_v4.0.py`。
|
||
2. 加载 `final_text.srt`。
|
||
3. 勾选 "启用LLM进行文本缩减"(如果需要),并选择模型。
|
||
4. 点击 "开始优化"。软件会自动执行以下操作:
|
||
* **压缩**: 将语速过慢的短句时长缩短到黄金语速。
|
||
* **借时**: 当句子过快时,向后借用空隙时间。
|
||
* **缩减**: 如果借时不够,尝试用 LLM 缩短句子。
|
||
* **拆分**: 将过长或过快的句子,按标点或语义拆分成多个短句,并加入自然停顿。
|
||
* **缝合**: 将时长过短、字数过少的碎片化字幕合并成一句。
|
||
5. 优化完成后,在右侧预览效果,然后点击 "另存为...",保存为 `optimized.srt`。
|
||
|
||
> **轻量版备选方案**: 如果你不想使用 LLM 或者追求更快的处理速度,可以使用 `srt_optimizer_v2.py`。它只包含基于规则的压缩、拆分和缝合功能。
|
||
|
||
#### **第 4 步:生成 AI 配音并合成视频**
|
||
|
||
* **工具**: `main_v1.py` (AI 视频配音合成工具)
|
||
* **目的**: 将最终完美的字幕转化为语音,并与原始视频合成。
|
||
* **操作**:
|
||
1. 运行 `python main_v1.py`。
|
||
2. 选择 `optimized.srt` 作为 SRT 文件。
|
||
3. 选择你的原始视频文件。
|
||
4. 选择一个喜欢的配音员声音,可以点击 "试听"。
|
||
5. 根据需要配置其他选项(如保留原声、烧录字幕等)。
|
||
6. 点击 "开始生成"。工具会:
|
||
* 为每一句字幕并发生成语音片段,并根据时长自动调整语速。
|
||
* 将所有语音片段精确地合并成一条完整的音轨。
|
||
* 最后,将新音轨与视频合成,输出最终的配音版视频。
|
||
|
||
---
|
||
|