关于 add-sfx
用于将音效加入 Remotion 软件包和文档的仓库技能,面向贡献者,涵盖素材准备、导出、文档、波形生成与构建流程。
主要功能
- 01CC0 WAV 与音量峰值要求
- 02素材登记和部署步骤
- 03软件包导出命名规范
- 04文档与侧边栏更新
- 05波形生成及软件包构建
适用场景
- 01向 Remotion 添加音效
- 02发布音效文档页面
- 03重新生成文档波形
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ remotion-dev/ remotion --skill add-sfx安装后在 Claude Code 中输入/add-sfx确认已加载。
详细介绍
前置条件
必须先将音效添加到 remotion.media 软件包中。
然后可以使用 bun run build 部署。如果我们位于 worktree 中,.env 可能不存在;但在主非 worktree 分支上,它应该存在。
权威来源是该仓库中的 generate.ts。音效必须先存在于该文件中,才能添加到 @remotion/sfx。
音效必须:
- 为 WAV 格式
- 采用 CC0(Creative Commons 0)许可
- 归一化至峰值 -3dB
步骤
1. 添加到 remotion.media 仓库(必须先完成)
在 remotion-dev/remotion.media 仓库中:
- 将 WAV 文件添加到仓库根目录
- 在
generate.ts的soundEffects数组中添加一项:{ fileName: "my-sound.wav", attribution: "Description by Author -- https://source-url -- License: Creative Commons 0", }, - 运行
bun generate.ts,将文件复制到files/并重新生成variants.json - 部署
2. 将导出添加到 packages/sfx/src/index.ts
变量名使用 camelCase。避免使用 JavaScript 保留字(例如,使用 uiSwitch,而不是 switch)。
export const mySound = 'https://remotion.media/my-sound.wav';
3. 在 packages/docs/docs/sfx/<name>.mdx 创建文档页面
遵循现有页面的模式(例如 whip.mdx)。包括:
- 包含
image、title(camelCase 导出名)、crumb: '@remotion/sfx'的 Frontmatter - 带有下一个版本号的
<AvailableFrom>标签 <PlayButton>的导入和用法- 描述
- 使用
@remotion/media的<Audio>组件的示例代码 - 值部分,包含用围栏代码块包裹的 URL
- 时长部分(获取文件,并在 macOS 上使用
afinfo查看时长和格式) - 归属部分,包含来源链接和许可
- 转换部分,包含完整链接句子:
[Open this file on remotion.dev/convert](https://remotion.dev/convert?url=<encoded-sfx-url>) - 另请参阅部分,链接到相关音效
4. 在侧边栏和目录中注册
packages/docs/sidebars.ts— 将'sfx/<name>'添加到@remotion/sfx分类项中packages/docs/docs/sfx/table-of-contents.tsx— 添加带有<PlayButton size={32}>的<TOCItem>
5. 重新生成 SFX 波形
将音效添加到 packages/remotion-media 并从 packages/sfx/src/index.ts 导出后,重新生成文档使用的波形样本:
bun packages/docs/generate-sfx-waveforms.ts
此操作会使用 ffmpeg 将每个导出的音效采样为约 2000 个波形样本,并更新 packages/docs/components/sfx-demos/sfx-waveforms.ts。
6. 更新 skills 规则文件
将新 URL 添加到 packages/skills/skills/remotion-markup/sfx.md 的列表中。
7. 构建
cd packages/sfx && bun run make
命名约定
| 文件名 | 导出名 |
|---|---|
my-sound.wav | mySound |
switch.wav | uiSwitch(保留字) |
page-turn.wav | pageTurn |
版本
使用 packages/core/src/version.ts 中的当前版本。
对于文档中的 <AvailableFrom>,将补丁版本号加 1。
评论
支持 Markdown