Files

1 line
73 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{"repo": "agt117/whisperx-webui", "files": {"README.md": {"4ba7944a9a36b857219952a131c09798dae97be7": {"t": 1785746437.7949204, "n": 3315, "h": "989a4613b5fae7a7", "c": "# WhisperX WebUI\n\n基于 WhisperX 的本地化音频转录与字幕生成工具。\n\n集成人声分离(BS-RoFormer)、音素级强制对齐、说话人聚类(Pyannote)与 LLM 智能后处理,通过 Gradio 网页界面进行操作,支持批量处理音频/视频文件,导出 JSON 与 SRT 字幕。\n\n**网页界面展示**\n![alt text](demo/whisperx-webui.png)\n\n**终端界面展示**\n![alt text](demo/whisper-webui-exe.png)\n\n---\n\n## 功能概述\n\n- **语音识别 (ASR)**:基于 WhisperX + Faster-Whisper,支持音素级强制对齐,时间轴精确到词级别。\n- **人声分离**:内置 BS-RoFormer 预处理,自动分离人声与背景音乐/噪声,提升嘈杂环境下的识别质量。\n- **说话人聚类**:基于 Pyannote 的 Speaker Diarization,自动区分多个发言者。\n- **幻觉过滤**:三种模式可选 — 代码规则过滤(置信度 + 模式匹配 + 时间异常检测)、LLM 智能过滤、关闭。\n- **LLM 智能处理**:接入大语言模型(OpenAI / DeepSeek / Ollama 等兼容接口),实现智能断句与翻译(支持双语字幕)。自动分批处理以适应模型上下文长度限制。\n- **CJK 文本优化**:针对中文、日文、韩文的专用分段算法,支持时间间隙检测、功能词/助词边界、字数控制三重策略。\n- **批量处理**:多文件队列处理,自动生成 JSON 与 SRT 输出。\n- **可执行文件**:可通过 PyInstaller 打包为轻量级 .exe 启动器,双击即可运行。\n\n---\n\n## 环境要求\n\n| 依赖 | 说明 |\n|------|------|\n| Python 3.10+ | 推荐 3.11 |\n| FFmpeg | 音频格式转换,须在系统 PATH 中可用 |\n| NVIDIA 显卡驱动 + CUDA 12.x | GPU 加速(无 N 卡可用 CPU 模式,速度极慢) |\n| Git | 安装 WhisperX 时需要 |\n\n---\n\n## 快速开始\n\n### 1. 克隆项目\n\n```bash\ngit clone https://github.com/AGT117/WhisperX-WebUI.git\ncd WhisperX-WebUI\n```\n\n### 2. 创建虚拟环境\n\n```bash\n# Windows\npython -m venv .venv\n.venv\\Scripts\\activate\n\n# Linux / macOS\npython3 -m venv .venv\nsource .venv/bin/activate\n```\n\n### 3. 安装依赖\n\n```bash\npip install -r requirements.txt\n```\n\n### 4. 配置环境变量\n\n复制 `.env.example` 为 `.env`,填入必要信息:\n\n```ini\nHF_TOKEN=hf_你的Token\n```\n\n> 说话人聚类功能需要 Hugging Face Token,并在 Hugging Face 网站接受以下模型的用户协议:\n> - pyannote/speaker-diarization-3.1\n> - pyannote/segmentation-3.0\n\n### 5. 配置 LLM(可选)\n\n复制 `config/llm_config.json.example` 为 `config/llm_config.json` 然后编辑填入 API 信息:\n\n```json\n{\n \"api_base\": \"https://api.deepseek.com/v1\",\n \"api_key\": \"sk-...\",\n \"model\": \"deepseek-chat\",\n \"max_context_tokens\": 8192,\n \"temperature\": 0.3\n}\n```\n\n支持所有 OpenAI 兼容接口:OpenAI、DeepSeek、Ollama(本地 `http://localhost:11434/v1`)等。\n\n### 6. 启动\n\n```bash\npython main.py\n```\n\n启动后浏览器自动打开 `http://127.0.0.1:7860`。\n\n也可使用 `WhisperX-WebUI.exe` 双击启动。\n\n---\n\n## 项目结构\n\n```\nWhisperX-WebUI/\n├── main.py # 程序入口,兼容性补丁,启动 WebUI\n├── requirements.txt # 依赖清单\n├── .env.example # 环境变量配置模板\n├── config/\n│ ├── settings.py # 全局配置(路径、设备、精度、LLM 加载)\n│ └── llm_config.json.example # LLM API 配置文件模板\n├── src/\n│ ├── core/\n│ │ ├── engine.py # 核心管道(ASR、对齐、幻觉过滤、LLM、聚类)\n│ │ ├── utils.py # 文本处理、CJK 分段、SRT 生成、幻觉过滤规则\n│ │ └── llm_processor.py # LLM 集成(断句、翻译、幻觉判断)\n│ └── ui/\n│ └── webui.py # Gradio 界面\n├── tests/\n│ ├── test_utils.py # 文本处理单元测试\n│ └── test_llm_processor.py # LLM 模块单元测试\n├── models/ # 模型缓存目录(自动下载)\n├── outputs/ # 默认输出目录\n└── demo/ # 演示文件\n```\n\n---\n\n## 处理管道\n\n```\n输入音频 → [人声分离] → ASR 转录 → 音素级对齐 → [幻觉过滤] → [LLM 断句/翻译] → [说话人聚类] → JSON + SRT 输出\n```\n\n方括号表示可选步骤。\n\n---\n\n## 配置说明\n\n### 环境变量(.env)\n\n| 变量 | 说明 | 默认值 |\n|------|------|--------|\n| `HF_TOKEN` | Hugging Face Token(说话人聚类必需) | 无 |\n| `DEVICE` | 运行设备 | 自动检测(cuda / cpu) |\n| `COMPUTE_TYPE` | 推理精度(float16 / int8 / float32) | GPU: float16, CPU: float32 |\n| `BATCH_SIZE` | 转录批处理大小 | 4 |\n\n### LLM 配置(config/llm_config.json)\n\n| 字段 | 说明 |\n|------|------|\n| `api_base` | OpenAI 兼容 API 地址 |\n| `api_key` | API 密钥 |\n| `model` | 模型 ID |\n| `max_context_tokens` | 上下文窗口大小(自动分批) |\n| `temperature` | 生成温度(0.0-1.0) |\n\n---"}, "3e438e8bf978d143344f9192b20bcf5ad9182f84": {"t": 1785764225.249734, "n": 3315, "h": "989a4613b5fae7a7", "c": "# WhisperX WebUI\n\n基于 WhisperX 的本地化音频转录与字幕生成工具。\n\n集成人声分离(BS-RoFormer)、音素级强制对齐、说话人聚类(Pyannote)与 LLM 智能后处理,通过 Gradio 网页界面进行操作,支持批量处理音频/视频文件,导出 JSON 与 SRT 字幕。\n\n**网页界面展示**\n![alt text](demo/whisperx-webui.png)\n\n**终端界面展示**\n![alt text](demo/whisper-webui-exe.png)\n\n---\n\n## 功能概述\n\n- **语音识别 (ASR)**:基于 WhisperX + Faster-Whisper,支持音素级强制对齐,时间轴精确到词级别。\n- **人声分离**:内置 BS-RoFormer 预处理,自动分离人声与背景音乐/噪声,提升嘈杂环境下的识别质量。\n- **说话人聚类**:基于 Pyannote 的 Speaker Diarization,自动区分多个发言者。\n- **幻觉过滤**:三种模式可选 — 代码规则过滤(置信度 + 模式匹配 + 时间异常检测)、LLM 智能过滤、关闭。\n- **LLM 智能处理**:接入大语言模型(OpenAI / DeepSeek / Ollama 等兼容接口),实现智能断句与翻译(支持双语字幕)。自动分批处理以适应模型上下文长度限制。\n- **CJK 文本优化**:针对中文、日文、韩文的专用分段算法,支持时间间隙检测、功能词/助词边界、字数控制三重策略。\n- **批量处理**:多文件队列处理,自动生成 JSON 与 SRT 输出。\n- **可执行文件**:可通过 PyInstaller 打包为轻量级 .exe 启动器,双击即可运行。\n\n---\n\n## 环境要求\n\n| 依赖 | 说明 |\n|------|------|\n| Python 3.10+ | 推荐 3.11 |\n| FFmpeg | 音频格式转换,须在系统 PATH 中可用 |\n| NVIDIA 显卡驱动 + CUDA 12.x | GPU 加速(无 N 卡可用 CPU 模式,速度极慢) |\n| Git | 安装 WhisperX 时需要 |\n\n---\n\n## 快速开始\n\n### 1. 克隆项目\n\n```bash\ngit clone https://github.com/AGT117/WhisperX-WebUI.git\ncd WhisperX-WebUI\n```\n\n### 2. 创建虚拟环境\n\n```bash\n# Windows\npython -m venv .venv\n.venv\\Scripts\\activate\n\n# Linux / macOS\npython3 -m venv .venv\nsource .venv/bin/activate\n```\n\n### 3. 安装依赖\n\n```bash\npip install -r requirements.txt\n```\n\n### 4. 配置环境变量\n\n复制 `.env.example` 为 `.env`,填入必要信息:\n\n```ini\nHF_TOKEN=hf_你的Token\n```\n\n> 说话人聚类功能需要 Hugging Face Token,并在 Hugging Face 网站接受以下模型的用户协议:\n> - pyannote/speaker-diarization-3.1\n> - pyannote/segmentation-3.0\n\n### 5. 配置 LLM(可选)\n\n复制 `config/llm_config.json.example` 为 `config/llm_config.json` 然后编辑填入 API 信息:\n\n```json\n{\n \"api_base\": \"https://api.deepseek.com/v1\",\n \"api_key\": \"sk-...\",\n \"model\": \"deepseek-chat\",\n \"max_context_tokens\": 8192,\n \"temperature\": 0.3\n}\n```\n\n支持所有 OpenAI 兼容接口:OpenAI、DeepSeek、Ollama(本地 `http://localhost:11434/v1`)等。\n\n### 6. 启动\n\n```bash\npython main.py\n```\n\n启动后浏览器自动打开 `http://127.0.0.1:7860`。\n\n也可使用 `WhisperX-WebUI.exe` 双击启动。\n\n---\n\n## 项目结构\n\n```\nWhisperX-WebUI/\n├── main.py # 程序入口,兼容性补丁,启动 WebUI\n├── requirements.txt # 依赖清单\n├── .env.example # 环境变量配置模板\n├── config/\n│ ├── settings.py # 全局配置(路径、设备、精度、LLM 加载)\n│ └── llm_config.json.example # LLM API 配置文件模板\n├── src/\n│ ├── core/\n│ │ ├── engine.py # 核心管道(ASR、对齐、幻觉过滤、LLM、聚类)\n│ │ ├── utils.py # 文本处理、CJK 分段、SRT 生成、幻觉过滤规则\n│ │ └── llm_processor.py # LLM 集成(断句、翻译、幻觉判断)\n│ └── ui/\n│ └── webui.py # Gradio 界面\n├── tests/\n│ ├── test_utils.py # 文本处理单元测试\n│ └── test_llm_processor.py # LLM 模块单元测试\n├── models/ # 模型缓存目录(自动下载)\n├── outputs/ # 默认输出目录\n└── demo/ # 演示文件\n```\n\n---\n\n## 处理管道\n\n```\n输入音频 → [人声分离] → ASR 转录 → 音素级对齐 → [幻觉过滤] → [LLM 断句/翻译] → [说话人聚类] → JSON + SRT 输出\n```\n\n方括号表示可选步骤。\n\n---\n\n## 配置说明\n\n### 环境变量(.env)\n\n| 变量 | 说明 | 默认值 |\n|------|------|--------|\n| `HF_TOKEN` | Hugging Face Token(说话人聚类必需) | 无 |\n| `DEVICE` | 运行设备 | 自动检测(cuda / cpu) |\n| `COMPUTE_TYPE` | 推理精度(float16 / int8 / float32) | GPU: float16, CPU: float32 |\n| `BATCH_SIZE` | 转录批处理大小 | 4 |\n\n### LLM 配置(config/llm_config.json)\n\n| 字段 | 说明 |\n|------|------|\n| `api_base` | OpenAI 兼容 API 地址 |\n| `api_key` | API 密钥 |\n| `model` | 模型 ID |\n| `max_context_tokens` | 上下文窗口大小(自动分批) |\n| `temperature` | 生成温度(0.0-1.0) |\n\n---"}, "13ef27ee3f57a841fa476a28f476fb23edc5a639": {"t": 1785764227.647688, "n": 3307, "h": "cfdaab1a8876256c", "c": "# WhisperX WebUI\n\n基于 WhisperX 的本地化音频转录与字幕生成工具。\n\n集成人声分离(BS-RoFormer)、音素级强制对齐、说话人聚类(Pyannote)与 LLM 智能后处理,通过 Gradio 网页界面进行操作,支持批量处理音频/视频文件,导出 JSON 与 SRT 字幕。\n\n网页界面展示\n![alt text](demo/whisperx-webui.png)\n\n终端界面展示\n![alt text](demo/whisper-webui-exe.png)\n\n---\n\n## 功能概述\n\n- **语音识别 (ASR)**:基于 WhisperX + Faster-Whisper,支持音素级强制对齐,时间轴精确到词级别。\n- **人声分离**:内置 BS-RoFormer 预处理,自动分离人声与背景音乐/噪声,提升嘈杂环境下的识别质量。\n- **说话人聚类**:基于 Pyannote 的 Speaker Diarization,自动区分多个发言者。\n- **幻觉过滤**:三种模式可选 — 代码规则过滤(置信度 + 模式匹配 + 时间异常检测)、LLM 智能过滤、关闭。\n- **LLM 智能处理**:接入大语言模型(OpenAI / DeepSeek / Ollama 等兼容接口),实现智能断句与翻译(支持双语字幕)。自动分批处理以适应模型上下文长度限制。\n- **CJK 文本优化**:针对中文、日文、韩文的专用分段算法,支持时间间隙检测、功能词/助词边界、字数控制三重策略。\n- **批量处理**:多文件队列处理,自动生成 JSON 与 SRT 输出。\n- **可执行文件**:可通过 PyInstaller 打包为轻量级 .exe 启动器,双击即可运行。\n\n---\n\n## 环境要求\n\n| 依赖 | 说明 |\n|------|------|\n| Python 3.10+ | 推荐 3.11 |\n| FFmpeg | 音频格式转换,须在系统 PATH 中可用 |\n| NVIDIA 显卡驱动 + CUDA 12.x | GPU 加速(无 N 卡可用 CPU 模式,速度极慢) |\n| Git | 安装 WhisperX 时需要 |\n\n---\n\n## 快速开始\n\n### 1. 克隆项目\n\n```bash\ngit clone https://github.com/AGT117/WhisperX-WebUI.git\ncd WhisperX-WebUI\n```\n\n### 2. 创建虚拟环境\n\n```bash\n# Windows\npython -m venv .venv\n.venv\\Scripts\\activate\n\n# Linux / macOS\npython3 -m venv .venv\nsource .venv/bin/activate\n```\n\n### 3. 安装依赖\n\n```bash\npip install -r requirements.txt\n```\n\n### 4. 配置环境变量\n\n复制 `.env.example` 为 `.env`,填入必要信息:\n\n```ini\nHF_TOKEN=hf_你的Token\n```\n\n> 说话人聚类功能需要 Hugging Face Token,并在 Hugging Face 网站接受以下模型的用户协议:\n> - pyannote/speaker-diarization-3.1\n> - pyannote/segmentation-3.0\n\n### 5. 配置 LLM(可选)\n\n复制 `config/llm_config.json.example` 为 `config/llm_config.json` 然后编辑填入 API 信息:\n\n```json\n{\n \"api_base\": \"https://api.deepseek.com/v1\",\n \"api_key\": \"sk-...\",\n \"model\": \"deepseek-chat\",\n \"max_context_tokens\": 8192,\n \"temperature\": 0.3\n}\n```\n\n支持所有 OpenAI 兼容接口:OpenAI、DeepSeek、Ollama(本地 `http://localhost:11434/v1`)等。\n\n### 6. 启动\n\n```bash\npython main.py\n```\n\n启动后浏览器自动打开 `http://127.0.0.1:7860`。\n\n也可使用 `WhisperX-WebUI.exe` 双击启动。\n\n---\n\n## 项目结构\n\n```\nWhisperX-WebUI/\n├── main.py # 程序入口,兼容性补丁,启动 WebUI\n├── requirements.txt # 依赖清单\n├── .env.example # 环境变量配置模板\n├── config/\n│ ├── settings.py # 全局配置(路径、设备、精度、LLM 加载)\n│ └── llm_config.json.example # LLM API 配置文件模板\n├── src/\n│ ├── core/\n│ │ ├── engine.py # 核心管道(ASR、对齐、幻觉过滤、LLM、聚类)\n│ │ ├── utils.py # 文本处理、CJK 分段、SRT 生成、幻觉过滤规则\n│ │ └── llm_processor.py # LLM 集成(断句、翻译、幻觉判断)\n│ └── ui/\n│ └── webui.py # Gradio 界面\n├── tests/\n│ ├── test_utils.py # 文本处理单元测试\n│ └── test_llm_processor.py # LLM 模块单元测试\n├── models/ # 模型缓存目录(自动下载)\n├── outputs/ # 默认输出目录\n└── demo/ # 演示文件\n```\n\n---\n\n## 处理管道\n\n```\n输入音频 → [人声分离] → ASR 转录 → 音素级对齐 → [幻觉过滤] → [LLM 断句/翻译] → [说话人聚类] → JSON + SRT 输出\n```\n\n方括号表示可选步骤。\n\n---\n\n## 配置说明\n\n### 环境变量(.env)\n\n| 变量 | 说明 | 默认值 |\n|------|------|--------|\n| `HF_TOKEN` | Hugging Face Token(说话人聚类必需) | 无 |\n| `DEVICE` | 运行设备 | 自动检测(cuda / cpu) |\n| `COMPUTE_TYPE` | 推理精度(float16 / int8 / float32) | GPU: float16, CPU: float32 |\n| `BATCH_SIZE` | 转录批处理大小 | 4 |\n\n### LLM 配置(config/llm_config.json)\n\n| 字段 | 说明 |\n|------|------|\n| `api_base` | OpenAI 兼容 API 地址 |\n| `api_key` | API 密钥 |\n| `model` | 模型 ID |\n| `max_context_tokens` | 上下文窗口大小(自动分批) |\n| `temperature` | 生成温度(0.0-1.0) |\n\n---"}, "00f4b626ef6e98d143ea39f7e3a63995ae857fa6": {"t": 1785764228.8822215, "n": 3307, "h": "ed2de09b185d19d8", "c": "# WhisperX WebUI\n\n基于 WhisperX 的本地化音频转录与字幕生成工具。\n\n集成人声分离(BS-RoFormer)、音素级强制对齐、说话人聚类(Pyannote)与 LLM 智能后处理,通过 Gradio 网页界面进行操作,支持批量处理音频/视频文件,导出 JSON 与 SRT 字幕。\n\n![alt text](demo/whisperx-webui.png)\n网页界面展示\n\n![alt text](demo/whisper-webui-exe.png)\n终端界面展示\n\n---\n\n## 功能概述\n\n- **语音识别 (ASR)**:基于 WhisperX + Faster-Whisper,支持音素级强制对齐,时间轴精确到词级别。\n- **人声分离**:内置 BS-RoFormer 预处理,自动分离人声与背景音乐/噪声,提升嘈杂环境下的识别质量。\n- **说话人聚类**:基于 Pyannote 的 Speaker Diarization,自动区分多个发言者。\n- **幻觉过滤**:三种模式可选 — 代码规则过滤(置信度 + 模式匹配 + 时间异常检测)、LLM 智能过滤、关闭。\n- **LLM 智能处理**:接入大语言模型(OpenAI / DeepSeek / Ollama 等兼容接口),实现智能断句与翻译(支持双语字幕)。自动分批处理以适应模型上下文长度限制。\n- **CJK 文本优化**:针对中文、日文、韩文的专用分段算法,支持时间间隙检测、功能词/助词边界、字数控制三重策略。\n- **批量处理**:多文件队列处理,自动生成 JSON 与 SRT 输出。\n- **可执行文件**:可通过 PyInstaller 打包为轻量级 .exe 启动器,双击即可运行。\n\n---\n\n## 环境要求\n\n| 依赖 | 说明 |\n|------|------|\n| Python 3.10+ | 推荐 3.11 |\n| FFmpeg | 音频格式转换,须在系统 PATH 中可用 |\n| NVIDIA 显卡驱动 + CUDA 12.x | GPU 加速(无 N 卡可用 CPU 模式,速度极慢) |\n| Git | 安装 WhisperX 时需要 |\n\n---\n\n## 快速开始\n\n### 1. 克隆项目\n\n```bash\ngit clone https://github.com/AGT117/WhisperX-WebUI.git\ncd WhisperX-WebUI\n```\n\n### 2. 创建虚拟环境\n\n```bash\n# Windows\npython -m venv .venv\n.venv\\Scripts\\activate\n\n# Linux / macOS\npython3 -m venv .venv\nsource .venv/bin/activate\n```\n\n### 3. 安装依赖\n\n```bash\npip install -r requirements.txt\n```\n\n### 4. 配置环境变量\n\n复制 `.env.example` 为 `.env`,填入必要信息:\n\n```ini\nHF_TOKEN=hf_你的Token\n```\n\n> 说话人聚类功能需要 Hugging Face Token,并在 Hugging Face 网站接受以下模型的用户协议:\n> - pyannote/speaker-diarization-3.1\n> - pyannote/segmentation-3.0\n\n### 5. 配置 LLM(可选)\n\n复制 `config/llm_config.json.example` 为 `config/llm_config.json` 然后编辑填入 API 信息:\n\n```json\n{\n \"api_base\": \"https://api.deepseek.com/v1\",\n \"api_key\": \"sk-...\",\n \"model\": \"deepseek-chat\",\n \"max_context_tokens\": 8192,\n \"temperature\": 0.3\n}\n```\n\n支持所有 OpenAI 兼容接口:OpenAI、DeepSeek、Ollama(本地 `http://localhost:11434/v1`)等。\n\n### 6. 启动\n\n```bash\npython main.py\n```\n\n启动后浏览器自动打开 `http://127.0.0.1:7860`。\n\n也可使用 `WhisperX-WebUI.exe` 双击启动。\n\n---\n\n## 项目结构\n\n```\nWhisperX-WebUI/\n├── main.py # 程序入口,兼容性补丁,启动 WebUI\n├── requirements.txt # 依赖清单\n├── .env.example # 环境变量配置模板\n├── config/\n│ ├── settings.py # 全局配置(路径、设备、精度、LLM 加载)\n│ └── llm_config.json.example # LLM API 配置文件模板\n├── src/\n│ ├── core/\n│ │ ├── engine.py # 核心管道(ASR、对齐、幻觉过滤、LLM、聚类)\n│ │ ├── utils.py # 文本处理、CJK 分段、SRT 生成、幻觉过滤规则\n│ │ └── llm_processor.py # LLM 集成(断句、翻译、幻觉判断)\n│ └── ui/\n│ └── webui.py # Gradio 界面\n├── tests/\n│ ├── test_utils.py # 文本处理单元测试\n│ └── test_llm_processor.py # LLM 模块单元测试\n├── models/ # 模型缓存目录(自动下载)\n├── outputs/ # 默认输出目录\n└── demo/ # 演示文件\n```\n\n---\n\n## 处理管道\n\n```\n输入音频 → [人声分离] → ASR 转录 → 音素级对齐 → [幻觉过滤] → [LLM 断句/翻译] → [说话人聚类] → JSON + SRT 输出\n```\n\n方括号表示可选步骤。\n\n---\n\n## 配置说明\n\n### 环境变量(.env)\n\n| 变量 | 说明 | 默认值 |\n|------|------|--------|\n| `HF_TOKEN` | Hugging Face Token(说话人聚类必需) | 无 |\n| `DEVICE` | 运行设备 | 自动检测(cuda / cpu) |\n| `COMPUTE_TYPE` | 推理精度(float16 / int8 / float32) | GPU: float16, CPU: float32 |\n| `BATCH_SIZE` | 转录批处理大小 | 4 |\n\n### LLM 配置(config/llm_config.json)\n\n| 字段 | 说明 |\n|------|------|\n| `api_base` | OpenAI 兼容 API 地址 |\n| `api_key` | API 密钥 |\n| `model` | 模型 ID |\n| `max_context_tokens` | 上下文窗口大小(自动分批) |\n| `temperature` | 生成温度(0.0-1.0) |\n\n---"}, "67204e663636cf5670193f59e5dcff811cad8926": {"t": 1785764230.0962842, "n": 3268, "h": "851551e9f530adda", "c": "# WhisperX WebUI\n\n基于 WhisperX 的本地化音频转录与字幕生成工具。\n\n集成人声分离(BS-RoFormer)、音素级强制对齐、说话人聚类(Pyannote)与 LLM 智能后处理,通过 Gradio 网页界面进行操作,支持批量处理音频/视频文件,导出 JSON 与 SRT 字幕。\n\n![alt text](demo/whisperx-webui.png)\n网页界面展示\n\n![alt text](demo/whisper-webui-exe.png)\n终端界面展示\n\n---\n\n## 功能概述\n\n- **语音识别 (ASR)**:基于 WhisperX + Faster-Whisper,支持音素级强制对齐,时间轴精确到词级别。\n- **人声分离**:内置 BS-RoFormer 预处理,自动分离人声与背景音乐/噪声,提升嘈杂环境下的识别质量。\n- **说话人聚类**:基于 Pyannote 的 Speaker Diarization,自动区分多个发言者。\n- **幻觉过滤**:三种模式可选 — 代码规则过滤(置信度 + 模式匹配 + 时间异常检测)、LLM 智能过滤、关闭。\n- **LLM 智能处理**:接入大语言模型(OpenAI / DeepSeek / Ollama 等兼容接口),实现智能断句与翻译(支持双语字幕)。自动分批处理以适应模型上下文长度限制。\n- **CJK 文本优化**:针对中文、日文、韩文的专用分段算法,支持时间间隙检测、功能词/助词边界、字数控制三重策略。\n- **批量处理**:多文件队列处理,自动生成 JSON 与 SRT 输出。\n- **可执行文件**:可通过 PyInstaller 打包为轻量级 .exe 启动器,双击即可运行。\n\n---\n\n## 环境要求\n\n| 依赖 | 说明 |\n|------|------|\n| Python 3.10+ | 推荐 3.11 |\n| FFmpeg | 音频格式转换,须在系统 PATH 中可用 |\n| NVIDIA 显卡驱动 + CUDA 12.x | GPU 加速(无 N 卡可用 CPU 模式,速度极慢) |\n| Git | 安装 WhisperX 时需要 |\n\n---\n\n## 快速开始\n\n### 1. 克隆项目\n\n```bash\ngit clone https://github.com/AGT117/WhisperX-WebUI.git\ncd WhisperX-WebUI\n```\n\n### 2. 创建虚拟环境\n\n```bash\n# Windows\npython -m venv .venv\n.venv\\Scripts\\activate\n\n# Linux / macOS\npython3 -m venv .venv\nsource .venv/bin/activate\n```\n\n### 3. 安装依赖\n\n```bash\npip install -r requirements.txt\n```\n\n### 4. 配置环境变量\n\n复制 `.env.example` 为 `.env`,填入必要信息:\n\n```ini\nHF_TOKEN=hf_你的Token\n```\n\n> 说话人聚类功能需要 Hugging Face Token,并在 Hugging Face 网站接受以下模型的用户协议:\n> - pyannote/speaker-diarization-3.1\n> - pyannote/segmentation-3.0\n\n### 5. 配置 LLM(可选)\n\n编辑 `config/llm_config.json`,填入 API 信息:\n\n```json\n{\n \"api_base\": \"https://api.deepseek.com/v1\",\n \"api_key\": \"sk-...\",\n \"model\": \"deepseek-chat\",\n \"max_context_tokens\": 8192,\n \"temperature\": 0.3\n}\n```\n\n支持所有 OpenAI 兼容接口:OpenAI、DeepSeek、Ollama(本地 `http://localhost:11434/v1`)等。\n\n### 6. 启动\n\n```bash\npython main.py\n```\n\n启动后浏览器自动打开 `http://127.0.0.1:7860`。\n\n也可使用 `WhisperX-WebUI.exe` 双击启动。\n\n---\n\n## 项目结构\n\n```\nWhisperX-WebUI/\n├── main.py # 程序入口,兼容性补丁,启动 WebUI\n├── requirements.txt # 依赖清单\n├── .env.example # 环境变量配置模板\n├── config/\n│ ├── settings.py # 全局配置(路径、设备、精度、LLM 加载)\n│ └── llm_config.json.example # LLM API 配置文件模板\n├── src/\n│ ├── core/\n│ │ ├── engine.py # 核心管道(ASR、对齐、幻觉过滤、LLM、聚类)\n│ │ ├── utils.py # 文本处理、CJK 分段、SRT 生成、幻觉过滤规则\n│ │ └── llm_processor.py # LLM 集成(断句、翻译、幻觉判断)\n│ └── ui/\n│ └── webui.py # Gradio 界面\n├── tests/\n│ ├── test_utils.py # 文本处理单元测试\n│ └── test_llm_processor.py # LLM 模块单元测试\n├── models/ # 模型缓存目录(自动下载)\n├── outputs/ # 默认输出目录\n└── demo/ # 演示文件\n```\n\n---\n\n## 处理管道\n\n```\n输入音频 → [人声分离] → ASR 转录 → 音素级对齐 → [幻觉过滤] → [LLM 断句/翻译] → [说话人聚类] → JSON + SRT 输出\n```\n\n方括号表示可选步骤。\n\n---\n\n## 配置说明\n\n### 环境变量(.env)\n\n| 变量 | 说明 | 默认值 |\n|------|------|--------|\n| `HF_TOKEN` | Hugging Face Token(说话人聚类必需) | 无 |\n| `DEVICE` | 运行设备 | 自动检测(cuda / cpu) |\n| `COMPUTE_TYPE` | 推理精度(float16 / int8 / float32) | GPU: float16, CPU: float32 |\n| `BATCH_SIZE` | 转录批处理大小 | 4 |\n\n### LLM 配置(config/llm_config.json)\n\n| 字段 | 说明 |\n|------|------|\n| `api_base` | OpenAI 兼容 API 地址 |\n| `api_key` | API 密钥 |\n| `model` | 模型 ID |\n| `max_context_tokens` | 上下文窗口大小(自动分批) |\n| `temperature` | 生成温度(0.0-1.0) |\n\n---"}, "9c5a17b4b2ee9803cb96e2ce02bdfef182b34f0d": {"t": 1785764232.529294, "n": 3296, "h": "09dd01e0a2dc1b56", "c": "# WhisperX WebUI\n\n基于 WhisperX 的本地化音频转录与字幕生成工具。\n\n集成人声分离(BS-RoFormer)、音素级强制对齐、说话人聚类(Pyannote)与 LLM 智能后处理,通过 Gradio 网页界面进行操作,支持批量处理音频/视频文件,导出 JSON 与 SRT 字幕。\n\n![alt text](demo/whisperx-webui.png)\n网页界面展示\n\n![alt text](demo/whisper-webui-exe.png)\n终端界面展示\n\n---\n\n## 功能概述\n\n- **语音识别 (ASR)**:基于 WhisperX + Faster-Whisper,支持音素级强制对齐,时间轴精确到词级别。\n- **人声分离**:内置 BS-RoFormer 预处理,自动分离人声与背景音乐/噪声,提升嘈杂环境下的识别质量。\n- **说话人聚类**:基于 Pyannote 的 Speaker Diarization,自动区分多个发言者。\n- **幻觉过滤**:三种模式可选 — 代码规则过滤(置信度 + 模式匹配 + 时间异常检测)、LLM 智能过滤、关闭。\n- **LLM 智能处理**:接入大语言模型(OpenAI / DeepSeek / Ollama 等兼容接口),实现智能断句与翻译(支持双语字幕)。自动分批处理以适应模型上下文长度限制。\n- **CJK 文本优化**:针对中文、日文、韩文的专用分段算法,支持时间间隙检测、功能词/助词边界、字数控制三重策略。\n- **批量处理**:多文件队列处理,自动生成 JSON 与 SRT 输出。\n- **可执行文件**:可通过 PyInstaller 打包为轻量级 .exe 启动器,双击即可运行。\n\n---\n\n## 环境要求\n\n| 依赖 | 说明 |\n|------|------|\n| Python 3.10+ | 推荐 3.11 |\n| FFmpeg | 音频格式转换,须在系统 PATH 中可用 |\n| NVIDIA 显卡驱动 + CUDA 12.x | GPU 加速(无 N 卡可用 CPU 模式,速度极慢) |\n| Git | 安装 WhisperX 时需要 |\n\n---\n\n## 快速开始\n\n### 1. 克隆项目\n\n```bash\ngit clone https://github.com/AGT117/WhisperX-WebUI.git\ncd WhisperX-WebUI\n```\n\n### 2. 创建虚拟环境\n\n```bash\n# Windows\npython -m venv .venv\n.venv\\Scripts\\activate\n\n# Linux / macOS\npython3 -m venv .venv\nsource .venv/bin/activate\n```\n\n### 3. 安装依赖\n\n```bash\npip install -r requirements.txt\n```\n\n### 4. 配置环境变量\n\n复制 `.env.example` 为 `.env`,填入必要信息:\n\n```ini\nHF_TOKEN=hf_你的Token\n```\n\n> 说话人聚类功能需要 Hugging Face Token,并在 Hugging Face 网站接受以下模型的用户协议:\n> - pyannote/speaker-diarization-3.1\n> - pyannote/segmentation-3.0\n\n### 5. 配置 LLM(可选)\n\n编辑 `config/llm_config.json`,填入 API 信息:\n\n```json\n{\n \"api_base\": \"https://api.deepseek.com/v1\",\n \"api_key\": \"sk-...\",\n \"model\": \"deepseek-chat\",\n \"max_context_tokens\": 8192,\n \"temperature\": 0.3\n}\n```\n\n支持所有 OpenAI 兼容接口:OpenAI、DeepSeek、Ollama(本地 `http://localhost:11434/v1`)等。\n\n### 6. 启动\n\n```bash\npython main.py\n```\n\n启动后浏览器自动打开 `http://127.0.0.1:7860`。\n\n也可使用`WhisperX-WebUI.exe` 双击启动。\n\n---\n\n## 项目结构\n\n```\nWhisperX-WebUI/\n├── main.py # 程序入口,兼容性补丁,启动 WebUI\n├── requirements.txt # 依赖清单\n├── .env.example # 环境变量配置模板\n├── config/\n│ ├── settings.py # 全局配置(路径、设备、精度、LLM 加载)\n│ └── llm_config.json.example # LLM API 配置文件模板\n├── src/\n│ ├── core/\n│ │ ├── engine.py # 核心管道(ASR、对齐、幻觉过滤、LLM、聚类)\n│ │ ├── utils.py # 文本处理、CJK 分段、SRT 生成、幻觉过滤规则\n│ │ └── llm_processor.py # LLM 集成(断句、翻译、幻觉判断)\n│ └── ui/\n│ └── webui.py # Gradio 界面\n├── tests/\n│ ├── test_utils.py # 文本处理单元测试\n│ └── test_llm_processor.py # LLM 模块单元测试\n├── models/ # 模型缓存目录(自动下载)\n├── outputs/ # 默认输出目录\n└── demo/ # 演示文件\n```\n\n---\n\n## 处理管道\n\n```\n输入音频 → [人声分离] → ASR 转录 → 音素级对齐 → [幻觉过滤] → [LLM 断句/翻译] → [说话人聚类] → JSON + SRT 输出\n```\n\n方括号表示可选步骤。\n\n---\n\n## 配置说明\n\n### 环境变量(.env)\n\n| 变量 | 说明 | 默认值 |\n|------|------|--------|\n| `HF_TOKEN` | Hugging Face Token(说话人聚类必需) | 无 |\n| `DEVICE` | 运行设备 | 自动检测(cuda / cpu) |\n| `COMPUTE_TYPE` | 推理精度(float16 / int8 / float32) | GPU: float16, CPU: float32 |\n| `BATCH_SIZE` | 转录批处理大小 | 4 |\n\n### LLM 配置(config/llm_config.json)\n\n| 字段 | 说明 |\n|------|------|\n| `api_base` | OpenAI 兼容 API 地址 |\n| `api_key` | API 密钥 |\n| `model` | 模型 ID |\n| `max_context_tokens` | 上下文窗口大小(自动分批) |\n| `temperature` | 生成温度(0.0-1.0) |\n\n---\n\n## 许可证\n\nMIT License"}, "bb9ba07df521e275edbb4d41a8b432cab68eaab7": {"t": 1785764233.9064198, "n": 3203, "h": "08515314f0d755fe", "c": "# WhisperX WebUI\n\n基于 WhisperX 的本地化音频转录与字幕生成工具。\n\n集成人声分离(BS-RoFormer)、音素级强制对齐、说话人聚类(Pyannote)与 LLM 智能后处理,通过 Gradio 网页界面进行操作,支持批量处理音频/视频文件,导出 JSON 与 SRT 字幕。\n\n---\n\n## 功能概述\n\n- **语音识别 (ASR)**:基于 WhisperX + Faster-Whisper,支持音素级强制对齐,时间轴精确到词级别。\n- **人声分离**:内置 BS-RoFormer 预处理,自动分离人声与背景音乐/噪声,提升嘈杂环境下的识别质量。\n- **说话人聚类**:基于 Pyannote 的 Speaker Diarization,自动区分多个发言者。\n- **幻觉过滤**:三种模式可选 — 代码规则过滤(置信度 + 模式匹配 + 时间异常检测)、LLM 智能过滤、关闭。\n- **LLM 智能处理**:接入大语言模型(OpenAI / DeepSeek / Ollama 等兼容接口),实现智能断句与翻译(支持双语字幕)。自动分批处理以适应模型上下文长度限制。\n- **CJK 文本优化**:针对中文、日文、韩文的专用分段算法,支持时间间隙检测、功能词/助词边界、字数控制三重策略。\n- **批量处理**:多文件队列处理,自动生成 JSON 与 SRT 输出。\n- **可执行文件**:可通过 PyInstaller 打包为轻量级 .exe 启动器,双击即可运行。\n\n---\n\n## 环境要求\n\n| 依赖 | 说明 |\n|------|------|\n| Python 3.10+ | 推荐 3.11 |\n| FFmpeg | 音频格式转换,须在系统 PATH 中可用 |\n| NVIDIA 显卡驱动 + CUDA 12.x | GPU 加速(无 N 卡可用 CPU 模式,速度极慢) |\n| Git | 安装 WhisperX 时需要 |\n\n---\n\n## 快速开始\n\n### 1. 克隆项目\n\n```bash\ngit clone https://github.com/AGT117/WhisperX-WebUI.git\ncd WhisperX-WebUI\n```\n\n### 2. 创建虚拟环境\n\n```bash\n# Windows\npython -m venv .venv\n.venv\\Scripts\\activate\n\n# Linux / macOS\npython3 -m venv .venv\nsource .venv/bin/activate\n```\n\n### 3. 安装依赖\n\n```bash\npip install -r requirements.txt\n```\n\n### 4. 配置环境变量\n\n复制 `.env.example` 为 `.env`,填入必要信息:\n\n```ini\nHF_TOKEN=hf_你的Token\n```\n\n> 说话人聚类功能需要 Hugging Face Token,并在 Hugging Face 网站接受以下模型的用户协议:\n> - pyannote/speaker-diarization-3.1\n> - pyannote/segmentation-3.0\n\n### 5. 配置 LLM(可选)\n\n编辑 `config/llm_config.json`,填入 API 信息:\n\n```json\n{\n \"api_base\": \"https://api.deepseek.com/v1\",\n \"api_key\": \"sk-...\",\n \"model\": \"deepseek-chat\",\n \"max_context_tokens\": 8192,\n \"temperature\": 0.3\n}\n```\n\n支持所有 OpenAI 兼容接口:OpenAI、DeepSeek、Ollama(本地 `http://localhost:11434/v1`)等。\n\n### 6. 启动\n\n```bash\npython main.py\n```\n\n启动后浏览器自动打开 `http://127.0.0.1:7860`。\n\n也可使用`WhisperX-WebUI.exe` 双击启动。\n\n---\n\n## 项目结构\n\n```\nWhisperX-WebUI/\n├── main.py # 程序入口,兼容性补丁,启动 WebUI\n├── requirements.txt # 依赖清单\n├── .env.example # 环境变量配置模板\n├── config/\n│ ├── settings.py # 全局配置(路径、设备、精度、LLM 加载)\n│ └── llm_config.json.example # LLM API 配置文件模板\n├── src/\n│ ├── core/\n│ │ ├── engine.py # 核心管道(ASR、对齐、幻觉过滤、LLM、聚类)\n│ │ ├── utils.py # 文本处理、CJK 分段、SRT 生成、幻觉过滤规则\n│ │ └── llm_processor.py # LLM 集成(断句、翻译、幻觉判断)\n│ └── ui/\n│ └── webui.py # Gradio 界面\n├── tests/\n│ ├── test_utils.py # 文本处理单元测试\n│ └── test_llm_processor.py # LLM 模块单元测试\n├── models/ # 模型缓存目录(自动下载)\n├── outputs/ # 默认输出目录\n└── demo/ # 演示文件\n```\n\n---\n\n## 处理管道\n\n```\n输入音频 → [人声分离] → ASR 转录 → 音素级对齐 → [幻觉过滤] → [LLM 断句/翻译] → [说话人聚类] → JSON + SRT 输出\n```\n\n方括号表示可选步骤。\n\n---\n\n## 配置说明\n\n### 环境变量(.env)\n\n| 变量 | 说明 | 默认值 |\n|------|------|--------|\n| `HF_TOKEN` | Hugging Face Token(说话人聚类必需) | 无 |\n| `DEVICE` | 运行设备 | 自动检测(cuda / cpu) |\n| `COMPUTE_TYPE` | 推理精度(float16 / int8 / float32) | GPU: float16, CPU: float32 |\n| `BATCH_SIZE` | 转录批处理大小 | 4 |\n\n### LLM 配置(config/llm_config.json)\n\n| 字段 | 说明 |\n|------|------|\n| `api_base` | OpenAI 兼容 API 地址 |\n| `api_key` | API 密钥 |\n| `model` | 模型 ID |\n| `max_context_tokens` | 上下文窗口大小(自动分批) |\n| `temperature` | 生成温度(0.0-1.0) |\n\n---\n\n## 许可证\n\nMIT License"}, "eb0c035f8ec58137e6e30b52d7f02fa2629bfec4": {"t": 1785764235.5428228, "n": 2673, "h": "b1b494adc284072a", "c": "# WhisperX WebUI\n\n**WhisperX WebUI** 是一个基于 `whisperx` 的离线/本地化音频转录与字幕生成工具。\n\n它集成了 **人声分离(BS-RoFormer)**、**音素级强制对齐** 和 **说话人聚类(Pyannote)** 技术。通过直观的 `Gradio` 网页界面,你可以轻松地批量处理音频/视频文件,并导出 JSON 数据与 SRT 字幕。\n\n## ✨ 界面效果展示:\n\n![WhisperX WebUI 界面预览](demo/whisperx-webui.png)\n\n运行效果存放在demo文件夹中\n\n## ✨ 主要特性\n\n- **🚀 核心转录**:基于 `whisperx` 的 ASR,支持音素级强制对齐(Phoneme-level Alignment),时间轴更精准。\n- **🎵 人声分离**:内置 BS-RoFormer 预处理,可自动分离人声与背景音,显著提升嘈杂环境或歌曲的识别质量。\n- **🗣️ 说话人区分**:可选说话人聚类(Speaker Diarization,基于 `pyannote`),自动识别不同的发言者。\n- **📂 批量处理**:支持多文件队列处理,自动生成 JSON 与 SRT 字幕文件。\n- **🛠️ 简易交互**:基于 Gradio 的可视化 WebUI,一键启动,无需记忆复杂命令行。\n\n---\n\n## ⚙️ 环境准备 (Prerequisites)\n\n在开始之前,请确保你的系统已安装以下基础环境:\n\n1. **Python 3.10+**\n2. **FFmpeg** (必须):用于音频格式转换。\n * *Windows*: 下载并配置环境变量,或确保 `ffmpeg.exe` 在系统路径中。\n3. **NVIDIA 显卡驱动 & CUDA**:建议安装 CUDA 12.x 以获得 GPU 加速支持。\n\n---\n\n## 🚀 快速开始 (Quick Start)\n\n### 1. 克隆项目\n\n```powershell\ngit clone https://github.com/AGT117/WhisperX-WebUI.git\ncd WhisperX-WebUI\n\n```\n\n### 2. 创建虚拟环境 (推荐)\n\n为了防止依赖冲突,建议创建独立的 Python 虚拟环境:\n\n```powershell\n# Windows PowerShell\npy -3.11 -m venv .whisperx_webui\n.\\.whisperx_webui\\Scripts\\Activate.ps1\n\n# Linux / Mac\npython3 -m venv .whisperx_webui\nsource .whisperx_webui/bin/activate\n\n```\n\n### 3. 安装依赖\n\n```powershell\npython -m pip install -r requirements.txt\n\n```\n\n> **注意**:如果安装 `whisperx` 失败,请确保你已安装 `git` 命令。\n\n### 4. 配置 Hugging Face Token (可选)\n\n如果你需要使用 **说话人聚类 (Speaker Diarization)** 功能,必须配置 Hugging Face Token:\n\n1. 复制项目根目录下的 `.env.example` 文件,重命名为 `.env`。\n2. 打开 `.env` 文件,填入你的 Token:\n```ini\nHF_TOKEN=hf_你的Token填在这里\n\n```\n\n\n*(注:你需要去 Hugging Face 官网接受:关键报错库:pyannote/speaker-diarization-community-1核心模型库:pyannote/speaker-diarization-3.1分割模型库:pyannote/segmentation-3.0 的用户协议)*\n\n### 5. 启动应用\n\n```powershell\npython main.py\n\n```\n\n启动成功后,终端会显示访问地址(通常为 `http://127.0.0.1:7860`),浏览器会自动打开该页面。\n\n---\n\n## 📂 仓库结构\n\n```text\nWhisperX-WebUI/\n├── main.py # 程序入口,应用补丁并启动 WebUI\n├── requirements.txt # 依赖清单\n├── .env.example # 配置文件模板\n├── config/\n│ └── settings.py # 路径与默认配置 (HF缓存、CUDA设备等)\n├── src/\n│ ├── core/\n│ │ ├── engine.py # 核心引擎 (ASR, 对齐, 聚类, 分离)\n│ │ └── utils.py # 文本格式化与 SRT 导出工具\n│ └── ui/\n│ └── webui.py # Gradio 界面逻辑\n├── models/ # 模型下载目录\n└── outputs/ # 默认结果输出目录\n└── demo/ # 项目输出展示目录\n```\n\n---\n\n## 🔧 配置说明 (`config/settings.py`)\n\n你可以直接修改 `config/settings.py` 或通过环境变量调整默认行为:\n\n* **`MODELS_DIR`**: 模型下载与缓存的根目录。\n* **`HF_TOKEN`**: Hugging Face 令牌(建议在 `.env` 中配置)。\n* **`DEVICE`**: 运行设备,默认为 `cuda`(无 N 卡可改为 `cpu`,但速度极慢)。\n* **`COMPUTE_TYPE`**: 推理精度。\n* `float16` (默认):适合大多数 GPU。\n* `int8`:显存不足时使用,精度略有下降。\n\n\n* **`BATCH_SIZE`**: 转录时的批处理大小,显存越小该值应越小。\n\n\n\n"}, "4af423a09aca3323c6846a1b48a8a72c9594dbfc": {"t": 1785764238.4918866, "n": 3279, "h": "81cd4753d39cd19c", "c": "# WhisperX WebUI\n\n**WhisperX WebUI** 是一个基于 `whisperx` 的离线/本地化音频转录与字幕生成工具。\n\n它集成了 **人声分离(BS-RoFormer)**、**音素级强制对齐** 和 **说话人聚类(Pyannote)** 技术。通过直观的 `Gradio` 网页界面,你可以轻松地批量处理音频/视频文件,并导出 JSON 数据与 SRT 字幕。\n\n## ✨ 界面效果展示:\n\n![WhisperX WebUI 界面预览](demo/whisperx-webui.png)\n\n运行效果存放在demo文件夹中\n\n## ✨ 主要特性\n\n- **🚀 核心转录**:基于 `whisperx` 的 ASR,支持音素级强制对齐(Phoneme-level Alignment),时间轴更精准。\n- **🎵 人声分离**:内置 BS-RoFormer 预处理,可自动分离人声与背景音,显著提升嘈杂环境或歌曲的识别质量。\n- **🗣️ 说话人区分**:可选说话人聚类(Speaker Diarization,基于 `pyannote`),自动识别不同的发言者。\n- **📂 批量处理**:支持多文件队列处理,自动生成 JSON 与 SRT 字幕文件。\n- **🛠️ 简易交互**:基于 Gradio 的可视化 WebUI,一键启动,无需记忆复杂命令行。\n\n---\n\n## ⚙️ 环境准备 (Prerequisites)\n\n在开始之前,请确保你的系统已安装以下基础环境:\n\n1. **Python 3.10+**\n2. **FFmpeg** (必须):用于音频格式转换。\n * *Windows*: 下载并配置环境变量,或确保 `ffmpeg.exe` 在系统路径中。\n3. **NVIDIA 显卡驱动 & CUDA**:建议安装 CUDA 12.x 以获得 GPU 加速支持。\n\n---\n\n## 🚀 快速开始 (Quick Start)\n\n### 1. 克隆项目\n\n```powershell\ngit clone https://github.com/AGT117/WhisperX-WebUI.git\ncd WhisperX-WebUI\n\n```\n\n### 2. 创建虚拟环境 (推荐)\n\n为了防止依赖冲突,建议创建独立的 Python 虚拟环境:\n\n```powershell\n# Windows PowerShell\npy -3.11 -m venv .whisperx_webui\n.\\.whisperx_webui\\Scripts\\Activate.ps1\npython.exe -m pip install --upgrade pip\n\n# Linux / Mac\npython3 -m venv .whisperx_webui\nsource .whisperx_webui/bin/activate\n\n```\n\n### 3. 安装依赖\n\n```powershell\npython -m pip install -r requirements.txt\npip install git+https://github.com/m-bain/whisperX.git --no-deps\npip install transformers\npip install tokenizers accelerate\n\n```\n\n> **注意**:如果安装 `whisperx` 失败,请确保你已安装 `git` 命令。\n\n### 4. 配置 Hugging Face Token (可选)\n\n如果你需要使用 **说话人聚类 (Speaker Diarization)** 功能,必须配置 Hugging Face Token:\n\n1. 复制项目根目录下的 `.env.example` 文件,重命名为 `.env`。\n2. 打开 `.env` 文件,填入你的 Token:\n```ini\nHF_TOKEN=hf_你的Token填在这里\n\n```\n\n\n*(注:你需要去 Hugging Face 官网接受:关键报错库:pyannote/speaker-diarization-community-1核心模型库:pyannote/speaker-diarization-3.1分割模型库:pyannote/segmentation-3.0 的用户协议)*\n\n### 5. 启动应用\n\n```powershell\npython main.py\n\n```\n\n启动成功后,终端会显示访问地址(通常为 `http://127.0.0.1:7860`),浏览器会自动打开该页面。\n\n---\n\n## 📂 仓库结构\n\n```text\nWhisperX-WebUI/\n├── main.py # 程序入口,应用补丁并启动 WebUI\n├── requirements.txt # 依赖清单\n├── .env.example # 配置文件模板\n├── config/\n│ └── settings.py # 路径与默认配置 (HF缓存、CUDA设备等)\n├── src/\n│ ├── core/\n│ │ ├── engine.py # 核心引擎 (ASR, 对齐, 聚类, 分离)\n│ │ └── utils.py # 文本格式化与 SRT 导出工具\n│ └── ui/\n│ └── webui.py # Gradio 界面逻辑\n├── models/ # 模型下载目录\n└── outputs/ # 默认结果输出目录\n└── demo/ # 项目输出展示目录\n```\n\n---\n\n## 🔧 配置说明 (`config/settings.py`)\n\n你可以直接修改 `config/settings.py` 或通过环境变量调整默认行为:\n\n* **`MODELS_DIR`**: 模型下载与缓存的根目录。\n* **`HF_TOKEN`**: Hugging Face 令牌(建议在 `.env` 中配置)。\n* **`DEVICE`**: 运行设备,默认为 `cuda`(无 N 卡可改为 `cpu`,但速度极慢)。\n* **`COMPUTE_TYPE`**: 推理精度。\n* `float16` (默认):适合大多数 GPU。\n* `int8`:显存不足时使用,精度略有下降。\n\n\n* **`BATCH_SIZE`**: 转录时的批处理大小,显存越小该值应越小。\n\n---\n\n## 📝 常见问题 (FAQ)\n\n**Q: 开启“说话人聚类”后报错?**\n\n> **A:** 请检查:1. `.env` 文件中是否正确填入了 `HF_TOKEN`;2. 网络是否能连接 Hugging Face;3. 账号是否已在 Hugging Face 上签署了 `pyannote` 的使用协议。\n\n**Q: 显存不足 (CUDA Out of Memory)?**\n\n> **A:** 请在 WebUI 的“推理参数”中,将 **计算类型** 改为 `int8`,并尝试减小 **Batch Size**。\n\n**Q: 如何处理带背景音乐的视频?**\n\n> **A:** 请在界面勾选 **“启用人声分离预处理 (BS-RoFormer)”**。这会自动先提取人声再进行识别,虽然会增加耗时,但能显著提升准确率。\n\n**Q: 程序启动时卡住不动?**\n\n> **A:** 首次运行时程序需要下载 Whisper 和 Pyannote 模型,请耐心等待下载完成。\n\n\n"}, "7f9c338d7dfa0a784fb345dc4d4abfa3ae870d0a": {"t": 1785764240.2802622, "n": 3247, "h": "bf00285f3d4c063d", "c": "# WhisperX WebUI\n\n**WhisperX WebUI** 是一个基于 `whisperx` 的离线/本地化音频转录与字幕生成工具。\n\n它集成了 **人声分离(BS-RoFormer)**、**音素级强制对齐** 和 **说话人聚类(Pyannote)** 技术。通过直观的 `Gradio` 网页界面,你可以轻松地批量处理音频/视频文件,并导出 JSON 数据与 SRT 字幕。\n\n## ✨ 界面效果展示:\n\n![WhisperX WebUI 界面预览](demo/whisperx-webui.png)\n\n运行效果存放在demo文件夹中\n\n## ✨ 主要特性\n\n- **🚀 核心转录**:基于 `whisperx` 的 ASR,支持音素级强制对齐(Phoneme-level Alignment),时间轴更精准。\n- **🎵 人声分离**:内置 BS-RoFormer 预处理,可自动分离人声与背景音,显著提升嘈杂环境或歌曲的识别质量。\n- **🗣️ 说话人区分**:可选说话人聚类(Speaker Diarization,基于 `pyannote`),自动识别不同的发言者。\n- **📂 批量处理**:支持多文件队列处理,自动生成 JSON 与 SRT 字幕文件。\n- **🛠️ 简易交互**:基于 Gradio 的可视化 WebUI,一键启动,无需记忆复杂命令行。\n\n---\n\n## ⚙️ 环境准备 (Prerequisites)\n\n在开始之前,请确保你的系统已安装以下基础环境:\n\n1. **Python 3.10+**\n2. **FFmpeg** (必须):用于音频格式转换。\n * *Windows*: 下载并配置环境变量,或确保 `ffmpeg.exe` 在系统路径中。\n3. **NVIDIA 显卡驱动 & CUDA**:建议安装 CUDA 12.x 以获得 GPU 加速支持。\n\n---\n\n## 🚀 快速开始 (Quick Start)\n\n### 1. 克隆项目\n\n```powershell\ngit clone https://github.com/AGT117/WhisperX-WebUI.git\ncd WhisperX-WebUI\n\n```\n\n### 2. 创建虚拟环境 (推荐)\n\n为了防止依赖冲突,建议创建独立的 Python 虚拟环境:\n\n```powershell\n# Windows PowerShell\npy -3.11 -m venv .whisperx_webui\n.\\.whisperx_webui\\Scripts\\Activate.ps1\npython.exe -m pip install --upgrade pip\n\n# Linux / Mac\npython3 -m venv .whisperx_webui\nsource .whisperx_webui/bin/activate\n\n```\n\n### 3. 安装依赖\n\n```powershell\npython -m pip install -r requirements.txt\npip install git+https://github.com/m-bain/whisperX.git --no-deps\npip install transformers\npip install tokenizers accelerate\n\n```\n\n> **注意**:如果安装 `whisperx` 失败,请确保你已安装 `git` 命令。\n\n### 4. 配置 Hugging Face Token (可选)\n\n如果你需要使用 **说话人聚类 (Speaker Diarization)** 功能,必须配置 Hugging Face Token:\n\n1. 复制项目根目录下的 `.env.example` 文件,重命名为 `.env`。\n2. 打开 `.env` 文件,填入你的 Token:\n```ini\nHF_TOKEN=hf_你的Token填在这里\n\n```\n\n\n*(注:你需要去 Hugging Face 官网接受:关键报错库:pyannote/speaker-diarization-community-1核心模型库:pyannote/speaker-diarization-3.1分割模型库:pyannote/segmentation-3.0 的用户协议)*\n\n### 5. 启动应用\n\n```powershell\npython main.py\n\n```\n\n启动成功后,终端会显示访问地址(通常为 `http://127.0.0.1:7860`),浏览器会自动打开该页面。\n\n---\n\n## 📂 仓库结构\n\n```text\nWhisperX-WebUI/\n├── main.py # 程序入口,应用补丁并启动 WebUI\n├── requirements.txt # 依赖清单\n├── .env.example # 配置文件模板\n├── config/\n│ └── settings.py # 路径与默认配置 (HF缓存、CUDA设备等)\n├── src/\n│ ├── core/\n│ │ ├── engine.py # 核心引擎 (ASR, 对齐, 聚类, 分离)\n│ │ └── utils.py # 文本格式化与 SRT 导出工具\n│ └── ui/\n│ └── webui.py # Gradio 界面逻辑\n├── models/ # 模型下载目录 (自动生成)\n└── outputs/ # 默认结果输出目录\n\n```\n\n---\n\n## 🔧 配置说明 (`config/settings.py`)\n\n你可以直接修改 `config/settings.py` 或通过环境变量调整默认行为:\n\n* **`MODELS_DIR`**: 模型下载与缓存的根目录。\n* **`HF_TOKEN`**: Hugging Face 令牌(建议在 `.env` 中配置)。\n* **`DEVICE`**: 运行设备,默认为 `cuda`(无 N 卡可改为 `cpu`,但速度极慢)。\n* **`COMPUTE_TYPE`**: 推理精度。\n* `float16` (默认):适合大多数 GPU。\n* `int8`:显存不足时使用,精度略有下降。\n\n\n* **`BATCH_SIZE`**: 转录时的批处理大小,显存越小该值应越小。\n\n---\n\n## 📝 常见问题 (FAQ)\n\n**Q: 开启“说话人聚类”后报错?**\n\n> **A:** 请检查:1. `.env` 文件中是否正确填入了 `HF_TOKEN`;2. 网络是否能连接 Hugging Face;3. 账号是否已在 Hugging Face 上签署了 `pyannote` 的使用协议。\n\n**Q: 显存不足 (CUDA Out of Memory)?**\n\n> **A:** 请在 WebUI 的“推理参数”中,将 **计算类型** 改为 `int8`,并尝试减小 **Batch Size**。\n\n**Q: 如何处理带背景音乐的视频?**\n\n> **A:** 请在界面勾选 **“启用人声分离预处理 (BS-RoFormer)”**。这会自动先提取人声再进行识别,虽然会增加耗时,但能显著提升准确率。\n\n**Q: 程序启动时卡住不动?**\n\n> **A:** 首次运行时程序需要下载 Whisper 和 Pyannote 模型,请耐心等待下载完成。\n\n\n"}, "01665c393deaf6d4cd734f1d7d501f6c46ec939d": {"t": 1785764241.9394078, "n": 3224, "h": "859161dd678a151f", "c": "# WhisperX WebUI\n\n**WhisperX WebUI** 是一个基于 `whisperx` 的离线/本地化音频转录与字幕生成工具。\n\n它集成了 **人声分离(BS-RoFormer)**、**音素级强制对齐** 和 **说话人聚类(Pyannote)** 技术。通过直观的 `Gradio` 网页界面,你可以轻松地批量处理音频/视频文件,并导出 JSON 数据与 SRT 字幕。\n\n## ✨ 界面效果展示:\n\n![alt text](image-1.png)\n\n运行效果存放在demo文件夹中\n\n## ✨ 主要特性\n\n- **🚀 核心转录**:基于 `whisperx` 的 ASR,支持音素级强制对齐(Phoneme-level Alignment),时间轴更精准。\n- **🎵 人声分离**:内置 BS-RoFormer 预处理,可自动分离人声与背景音,显著提升嘈杂环境或歌曲的识别质量。\n- **🗣️ 说话人区分**:可选说话人聚类(Speaker Diarization,基于 `pyannote`),自动识别不同的发言者。\n- **📂 批量处理**:支持多文件队列处理,自动生成 JSON 与 SRT 字幕文件。\n- **🛠️ 简易交互**:基于 Gradio 的可视化 WebUI,一键启动,无需记忆复杂命令行。\n\n---\n\n## ⚙️ 环境准备 (Prerequisites)\n\n在开始之前,请确保你的系统已安装以下基础环境:\n\n1. **Python 3.10+**\n2. **FFmpeg** (必须):用于音频格式转换。\n * *Windows*: 下载并配置环境变量,或确保 `ffmpeg.exe` 在系统路径中。\n3. **NVIDIA 显卡驱动 & CUDA**:建议安装 CUDA 12.x 以获得 GPU 加速支持。\n\n---\n\n## 🚀 快速开始 (Quick Start)\n\n### 1. 克隆项目\n\n```powershell\ngit clone https://github.com/AGT117/WhisperX-WebUI.git\ncd WhisperX-WebUI\n\n```\n\n### 2. 创建虚拟环境 (推荐)\n\n为了防止依赖冲突,建议创建独立的 Python 虚拟环境:\n\n```powershell\n# Windows PowerShell\npy -3.11 -m venv .whisperx_webui\n.\\.whisperx_webui\\Scripts\\Activate.ps1\npython.exe -m pip install --upgrade pip\n\n# Linux / Mac\npython3 -m venv .whisperx_webui\nsource .whisperx_webui/bin/activate\n\n```\n\n### 3. 安装依赖\n\n```powershell\npython -m pip install -r requirements.txt\npip install git+https://github.com/m-bain/whisperX.git --no-deps\npip install transformers\npip install tokenizers accelerate\n\n```\n\n> **注意**:如果安装 `whisperx` 失败,请确保你已安装 `git` 命令。\n\n### 4. 配置 Hugging Face Token (可选)\n\n如果你需要使用 **说话人聚类 (Speaker Diarization)** 功能,必须配置 Hugging Face Token:\n\n1. 复制项目根目录下的 `.env.example` 文件,重命名为 `.env`。\n2. 打开 `.env` 文件,填入你的 Token:\n```ini\nHF_TOKEN=hf_你的Token填在这里\n\n```\n\n\n*(注:你需要去 Hugging Face 官网接受:关键报错库:pyannote/speaker-diarization-community-1核心模型库:pyannote/speaker-diarization-3.1分割模型库:pyannote/segmentation-3.0 的用户协议)*\n\n### 5. 启动应用\n\n```powershell\npython main.py\n\n```\n\n启动成功后,终端会显示访问地址(通常为 `http://127.0.0.1:7860`),浏览器会自动打开该页面。\n\n---\n\n## 📂 仓库结构\n\n```text\nWhisperX-WebUI/\n├── main.py # 程序入口,应用补丁并启动 WebUI\n├── requirements.txt # 依赖清单\n├── .env.example # 配置文件模板\n├── config/\n│ └── settings.py # 路径与默认配置 (HF缓存、CUDA设备等)\n├── src/\n│ ├── core/\n│ │ ├── engine.py # 核心引擎 (ASR, 对齐, 聚类, 分离)\n│ │ └── utils.py # 文本格式化与 SRT 导出工具\n│ └── ui/\n│ └── webui.py # Gradio 界面逻辑\n├── models/ # 模型下载目录 (自动生成)\n└── outputs/ # 默认结果输出目录\n\n```\n\n---\n\n## 🔧 配置说明 (`config/settings.py`)\n\n你可以直接修改 `config/settings.py` 或通过环境变量调整默认行为:\n\n* **`MODELS_DIR`**: 模型下载与缓存的根目录。\n* **`HF_TOKEN`**: Hugging Face 令牌(建议在 `.env` 中配置)。\n* **`DEVICE`**: 运行设备,默认为 `cuda`(无 N 卡可改为 `cpu`,但速度极慢)。\n* **`COMPUTE_TYPE`**: 推理精度。\n* `float16` (默认):适合大多数 GPU。\n* `int8`:显存不足时使用,精度略有下降。\n\n\n* **`BATCH_SIZE`**: 转录时的批处理大小,显存越小该值应越小。\n\n---\n\n## 📝 常见问题 (FAQ)\n\n**Q: 开启“说话人聚类”后报错?**\n\n> **A:** 请检查:1. `.env` 文件中是否正确填入了 `HF_TOKEN`;2. 网络是否能连接 Hugging Face;3. 账号是否已在 Hugging Face 上签署了 `pyannote` 的使用协议。\n\n**Q: 显存不足 (CUDA Out of Memory)?**\n\n> **A:** 请在 WebUI 的“推理参数”中,将 **计算类型** 改为 `int8`,并尝试减小 **Batch Size**。\n\n**Q: 如何处理带背景音乐的视频?**\n\n> **A:** 请在界面勾选 **“启用人声分离预处理 (BS-RoFormer)”**。这会自动先提取人声再进行识别,虽然会增加耗时,但能显著提升准确率。\n\n**Q: 程序启动时卡住不动?**\n\n> **A:** 首次运行时程序需要下载 Whisper 和 Pyannote 模型,请耐心等待下载完成。\n\n\n"}, "cc8b52dc478ef1ab72b4d867f1004802a4fb85af": {"t": 1785764243.7855961, "n": 3184, "h": "067220252a409b78", "c": "# WhisperX WebUI\n\n**WhisperX WebUI** 是一个基于 `whisperx` 的离线/本地化音频转录与字幕生成工具。\n\n它集成了 **人声分离(BS-RoFormer)**、**音素级强制对齐** 和 **说话人聚类(Pyannote)** 技术。通过直观的 `Gradio` 网页界面,你可以轻松地批量处理音频/视频文件,并导出 JSON 数据与 SRT 字幕。\n\n## 界面效果展示:\n\n![alt text](image.png)\n\n\n## ✨ 主要特性\n\n- **🚀 核心转录**:基于 `whisperx` 的 ASR,支持音素级强制对齐(Phoneme-level Alignment),时间轴更精准。\n- **🎵 人声分离**:内置 BS-RoFormer 预处理,可自动分离人声与背景音,显著提升嘈杂环境或歌曲的识别质量。\n- **🗣️ 说话人区分**:可选说话人聚类(Speaker Diarization,基于 `pyannote`),自动识别不同的发言者。\n- **📂 批量处理**:支持多文件队列处理,自动生成 JSON 与 SRT 字幕文件。\n- **🛠️ 简易交互**:基于 Gradio 的可视化 WebUI,一键启动,无需记忆复杂命令行。\n\n---\n\n## ⚙️ 环境准备 (Prerequisites)\n\n在开始之前,请确保你的系统已安装以下基础环境:\n\n1. **Python 3.10+**\n2. **FFmpeg** (必须):用于音频格式转换。\n * *Windows*: 下载并配置环境变量,或确保 `ffmpeg.exe` 在系统路径中。\n3. **NVIDIA 显卡驱动 & CUDA**:建议安装 CUDA 12.x 以获得 GPU 加速支持。\n\n---\n\n## 🚀 快速开始 (Quick Start)\n\n### 1. 克隆项目\n\n```powershell\ngit clone https://github.com/AGT117/WhisperX-WebUI.git\ncd WhisperX-WebUI\n\n```\n\n### 2. 创建虚拟环境 (推荐)\n\n为了防止依赖冲突,建议创建独立的 Python 虚拟环境:\n\n```powershell\n# Windows PowerShell\npy -3.11 -m venv .whisperx_webui\n.\\.whisperx_webui\\Scripts\\Activate.ps1\npython.exe -m pip install --upgrade pip\n\n# Linux / Mac\npython3 -m venv .venv\nsource .venv/bin/activate\n\n```\n\n### 3. 安装依赖\n\n```powershell\npython -m pip install -r requirements.txt\npip install git+https://github.com/m-bain/whisperX.git --no-deps\npip install transformers\npip install tokenizers accelerate\n\n```\n\n> **注意**:如果安装 `whisperx` 失败,请确保你已安装 `git` 命令。\n\n### 4. 配置 Hugging Face Token (可选)\n\n如果你需要使用 **说话人聚类 (Speaker Diarization)** 功能,必须配置 Hugging Face Token:\n\n1. 复制项目根目录下的 `.env.example` 文件,重命名为 `.env`。\n2. 打开 `.env` 文件,填入你的 Token:\n```ini\nHF_TOKEN=hf_你的Token填在这里\n\n```\n\n\n*(注:你需要去 Hugging Face 官网接受:关键报错库:pyannote/speaker-diarization-community-1核心模型库:pyannote/speaker-diarization-3.1分割模型库:pyannote/segmentation-3.0 的用户协议)*\n\n### 5. 启动应用\n\n```powershell\npython main.py\n\n```\n\n启动成功后,终端会显示访问地址(通常为 `http://127.0.0.1:7860`),浏览器会自动打开该页面。\n\n---\n\n## 📂 仓库结构\n\n```text\nWhisperX-WebUI/\n├── main.py # 程序入口,应用补丁并启动 WebUI\n├── requirements.txt # 依赖清单\n├── .env.example # 配置文件模板\n├── config/\n│ └── settings.py # 路径与默认配置 (HF缓存、CUDA设备等)\n├── src/\n│ ├── core/\n│ │ ├── engine.py # 核心引擎 (ASR, 对齐, 聚类, 分离)\n│ │ └── utils.py # 文本格式化与 SRT 导出工具\n│ └── ui/\n│ └── webui.py # Gradio 界面逻辑\n├── models/ # 模型下载目录 (自动生成)\n└── outputs/ # 默认结果输出目录\n\n```\n\n---\n\n## 🔧 配置说明 (`config/settings.py`)\n\n你可以直接修改 `config/settings.py` 或通过环境变量调整默认行为:\n\n* **`MODELS_DIR`**: 模型下载与缓存的根目录。\n* **`HF_TOKEN`**: Hugging Face 令牌(建议在 `.env` 中配置)。\n* **`DEVICE`**: 运行设备,默认为 `cuda`(无 N 卡可改为 `cpu`,但速度极慢)。\n* **`COMPUTE_TYPE`**: 推理精度。\n* `float16` (默认):适合大多数 GPU。\n* `int8`:显存不足时使用,精度略有下降。\n\n\n* **`BATCH_SIZE`**: 转录时的批处理大小,显存越小该值应越小。\n\n---\n\n## 📝 常见问题 (FAQ)\n\n**Q: 开启“说话人聚类”后报错?**\n\n> **A:** 请检查:1. `.env` 文件中是否正确填入了 `HF_TOKEN`;2. 网络是否能连接 Hugging Face;3. 账号是否已在 Hugging Face 上签署了 `pyannote` 的使用协议。\n\n**Q: 显存不足 (CUDA Out of Memory)?**\n\n> **A:** 请在 WebUI 的“推理参数”中,将 **计算类型** 改为 `int8`,并尝试减小 **Batch Size**。\n\n**Q: 如何处理带背景音乐的视频?**\n\n> **A:** 请在界面勾选 **“启用人声分离预处理 (BS-RoFormer)”**。这会自动先提取人声再进行识别,虽然会增加耗时,但能显著提升准确率。\n\n**Q: 程序启动时卡住不动?**\n\n> **A:** 首次运行时程序需要下载 Whisper 和 Pyannote 模型,请耐心等待下载完成。\n\n\n"}, "49dcccec65c28ef916e53202b0c1321890af9323": {"t": 1785764245.4107263, "n": 3207, "h": "5a84ee863ecafd21", "c": "# WhisperX WebUI\n\n**WhisperX WebUI** 是一个基于 `whisperx` 的离线/本地化音频转录与字幕生成工具。\n\n它集成了 **人声分离(BS-RoFormer)**、**音素级强制对齐** 和 **说话人聚类(Pyannote)** 技术。通过直观的 `Gradio` 网页界面,你可以轻松地批量处理音频/视频文件,并导出 JSON 数据与 SRT 字幕。\n\n## ✨ 主要特性\n\n- **🚀 核心转录**:基于 `whisperx` 的 ASR,支持音素级强制对齐(Phoneme-level Alignment),时间轴更精准。\n- **🎵 人声分离**:内置 BS-RoFormer 预处理,可自动分离人声与背景音,显著提升嘈杂环境或歌曲的识别质量。\n- **🗣️ 说话人区分**:可选说话人聚类(Speaker Diarization,基于 `pyannote`),自动识别不同的发言者。\n- **📂 批量处理**:支持多文件队列处理,自动生成 JSON 与 SRT 字幕文件。\n- **🛠️ 简易交互**:基于 Gradio 的可视化 WebUI,一键启动,无需记忆复杂命令行。\n\n---\n\n## ⚙️ 环境准备 (Prerequisites)\n\n在开始之前,请确保你的系统已安装以下基础环境:\n\n1. **Python 3.10+**\n2. **FFmpeg** (必须):用于音频格式转换。\n * *Windows*: 下载并配置环境变量,或确保 `ffmpeg.exe` 在系统路径中。\n3. **NVIDIA 显卡驱动 & CUDA**:建议安装 CUDA 12.x 以获得 GPU 加速支持。\n\n---\n\n## 🚀 快速开始 (Quick Start)\n\n### 1. 克隆项目\n\n```powershell\ngit clone [https://github.com/AGT117/WhisperX-WebUI.git](https://github.com/AGT117/WhisperX-WebUI.git)\ncd WhisperX-WebUI\n\n```\n\n### 2. 创建虚拟环境 (推荐)\n\n为了防止依赖冲突,建议创建独立的 Python 虚拟环境:\n\n```powershell\n# Windows PowerShell\npy -3.11 -m venv .whisperx_webui\n.\\.whisperx_webui\\Scripts\\Activate.ps1\npython.exe -m pip install --upgrade pip\n\n# Linux / Mac\npython3 -m venv .venv\nsource .venv/bin/activate\n\n```\n\n### 3. 安装依赖\n\n```powershell\npython -m pip install -r requirements.txt\npip install git+https://github.com/m-bain/whisperX.git --no-deps\npip install transformers\npip install tokenizers accelerate\n\n```\n\n> **注意**:如果安装 `whisperx` 失败,请确保你已安装 `git` 命令。\n\n### 4. 配置 Hugging Face Token (可选)\n\n如果你需要使用 **说话人聚类 (Speaker Diarization)** 功能,必须配置 Hugging Face Token:\n\n1. 复制项目根目录下的 `.env.example` 文件,重命名为 `.env`。\n2. 打开 `.env` 文件,填入你的 Token:\n```ini\nHF_TOKEN=hf_你的Token填在这里\n\n```\n\n\n*(注:你需要去 Hugging Face 官网接受:\n\n关键报错库:pyannote/speaker-diarization-community-1\n核心模型库:pyannote/speaker-diarization-3.1\n分割模型库:pyannote/segmentation-3.0 \n\n的用户协议)*\n\n### 5. 启动应用\n\n```powershell\npython main.py\n\n```\n\n启动成功后,终端会显示访问地址(通常为 `http://127.0.0.1:7860`),浏览器会自动打开该页面。\n\n---\n\n## 📂 仓库结构\n\n```text\nWhisperX-WebUI/\n├── main.py # 程序入口,应用补丁并启动 WebUI\n├── requirements.txt # 依赖清单\n├── .env.example # 配置文件模板\n├── config/\n│ └── settings.py # 路径与默认配置 (HF缓存、CUDA设备等)\n├── src/\n│ ├── core/\n│ │ ├── engine.py # 核心引擎 (ASR, 对齐, 聚类, 分离)\n│ │ └── utils.py # 文本格式化与 SRT 导出工具\n│ └── ui/\n│ └── webui.py # Gradio 界面逻辑\n├── models/ # 模型下载目录 (自动生成)\n└── outputs/ # 默认结果输出目录\n\n```\n\n---\n\n## 🔧 配置说明 (`config/settings.py`)\n\n你可以直接修改 `config/settings.py` 或通过环境变量调整默认行为:\n\n* **`MODELS_DIR`**: 模型下载与缓存的根目录。\n* **`HF_TOKEN`**: Hugging Face 令牌(建议在 `.env` 中配置)。\n* **`DEVICE`**: 运行设备,默认为 `cuda`(无 N 卡可改为 `cpu`,但速度极慢)。\n* **`COMPUTE_TYPE`**: 推理精度。\n* `float16` (默认):适合大多数 GPU。\n* `int8`:显存不足时使用,精度略有下降。\n\n\n* **`BATCH_SIZE`**: 转录时的批处理大小,显存越小该值应越小。\n\n---\n\n## 📝 常见问题 (FAQ)\n\n**Q: 开启“说话人聚类”后报错?**\n\n> **A:** 请检查:1. `.env` 文件中是否正确填入了 `HF_TOKEN`;2. 网络是否能连接 Hugging Face;3. 账号是否已在 Hugging Face 上签署了 `pyannote` 的使用协议。\n\n**Q: 显存不足 (CUDA Out of Memory)?**\n\n> **A:** 请在 WebUI 的“推理参数”中,将 **计算类型** 改为 `int8`,并尝试减小 **Batch Size**。\n\n**Q: 如何处理带背景音乐的视频?**\n\n> **A:** 请在界面勾选 **“启用人声分离预处理 (BS-RoFormer)”**。这会自动先提取人声再进行识别,虽然会增加耗时,但能显著提升准确率。\n\n**Q: 程序启动时卡住不动?**\n\n> **A:** 首次运行时程序需要下载 Whisper 和 Pyannote 模型(数 GB),请耐心等待下载完成。\n\n\n"}, "112b649a0fe8e03606a5f5a3d715c8bff4ff1a65": {"t": 1785764247.6734507, "n": 3221, "h": "16d2d48d69e2f04e", "c": "# WhisperX WebUI by AGT\n\n**WhisperX WebUI by AGT** 是一个基于 `whisperx` 的离线/本地化音频转录与字幕生成工具。\n\n它集成了 **人声分离(BS-RoFormer)**、**音素级强制对齐** 和 **说话人聚类(Pyannote)** 技术。通过直观的 `Gradio` 网页界面,你可以轻松地批量处理音频/视频文件,并导出 JSON 数据与 SRT 字幕。\n\n## ✨ 主要特性\n\n- **🚀 核心转录**:基于 `whisperx` 的 ASR,支持音素级强制对齐(Phoneme-level Alignment),时间轴更精准。\n- **🎵 人声分离**:内置 BS-RoFormer 预处理,可自动分离人声与背景音,显著提升嘈杂环境或歌曲的识别质量。\n- **🗣️ 说话人区分**:可选说话人聚类(Speaker Diarization,基于 `pyannote`),自动识别不同的发言者。\n- **📂 批量处理**:支持多文件队列处理,自动生成 JSON 与 SRT 字幕文件。\n- **🛠️ 简易交互**:基于 Gradio 的可视化 WebUI,一键启动,无需记忆复杂命令行。\n\n---\n\n## ⚙️ 环境准备 (Prerequisites)\n\n在开始之前,请确保你的系统已安装以下基础环境:\n\n1. **Python 3.10+**\n2. **FFmpeg** (必须):用于音频格式转换。\n * *Windows*: 下载并配置环境变量,或确保 `ffmpeg.exe` 在系统路径中。\n3. **NVIDIA 显卡驱动 & CUDA**:建议安装 CUDA 12.x 以获得 GPU 加速支持。\n\n---\n\n## 🚀 快速开始 (Quick Start)\n\n### 1. 克隆项目\n\n```powershell\ngit clone [https://github.com/AGT117/WhisperX-WebUI.git](https://github.com/AGT117/WhisperX-WebUI.git)\ncd WhisperX-WebUI\n\n```\n\n### 2. 创建虚拟环境 (推荐)\n\n为了防止依赖冲突,建议创建独立的 Python 虚拟环境:\n\n```powershell\n# Windows PowerShell\npy -3.11 -m venv .whisperx_webui\n.\\.whisperx_webui\\Scripts\\Activate.ps1\npython.exe -m pip install --upgrade pip\n\n# Linux / Mac\npython3 -m venv .venv\nsource .venv/bin/activate\n\n```\n\n### 3. 安装依赖\n\n```powershell\npython -m pip install -r requirements.txt\npip install git+https://github.com/m-bain/whisperX.git --no-deps\npip install transformers\npip install tokenizers accelerate\n\n```\n\n> **注意**:如果安装 `whisperx` 失败,请确保你已安装 `git` 命令。\n\n### 4. 配置 Hugging Face Token (可选)\n\n如果你需要使用 **说话人聚类 (Speaker Diarization)** 功能,必须配置 Hugging Face Token:\n\n1. 复制项目根目录下的 `.env.example` 文件,重命名为 `.env`。\n2. 打开 `.env` 文件,填入你的 Token:\n```ini\nHF_TOKEN=hf_你的Token填在这里\n\n```\n\n\n*(注:你需要去 Hugging Face 官网接受:\n\n关键报错库:pyannote/speaker-diarization-community-1\n核心模型库:pyannote/speaker-diarization-3.1\n分割模型库:pyannote/segmentation-3.0 \n\n的用户协议)*\n\n### 5. 启动应用\n\n```powershell\npython main.py\n\n```\n\n启动成功后,终端会显示访问地址(通常为 `http://127.0.0.1:7860`),浏览器会自动打开该页面。\n\n---\n\n## 📂 仓库结构\n\n```text\nWhisperX-WebUI/\n├── main.py # 程序入口,应用补丁并启动 WebUI\n├── requirements.txt # 依赖清单\n├── .env.example # 配置文件模板\n├── config/\n│ └── settings.py # 路径与默认配置 (HF缓存、CUDA设备等)\n├── src/\n│ ├── core/\n│ │ ├── engine.py # 核心引擎 (ASR, 对齐, 聚类, 分离)\n│ │ └── utils.py # 文本格式化与 SRT 导出工具\n│ └── ui/\n│ └── webui.py # Gradio 界面逻辑\n├── models/ # 模型下载目录 (自动生成)\n└── outputs/ # 默认结果输出目录\n\n```\n\n---\n\n## 🔧 配置说明 (`config/settings.py`)\n\n你可以直接修改 `config/settings.py` 或通过环境变量调整默认行为:\n\n* **`MODELS_DIR`**: 模型下载与缓存的根目录。\n* **`HF_TOKEN`**: Hugging Face 令牌(建议在 `.env` 中配置)。\n* **`DEVICE`**: 运行设备,默认为 `cuda`(无 N 卡可改为 `cpu`,但速度极慢)。\n* **`COMPUTE_TYPE`**: 推理精度。\n* `float16` (默认):适合大多数 GPU。\n* `int8`:显存不足时使用,精度略有下降。\n\n\n* **`BATCH_SIZE`**: 转录时的批处理大小,显存越小该值应越小。\n\n---\n\n## 📝 常见问题 (FAQ)\n\n**Q: 开启“说话人聚类”后报错?**\n\n> **A:** 请检查:1. `.env` 文件中是否正确填入了 `HF_TOKEN`;2. 网络是否能连接 Hugging Face;3. 账号是否已在 Hugging Face 上签署了 `pyannote` 的使用协议。\n\n**Q: 显存不足 (CUDA Out of Memory)?**\n\n> **A:** 请在 WebUI 的“推理参数”中,将 **计算类型** 改为 `int8`,并尝试减小 **Batch Size**。\n\n**Q: 如何处理带背景音乐的视频?**\n\n> **A:** 请在界面勾选 **“启用人声分离预处理 (BS-RoFormer)”**。这会自动先提取人声再进行识别,虽然会增加耗时,但能显著提升准确率。\n\n**Q: 程序启动时卡住不动?**\n\n> **A:** 首次运行时程序需要下载 Whisper 和 Pyannote 模型(数 GB),请耐心等待下载完成。\n\n\n"}}}}