Local voice cloning + SRT-driven web presentations. Two installable Agent skills: script → voice → motion.
Обзор
文案 + 你的声音 → 配音与 SRT → 会自动播放的网页 PPT 中文 · English 无需安装即可预览:点击页面开始播放,体验 。在线样片使用作者授权的示例配音。主入口使用 GitHub Pages,也可访问 Vercel 备用入口。 想修改或本地演示?完整源码和成品配音已纳入本仓库的 examples/live-demo,全新 clone 后即可运行,无需配置 TTS 账号: 使用 Node.js 22 LTS。修改源码后需要重新构建并发布;GitHub Pages 与 Vercel 的发布方式见 Demo 维护说明。 Creator Pipeline 是一组可以配合使用的 AI Agent skills。先用自己的录音克隆配音,得到真实音频时间轴;再让 Agent 把内容做成卡片、图解与连续 MG 场景,让画面跟着声音展开。 默认使用 与你自己的克隆音色,需要可用的 MiniMax 凭据和额度。无云账号时可显式选 --provider local,用免费的 :Apple Silicon 走 MLX,其他平台走官方 PyTorch。 支持 Vercel skills CLI 的 skills/ /SKILL.md 目录发现方式,无需另装本项目的 npm 包。已实测 Codex 与 Claude Code 的项目级复制安装。 准备 script.md 和一段干净、单人、无配乐的本人录音 my-voice.mp3,MiniMax 参考片段建议 10–30 秒(接口接受 10–300 秒),本地模型通常选 3–30 秒。然后发送:
README
文案 + 你的声音 → 配音与 SRT → 会自动播放的网页 PPT 中文 · English
▶ 在线体验有声演示 · 逐拍查看 21 个动作
无需安装即可预览:点击页面开始播放,体验 25 秒 MiniMax 克隆配音 + 真实 SRT 时间轴 + 16:9 连续动画。在线样片使用作者授权的示例配音。主入口使用 GitHub Pages,也可访问 Vercel 备用入口。
想修改或本地演示?完整源码和成品配音已纳入本仓库的 examples/live-demo,全新 clone 后即可运行,无需配置 TTS 账号:
cd examples/live-demo/presentation
npm ci
npm run dev
使用 Node.js 22 LTS。修改源码后需要重新构建并发布;GitHub Pages 与 Vercel 的发布方式见 Demo 维护说明。
Creator Pipeline 是一组可以配合使用的 AI Agent skills。先用自己的录音克隆配音,得到真实音频时间轴;再让 Agent 把内容做成卡片、图解与连续 MG 场景,让画面跟着声音展开。
默认使用 MiniMax speech-2.8-hd 与你自己的克隆音色,需要可用的 MiniMax 凭据和额度。无云账号时可显式选 --provider local,用免费的 Qwen3-TTS:Apple Silicon 走 MLX,其他平台走官方 PyTorch。安装的是脚本、模板与制作方法;本地模型在首次使用时下载,个人声音不会随技能分发。
安装两个 skills
npx skills add NanmiCoder/creator-pipeline \
--skill voice-clone-tts \
--skill web-video-presentation
安装器会让你选择 Agent 和安装范围。想先看看内容:
npx skills add NanmiCoder/creator-pipeline --list
支持 Vercel skills CLI 的 skills//SKILL.md 目录发现方式,无需另装本项目的 npm 包。已实测 Codex 与 Claude Code 的项目级复制安装。
给 Agent 的第一条任务
准备 script.md 和一段干净、单人、无配乐的本人录音 my-voice.mp3,MiniMax 参考片段建议 10–30 秒(接口接受 10–300 秒),本地模型通常选 3–30 秒。然后发送:
使用 voice-clone-tts 和 web-video-presentation。文案在 script.md,参考声音在 my-voice.mp3。先使用我的 MiniMax 音色;没有音色时用这段本人录音在 MiniMax 登记。制作代表性配音样片,检查读音和音色;再生成完整 WAV、MP3、SRT。基于最终时间轴制作 16:9 自动播放网页演示:少放整段文字,用连续图解、卡片状态变化和 MG 解释内容。完成后运行校验,并在浏览器实际播放、检查转场,交付运行方式。
配音脚本需要 Python 3.12、uv 和 FFmpeg;网页需要 Node.js/npm。skill 内的 setup.py 会创建独立 Python 环境。完整命令见 配音环境;想直接跑固定样例,见 first-video。
两个 skills,各有清楚的交付
| Skill | 输入 | 输出 |
|---|---|---|
| voice-clone-tts | 文案 + 本人/已授权参考录音 | WAV、MP3、SRT、可验证的 voiceover.json |
| web-video-presentation | 最终配音、SRT 与内容素材 | Vite + React + TypeScript 16:9 网页演示,可自动播放、点击推进 |
音频先定下来,画面才有可靠的节奏。voiceover.json 连接两步:导入时核验音频采样帧、字幕和文件哈希,改稿或缺段后不会继续拼接旧结果。SRT 按实际合成段的采样帧计时,属于句段级时间轴,不是字级强制对齐。
网页中的 step 表示口播焦点,scene 表示连续空间。几个句子可以共用一个场景:卡片转成窗口,连线显示关系,游标推进时间;每句口播无需重新换一张文字页。
这版现已成为默认模板,随 npx skills add 一起安装。新建项目首页即可逐拍体验,无需生成配音;自动播放提供明确标注的无声演示。它在六段口播内设计了 21 个动作拍,支持逐步播放、回退与重播;从波形拆分、时间标记到卡片关系持续推进。见默认模板用法、真实配音示例和同配音对照记录。
截图来自六句文案的实际运行,保留预览外框。振幅概览取自最终配音,窗口是制作流程示意。已公开的成品配音随 Demo 提供,原始参考录音和私人音色 ID 不包含在仓库中。
预览、自动播放与验帧都保留清晰的 16:9 舞台。验收兼容用户指定或本机可用的 ego-browser、agent-browser 及其他真实浏览器 skill,不要求安装某个品牌的浏览器。
输出是 HTML 网页演示,不是 .pptx。安装 skills 不会自动替你生成或上传视频。审核通过后再导出,见下方「导出成片」。
MiniMax 默认,保留免费本地方案
| 后端 | 适合谁 | 本项目验证状态 |
|---|---|---|
| Nano · 可选 | 明确希望尝试较轻的 CPU 路线 | MOSS-TTS-Nano 100M ONNX,macOS CPU 实际合成与全流程验证 |
| Qwen MLX · 本地选项 | Apple Silicon Mac 用户 | Qwen3-TTS 0.6B Base 4bit,实际完成同稿六句配音 |
| Qwen PyTorch · 本地选项 | CUDA / CPU 用户 | 提供官方模型适配器,尚未做 CUDA 实机验证 |
| MiniMax · 默认 | 使用在线服务和自己的音色 | 已实际登记音色,并完成三段、两轮同稿对照;用户三段试听均选 MiniMax |
这次默认取自用户对本人声音的三段试听选择。声纹模型对 MiniMax 与 Qwen 的分数接近,并未证明普遍胜负;对照方法与结果保留这些限制。缺少账号或音色时会提示配置,不静默切换供应商。
本地模型代码和权重分别遵循上游许可。Nano、Qwen Base 及所选 MLX 权重的公开许可、固定版本与取舍见 TTS 选型。MiniMax 的权限和费用以账号实际额度为准,不按套餐名字推断。
“免费本地”仍然需要首次联网下载、磁盘与运行内存。历史 Nano 短样本在这台 Mac 上进程峰值约 3.5–3.9 GiB,不能据此承诺所有低配电脑都可用。完整 Nano Python 入口仍用到 PyTorch 音频预处理,ONNX 并不意味着整个依赖链都没有 PyTorch。
做过什么验证
- 真实配音与交接:同一份六句文案分别通过 Nano 和 Qwen MLX 生成,再由实际 WAV/SRT 驱动网页演示。
- 内容核对:Nano 首轮出现局部 ASR 转写偏差,保留失败记录并只重试对应句子;不把“能播放”当作“读对了”。
- 故障恢复:改一段、换参考、损坏缓存、真实进程中断、搬迁目录,都做过独立前向测试;导入器会拒绝损坏或过期清单。
- 网页质量:真实 TypeScript 检查、时间轴校验、构建与浏览器播放;文案密度、构图和动作含义仍需要视觉审查。
数字、范围、失败与修复记录见 验证报告。目前有单人三段试听选择与两轮声纹辅助对照,没有跨机器速度基准、受控双盲研究或大样本返工率结论。
导出成片
画面审核没问题后,在预览页右上角点 导出,选 1K / 2K / 4K,下载 MP4。按同一时间轴逐帧生成 16:9 舞台与配音,进度条、角标和外框不进成片,无需分享标签页。导出耗时取决于设备和画面复杂度;处理慢不会通过跳帧来追赶。请保持页面打开。
| 选项 | 分辨率 |
|---|---|
| 1K | 1920×1080 |
| 2K | 2560×1440 |
| 4K | 3840×2160 |
音轨来自导入的配音文件,不依赖系统回环。旧浏览器或画面包含不支持的实时媒体时,仍可用 OBS 等录屏软件框选舞台,见 导出说明。
开发与贡献
skills/
voice-clone-tts/ # 本地/云配音适配器、缓存、SRT 和验证
web-video-presentation/ # 场景制作方法、主题、网页运行时与导入器
examples/first-video/ # 不含私人声音的可复现端到端样例
examples/live-demo/ # 线上有声 Demo 的源码、计划、配音、字幕与部署入口
tests/ # 无需模型或云账号的故障与交接测试
docs/ # 模型取舍、实测结果与验证边界
python3 -m unittest discover -s tests -v
python3 scripts/check-package.py
欢迎带着复现文案、后端版本和脱敏日志提交 issue;不要附上密钥、未授权的录音或模型权重。对于新后端,优先补齐输入契约、许可、真实短样本和失败恢复证据。
致谢与许可
项目代码使用 MIT。网页技能基于 ConardLi/garden-skills 的 Web Video Presentation 持续改进,保留原许可;配音运行依赖 OpenMOSS、Qwen、MLX Audio 等开源项目。第三方代码、模型与字体不因被本项目使用而变更许可,见 THIRD_PARTY_NOTICES。
Рекомендуемые инструменты
Попробуйте другой запрос или уберите фильтр.
Установка
npx skillfish add nanmicoder/creator-pipeline