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

4.7 KiB
Raw Blame History

自动转写与人声分离独立服务 — 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。用户要求先本地测试,本轮不再更新或切换服务器版本。