Sound Effects Design
Game SFX communicate information, provide feedback, and enhance immersion. Every sound must serve a purpose.
Design Philosophy
- Functional first - What information does this convey?
- Appropriate scale - Match visual importance
- Distinctive - Sounds must be distinguishable
- Non-fatiguing - Will be heard thousands of times
- Mix-aware - Must work with music and other SFX
Sound Anatomy
Temporal Structure
[Attack] [Body] [Tail]
0-50ms 50-500ms 500ms+
Frequency Structure
| Range |
Frequencies |
Provides |
| Sub |
20-60Hz |
Rumble, impact |
| Low |
60-250Hz |
Weight, power |
| Mid |
250Hz-4kHz |
Character, presence |
| High |
4kHz+ |
Detail, definition |
Standard Layering Approach
Most sounds = 3-4 simple layers combined:
| Layer |
Focus |
Duration |
Purpose |
| Transient |
High |
10-50ms |
Timing, definition |
| Body |
Mid |
50-200ms |
Character, identity |
| Tail |
Low/Full |
200ms+ |
Space, context |
| Sweetener |
Variable |
Variable |
Polish, uniqueness |
→ See references/layering-recipes.md for category-specific breakdowns.
Quick Reference: Categories
Impacts
- Variables: Material, mass, velocity, surface
- Light: 50-150ms, quick transient
- Heavy: 500ms-3s, layered boom + debris
Movement (Whooshes)
- Variables: Speed, size, direction
- Core: Filtered noise with pitch sweep
- Speed mapping: Faster = brighter filter cutoff
UI Sounds
- Character: Instant response (< 50ms feel)
- Family: All UI sounds should be related
- Scale: Small actions = small sounds
Ambient
- Looping: Seamless, non-repetitive
- Layering: Multiple different-length loops
- Role: Sets mood without demanding attention
→ See references/material-signatures.md for material-specific guidance.
Material Quick Reference
| Material |
Frequency |
Decay |
Character |
| Metal |
High mids |
Long ring |
Clangy, bright |
| Wood |
Low mids |
Medium |
Thuddy, warm |
| Stone |
Wide band |
Short |
Crunchy, solid |
| Flesh |
Low mids |
Short |
Thuddy, soft |
| Glass |
Very high |
Medium |
Shatter, tinkle |
Frequency Allocation (Avoid Masking)
Sub (20-80Hz): Music bass, explosions
Bass (80-250Hz): Weapon body, footsteps
Low-Mid (250-500Hz): Voices, body of sounds
Mid (500-2kHz): Primary information
High-Mid (2-6kHz): Presence, attack
High (6kHz+): Air, sparkle
Variation Strategies
Prevent repetition fatigue:
| Method |
Memory Cost |
Variety |
| Pre-made variations (3-5) |
High |
Maximum |
| Pitch randomization (±2 semitones) |
None |
Good |
| Volume randomization (±2 dB) |
None |
Subtle |
| Layer randomization |
Medium |
High |
→ See references/variation-strategies.md for implementation patterns.
Technical Specs
| Format |
Use Case |
| WAV 16-bit 44.1kHz |
Master/archive |
| WAV 22kHz |
Retro consoles |
| OGG |
Long sounds (streaming) |
Memory Budget Template
UI: 20 sounds × 5KB = 100KB
Footsteps: 30 sounds × 10KB = 300KB
Weapons: 50 sounds × 20KB = 1MB
Creatures: 40 sounds × 30KB = 1.2MB
Ambient: 10 loops × 200KB = 2MB
Related Components
/design-sfx - Interactive SFX design wizard
sfx-architect agent - Detailed synthesis guidance
sonic-style-language skill - Style consistency
1---2name: sound-effects-design-patterns3description: Use this skill when DESIGNING sound effects - deciding what sounds to create, how to layer them, and what character they should have. **Triggers:** "sound effect design", "how to layer SFX", "UI sounds", "impact sound", "weapon sounds", "footsteps", "ambient design". **Pipeline position: DESIGN (1 of 3)** - For synthesis code (numpy/scipy): use `zx-procgen:procedural-sounds` - For quick generation: use `zx-procgen:/generate-sfx` **Load references when:** - Material sound signatures → `references/material-signatures.md` - Layering recipes by category → `references/layering-recipes.md` - Variation strategies → `references/variation-strategies.md`4---5
6# Sound Effects Design
7
8Game SFX communicate information, provide feedback, and enhance immersion. Every sound must serve a purpose.
9
10## Design Philosophy
11
121. **Functional first** - What information does this convey?
132. **Appropriate scale** - Match visual importance
143. **Distinctive** - Sounds must be distinguishable
154. **Non-fatiguing** - Will be heard thousands of times
165. **Mix-aware** - Must work with music and other SFX
17
18---
19
20## Sound Anatomy
21
22### Temporal Structure
23```
24[Attack] [Body] [Tail]
25 0-50ms 50-500ms 500ms+
26```
27
28### Frequency Structure
29| Range | Frequencies | Provides |
30|-------|-------------|----------|
31| Sub | 20-60Hz | Rumble, impact |
32| Low | 60-250Hz | Weight, power |
33| Mid | 250Hz-4kHz | Character, presence |
34| High | 4kHz+ | Detail, definition |
35
36---
37
38## Standard Layering Approach
39
40Most sounds = 3-4 simple layers combined:
41
42| Layer | Focus | Duration | Purpose |
43|-------|-------|----------|---------|
44| Transient | High | 10-50ms | Timing, definition |
45| Body | Mid | 50-200ms | Character, identity |
46| Tail | Low/Full | 200ms+ | Space, context |
47| Sweetener | Variable | Variable | Polish, uniqueness |
48
49→ See `references/layering-recipes.md` for category-specific breakdowns.
50
51---
52
53## Quick Reference: Categories
54
55### Impacts
56- **Variables:** Material, mass, velocity, surface
57- **Light:** 50-150ms, quick transient
58- **Heavy:** 500ms-3s, layered boom + debris
59
60### Movement (Whooshes)
61- **Variables:** Speed, size, direction
62- **Core:** Filtered noise with pitch sweep
63- **Speed mapping:** Faster = brighter filter cutoff
64
65### UI Sounds
66- **Character:** Instant response (< 50ms feel)
67- **Family:** All UI sounds should be related
68- **Scale:** Small actions = small sounds
69
70### Ambient
71- **Looping:** Seamless, non-repetitive
72- **Layering:** Multiple different-length loops
73- **Role:** Sets mood without demanding attention
74
75→ See `references/material-signatures.md` for material-specific guidance.
76
77---
78
79## Material Quick Reference
80
81| Material | Frequency | Decay | Character |
82|----------|-----------|-------|-----------|
83| Metal | High mids | Long ring | Clangy, bright |
84| Wood | Low mids | Medium | Thuddy, warm |
85| Stone | Wide band | Short | Crunchy, solid |
86| Flesh | Low mids | Short | Thuddy, soft |
87| Glass | Very high | Medium | Shatter, tinkle |
88
89---
90
91## Frequency Allocation (Avoid Masking)
92
93```
94Sub (20-80Hz): Music bass, explosions
95Bass (80-250Hz): Weapon body, footsteps
96Low-Mid (250-500Hz): Voices, body of sounds
97Mid (500-2kHz): Primary information
98High-Mid (2-6kHz): Presence, attack
99High (6kHz+): Air, sparkle
100```
101
102---
103
104## Variation Strategies
105
106Prevent repetition fatigue:
107
108| Method | Memory Cost | Variety |
109|--------|-------------|---------|
110| Pre-made variations (3-5) | High | Maximum |
111| Pitch randomization (±2 semitones) | None | Good |
112| Volume randomization (±2 dB) | None | Subtle |
113| Layer randomization | Medium | High |
114
115→ See `references/variation-strategies.md` for implementation patterns.
116
117---
118
119## Technical Specs
120
121| Format | Use Case |
122|--------|----------|
123| WAV 16-bit 44.1kHz | Master/archive |
124| WAV 22kHz | Retro consoles |
125| OGG | Long sounds (streaming) |
126
127### Memory Budget Template
128```
129UI: 20 sounds × 5KB = 100KB
130Footsteps: 30 sounds × 10KB = 300KB
131Weapons: 50 sounds × 20KB = 1MB
132Creatures: 40 sounds × 30KB = 1.2MB
133Ambient: 10 loops × 200KB = 2MB
134```
135
136---
137
138## Related Components
139
140- `/design-sfx` - Interactive SFX design wizard
141- `sfx-architect` agent - Detailed synthesis guidance
142- `sonic-style-language` skill - Style consistency