Files
tts-server/README.md
2025-11-05 10:37:09 +08:00

8.0 KiB
Raw Blame History

AI 字幕 & 配音终极工具套件 (AI Subtitle & Dubbing Ultimate Toolkit)

License: 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
  • FFmpeg:
    • 必须安装并将其添加到系统的环境变量 (PATH) 中。
    • Windows 用户可以从 gyan.dev 下载,解压后将 bin 目录路径添加到环境变量。
    • macOS 用户可通过 Homebrew 安装: brew install ffmpeg
    • Linux 用户可通过包管理器安装: sudo apt-get install ffmpeg
  • Ollama (可选,但强烈推荐):
    • 用于驱动文本精炼和部分优化功能。
    • 访问 Ollama 官网 下载并安装。
    • 安装后,必须至少拉取一个模型,推荐使用 qwen:14bllama3
    ollama pull qwen:14b
    

2. 安装 Python 依赖库

为了方便管理,建议将以下内容保存为 requirements.txt 文件:

# requirements.txt
sv-ttk
jieba
requests
edge-tts
pysrt

然后通过 pip 一键安装:

pip install -r requirements.txt

📖 使用指南与推荐工作流程

每个工具都可以独立运行,但遵循以下流程可以获得最佳效果。

运行方式

在你的终端或命令行中,使用 python 命令运行指定的脚本文件,例如:

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. 点击 "开始生成"。工具会:
      • 为每一句字幕并发生成语音片段,并根据时长自动调整语速。
      • 将所有语音片段精确地合并成一条完整的音轨。
      • 最后,将新音轨与视频合成,输出最终的配音版视频。