1 line
73 KiB
JSON
1 line
73 KiB
JSON
{"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\n\n**终端界面展示**\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---"}, "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\n\n**终端界面展示**\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---"}, "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\n\n终端界面展示\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---"}, "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\n网页界面展示\n\n\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\n网页界面展示\n\n\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\n网页界面展示\n\n\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\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\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\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\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\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"}}}} |