音频处理 音频批量转码与响度标准化 AI 提示词 (Prompts)

这篇内容适合谁

如果你需要把一堆音频文件(MP3/WAV/FLAC/AAC/OGG)批量转成统一格式,并把响度标准化到目标 LUFS(例如 -14 LUFS),同时输出每个文件的处理报告、失败重试清单、以及可直接部署上线的 Web 工具,那么下面的 Prompts 可以一次性让 AI 产出完整项目。

Prompt 1:生成可部署的“批量转码 + 响度标准化”在线工具(核心需求版)

你是一名资深全栈工程师。请生成一个“音频批量转码与响度标准化”在线工具的完整可运行项目。 【目标】 - 用户上传一个或多个音频文件(MP3/WAV/FLAC/AAC/OGG),或上传 zip(内含多个音频) - 选择输出格式(mp3/wav/flac/aac/ogg)与参数:采样率、声道、码率(如适用) - 选择响度标准化:目标值 LUFS(默认 -14)、True Peak(默认 -1.0dBTP)、LRA(可选),并提供“仅测量/测量+处理”两种模式 - 批量处理并生成: 1) 输出文件(按原文件名 + 后缀) 2) 每个文件的处理日志(含开始/结束时间、输入输出编码参数、响度测量值、是否成功、失败原因) 3) 汇总报告 report.json + report.csv 4) 失败重试列表 retry.txt - 支持并发队列:可配置并发数(默认 2),前端显示队列进度与每个任务状态 【技术栈硬要求】 - 前端:Next.js (App Router) + Type + Tailwind(或简洁 CSS),提供上传、参数表单、进度列表、结果下载 - 后端:Node.js (Express 或 Next.js Route Handlers) 负责 API;处理音频必须使用系统 ffmpeg(不要用图像生成/渲染相关库) - 任务队列:使用 BullMQ + Redis(或轻量队列实现,但必须支持并发限制、重试、取消) - 文件存储:本地磁盘临时目录(按 jobId 隔离);处理完成可打包为 zip 下载 - 安全:限制单文件大小、限制总大小、只允许白名单扩展名;对 zip 做解压炸弹防护(最大文件数/深度/总解压大小) 【输出物必须包含】 - 完整项目源码(分目录给出),并给出文件树 - 可直接运行命令: - pnpm install / npm install - docker compose up(如果使用 Redis) - pnpm dev / pnpm build && pnpm start - 部署说明:Dockerfile + docker-compose.yml(含 Redis),以及一份“无 Docker 的本地运行”说明 - 至少 6 条自动化测试(可用 Vitest/Jest/Playwright 任一),覆盖:参数校验、队列并发、失败重试、zip 安全限制、报告输出字段完整性、下载打包 - 给出一份 QA checklist(至少 15 条),覆盖:不同格式输入、长音频、含封面/元数据、静音段、极低响度、异常文件、取消任务、并发压测 【交互细节】 - 进度条:显示总体进度与单文件进度(如果无法精确则用阶段进度:上传/排队/处理/打包/完成) - 结果页面:提供 report.json/report.csv 单独下载按钮,以及“下载全部(zip)”按钮 【实现提示】 - ffmpeg 建议使用 loudnorm 滤镜(EBU R128),并把关键测量值写入 JSON 报告 - 保留元数据:如果输出格式支持,尽量拷贝 data;若不支持,在报告中标注 请直接给出最终代码与说明,不要输出与本任务无关的解释性长文。

Prompt 2:补齐“命令行模式 + API 模式”双通道与可观测性

在上一版项目基础上继续增强: 1) 增加 CLI 模式(同一套核心逻辑复用): - 命令:audio-batch --input ./in --output ./out --format mp3 --lufs -14 --concurrency 2 - 支持读取 config.yml - 输出与 Web 版一致的 report.json/report.csv 2) API 设计: - POST /api/jobs 创建任务(multipart 上传或 zip),返回 jobId - GET /api/jobs/{jobId} 查询状态与进度 - GET /api/jobs/{jobId}/download 下载结果 zip - GET /api/jobs/{jobId}/report 下载 report 3) 可观测性: - 结构化日志(JSON),字段至少包含 jobId、fileName、stage、durationMs、status - 关键指标:队列长度、处理成功率、平均耗时;提供 /api/health 与 /api/metrics(Prometheus 格式也可) 4) 可靠性: - 任务超时与中止 - 断点续传(可选;若实现不了,请明确说明原因并给出替代方案) 请给出修改后的文件差异点清单与新增/修改的完整代码。

Prompt 3:生成测试用例与 QA 清单(加强版)

请为该“音频批量转码与响度标准化”项目补齐测试与 QA: - 单元测试:参数校验、zip 安全策略、报告字段完整性 - 集成测试:模拟上传 3 个不同格式文件,验证队列并发=2 且最终生成 zip - 端到端测试:Playwright 走完整流程(上传->设置参数->开始->等待完成->下载->校验 report.csv 有行) - 负载与边界:大文件、超长音频、损坏文件、重复文件名、包含特殊字符文件名 同时输出一份 QA checklist(不少于 20 条),按“功能/兼容性/性能/安全/可用性/可恢复性”分组。

使用建议与常见坑(不涉及任何出图/图像生成)

部署在服务器时,建议把 ffmpeg 与 Redis 都放进同一个 docker-compose,给临时目录做磁盘配额与定期清理;对于用户上传的 zip,务必限制解压后的文件数与总大小,避免解压炸弹。响度标准化建议默认 -14 LUFS(适合多数平台),但也要允许用户自定义。

用户评论 (0)

登录后参与讨论

立即登录 注册账号

暂无评论,快来抢沙发吧~

操作成功