🎵 Procedurally generated game sounds in 4 audio styles (UI, outcomes, combat, and more):
Download
Download the full pack:
Motivation
I wanted a CLI that generates game sound effects from code, so a project can ship audio without sample packs, attribution, or licensing.
Everything is synthesized with Python’s standard library:
- No samples, Python packages, or audio dependencies
- Deterministic output: the same
--seedrenders the same audio - 39 cues × 4 styles, so one style can cover an entire game
- Each sound is rendered as a 44.1 kHz mono WAV master, with optional OGG and MP3 versions
Styles
- Retro: Chiptune pulse and square leads, bitcrush/sample-hold grit, arcade sweeps
- Modern: Detuned saw layers, sub-bass thumps, resonant transients, soft clipping
- Soft: Sine/triangle tones, gentle attacks, low-passed noise; muted and non-fatiguing
- Realistic: Noise-based scuffs and impacts, resonant band-passes, pitch-dropped thumps
Audio Specs
- 44,100 Hz, mono, 16-bit PCM WAV
- Peak normalized to −6 dBFS by default to prevent clipping
- DC offset removed
- 3 ms fade-in and 12 ms fade-out per sound
- OGG Vorbis quality 5; MP3 at 192 kbps
Sounds
Each style includes 39 cues and 156 sounds across the 4 styles.
Movement
| Category | Description | Sounds |
|---|---|---|
| Jump | Leaving the ground | jump_01, jump_02 |
| Walk | Rotate for footsteps | walk_01, walk_02, walk_03, walk_04 |
| Land | Touching down after a jump | land_01, land_02 |
| Dash | Quick dodge or sprint burst | dash_01 |
Combat
| Category | Description | Sounds |
|---|---|---|
| Hit | Light, medium, and heavy impacts | hit_light, hit_medium, hit_heavy |
| Swing | Attack whooshes | swing_01, swing_02 |
| Shoot | Projectiles and laser fire | shoot_01, shoot_02 |
| Explosion | Blasts and heavy impacts | explosion_01 |
| Shield | Block, guard, or deflect | shield_01 |
| Alert | Enemy spotted or warning | enemy_alert_01 |
Items & Environment
| Category | Description | Sounds |
|---|---|---|
| Pickup | Coins, items, collectibles | pickup_01, pickup_02 |
| Powerup | Rising buff or upgrade sweep | powerup_01 |
| Heal | Restoring health or healing magic | heal_01 |
| Splash | Water entry or splash | splash_01 |
Player
| Category | Description | Sounds |
|---|---|---|
| Hurt | Player damage | hurt_01, hurt_02 |
| Death | Death / game-over stinger | death_01 |
UI & Outcomes
| Category | Description | Sounds |
|---|---|---|
| UI | Menus, buttons, and alerts | ui_click_01, ui_hover_01, ui_confirm_01, ui_back_01, ui_error_01, ui_open_01, ui_close_01, ui_notification_01 |
| Victory | Win / level complete | victory_01 |
| Defeat | Loss / round over | defeat_01 |
| Level Up | Character or skill progression | level_up_01 |
| Achievement | Unlocks, trophies, and rewards | achievement_01 |
Generate
You can also generate the game sounds locally.
Clone the repository:
git clone https://github.com/remarkablegames/game-sounds.git && cd game-sounds
Install the requirements:
- Python 3.10+
- FFmpeg with
libvorbisandlibmp3lame(only for OGG and MP3)
Generate the full pack, including WAV, OGG, and MP3:
python3 generate.py
Generate one style as WAV only:
python3 generate.py --style retro --format wav
Use a fixed seed or adjust the master level:
python3 generate.py --seed 42 --db -1
Verify the output:
python3 generate.py --check
Explore the source on GitHub or preview every sound.