你将得到什么
这是一条可直接复用的“在线工具生成型 AI 提示词(Prompts)”。把它粘贴给任意代码能力较强的 AI,即可一次性产出一个可运行、可构建、可部署的在线音频工具:支持上传音频、检测静音段、生成可编辑剪切清单,并导出 EDL/CSV/JSON。
覆盖场景
适合播客剪辑前的静音清理、课程录音去停顿、会议录音整理、采访音频粗剪等。工具重点是“分析现有音频并输出剪切建议”,不涉及任何图像生成或渲染图导向。
功能清单(建议实现)
1) 上传音频(mp3/wav/m4a 等常见格式);2) 后端使用 ffmpeg 的 silencedetect 分析静音区间;3) 生成“保留段/删除段”时间轴清单;4) 前端可视化列表 + 可手动微调阈值/最小静音时长;5) 导出:JSON(原始区间)、CSV(表格)、EDL(剪辑软件可导入的时间线描述)。
交付物要求(硬约束)
必须输出:完整项目源码、清晰文件树、可复制运行命令、本地开发说明、Docker 部署说明、以及测试用例或 QA checklist(至少二选一,最好两者都有)。
AI 提示词(Prompts)
你是资深全栈工程师。请为我生成一个“静音段检测与剪切清单导出”的在线工具,要求可运行、可构建、可部署。
【产品目标】
- 用户上传一段音频,系统自动检测静音段并生成剪切建议;用户可调整阈值、最小静音时长与合并间隔;最终可导出 EDL/CSV/JSON。
【必须交付的内容】
1) 完整项目代码(前后端都给出),并给出清晰的文件树。
2) 本地运行命令(含依赖安装、启动前端/后端),并说明需要的 Node 版本。
3) Docker 一键部署:Dockerfile + docker-compose.yml(或等价方案),含端口、环境变量、持久化目录说明。
4) 测试用例或 QA checklist:
- 至少包含:上传大文件、不同格式、极短音频、无静音、全静音、阈值边界、并发上传、失败重试、导出文件校验。
【技术栈建议(可替换但要说明理由)】
- 后端:Node.js + Express(或 Fastify)
- 音频分析:服务器端 ffmpeg(调用 silencedetect 解析 stderr 输出),不要用任何“生成图片/渲染图”能力。
- 前端:React + Vite(或 Next.js),提供表单与结果表格。
【后端详细需求】
- 接口:
- POST /api/upload:上传音频,返回 fileId
- POST /api/analyze:入参 { fileId, silenceThresholdDb, minSilenceDuration, mergeGap },返回 segments(包含 silentSegments 与 keepSegments)
- GET /api/export?fileId=...&format=edl|csv|json:导出结果
- 安全:限制文件大小、校验 MIME/后缀、保存到临时目录、定期清理。
- 性能:分析过程要有进度/状态查询(可选),并避免阻塞主线程(可用子进程)。
【前端详细需求】
- 页面:上传区、参数区(阈值/时长/合并间隔)、结果区(表格 + 可编辑)、导出按钮。
- 结果表格字段:序号、开始时间、结束时间、时长、类型(静音/保留)、备注。
- 交互:修改参数后可重新分析;允许手工调整某一段的起止时间。
【导出格式规则】
- CSV:一行一个区间;时间使用秒(带 3 位小数)
- JSON:保留原始检测结果与用户修改后的最终结果
- EDL:输出通用可读格式(如 CMX3600 风格的简化版),并解释字段含义
【输出格式】
- 先给出“项目概述”和“关键决策说明”
- 再给出“文件树”
- 再按文件逐段输出代码(每个文件用清晰标题分隔)
- 最后给出“本地运行步骤”“Docker 部署步骤”“测试/QA 清单”
实现提示与边界说明
建议把“静音检测参数”做成可复用预设(例如播客/会议/课程三套)。如果需要支持大文件,可采用分片上传与后端任务队列,但务必先保证最小可用版本可跑通。本文不包含任何图像生成、出图、渲染图、海报或插画类内容。
验收标准(建议)
1) 上传一段 5-30 分钟音频可完成分析;2) 静音段结果可编辑并可重新导出;3) 导出的 CSV/JSON/EDL 可在本地打开且字段正确;4) Docker 一键启动后可在浏览器中使用;5) QA 清单至少覆盖 10 条关键用例。