FireRedAudio · T8star-Aix
ComfyUI V3 nodes for FireRedAudio using an isolated Transformers 5.8 worker
Nodes (45)
Actually measure FlashAttention vs DeepSpeed on your card
Pitch, speed and volume without writing a single English instruction
Transcribe with the same model you generate with
Pick up a dubbing session after a crash, reboot, or 'oops'
Grab one take out of an AudioBatch and do something with it
100 lines of script, one run, resumable
Re-dub the lines that failed QA, not the whole episode
The 'commit' step for a line you picked by ear
When QA says the line is 'fine' but your ears say no
Stop hand-typing LUFS targets — pick audiobook, podcast, or video dialogue
Making the audio fit the subtitle timecode without talking at chipmunk speed
Prove your ComfyUI isn't broken before you blame it
47' into listenable clips
The one seed and CFG panel that TTS, voice design, and editing all share
The final human gate before a batch ships
Splice a repaired line back in — and be able to prove you did it right
Cut out the flub without touching the rest of the take
Two hours of audio, one transcript, real subtitles out
Ask a two-hour recording 'where does X happen' — in plain language
The node that makes this pack 'safe' — and what that safety costs you
One node, up to eight audio clips, and a question to answer
The node that tells you whether your 'fast mode' is actually fast
A clean 24 kHz reference copy, without wrecking the original
The 'hand it to the editor' button for a finished dub
Bring a desktop project into ComfyUI without rebuilding it
Mine the good 8 seconds out of an hour of audio
Why your clone sounds bad might be the reference, not the model
One click from reference clip to exact transcript
The kill switch, the status light, and the VRAM release valve
The save node that actually gives you a player
Export a whole batch of takes without a hundred save nodes
Get your transcripts and subtitles off the canvas and into files
Turn a paste of dialogue into a validated, batch-ready script plan
Eight seeds, one line, and a recommendation you can actually trust
Tell it to take the cough out, and it does
The QA pass that catches the line nobody wants to listen to
A/B two takes without the silence and volume lying to you
Blind A/B/C review that can't be rigged by the filename
The node that fixes how the TTS *says* your numbers, dates, and acronyms
From a pile of takes to one continuous audio file
Clone a voice in ComfyUI with zero training and no API key
Your audio isn't a black box anymore — ask it questions in ComfyUI
The glue node that turns one voice into eight characters
Design a voice from a sentence — no reference clip needed
Stop re-transcribing the reference — VoiceProfile makes a character reusable
comfyui-fireredaudio-T8 v0.19.1
最简单的安装方法:
cd ComfyUI\custom_nodes
git clone https://github.com/T8mars/comfyui-fireredaudio-T8.git
cd comfyui-fireredaudio-T8
python scripts\setup_runtime.py
然后把推荐模型 int8-wo-safe-v1 放到 ComfyUI/models/TTS/FireRedAudio/。节点使用独立 Worker,不会修改 ComfyUI 自己的 Transformers。
FireRedAudio 的 45 个 ComfyUI V3 全能力节点,由 T8star-Aix 集成。节点菜单:
T8star-Aix / Audio / FireRedAudio
能力
- 多语言 ASR
- 长音频静音感知分段、重叠去重,输出 SRT、VTT、JSON 与 JSONL
- 原生长录音时间线、时间找内容、内容找时间和结构化摘要
- 单音频理解,以及 1–8 个动态音频比较问答,可选 thinking
- 中英文零样本声音克隆
- 参考音频一键 ASR 逐字稿;可连接到 TTS/音色档案,TTS 留空时也可自动转写后继续生成
- 2–8 个 Seed latent-first 批量试音,可选逐条 ASR 回读并按文本误差、削波、静音和时长稳定性推荐 Take
- 长录音参考候选:非破坏提取 3–15 秒片段,按削波、静音、能量对比、语音活动和时长排序,可选明确标注为代理指标的 ASR 可懂度复排
- 多 Take 试听评审板:匿名乱序 A/B/C 播放、评分、备注和明确采用;首次运行默认仅盲听,不会自动选中第一条
- 自然语言声音设计
- 语义语音编辑
- 严格模板和参数化两种音高、速度、音量声学编辑
- 局部修复闭环:手工时间或定位 JSON 裁片 → 语义/声学编辑 → 等功率交叉淡化回填;保留源声道/采样率并输出原版/修复版 A/B 和哈希报告
- 参考音频时长、响度、削波、静音、直流偏移质检
- 另存 24 kHz 单声道的非破坏参考音频清理副本,可选静音裁剪、-23 LUFS 和语音高通,保留前后质检与处理记录
- 可复用音色档案与 1–8 角色音色库
- 载入桌面整合包导出的项目交换 JSON,复用音色库、脚本和 adopted take
- SRT、
角色:台词、带时间码角色脚本和 JSON 的解析与生成前预检 - 朗读文本规范化:保留原文并单独记录实际送入 TTS 的文本,支持自定义替换词典、全角/空白清理、中文日期和可选数字展开
- Worker
tts-batch分块、逐条落盘、原子 manifest、内容指纹缓存和中断恢复的批量配音;不同角色/参考音频可进入同一批 latent-first/decode-later - 同一参考音频的读取、重采样、RedAE 与 Patch Encoder 条件进程内复用;文件变化或模型卸载时安全失效
- 同步有效声音起点、两遍 EBU R128 响度匹配和等长补齐的公平 A/B 对比
- 顺序、时间码定位和叠加三种时间线渲染,相邻对白交叉淡化,以及可选 room tone 自动补真实空隙
- 保留立体声制作素材;混合单声道对白时自动提升声道数,不再把整条制作时间线降混为单声道
- 将长音频定位 JSON 直接裁成可试听证据片段、剪辑清单和可继续制作的 AudioBatch
- 有声书、播客、视频对白交付预设,统一控制排列、LUFS、LRA、True Peak、采样率和保存格式
- 成品逐条 ASR 回读、中文 CER/英文 WER、削波、静音和时长 QA
- 语音感知字幕时长适配:先裁首尾多余静音,再只加速语音片段;达到阈值的内部表演停顿保持原长,超过自然语速上限则进入重做清单
- 逐句制作审核台:在节点内按行试听、下载、过滤 QA 建议,选择通过/人工复核/重做并记录评分和备注;仅通过项形成独立交付 AudioBatch
- 从批量、返修、时长适配或审核 Manifest 恢复 AudioBatch,显示已通过/待审核/待返修/缺失和导出就绪状态,支持跨会话继续
- QA 失败 line ID 定向返修;支持固定/递增 Seed、多次尝试、字幕时间槽门禁、独立返修文件和非破坏 AudioBatch/manifest 合并
- 单句创意候选闭环:显式 line ID → 原 Take + 多 Seed 随机文件名候选 → 声学重复预筛 → 人工匿名盲听 → 明确采用 → 非破坏回填;与 QA 纠错返修完全分开
- AudioBatch 可按序号、line ID 或角色试听选择;成功 Take 可批量导出、原生下载并打包 ZIP
- 分轨制作交付包:角色/场景等长对白分轨、Master、dialogue、BGM、room tone、实际 SRT/VTT、模型版本、参数与素材 SHA-256 一键 ZIP
- WAV、FLAC、MP3、OGG 音频与 SRT、VTT、TXT、JSONL 安全保存;保存音频节点在 ComfyUI 结果区提供原生播放器/下载入口
- 冷/热启动、分阶段耗时、RTF 和 CUDA 峰值显存性能报告
- 加速实测向导:固定参考、文本、Seed 和参数,对
off、FlashAttention、DeepSpeed 等模式分别暖机并至少正式测量 3 次,比较中位耗时、RTF、峰值显存、哈希和实际回退,只给建议不自动改设置 - 模型校验、真实 GPU/空闲显存报告、缓存清理、显存释放和 Worker 停止
- ComfyUI V3 进度同步、中断联动取消、快速/均衡/高质量预设
- 7 个模板面板可发现的精选工作流、5 个原生 Subgraph Blueprint、4 个直接进入 App Mode 的简化应用,以及 19 个核心节点中英双语内置帮助
安装
节点已提交 Comfy Registry 审核;审核通过后可在 ComfyUI-Manager 中搜索 comfyui-fireredaudio-T8 安装。若暂时搜索不到,请使用下面的 GitHub 手动安装方式:
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/comfyui-fireredaudio-T8.git
cd comfyui-fireredaudio-T8
python scripts/setup_runtime.py
Manager 安装不会改动 ComfyUI 的 Python 依赖。首次使用前仍需运行上面的 setup_runtime.py,创建专用于 FireRedAudio 的隔离 Worker 环境。
Transformers 兼容方式
本节点的已验证隔离运行时固定为 Python 3.10、PyTorch 2.8.0+cu128 和 Transformers 5.8.0。许多 ComfyUI 节点仍依赖 Transformers 4.x,因此本节点不会把 FireRedAudio 依赖安装进 ComfyUI:
ComfyUI Python / Transformers 4.x
│ 标准 AUDIO + 本地 RPC
▼
隔离 Python 3.10 / torch 2.8 cu128 / Transformers 5.8 Worker
requirements.txt 有意保持为空。Windows 节点发行包随附固定版本 uv,请显式准备隔离环境:
python scripts/setup_runtime.py
也可在模型加载器中填写其他隔离 python.exe,或连接桌面整合包启动的外部 Worker。节点绝不调用 pip 修改 ComfyUI 环境。
模型加载器的设备默认使用 auto。实际 GPU、空闲显存和最终选用的显存模式可通过“运行时控制”节点查看;auto 会在空闲显存不足 36 GiB 时选择顺序卸载,而不是只看显卡标称总显存。
加速模式默认 auto_safe,使用预编译 FlashAttention 2 wheel。DeepSpeed BF16 已通过单卡完整 TTS,但仍是手动实验模式;FLA+Liger 在没有可审计 causal-conv1d Windows wheel 时会明确显示部分 PyTorch 回退。安装器从固定 URL 下载预编译 wheel、校验 SHA-256 和 Python/Torch/CUDA ABI,不从源码编译,也不修改 ComfyUI 宿主环境。
普通单卡优先使用 auto_safe;off 用作 SDPA 对照与排障;DeepSpeed、FLA+Liger 和 Torch Compile 只有在相同真实工作流的暖机多轮中位数至少快 20% 时才建议手动选择。当前不启用多卡。
v0.7 起,同一 Worker 中重复使用相同参考音频会命中 CPU LRU 条件缓存,避免每句重复执行 RedAE/Patch Encoder。缓存按绝对路径、大小和修改时间失效,随模型 Worker 释放,不写入 ComfyUI 工程,也不长期占用 GPU 显存;命中和占用可在运行时状态中审计。
模型
桌面版和 ComfyUI 共用模型仓库:
https://huggingface.co/t8star/Firered-Audio-Comfy
仓库保留官方目录结构并固定不可变 revision;同一份下载目录可以在桌面版中直接选择,也可以放入 ComfyUI 的默认扫描目录。
模型加载器同时识别桌面转换工具生成的本地 fireredaudio-model.json:
bf16-slim:主模型保持 BF16,RedAE 只保留推理 decoder,音质无损且节省约 6.4 GiB 磁盘;int8-wo-safe:TorchAO 权重 INT8,仅量化 Qwen block Linear,作为推荐的稳定省显存格式;int8-wo-extended:扩大到音频模块,体积更小但听感变化明显,保持实验标记;int8-convrot-experimental:Comfy-Kitchen ConvRot INT8,Windows 会在 CUDA 扩展不兼容时明确使用 Triton/eager,保持实验标记。
本地清单会覆盖官方 BF16 文件清单参与大小校验和模型指纹计算,因此 slim decoder 与量化分片不会被误报为损坏。TorchAO/Comfy-Kitchen 仍只安装在隔离 Worker,不污染 ComfyUI 宿主环境。GGUF 不在支持范围内。
默认扫描:
ComfyUI/models/TTS/FireRedAudio/
FireRedAudio/
config.json
model-00001-of-00005.safetensors
...
RedAE_decoder/
model.pt # 官方原始包
model.safetensors # bf16-slim / INT8 包优先使用
Lite 仅下载主模型,支持 ASR/理解;Full 增加 RedAE decoder,支持生成和编辑:
python scripts/download_models.py --target "D:\ComfyUI\models\TTS\FireRedAudio" --profile full --variant int8-wo-safe-v1
下载器默认选择稳定的 int8-wo-safe-v1,从对应 Hugging Face 固定 revision 先读取清单,再执行精确磁盘预检、断点续传和下载后文件大小校验。只有显式选择 --variant upstream-bf16 时才允许回退上游 ModelScope;不会在量化下载失败后悄悄换成大型 BF16。完整 SHA-256 校验可追加 --full-hash。
基础工作流
Load Audio→FireRedAudio 零样本声音克隆的参考音频输入。FireRedAudio 模型/隔离运行时→ TTS 的模型输入。- 可选连接
FireRedAudio 生成参数。 - TTS 输出连接
FireRedAudio 保存音频,可选择 WAV/FLAC/MP3/OGG。
示例见 example_workflows/ui 和 example_workflows/api。15_reference_cleanup 演示参考音频质检后再生成不覆盖源文件的清理副本;16_synchronized_ab 演示两个候选同步起点、匹配响度并分别保存;17_reference_asr_tts 演示自动逐字稿驱动 TTS;18_seed_audition 演示多 Seed 试音;19_long_audio_evidence 演示定位结果直接生成证据片段;20_creator_qa_repair_delivery 演示分块批配音、QA 失败返修、试听选择和批量 ZIP;21_podcast_local_repair 演示手工范围、语义编辑、回填与 A/B 保存;22_production_package 演示从项目交换 AudioBatch 导出角色/场景分轨和完整制作包;23_long_reference_screening 演示长录音筛选、人工试听、ASR 和 VoiceProfile;24_seed_blind_review 演示隐藏 Seed 文件名的多 Take 盲听评分与采用;25_acceleration_benchmark 演示真实加速实测;26_production_review_loop 演示规范化、语音感知字幕适配、QA、两轮逐句审核/返修和最终导出;27_resume_review_session 演示重启后从审核 Manifest 继续;28_creative_line_candidates 演示人工指定台词、多 Seed 匿名候选、盲听采用和回填交付。精选模板直接放在 example_workflows 根目录,可由当前 ComfyUI 模板面板发现;subgraphs 提供可从节点库插入的原生蓝图。参考清理和候选筛选都不会执行降噪、去混响或削波伪修复。
长音频字幕是静音感知的分段级近似时间,不是词级强制对齐。批量配音和多 Seed 试音都使用 Worker tts-batch;批量配音默认每批 8 条并允许不同角色参考,在顺序卸载模式中先完成本批 latent,再统一切换解码器,减少逐句切换大模型。每条结果仍独立落盘、记录和恢复。
配音生产工作流
推荐连接顺序:
Load Audio → 音色档案 ┐
Load Audio → 音色档案 ├→ 音色库 → 角色脚本/SRT 预检 → 朗读文本规范化 → 可恢复批量配音
└───────────────────────────────────────────┬→ 字幕时长适配 → 成品语音 QA
模型/隔离运行时 ───────────────────────────────────────────────────┘ │
▼
逐句制作审核台 → 仅通过项交付
│重做 line ID
▼
规范化脚本 + 音色库 + 带审核 AudioBatch ───────────────────────→ 定向返修 → 再次 QA/审核
原始长音频 → 局部修复范围 → 语义/声学编辑 → 局部修复回填 A/B → 分别试听/保存
制作交付可继续连接:
候选 A ┐
├→ 同步 A/B 对比 → 分别试听/保存
候选 B ┘
可恢复批量配音 ────────────────┐
room tone ─────────────────────┼→ 时间线渲染 → 保存音频
有声书/播客/视频对白交付预设 ───┘ └→ 同一交付预设
AudioBatch + 可选 Master/BGM/room tone/字幕 → 分轨制作交付包 → Manifest + ZIP
长录音 → 参考候选筛选 → 多 Take 试听评审 → ASR 核对逐字稿 → VoiceProfile
固定参考/逐字稿/目标文本/Seed → 加速实测向导 → 人工把建议模式填回模型加载器
审核 Manifest → 恢复批次/审核会话 → 逐句制作审核台 → 继续交付或返修
显式填写单个 line ID → 单句创意候选池 → 多 Take 试听评审板(首次仅盲听)
└→ 点“采用”并再次运行 → 采用创意候选 → 再次 QA/交付
交叉淡化只作用于相邻对白的真实重叠区域;sequence 模式启用交叉淡化时,相邻重叠会替代顺序间隔。自动补空隙必须连接 room tone,渲染器只在没有对白覆盖的时间段循环填充,并在边缘加入短淡化,不会把背景声铺到对白上。
交付预设会执行两遍 FFmpeg EBU R128 规范化并限制 True Peak。audiobook 默认 -20 LUFS / -3 dBTP / FLAC,podcast 默认 -16 LUFS / -1 dBTP / WAV,video_dialogue 默认 -23 LUFS / -1 dBTP / WAV;预设同时覆盖排列方式、交叉淡化和输出采样率,报告中会保存实际参数。
若脚本已在桌面整合包中整理,可点击“导出 ComfyUI 项目 JSON”,再用“FireRedAudio 桌面项目交换”节点一次还原 Voice Bank、Script Plan 和已采用的 Audio Batch。节点会验证参考音频 SHA-256;文件移动或被改写时会明确报错。
角色脚本支持以下形式:
旁白:欢迎收听本期节目。
[00:00:03,000 --> 00:00:06,000] 小夏:大家好,我是小夏。
# 场景:访谈
旁白:这一句会记录到“访谈”场景分轨。
SRT 的正文可用 [角色] 台词 标记角色。角色脚本支持 # 场景:名称、# Scene: name 或 ## 名称 场景标题。JSON 可直接传数组,或传包含 lines 数组的对象;每项支持 speaker、scene、text、language、start_seconds、end_seconds。
批量配音输出到 ComfyUI/output/<subfolder>/<project_name>/。manifest.json 会在每条成功或失败后原子更新;启用恢复后,只有台词、音色参考、生成参数和模型身份指纹均一致且 WAV 仍存在的条目才会命中缓存。未命中条目按 batch_size 分块进入 Worker tts-batch;报告保存每批真实 execution model 和性能数据。若 ComfyUI 中断当前批次,已完成并写入 manifest 的条目仍可在下次运行复用。
SpeechQA.failed_line_ids 可直接连接“QA 失败项定向返修”。返修始终写入独立目录和 repair-manifest.json,不会覆盖原始或已通过音频;成功条目才会替换输出 AudioBatch 中对应 line ID。递增 Seed 从首轮就使用基础 Seed + step;若新候选与原 Take SHA-256 完全相同会明确拒绝并继续下一 Seed。默认启用字幕时间槽门禁:脚本带时间码时,每次新 Take 都会重新测量真实 WAV,仍超过允许值就继续下一 Seed,全部尝试仍不合格则保持失败状态,不会把“生成成功”误当作“返修合格”。返修后的 AudioBatch 可连接“试听选择”“批量保存/下载”或时间线;批量保存会生成相对独立的交付目录、export-manifest.json 和可选 ZIP,结果区默认显示最多 16 条原生播放器/下载入口。
“成品语音 QA”默认把 ASR 逐字稿缓存到 ComfyUI output 的 fireredaudio/qa-cache/asr。缓存身份绑定 WAV SHA-256、官方模型 revision、实际模型指纹、固定提示词和 ASR Token 上限;缓存只复用逐字稿,CER/WER、削波、静音和时间槽阈值每次都会重新计算。报告会显示逐条命中与总 hits/misses;高级选项可关闭或强制刷新。损坏、身份不一致或被篡改的 JSON 不会命中。
“朗读文本规范化”不会改写输入脚本对象;输出 ScriptPlan 的 source_text 保留原文,text 是实际朗读文本,命中的规则写入 normalization。自定义词典使用 JSON 对象并按长词优先替换。中文数字展开默认关闭,因为型号、编号和专有名词可能需要不同读法;应先查看原文/朗读文本对照,再连接批量配音。
“字幕时长适配”只处理带 start_seconds/end_seconds 的成功 WAV。默认 speech_aware 会用 FFmpeg 检测完整静音区间,保留默认 0.12 秒边缘缓冲并先裁首尾多余静音;仍有超时时,把不短于默认 0.18 秒的内部表演停顿原样拼回,只对语音片段使用保持音高的 atempo。所需语音倍率超过默认 1.12 自然上限时不截断、不强拉伸,而是输出重做 line ID;safe_stretch 保留直接整句适配行为,report_only 只生成报告。报告保存受保护停顿、语音时长、目标语音时长、实际倍率和源 SHA-256。
“逐句制作审核台”把 QA 结果归为通过、人工复核或建议重做:仅静音比例异常默认人工复核,文字、削波或时间槽失败默认建议重做,人工选择始终可以覆盖。节点内表格的决定、1–5 分和备注会同步到工作流可序列化输入;重新运行节点后写入独立审核 Manifest。approved_batch 会把未通过项置为 review_hold,因此时间线和导出不会悄悄混入待复核素材。返修成功时旧审核结论进入 previous_human_review,新 Take 重新接受 QA/人工判断。
“恢复批次/审核会话”默认只允许读取 ComfyUI output 内的 Manifest;相对路径按 output 根解析。除缺失和可选 SHA-256 复核外,节点内状态面板还会汇总已通过、待审核、待返修、已采用和最终导出就绪状态,并给出下一步动作。确需读取外部制作目录时必须显式打开高级选项;恢复不会运行模型,也不会修改 Manifest 或音频。
“局部修复范围”可直接填写秒数,也可连接“长音频时间定位”的结构化 JSON 并按序号选择范围。两侧上下文会一起送入编辑模型并作为整体非破坏回填;“局部修复回填 A/B”会验证源 SHA-256,自动把编辑片段重采样/适配回原声道数,在替换区域内部做等功率边缘混合,源文件不会被覆盖。编辑片段时长变化会明确写入报告,不会偷偷拉伸。
“分轨制作交付包”使用时间线的实际落点生成 SRT/VTT,角色和场景分轨会用静音补齐到同一 Master 终点,便于直接导入 DAW。连接的外部 Master、BGM 和 room tone 会原样收进包;该节点不会假装替用户完成未指定的 BGM 混音,Manifest 会明确记录每项素材是否由本节点混入。ZIP 同时保存上游代码/模型 revision、Worker revision、生成参数、交付预设和全部产物 SHA-256。
“长录音参考候选”保留源采样率和声道,源文件前后 SHA-256 必须一致。信号排序不是主观音质预测;启用 ASR 时也只根据非空文本、语速和重复度生成明确标注的可懂度代理,不能冒充有真值逐字稿的 WER/CER。推荐候选仍须进入“多 Take 试听评审板”人工试听,再通过“参考音频 ASR 逐字稿”核对文字后生成 VoiceProfile。
“多 Take 试听评审板”使用官方 /view 音频协议,但在节点内以稳定乱序的 A/B/C 标签展示,不显示 Seed 或来源。首次运行采用序号默认为 0,所有 adopted 都保持 false;用户评分、备注并点击“采用”后,隐藏的稳定候选 ID 写回可序列化输入,必须再次运行才会输出采用 ID。候选文件名使用随机匿名标识,Seed 只留在审计 Manifest;源 AudioBatch 和 WAV 始终不变。
“QA 失败项定向返修”只负责纠错:保持原文本、角色音色和质量目标,逐 Seed 尝试通过文字、哈希与时间槽门禁。需要探索不同表演时,显式填写一个 line ID 进入“单句创意候选池”;原 Take 和 2–7 个新候选都使用随机匿名文件名。候选报告除 Seed、SHA-256 和来源外,还给出时长、能量包络和频谱的逐对差异预筛;该指标只用于发现明显重复,不能冒充人耳表演判断。盲听明确选中后,“采用创意候选”只回填对应 source_line_id,其他台词与全部源 WAV 不变。
“加速实测向导”会自动补入 off 基线,每种模式先暖机,再正式运行 3–20 次;缺轮子或 ABI 不匹配导致的回退不会被误当成该模式成绩。FlashAttention 等普通候选默认至少快 10%,DeepSpeed/FLA/Torch Compile 等实验模式至少快 20%,并可要求同 Seed 多轮 SHA-256 一致后才推荐。节点结束会释放模型,只输出建议和完整证据,不会修改模型加载器。
真模型长跑验收
可在目标机器运行节点仓库自带的验收脚本;模型保持外置:
python scripts/validate_real_model_long_run.py `
--model-root "D:\ComfyUI\models\TTS\FireRedAudio" `
--reference-audio "D:\ComfyUI\input\voice_reference.wav" `
--rounds 20 --device cuda:0 --memory-mode sequential --acceleration-mode auto_safe
v0.9.0 在 RTX 5090 Laptop 上完成 20/20 轮真实 TTS,所有 WAV 均通过大小、时长和 SHA-256 取证;暖机后任务中位耗时 15.184 秒,CUDA 峰值分配约 19.852 GiB,任务结束显存首五轮/末五轮中位数均为 574 MiB,漂移 0 MiB。该结果只证明这台目标机器和该工作流,不外推成所有显卡的固定速度。
v0.10.0 的多 Seed 专用链路另做了 2 条真模型 Smoke:Seed 4200/4201 均生成有效 24 kHz WAV,输出 5.28/4.96 秒且哈希不同;Worker 报告执行模型为 latent_first_decode_later,第二条复用参考条件并只进行一次批量解码器切换。冷启动总耗时包含 67.714 秒模型加载,不能拿该值代表暖机速度。
v0.11.0 的新 BatchDubbing 包装层使用两句真实 TTS 做了独立 Smoke:2/2 生成有效 24 kHz WAV,单次 Worker 批次报告为 latent_first_decode_later,冷启动总耗时 120.923 秒;同一节点重新执行时 2/2 命中 Manifest,耗时 0.030 秒且两条文件 SHA-256 均未变化。该测试证明分块、落盘与恢复链路,不把冷启动时长当作通用速度结论,也没有运行 ASR。
v0.13.0 的无真模型执行级验收覆盖长录音候选、原生试听、人工采用和加速决策算法:源哈希不变、唯一采用项成立,模拟 off/flash_attention/deepspeed 每模式 3 次正式测量共 9 条,正确推荐有效快路径并排除实际回退。具体机器的速度结论必须在该机器运行第 25 组工作流,不能用模拟验收数字代替。
v0.14.0 的执行级验收覆盖原文/朗读文本双轨、自定义词典与中文日期、1.10 秒音频安全适配到 1.00 秒时间槽、1.50 秒超限条目进入重做、QA 路由、人工覆盖、两行内嵌播放器/下载和审核 Manifest 跨会话恢复;源 WAV 前后 SHA-256 均未变化。
同版本在 RTX 5090 Laptop、24 GiB、sequential + auto_safe 上完成两句真模型完整创作链验收:2/2 批量生成、第一句以 1.08 倍安全适配、第二句以 1.25 倍需求进入重做、ASR 回读 CER 为 0、QA 正确拦截时间槽失败、只返修问题句、终审/恢复/双 WAV 与 ZIP 交付均完成;总耗时 129.828 秒,CUDA 峰值分配约 19.85 GiB,源文件 SHA-256 未变化。可用 scripts/validate_v014_real_production.py 在目标机器复验;真实声音审美仍需人工试听,自动指标不能代替听感。
同版本随后在 RTX 5090 Laptop、24 GiB、sequential 上完成真模型第 25 组等价实测:三种模式均无回退且每模式 3/3 正式 WAV 同 Seed 哈希可复现;off 中位 24.182 秒 / RTF 6.297,FlashAttention 21.179 秒 / RTF 5.515(快 12.418%),DeepSpeed 20.659 秒 / RTF 5.380(快 14.569%),峰值显存均约 19.850 GiB。按普通候选 10%、实验模式 20% 门槛推荐 FlashAttention;DeepSpeed 虽略快但未达到实验采用门槛。此结论仍只适用于这台机器和固定短句工作流。
v0.15.0 补齐制作规模与长文本证据:同一 RTX 5090 Laptop 上,100 行/8 角色以 sequential + flash_attention + fast 分成 13 批完成 100/100、0 失败,真实生成 807.162 秒,总音频 405.76 秒;二次 Manifest 恢复 0.136 秒、100/100 命中且全部哈希不变。另一次 sequential + auto_safe + fast 连续 20 轮全部有效,含冷启动的总中位数 13.645 秒,首五轮/末五轮任务后显存中位数 496/497 MiB、漂移 1 MiB,最大 CUDA 分配约 19.852 GiB。
同版本使用 142 字固定中文长文本、balanced 参数和显式 FlashAttention 做 1 次暖机 + 连续 10 次正式测量:10/10 实际模式均为 flash_attention、0 回退,输出均为 25.28 秒;中位总耗时 44.799 秒、中位 RTF 1.772、峰值显存约 19.865 GiB,同 Seed 的 10 个输出哈希完全一致。该数据仍只适用于这台机器和固定工作流。
v0.16.0 的语音感知时长回归使用此前人工听测的 5.600 秒真实生成 WAV 和 5.185 秒时间槽:检测到 0.8115 秒开头静音与 0.33488 秒结尾静音,只裁掉开头多余的 0.415 秒,输出时长精确为 5.185 秒,残余 atempo=1.0,不再把整句加速到 1.08 倍;源文件 SHA-256 前后完全一致。可用 scripts/validate_v016_speech_aware.py 复验算法证据,最终表演自然度仍由人工试听判断。
同版本的无真模型执行级候选验收固定请求 Seed 1001/1098/1195,得到三个不同 SHA-256 的新候选,并把原 Take 一起加入匿名盲听;评审明确采用 candidate-002 后只回填目标 line ID,另一条台词路径和两条源 WAV 哈希均不变。可用 scripts/validate_v016_candidates.py 复验 Seed、盲听、显式采用和非破坏合并语义。
v0.17.0 在同一条 5.600 秒真实样本上保持 v0.16 的安全结果:只裁掉 0.415 秒首部多余静音,输出 5.185 秒、语音倍率 1.0、源 SHA-256 不变;新增回归另构造 0.40 秒内部表演停顿,适配到时间槽时只加速两侧语音,检测到的内部停顿仍约 0.40 秒。真实 v0.16 创意候选的三组逐对声学预筛分数为 0.1430、0.0636、0.1111,均高于默认明显重复阈值 0.005;这仍不是听感通过声明,最终采用必须在 v0.17 匿名盲听界面完成。
仓库每周读取固定清单中的 FireRedAudio 代码与模型 revision,并与 GitHub/Hugging Face 最新 revision 比较。发现变化只创建兼容性审计提醒,不自动升级;仍需通过宿主 Python/Transformers 矩阵、ComfyUI schema 和真模型 Smoke Test 后才能更新固定版本。
许可证与安全
上游代码和模型采用 Apache-2.0。FireRedAudio 包含零样本声音克隆;仅在获得授权、符合法律和平台规则的场景使用。禁止欺诈、冒充、侵权或其他违法活动。本项目不是 FireRed Team 官方产品。