SuperAPI AI 工具集

prod-by-claude

智能体与模型

查看项目

更新于 10-15 22:13

技能介绍

用途:当用户想把一段 Strudel 曲目做成“代码即画面”的实时编程视频时使用,例如“把这段 Strudel 曲目做成视频”“让代码亮起来”。不适用于其他音频或 DAW 项目、口播视频,以及没有 Strudel 代码的现成音频可视化。

输入:一个 Strudel 曲目(.strudel.js),或一段用于作曲的简要说明;没有曲目时可用 assets/example/track.strudel.js(仅合成器、无采样)。还需曲目的编排信息:小节长度,以及哪些小节是 build 和 drop。

依赖:Node 22 或更新版本、npm,以及固定版本 hyperframes@0.8.70(通过 npx --yes 运行,不捆绑)。tools/package.json 固定其余依赖:@strudel/web 1.3.0(AGPL-3.0,从 npm 安装)、puppeteer-core 25.12.0、@puppeteer/browsers 3.2.3,以及 OFL 字体 @fontsource/jetbrains-mono 5.3.0、@fontsource/rubik-mono-one 5.3.0。录制用 Chrome for Testing 149.0.7827.22,或用 CHROME=<path> 指定任意 Chrome。无需凭证。

用法:1) 用脚本 new-project.mjs 创建项目;2) 按需编辑 video.json(bars、builds、drops、themes 等),使用示例曲目时可跳过;3) 在 tools 目录执行 npm install;4) 未设置 CHROME 时执行 npx --yes @puppeteer/browsers@3.2.3 install chrome@149.0.7827.22 --path .chrome;5) 在 tools 目录执行 node record.mjs ..(32 小节约 5-7 分钟,建议 10 分钟超时),直到 drop 峰值不超过 -2 dBFS 且无削波;6) 执行 node build-data.mjs ..;7) 在项目根目录执行 npx --yes hyperframes@0.8.70 check . 并运行其打印的快照命令,逐帧检查;8) 用户要求时本地渲染:npx --yes hyperframes@0.8.70 render . -o renders/video.mp4。曲目变更时重复步骤 5-7,video.json 变更时重复步骤 6-7。

输出:assets/bgm.wav(混音)、assets/stem-<part>.wav、data/events.json 与 data/events.js;renders/video.mp4 为 1080×1080、30 fps,时长约为 pre + bars × 240 / bpm + 4.6 秒。

限制与副作用:仅写入 <project-dir>;build-data.mjs 会改写 index.html 中的 data-duration 与 audio data-start 属性。npm install、Chrome 下载(约 150 MB)和从 cdn.jsdelivr.net 加载 GSAP 会联网;snapshot 默认会把帧上传到托管标注模型,需传 --describe false。录音为无头静音,不发声。本地渲染无费用;HyperFrames 云端渲染会消耗用户账户额度,需用户明确同意后使用。Strudel 软件为 AGPL,但曲目版权归作者;采样需用户拥有或已获授权。