SuperAPI AI Directory

sfx-picker

Design & creation

View repository

Updated 10-24 16:22

About this skill

SFX Picker - Cozer Motion SFX Library

148 curated sound effects across 10 categories, purpose-built for motion graphics, UI animations, and editorial video. Every file lives under assets/sfx/ in this repository and is ready to use in HyperFrames, ffmpeg pipelines, After Effects, or browser-based HTML compositions.

Before you start

Read references/catalog.md in full before picking any sound. It contains every filename, category, and recommended use case. Never invent a filename or path.

Step 1: Identify the visual moments that need sound

Map the animation to a list of keyframe moments. For each moment, state:

  • What moves (element name, transform)
  • When it moves (time in seconds from the composition start)
  • The emotional intent (punchy, soft, glitchy, mechanical, organic)

Example moment list:

0.0s: hero title slides in from left - punchy, confident
0.4s: subtitle fades up - soft, airy
1.2s: CTA button appears - crisp click, satisfying
2.0s: background grid glitches - digital, corrupted

Step 2: Match each moment to a category

Use the category guide below. Open references/catalog.md to pick the exact file.

Category Path Best for
crisp assets/sfx/crisp/ Snappy element reveals, cuts, punchy transitions
ui-sounds assets/sfx/ui-sounds/ Interface interactions, sci-fi menus, confirmations
pop assets/sfx/pop/ Bubble reveals, element pop-ins, list items
digital-click assets/sfx/digital-click/ Button clicks, futuristic UI taps, typewriter text
normal-click assets/sfx/normal-click/ Soft button presses, subtle taps
bell assets/sfx/bell/ Notifications, soft dings, light accents
message assets/sfx/message/ Ping notifications, message send, iOS-style chimes
glitch assets/sfx/glitch/ Corrupted reveals, error states, data glitches
gear assets/sfx/gear/ Mechanical transitions, typewriter scrolls, slow reveals
rizer assets/sfx/rizer/ Build-up before a big reveal, rising energy, final hold

Step 3: Output a cue sheet

After picking sounds, produce a cue sheet in this format:

TIME    CATEGORY        FILE                                NOTES
0.0s    crisp           Crisp  (14).mp3                    Title slide: punchy cut
0.4s    ui-sounds       ES_UI, Positive 02 - Epidemic Sound.mp3   Subtitle appears
1.2s    digital-click   ui degital click by clips.mp3      CTA button appears
2.0s    glitch          UIGlitch_Futuristic_Machines_Devices_Glitch_2_Ocular_Sounds_Sci.wav  Grid glitch

Step 4: Deliver paths and an integration snippet

For each picked SFX, give the full repo-relative path and a ready-to-use snippet.

Browser / HyperFrames:

// Preload all SFX at composition init
const sfx = {
  titleSlide: new Audio('assets/sfx/crisp/Crisp  (14).mp3'),
  ctaClick:   new Audio('assets/sfx/digital-click/ui degital click by clips.mp3'),
  glitch:     new Audio('assets/sfx/glitch/UIGlitch_Futuristic_Machines_Devices_Glitch_2_Ocular_Sounds_Sci.wav'),
};

// Fire at seek(t) when t crosses the cue time (fire-once guard):
let fired = {};
function maybeFire(t) {
  if (t >= 0.0 && !fired.titleSlide) { sfx.titleSlide.play(); fired.titleSlide = true; }
  if (t >= 1.2 && !fired.ctaClick)   { sfx.ctaClick.play();   fired.ctaClick   = true; }
  if (t >= 2.0 && !fired.glitch)     { sfx.glitch.play();     fired.glitch     = true; }
}

ffmpeg mixdown (for video export):

ffmpeg -i video.mp4 \
  -i "assets/sfx/crisp/Crisp  (14).mp3" \
  -i "assets/sfx/digital-click/ui degital click by clips.mp3" \
  -filter_complex "
    [1:a]adelay=0|0[sfx0];
    [2:a]adelay=1200|1200[sfx1];
    [0:a][sfx0][sfx1]amix=inputs=3:normalize=0[aout]
  " \
  -map 0:v -map "[aout]" -c:v copy -c:a aac -shortest output.mp4

Rules

  • Never guess a filename. Check references/catalog.md first.
  • Prefer short, punchy sounds for fast cuts. Reserve rizer for a single composition-level energy build.
  • Crisp sounds under 0.5 s work best on element reveals. Do not stack more than three simultaneous SFX cues.
  • Files are in .mp3, .wav, .aac, and one .mp4 (audio-only). All 148 are probed valid.
  • Duplicate file GearPlastic_AP1.475 - Copy.mp3 is identical to GearPlastic_AP1.475.mp3. Use the original.

What I learned the hard way

  • Preload before seek(0). Browsers silently skip audio if the file has not buffered. Create new Audio(...) at init, not at cue time.
  • Fire-once guard prevents double-triggers. Calling seek(t) multiple times for the same frame re-fires the sound. Track which cues have already played and clear the guard only on full composition reset.
  • ffmpeg adelay is in milliseconds. adelay=1200|1200 means 1.2 seconds, not 1200 seconds.
  • Crisp sounds disappear in loud music. Boost SFX by 3 to 6 dB with volume=2.0 in the amix chain when the background track is dense.
  • The rizer is one per composition. It sounds wrong when it plays twice. Gate it behind a flag.