# AI 字幕 & 配音终极工具套件 (AI Subtitle & Dubbing Ultimate Toolkit) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](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. 点击 "开始生成"。工具会: * 为每一句字幕并发生成语音片段,并根据时长自动调整语速。 * 将所有语音片段精确地合并成一条完整的音轨。 * 最后,将新音轨与视频合成,输出最终的配音版视频。 ---