Files
Gabriel Vidal 450c940b89 feat(reel): UI sound palette from 効果音ラボ, fetched on demand
The same library as the Lost in Production trailer: 29 semantic names (tap,
type, pop, notif, whoosh, register, printer, stamp, tick, bell…) mapped to
soundeffect-lab.info files in sfx/sources.json, each with its measured onset
so the mixer puts the transient exactly on the beat. The site's terms allow
commercial use but not redistributing the files, so they are gitignored and
`npm run sfx` downloads them; catalog.json indexes the whole library.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 04:50:48 +02:00
..

Sound effects

Every sound effect comes from 効果音ラボ, the library the Lost in Production trailer used. It is free for commercial use with no credit required, but its terms forbid redistributing the files themselves. So public/sfx/*.mp3 is gitignored and fetched on demand.

npm run sfx                     # → public/sfx/<name>.mp3 (idempotent; refetches a name whose pick changed)
bash sfx/fetch-sfx.sh --force   # refetch everything · bash sfx/fetch-sfx.sh tap click → only those
node sfx/measure.mjs --write    # after changing a pick: re-measure duration/onset/peak into sources.json

The site serves an mp3 only to a browser User-Agent with a Referer from its own category page. The script sends both, and it fails loudly if the site answers with anything other than an mp3. Entries with a clip are cut out of a longer recording with ffmpeg (the system ffmpeg, else Remotion's bundled one). Every other file is the site's original, byte for byte.

  • sources.json maps each semantic name to a file and its measured duration, onset, peakDb, peakAt and audible. scripts/mix.mjs subtracts onset (the first sample above −40 dBFS) so the transient lands exactly on the cue time. For swells (whoosh, swoosh, register's bell), peakAt is where the loud part is. audible is how long the sound really rings, which is useful for dur.
  • catalog.json lists every mp3 on the site (2,352: 1,375 effects and 977 voice lines). Each entry has its path, Japanese title and description, an English gloss and the page it is listed on. Grep it to pick new sounds. The site's "life" category is various (生活).

Names

name use file (効果音ラボ title)
tap · tap2 soft touchscreen tap, alternate the two button/cursor12 コッ · anime/pa1 パッ
click crisp selection click button/decision31 カチッ
type · type2 one keystroke each (typeCues alternates them) machine/keyboard1 · one stroke cut from machine/keyboard-high-speed2, leveled to type
send message sent ✓, a rising chime button/decision53 ピロリン
pop · pop2 cards popping in button/decision35 ポピッ · button/decision34 ポン
notif phone notification button/decision40 ピロン
vibrate phone buzz (0.9 s) first buzz of machine/mobile-phone-vibration2
whoosh · whoosh2 fast transition, light · heavy battle/katana-gesture2 · battle/punch-real-swing3
swoosh softer, longer slide battle/katana-gesture1
impact · impact2 title slam: boom (3.5 s tail; use dur) · text slam anime/don-1 ドーン · anime/text-impact1
sparkle reveal shimmer button/decision37 キラリーン
register ka-ching (the bell rings at ~0.36 s) anime/amount-display1
printer receipt print burst (0.75 s) one pass of machine/printer-print1
stamp stamp thump battle/arrow-pierce1 ドスッ, tail cut
tick one clock tick one tick of various/clock-hand2
bell the mascot's handbell (≈ 6 dB quieter than the rest) various/bell1 鈴が鳴る
alarm a scheduled job fires first beep burst of machine/alerm1
toggle switch flip various/electricity-switch1
data · data2 network-packet blips button/cursor5 · button/cursor3
success checkmark ding button/decision13 ピン
tear paper rip various/paper-tear2
countup rolling numbers (ticks rising in pitch) button/gauge-recovery3
shutter camera shutter machine/camera-shutter2

The why field of each entry in sources.json says what the measurements showed and what the pick beat.