修复录音长度并恢复颜色配置声明
修补明确确认的 WAV 长度,或恢复完整内嵌配置声明,同时保留原 PCM 和 ICC 字节。
先确定实际交付任务
一位录音编辑报告约 90 MB 的 WAV 在 Resolve、Logic 显示 0:00,但 VLC 可以播放,并希望无损恢复。原文件和编码未提供。T317 仅处理一个明确原因:在用户确认 EOF 全为音频后,修复未完成的经典 PCM 长度;不能断言原作者的录音一定符合这一原因。
另一些作者已有实际 ICC 字节,却需要可读配置名用于图片说明或检查。T318 恢复可复用的原配置及每项声明文本,保留有/无配置状态,不估算颜色,也不拿 EXIF ColorSpace 代替。两项都处理本地选定原件。
| 任务 | 完整产物 | 仍需单独判断 |
|---|---|---|
| 未完成 PCM 长度 | 原大小 WAV 与字节保留 JSON | EOF 是否全为音频、录音是否可用 |
| 内嵌 ICC 声明恢复 | 原配置及完整 JSON/CSV ZIP | 配置或渲染是否产生有效颜色 |
改长度前先确认 WAV 边界
选择一份小端经典 RIFF/WAVE。支持 tag 1 整数 PCM,8/16/24/32 位、1–8 声道、1–384,000 Hz。首个 data 前须恰有一个 fmt,长度 16,或长度 18 且 cbSize=0;校验字节率与帧对齐。未知前置块的内容和填充均按原字节保留。
最终 data 确认默认关闭,仅在确认首个 data 为最终块、其余字节均为完整 PCM 帧时勾选。帧对齐的 LIST 尾部可能像采样,工具不检测尾部元数据、不恢复丢失采样,也不认证录音。
末尾零填充也默认关闭。奇数长度 PCM 需用户声明确有一个实际零填充。末尾零可能是 8 位采样:关闭时仍属于音频;开启时,仅当扣除它后 PCM 为奇数才计作填充。文件中不删除字节。
- 保留原件,对照报告原 SHA256。
- 不转换压缩、浮点、扩展、RF64/BW64 或大端音频。
核对准确 WAV 实例
受控的 86 字节录音含 9 字节 JUNK 及原 0xAB 填充、16 字节 fmt、48,000 Hz 的六个双声道 16 位帧。原两个长度均为零,真实 data 头在偏移 54,音频内容 24 字节。
明确确认后,偏移 4 的 uint32LE 变为 78,偏移 58 的 uint32LE 变为 24。总长度仍 86,其余每个字节不变,PCM SHA256 对应全部 24 原音频字节。声明时长 0.000125 秒;下载 repaired.wav 和 wav-repair-report.json 核对全部前置记录及两修补跨度。
完整恢复配置声明及其语境
T318 接受 JPEG、静态 PNG、直接 ICC/ICM。JPEG APP2 按声明序号重建,即使原存储顺序不同;缺片、重片或不一致整批拒绝。静态 PNG 校验全部 CRC 与必要顺序,并读取有界 iCCP zlib。APNG 和未知关键块不在首版范围;不解码像素或 JPEG 熵编码。
ICC 2/4 保留原头字段、整个标签清单及准确原配置。MLUC 严格读取每种语言/国家的 UTF-16BE,包含字面开头 U+FEFF。旧 desc 保留 ASCII、Unicode 和原 ScriptCode 字节,text 严格读取。接受完全共享标签和文本跨度,拒绝部分标签重叠。
七原件实例共 2,999 字节,恢复五配置共 1,880 字节:28 标签、8 文本记录、114 文本单元。两图像无配置,状态明确保留。完整 ZIP 27,960 字节;PNG 关键字、ICC 声明描述和 cICP 颜色提示为不同字段。
- profiles/NNNN.icc 保留原字节,未知标签可经路径、偏移、长度和 SHA256 找回。
- icc-inventory.json 保留全部字面名称及文本,icc-tags.csv 含全部标签或无配置原件行,并防护公式开头单元格。
- 配置声明不是颜色校准、CMM 合规或渲染器选择的证明。
同时应用预算并使用完整下载
WAV 允许一份 100 MiB 原件、1,000 前置块及 512 UTF-16 单元原名;产物 WAV 保持原件大小,有界 JSON 已支配 102 MiB 分配保护。预览前 200 块,完整清单在 JSON。
ICC 允许 100 原件,每份 20 MiB、合计 80 MiB;每配置 8 MiB,配置合计 32 MiB。合法 ICC 大小按四字节对齐;+1 字节在结构检查前按预算拒绝,+4 是首个其他方面合法的对齐超限。完整 JSON 加安全 CSV 最多 32 MiB,65 MiB ZIP 保护由配置/报告及有界归档头支配。
原件表展示全部选定文件,每格最多 2,000 UTF-16 单元;完整长描述及标签原内容见 ZIP。两工具均保留原名称及元数据,不提供匿名化。
| 维度 | 上限 |
|---|---|
| 标签 | 每配置 4,096 / 合计 65,536 |
| 本地化记录 | 每 MLUC 1,024 / 总文本记录 10,000 |
| 文本工作 | 4,194,304 UTF-16/ASCII 单元 |
| 容器工作 / 原名 | 100,000 次 / 512 UTF-16 单元 |
| 完整 JSON 加安全 CSV | 32 MiB,不截断后假成功 |
从拒绝恢复并保留外部读取器差异
格式问题或任何超限整批拒绝;取消丢弃部分工作和下载,可用相同原字节在新 Worker 重跑。原生证据包含 1,000 块 WAV 在完成 500 次实际前置解析/哈希后取消,以及 4,096 标签配置在 512 个实际标签后取消,均同原件完整恢复。浏览器交互证据独立维护。
Python wave 读取修复后的全部帧,核对仅允许的长度字节变化;Pillow 读取图像内嵌配置,完整原目录与 ZIP 另行独立检查。LittleCMS 2.19 接受 100 标签但因内部目录上限拒绝 101;更大的有界清单可保留,不代表外部 CMM 能使用。PNG cICP 也可能优先于 ICC。
参考资料
- 原始录音恢复提问
2026-10-07 已读取并保存作者完整正文:约 90 MB、Resolve/Logic 显示 0:00、VLC 可播。原件和编码未知,本严格 PCM 修复不承诺适用于该录音。
- 原始任务:获取内嵌配置名称
2026-10-07 已读完整问题及作者评论;实际 ProPhoto RGB 字节和说明文字需求支持恢复配置声明,EXIF/型号或猜测 sRGB 不是同一交付。
- 原始任务:从 ICC 字节读取可用描述
2026-10-07 已读原问及作者后续,作者确认最终经 ExifTool 提取;这里改用本地有界原配置导出与声明读取。
- FFmpeg WAV ignore_length 文档
2026-10-07 已读 3.29,说明未完成长度及 data 后非音频块可能误作音频,不由此推断自动尾部检测。
- Microsoft RIFF 块结构
2026-10-07 已读 FOURCC、长度及字对齐规则,依据实际块跨度,不固定搜索头位置。
- ICC 内嵌技术说明
2026-10-07 已读 JPEG 序号 ICC_PROFILE APP2 和 PNG iCCP,定义实际重建,不猜关键字或子串。
- ICC 头部、目录与本地化文本规范
2026-10-07 已读 7.2–7.4、10.13,保留原目录跨度与完整 MLUC,不认证颜色变换合规。
- PNG iCCP 与 cICP 颜色声明
2026-10-07 已读 11.3.2.3、11.3.2.6,配置存在本身不证明渲染器采用哪种声明。
- LittleCMS 2.19 内部标签目录上限
2026-10-07 已读官方 MAX_TABLE_TAG=100,实际 100/101 标签库读回区分目录清单与 CMM 兼容。
本分类工具使用说明
展开工具,查看操作步骤、可调选项和支持范围,再直接进入工作区。
修复 WAV 长度字段仅修补已明确确认最终 PCM 数据的 RIFF 与 data 长度,保留所有现有采样及前置字节。
选择未正常写完长度的经典 PCM WAV,明确确认首个 data 块为最终数据,且其余字节均为完整音频帧。仅修补两个长度字段,下载保持原大小的 WAV 和完整字节保留报告。
操作步骤
- 保留原录音,确认它符合明确支持的经典 PCM 格式。
- 选择文件,明确确认最终 data 与 EOF 音频;仅在有证据时指定末尾零填充。
- 运行修复,对照原件/产物长度、PCM SHA256 及两个修补跨度。
- 下载 repaired.wav 和完整 JSON,在实际目标播放器检查录音。
可调选项
- 我确认首个 data 是最终块,且其后字节均为完整 PCM 音频
- 默认关闭
- 末尾确有一个零为奇数 PCM 的填充,而非音频采样
- 默认关闭
能力与限制
- 仅一份原文件,最多 100 MiB;原文件名最多 512 个 UTF-16 单元。最多 1,000 个前置块,包含 fmt;未知前置块及原填充字节按不透明原件保留。
- 仅小端经典 RIFF/WAVE:tag 1 整数 PCM,8/16/24/32 位、1–8 声道、采样率 1–384,000 Hz。首个 data 前须恰有一个 fmt,长度为 16,或长度 18 且 cbSize=0;帧对齐及字节率须与这些字段一致。
- “最终数据”确认默认关闭,必须由用户明确声明,工具不会自动检测。帧对齐的尾部元数据可能像音频,无法在这里区分;缺失采样、错误采样率、空数据及不完整帧无法修复。
- “最后一个零为填充”默认关闭,仅当奇数长度 PCM 后确有一个末尾零填充时选择。不选择时末尾零仍是音频字节;工具不猜测它是采样还是填充。
- 仅修补 RIFF 偏移 4 和真实 data 长度位置的两个 uint32LE。WAV 长度、前置块、PCM 和原填充字节均保持恒等。完整 JSON 记录原名、各 SHA256、格式、帧数、时长、全部前置块及两个修补跨度。
- 完整 WAV 加 JSON 最多 102 MiB。原文件 100 MiB 和有界报告已使该输出上限受支配,不存在独立可达的受支持 102 MiB 输出。预览展示前 200 个前置块,每格最多 2,000 个 UTF-16 单元;完整记录在 JSON。
- 拒绝 RIFX/RF64/BW64、扩展/浮点/压缩音频及非法块链。不解码、重建、播放、访问网络,也不保证所有播放器或 Windows 兼容。原名称及元数据保留,不是匿名化。
提取内嵌 ICC 配置从本地 JPEG、静态 PNG 或 ICC 原件恢复准确配置字节,读取全部声明的本地化描述,不重着色图像。
选择本地 JPEG、静态 PNG 和 ICC/ICM 原件,恢复内嵌或直接供应的准确颜色配置、完整头部/标签及全部声明文本。下载含可复用配置、完整 JSON 和公式防护 CSV 的 ZIP。
操作步骤
- 选择原 JPEG、静态 PNG 或 ICC/ICM,并保留原件。
- 核对有/无配置状态、声明描述、原始版本和颜色空间。
- 下载完整 ZIP,对照导出配置 SHA256 与报告。
- 需要渲染或颜色变换验证时,另用适当颜色管理系统。
能力与限制
- 1–100 份原件,每份最多 20 MiB,合计最多 80 MiB;原名最多 512 个 UTF-16 单元。整批完成或整批拒绝,保留每份原件 SHA256。
- 每配置最多 8 MiB,配置合计最多 32 MiB;每配置最多 4,096 标签,合计 65,536 标签;每 MLUC 最多 1,024 记录,总文本记录最多 10,000,总文本 UTF-16/ASCII 单元最多 4,194,304。容器标记/块访问最多 100,000,各工作预算同时适用。
- 静态 PNG 检查完整块链、全部 CRC、必要顺序、支持的 IHDR、iCCP 关键字及有界 zlib 配置。拒绝 APNG 和未知关键块。JPEG 检查 EOI 前全部标记及扫描边界,按声明序号重建完整 ICC_PROFILE APP2,即使物理顺序不同。未解码像素或验证熵编码。
- ICC 主版本 2/4:准确的 4 字节对齐声明大小、全部头字段、标签跨度、零保留字节及原配置导出。接受完全共享标签跨度与 MLUC 字符串跨度,部分重叠不在支持范围。严格读取 MLUC UTF-16BE、旧 desc 与 text;文本开头 U+FEFF 按字面保留。
- 所有未知/非文本标签可由完整导出配置及准确偏移/长度/SHA256 找回,旧 ScriptCode 字节保持不透明。不会猜测 sRGB、用 EXIF ColorSpace 代替或虚构缺失名称;无配置图像有明确状态。
- 完整 JSON 加全部安全 CSV 行最多 32 MiB。ZIP 最多 65 MiB,该分配保护由配置和报告各 32 MiB 支配,不是独立可达输出容量。合法配置 4 字节对齐:+1 字节先过预算拒绝,首个其他方面合法的对齐超限是 +4。
- 表格展示全部原件,每格最多 2,000 UTF-16 单元,完整本地化文本及未知原标签在 ZIP。不渲染颜色、不证明校准、变换可用性或 ICC 完全合规。PNG cICP 可能在渲染时优先于 ICC。LittleCMS 2.19 内部目录最多 100 标签,本工具可保留更大目录,但不保证 CMM 可用。
- 首版不含 TIFF/PDF/WebP/HEIF/JXL、网络或已安装配置检索、代码/CSS 执行及自动导航。保留原元数据,不是匿名化。