Confucius4-R2T2 Q8 ASR
Confucius4-R2T2 GGUF Q8 speech recognition nodes for ComfyUI
Nodes (7)
The node that has to run before any of this works
Stop your transcript from mangling every brand name
Real-time captions, with a Start button in the middle of it
Where the text actually lands on disk
A real .srt, with timings you should still check
Load Audio in, text out, one file at a time
The 'give me my VRAM back' node
Confucius4-R2T2 Q8 for ComfyUI
基于网易有道 Confucius4-R2T2 的 Windows x64 / Linux x86_64 语音转文字节点,支持 CPU 和 NVIDIA CUDA。使用官方 GGUF Q8 主模型 + Q8 音频 projector;推理运行在独立的 Python 3.12 worker 中,不向现有 ComfyUI Python 安装上游 vLLM 依赖。
支持文件离线转写、文件流式转写、浏览器麦克风实时字幕和保存转写。长音频分段使用 FireRedVAD ONNX。模型文件及许可说明见 Hugging Face 模型仓库。
安装
-
将本仓库克隆到
ComfyUI/custom_nodes/comfyui-confucius-r2t2-t8。已接入 Comfy Registry 发布流程;Manager 搜索安装需要官方版本审核通过。 -
安装 CPython 3.12(64 位),在节点目录运行对应命令:
# Windows py -3.12 scripts/setup_worker.py# Linux python3.12 scripts/setup_worker.py -
重启 ComfyUI 并刷新前端。安装器自动创建独立环境,下载本机匹配的原生 wheel、约 2.19 GB 的 Q8 模型和 FireRedVAD,并校验文件。检测到 NVIDIA GPU 时选择 CUDA;可用
--backend cpu或--backend cuda指定。
无需 llama 可执行程序,也无需为预编译轮子安装 CMake、Visual Studio 或 CUDA Toolkit。 CUDA 运行库通过 NVIDIA 的 pip 包安装,仅需兼容的显卡驱动。模型与环境分别放在 Git 忽略的 models/ 和 .runtime/。ComfyUI 自身 Python 可为 3.10 以上,与 3.12 worker 分开。
原生轮子见 native-v0.2.0。预编译 CPU 轮子要求 AVX2,Linux glibc ≥ 2.28;CUDA 轮子使用 CUDA 12.8,Linux glibc ≥ 2.35。Linux 上没有 .exe:worker 使用 .runtime/worker/bin/python,扩展为 .so。不要把 Windows 的 .runtime/worker 复制到 Linux;重新安装环境即可,模型文件可以复用。
0.2.0 的四种轮子均已通过全新环境安装与真实 Q8 节点验证,覆盖离线、文件流式、Live 结果保留及 SRT。Windows CUDA 另在 RTX 5090 Laptop 实测;Linux CUDA 已验证加载和 CPU 回退,尚未进行 Linux 物理显卡测试。
没有匹配轮子时,可在具备 Git、CMake 和 C++ 编译器的机器运行 python scripts/setup_worker.py --native source --backend cpu;源码 CUDA 构建还需 CUDA Toolkit 12.8,可加 --cuda-toolkit /path/to/cuda-12.8 --cuda-arch '86;89;120'。本地轮子用 --wheel /path/to/native.whl;模型已备齐时加 --skip-model-download。setup_worker_windows.ps1 和 setup_worker_linux.sh 为便捷入口。R2T2_WORKER_PYTHON 仍可指定独立解释器,旧 Windows 原生目录保持兼容。
使用
将 文件工作流 拖入 ComfyUI 前端画布,在 Load Audio 重新选择自己的音频,点击 运行。将 麦克风工作流 拖入画布后,在 Live 节点点击 Start microphone,授权麦克风;点击 Stop and finalize 后,再点击 运行 保存最终文字。浏览器麦克风需要 localhost 或 HTTPS。
节点包括 Confucius4 Q8 Loader、Confucius4 Transcribe、Confucius4 Hotwords、Confucius4 Live Microphone、Confucius4 Save Transcript、Confucius4 Save Subtitle 和 Confucius4 Unload Q8。单次文件输入仅支持一段音频(batch=1)。中文为主、夹少量英文的文件流式音频可尝试 Chinese 语言提示。
自动释放显存(0.1.9):Transcribe 的 unload_after 默认关闭,连续批量转写可复用模型;开启后,成功转写且没有进行中的 Live 会话时释放 Q8 模型,下次转写自动重新加载。JSON 的 model_released 表示本次是否释放。已结束的 Live 结果和 SRT 仍可读取,按原有一小时保留期过期;手动 Unload Q8 仍会清空会话。CUDA 上下文可能保留少量显存。
视频字幕 / SRT(0.1.7)
将 字幕工作流 拖入前端,选择音频或视频,点击运行。视频可放进 ComfyUI/input 后在 Load Audio 选择;读取第 1 条音轨,无需解码视频帧。
- Transcribe 开启
subtitle_timings,短文件也会收集完整段文本与时间。新增srt输出;Live 结束后同样输出 SRT。原text/language/result_json输出顺序保持兼容。 Save Transcript的format可选 txt/json/srt/vtt。Save Subtitle额外提供中英文行宽、毫秒偏移、字幕文字/JSON/条数输出,以及前端预览与下载;文件保存在ComfyUI/output。- 时间来自 VAD/识别分段,属于近似字幕,需要校对;没有字/词对齐。长句只换行并提示过长,不按平均时间制造逐句时标。视频有音轨延迟或截取偏移时,可用
offset_ms校正。 - 旧 JSON 缺少段文字或时间会要求重跑;
whole_audio_draft是显式的整段粗字幕回退。截断结果须开启allow_partial,静音不生成空字幕文件。不同偏移/内容生成不同文件,不覆盖已有字幕。
0.1.7 修复热词粘贴中的前导 BOM,避免隐藏词和重复计数;采样率及文件请求参数会严格校验。重采样后为空的极短音频会明确报错。精确全零的文件音频直接返回空转录(mode_executed=digital_silence),保留时长并跳过解码;低音量非零音频仍会识别。
0.1.6 修复实时会话的旧文字残留、重复启动和取消流程,工作流不再保存临时录音控件。模型卸载每次运行都会执行;worker 连接中断会进入恢复流程。字幕迁移兼容 srt/json 文件名前缀。更新后重启 ComfyUI 并刷新前端;若旧文件的 format 已丢失,请重新导入示例并设置参数。
0.1.4 修复导出缓存、错误提示和特殊字符:重新运行会检查并恢复已移走的输出文件,上游识别可复用缓存;后续节点失败不会清空本次已成功保存的字幕。Windows 保存不再依赖硬链接。辅助 SRT 无法生成时,仍保留识别文字与 JSON,并在 JSON 中报告 subtitle_export_error;显式字幕保存仍严格校验。SRT 保留普通 & 符号;<...> 可能被播放器解释为格式标签,VTT 使用标准字符引用。
也可离线转换已保存的、有段文本和时间的 JSON:
python scripts/json_to_subtitle.py transcript.json --format srt --offset-ms 0
字/词精确对齐、音轨选择节点和字幕烧录属于后续功能;各剪辑软件的字幕导入兼容性尚未逐一验证。 已在 ComfyUI 前端验证短 MP4 与 120 秒重复语音 MP4 的导出、预览、下载、时间偏移及旧工作流兼容性。
批量热词(0.1.2):
- 直接在 Transcribe 的
hotwords粘贴整份词表,用换行、逗号、分号或顿号分隔;保留英文词组中的空格。 - 使用 共享热词工作流,集中修改
Confucius4 Hotwords的words,输出可连接多个 Transcribe 节点。 - 可选
hotword_file读取ComfyUI/input下的 UTF-8 TXT 相对路径,例如r2t2_hotwords/brands.txt。文件与粘贴内容合并去重,编辑文件后下次运行自动读取新内容。
TXT 文件上限 64 KiB;热词与 context 合计上限 8192 字符(含提示标签),并需留足模型的 token 上下文。热词用于辅助识别,不是强制纠错;优先放相关人名、品牌和术语。麦克风热词写入 Live 的 context(如 Hotwords: 品牌甲, 品牌乙),开始新会话后生效。
从 0.1.1 起,offline 模式处理超过 30 秒的文件时,会用 VAD 分段并对每段做一次完整离线识别,每段最多 20 秒;结果中的 mode_executed 为 segmented_offline。此前版本会改走流式解码,长文件的重复计算和字幕事件较多。n_ctx 是单段推理的上下文大小,增大它不会取消分段,也不决定文件能处理多少分钟。文件传输上限为 512 MiB 的原始 float32 PCM,实际可用时长取决于采样率和声道数;stream_chunk_ms 只影响流式模式。
本机 Windows / RTX 5090 Laptop / CUDA 12.8 已通过官方 Q8 文件的离线与流式推理、真实 ComfyUI 前端拖入工作流并点击运行,以及注入音频的 Live Start/Stop 前端流程。物理麦克风、自然连续长语音的质量及所有 GPU 架构尚未全面验收;强制分段结果会标记 requires_review。默认不保存原始音频。
许可与来源
节点代码按 Apache 2.0 发布;原生适配代码来源与修改见 NOTICE。GGUF 模型及 projector 属网易有道,受其 Model Use License Agreement 约束;FireRedVAD 资产受 Apache 2.0 约束。使用或再分发模型时请阅读相应许可。本项目与模型原作者无官方隶属关系。
更多链接
B站 · YouTube · API · 免费画廊 · 在线 AI 应用 · ComfyUI 整合包 · Hugging Face