--- name: add-sfx description: Add a new sound effect to @remotion/sfx --- ## Prerequisites Sound effects must first be added to the [remotion.media](https://github.com/remotion-dev/remotion.media) repository. The source of truth is `generate.ts` in that repo. A sound effect must exist there before it can be added to `@remotion/sfx`. Sound effects must be: - WAV format - CC0 (Creative Commons 0) licensed - Normalized to peak at -3dB ## Steps ### 1. Add to `remotion.media` repo (must be done first) In the `remotion-dev/remotion.media` repo: 1. Add the WAV file to the root of the repo 2. Add an entry to the `soundEffects` array in `generate.ts`: ```ts { fileName: "my-sound.wav", attribution: "Description by Author -- https://source-url -- License: Creative Commons 0", }, ``` 3. Run `bun generate.ts` to copy it to `files/` and regenerate `variants.json` 4. Deploy ### 2. Add the export to `packages/sfx/src/index.ts` Use camelCase for the variable name. Avoid JavaScript reserved words (e.g. use `uiSwitch` not `switch`). ```ts export const mySound = 'https://remotion.media/my-sound.wav'; ``` ### 3. Create a doc page at `packages/docs/docs/sfx/.mdx` Follow the pattern of existing pages (e.g. `whip.mdx`). Include: - Frontmatter with `image`, `title` (camelCase export name), `crumb: '@remotion/sfx'` - `` tag with the next release version - `` import and usage - Description - Example code using `@remotion/media`'s `