ai-chatbot/docs/audio-processing-deployment-2026-09-18.md

36 lines
4.7 KiB
Markdown
Raw 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.

# 自动转写与人声分离独立服务 — 2026-09-18
本轮完成算力服务器模型安装、私有音频 API 和主项目接入代码。**按用户要求暂停主站发布,先进行本地验收。** 48 主站仍为 `229f4d72`,构建仍为 `.next-groups-upscale-20260918T133550`,未加入远程音频配置;候选版本构建已停止。算力服务器音频服务在暂停前已安装,不能将其等同于主站功能已上线。服务部署说明见 `services/audio-processing/README.md`。
## 架构
- FunASR Paraformer + FSMN VAD + CT-Transformer 自动转写,HTDemucs 人声分离;全部使用已校验本地权重,推理不下载模型或执行远程模型代码。
- 模型运行在算力服务器的独立 CPU 单队列;systemd 4 核 / 12GiB 限额,Torch 2线程。千问 GPU 0/1 和视频高清 GPU 3 配置未改。
- 48 只负责轻量素材准备、持久化主任务和结果归档。既有智能剪辑准备锁保留,避免并发抽取素材压垮主站;推理不在48运行。
- 私有 API 18342,独立随机 Bearer 密钥,经专用受限 SSH 隧道连接48,未开放公网端口。
- 上传流校验长度及 SHA-256;服务端记录和结果持久化,刷新重试复用任务编号。输入未上传完不执行;服务重启可恢复;主站下载结果再次校验。
- 功能能力取算力服务器真实 health;配置了远程服务后遇到网络错误不回退主机推理。错误保留原字幕/原音轨。
## 已验证
- 70 项定向回归通过,含原有剪辑/任务/编组和新增音频断线、身份隔离、损坏音轨拦截。
- TypeScript 检查通过。
- 真实音频 API:缺少认证401、参数冲突409、损坏上传400、相同任务复用、实际中文识别、实际两轨分离、分离中重启恢复。
- 8.3935秒中文语音识别三句:0–1.349秒“欢迎使用智能剪辑,”;1.349–4.710秒“我们正在测试人声分离和自动字幕,”;4.710–8.205秒“请保留原始视频的画面和声音。” ASR单次实测14.03秒。
- 人声与背景声合成重构原样例的最大误差 `7.45e-9`;波形确实发生分离,非原音轨复制。含重启恢复的分离验证24.20秒,attempts=2。这是短样例,不是任意素材的质量/性能承诺。
- 在48执行实际主项目处理函数,经真实私有API调用算力服务器:转写保留手动字幕并新增3句;both/vocals/background三个分支分别生成2/1/1条独立音轨,保留原裁剪、时长、增益并关闭视频原声。测试隔离素材缓存与回传文件,不触碰用户画布;上传回调验证文件交付,不将此宣称为真实用户对象存储端到端验收。
- 算力服务器及48的认证 health 均返回 asr=true、separation=true;服务 bundle SHA-256 为 `22c20736634cbed32c3a3b227e71ce773f5da5763d52c021cd6a162130b54d22`。
## 暂停发布后的本地验收
- 主应用、音频 API 和模型均运行本机,使用隔离数据库 `codex_smart_edit_0918`、本地 S3 测试存储;本轮不调用线上音频服务。
- 真实接口链通过:登录、上传、创建画布、剪辑计划、视频人声分离、自动转写、独立音轨再分离、仅保留人声/背景声、成片及 SRT 归档。同一 requestId 的重复提交复用任务。
- 8.9秒中文合成样例:计划6.7秒、首次分离14.1秒、转写15.7秒、三次独立音轨分离各约10.8秒、成片58.5秒。包含本地开发环境冷编译,不作为线上性能结论。
- 导出文件完整解码通过:H.264 854×480、AAC 48kHz 双声道;检查导出画面确认中文字幕实际烧录,SRT 包含识别文本。
- 浏览器实际点击验证通过:播放预览、手动新增字幕、自动转写后立即刷新并重开编辑器、手动字幕保留、人声分离菜单全部三个选项、再次刷新后音轨数量与字幕保留。无页面脚本异常。
- 本地测试素材最初使用跨端口 HTTP URL,被页面 CSP 正确拒绝;改为本地同源测试网关后预览播放通过,未修改产品 CSP。后台素材下载使用隔离测试进程的网络边界替身访问本地 S3;因此这些结果不代表公网存储网络/线上权限链已验收。
- 音频/剪辑/任务61项回归通过,TypeScript通过。新增内容变化必须新建音频任务的断言。修正全链路测试成片节点坐标,避免测试节点互相遮挡。
- 本地报告和截图位于忽略目录 `.qa/audio-local/`。当前是合成短样例验收,长素材、多人声/复杂音乐质量和生产环境端到端验收尚未覆盖。
测试输入为合成语音/背景音,无付费生成调用。私有配置、模型权重、测试凭据、输入输出不提交 Git。用户要求先本地测试,本轮不再更新或切换服务器版本。