Error DJ - Meme Sound Effects for Code Errors
The ONLY VS Code extension that lets you upload your own sounds and customize which sound plays for each error type. Not just one sound for all errors — map specific meme sounds to specific error patterns.
TypeError? Vine boom. Test failed? Among us emergency. Segfault? Windows XP error. Or swap them all with YOUR own meme clips.
Why Error DJ?
Other sound extensions give you fixed sounds with no control. Error DJ is different:
- Upload YOUR sounds - Add any .mp3, .wav, or .ogg meme clip you want
- Customize EVERY mapping - Choose exactly which sound plays for which error pattern
- Live preview - Hear sounds as you browse them, before you assign
- Per-error-type sounds - "TypeError" plays a different sound than "FAIL" or "segfault"
- Three trigger sources - Terminal output, editor diagnostics (red squiggles), and build task failures — each independently configurable
Features
- 15 Built-in Meme Sounds - vine boom, bruh, among us emergency, GTA wasted, metal gear alert, fart reverb, roblox oof, mario death, sad trombone, faaaaah, nope, wow, bonk, drama, windows xp error
- Unlimited Custom Sounds - Upload your own clips (max 500KB per file — short meme clips only, no full songs)
- Dashboard UI - Full webview dashboard to manage all settings, mappings, combos, and streaks visually
- Success Sounds - Celebration sounds when builds pass or terminal shows success patterns
- Sound Randomizer - Assign multiple sounds to one pattern — a random one plays each time
- Combo Counter - Escalating sounds when you hit consecutive errors (3x, 5x, 10x...)
- Clean Code Streak - Countdown timer that celebrates when you code error-free for X minutes
- Error Roast Messages - Funny notification messages alongside error sounds ("git blame says it's you")
- Quick Mute Timer - Mute sounds for 15min/30min/1hr/2hr for meetings — auto re-enables
- Sound Packs - Export/import your sound setup as shareable
.error-dj-pack files
- Easy Sound Manager - One command to view, add, edit, or remove all mappings
- Smart Cooldown - Prevents sound spam with configurable cooldown
- Cross-Platform - Works on Windows, macOS, and Linux
- Zero Config Needed - Works out of the box with sensible defaults
Getting Started
- Install the extension
- Open a terminal and run something that produces errors
- Hear the sounds!
Commands
Open the Command Palette (Ctrl+Shift+P / Cmd+Shift+P) and type "Error DJ":
| Command |
Description |
| Error DJ: Open Dashboard |
Visual dashboard to manage all settings and mappings |
| Error DJ: Manage Sound Mappings |
View, add, edit, or remove all error-to-sound mappings |
| Error DJ: Test a Sound |
Pick and preview any available sound |
| Error DJ: Add Custom Sound |
Import your own sound files (.mp3, .wav, .ogg) |
| Error DJ: Toggle On/Off |
Enable or disable the extension |
| Error DJ: Mute for... |
Temporarily mute sounds (15min, 30min, 1hr, 2hr) — auto re-enables |
| Error DJ: Export Sound Pack |
Export your mappings + sounds as a shareable pack file |
| Error DJ: Import Sound Pack |
Import a sound pack (replace, merge, or sounds only) |
Dashboard
Run Error DJ: Open Dashboard to open the visual settings panel with tabs for:
- Terminal Errors - Manage pattern-to-sound mappings for terminal output
- Diagnostics - Configure sounds for editor errors and warnings
- Build - Set sounds for build success and failure
- Success Sounds - Configure terminal success pattern mappings
- Combo - Set up escalating combo sounds and thresholds
- Streak - Configure clean code streak timer and celebration sound
The dashboard also has master controls for volume, cooldown, roast messages toggle, and custom sound import.
Sound Randomizer
Assign multiple sounds to any mapping — a random sound plays each time that pattern matches. In the dashboard, click the + button next to any sound to add alternatives. In settings.json:
{
"errorDj.terminal.mappings": [
{ "pattern": "error", "sound": ["vine-boom", "bruh", "bonk"], "isRegex": false }
]
}
Combo Counter
When you hit errors in rapid succession, combo sounds play at configurable thresholds:
- 3 errors → bruh
- 5 errors → among-us-emergency
- 10 errors → gta-wasted
The combo resets after 30 seconds of no errors. Customize thresholds and sounds in the Combo tab.
Clean Code Streak
A countdown timer runs while you code. If you go 5 minutes (configurable) without triggering any error sound, you get a celebration sound! Any error resets the timer. Watch your progress in the status bar.
Error Roast Messages
When an error sound plays, a funny notification pops up with a roast message tailored to the error type:
- TypeError: "That's a TypeError? In THIS economy?"
- Test failure: "Tests failed. Shocked? Nobody else is."
- Segfault: "Segfault? Bold memory management strategy."
- Build failure: "Build failed. Ship it anyway? (Please don't.)"
Toggle on/off via errorDj.roast.enabled or in the dashboard.
Quick Mute Timer
Need focus time or in a meeting? Run Error DJ: Mute for... and pick a duration. Sounds automatically resume when the timer expires. A status bar item shows remaining mute time. Click it to unmute early.
Default Sound Mappings
| Error Pattern |
Sound |
Type |
error |
vine-boom |
Terminal |
FAIL |
among-us-emergency |
Terminal |
exception |
bruh |
Terminal |
segfault |
windows-xp-error |
Terminal |
ENOENT / not found |
roblox-oof |
Terminal |
permission denied |
sad-trombone |
Terminal |
fatal |
gta-wasted |
Terminal |
panic |
metal-gear-alert |
Terminal |
warning |
fart-reverb |
Terminal |
deprecated |
mario-death |
Terminal |
timeout |
drama |
Terminal |
denied / unauthorized |
nope |
Terminal |
crash / core dump |
bonk |
Terminal |
stack overflow / out of memory |
faaaaah |
Terminal |
| Diagnostic errors |
vine-boom |
Editor |
| Diagnostic warnings |
fart-reverb |
Editor |
| Build failure |
gta-wasted |
Build |
| Build success |
wow |
Build |
passed / tests passing |
wow |
Terminal Success |
build successful |
wow |
Terminal Success |
deployed |
wow |
Terminal Success |
Configuration
Open Settings (Ctrl+,) and search for "Error DJ", or use the Dashboard for a visual interface.
| Setting |
Default |
Description |
errorDj.enabled |
true |
Master on/off toggle |
errorDj.volume |
80 |
Volume level (0-100) |
errorDj.cooldownMs |
1000 |
Minimum ms between sounds |
errorDj.customSoundsFolder |
"" |
Path to your custom sounds folder |
errorDj.terminal.enabled |
true |
Watch terminal output |
errorDj.terminal.mappings |
(14 defaults) |
Array of {pattern, sound, isRegex} |
errorDj.diagnostics.enabled |
true |
Watch editor diagnostics |
errorDj.diagnostics.mappings |
[error, warning] |
Severity-to-sound map |
errorDj.build.enabled |
true |
Watch build tasks |
errorDj.build.sound |
gta-wasted |
Sound for build failures |
errorDj.success.enabled |
true |
Play sounds on success events |
errorDj.success.buildSound |
wow |
Sound for build success |
errorDj.success.terminalMappings |
(3 defaults) |
Terminal success patterns |
errorDj.combo.enabled |
true |
Enable combo counter |
errorDj.combo.resetAfterMs |
30000 |
Reset combo after ms of no errors |
errorDj.combo.levels |
[3, 5, 10] |
Combo thresholds with sounds |
errorDj.streak.enabled |
true |
Enable clean code streak |
errorDj.streak.minutes |
5 |
Minutes for streak celebration |
errorDj.streak.sound |
wow |
Streak celebration sound |
errorDj.roast.enabled |
true |
Show funny roast notifications |
Sound Packs
Share your sound setup with friends or across machines:
- Export: Run Error DJ: Export Sound Pack — saves a
.error-dj-pack file with all your mappings and sound files
- Import: Run Error DJ: Import Sound Pack — choose to Replace All, Merge, or import Sounds Only
Adding Custom Sounds
- Run Error DJ: Add Custom Sound from the command palette
- Select a folder for your custom sounds (first time only)
- Pick your audio files (.mp3, .wav, .ogg)
- Use the Dashboard or Manage Sound Mappings to assign them to error patterns
Custom sounds with the same name as bundled sounds will override them.
Custom Mappings Example
In your settings.json:
{
"errorDj.terminal.mappings": [
{ "pattern": "TypeError", "sound": "vine-boom", "isRegex": false },
{ "pattern": "\\d+ tests? failed", "sound": "among-us-emergency", "isRegex": true },
{ "pattern": "my-custom-sound", "sound": "my-custom-sound", "isRegex": false }
]
}
- Windows: Uses a persistent PowerShell process with WPF MediaPlayer for low-latency playback
- macOS: Uses
afplay
- Linux: Uses
aplay (wav) or mpg123 (mp3) - install via your package manager if needed
License
MIT