{"repo":"MurthiNext/ScriptDirector","free":true,"listed":false,"github":"https://github.com/MurthiNext/ScriptDirector","clone":"git clone https://github.com/MurthiNext/ScriptDirector.git","description":"一个可以让 AI 帮你把台本转换为带时间轴的字幕的工具。","language":"Python","stars":55,"topics":["ai","python","timing","transcription-tool","workflow"],"license":"MIT","category":"workflow-automation","readme_excerpt":"Script Director 台本转字幕 Script Director 是一个将音频文件与台本（文本）自动对齐，生成带时间戳字幕的工具。它利用 Faster Whisper / Stable Whisper 进行语音识别，并通过 Needleman-Wunsch 风格的动态规划算法将识别结果与台本句子精确匹配，即使识别结果与台本不完全一致也能智能插值，确保每一句台本都有准确的时间码。 特性 - 🎙️ 基于 Stable Whisper 的高质量语音识别，支持单词级时间戳 - 📄 支持日语（ ja ）、中文（ zh ）、英文（ en ）等多语言台本分割（使用 pysbd 或标点符号） - 🔗 智能句子对齐 ：采用增强的 Needleman-Wunsch 算法，预计算相似度矩阵，使用 NumPy 优化内存，允许一个台本句子匹配连续多个单词片段 - ✂️ 短句模式 ：按标点符号（句号、问号、感叹号等）将长句拆分为更短的句子，生成更精确的字幕（适合台词密集场景） - 🔄 只对齐模式 ：可直接将已有字幕文件（SRT/LRC）与台本重新对齐，无需再次语音识别，节省时间 - ⚙️ 命令行界面（CLI） 和配置文件支持，方便重复使用 - 🖥️ 图形化界面（GUI） （基于 customtkinter），提供实时进度条、日志显示和帮助提示 - 🎛️ 高级参数可配置 ：通过配置文件调整对齐惩罚、相似度偏移、默认时长、束搜索宽度、VAD（语音活动检测）等，适应不同场景 - 📊 实时进度反馈 ：听写阶段和对齐阶段均有进度显示，CLI 使用 tqdm，GUI 使用进度条 - 🧩 模块化设计 ： director.py 为核心， only align.py 处理只对齐， just utils.py 提供公共工具， main logger.py 统一管理多进程日志 - 🎬 视频输入支持 ：直接输入视频文件（MP4、MKV、AVI、MOV 等），自动提取音频后继续处理 安装 依赖 - Python 3.9+, 3.12.10- - NVIDIA CUDA Toolkit 12.9（若使用 CUDA 计算） - ffmpeg（需在系统 PATH 中） - 第三方 Python 库（见 requirements.txt ） 安装步骤 1. 克隆或下载本项目。 2. 安装依赖： 3. 下载 Faster Whisper 模型并解压到本地目录。 以下列出主流 Faster Whisper 模型的下载地址。 快上加快 Faster Whisper Large V3 Turbo 极致精度 Faster Whisper Large V3 Faster Whisper Large V2 性能取舍 Faster Whisper Medium Faster Whisper Small Faster Whisper Tiny 以上超链接均指向 Huggingface，若你身处中国大陆无法访问，可尝试使用 HF-Mirror 此镜像网站。 使用方法 Script Director 提供两种使用方式： 命令行工具 cli.py 和 图形界面 gui.py 。 若你使用打包好的 Release 版本，以下内容的 python cli.py 均可替换为 .\\cli.exe 。 1. 命令行工具（CLI） CLI 支持子命令，便于配置和处理。 首次运行配置 首次使用需通过 init 命令创建配置文件 config.ini ： 按照提示输入： - Faster Whisper 本地模型路径","default_branch":null,"files":null,"tree":[],"storefront":"/r/MurthiNext","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/MurthiNext/ScriptDirector/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}