What it sounds like
Wave (and its harder offshoot hardwave) emerged in mid-2010s SoundCloud underground circles — producers like Eyezic, Skit, Sidewalks and Skeletons, M|O|O|N — drawing from vaporwave’s hauntology, trap’s drum architecture, and anime/film-soundtrack chord progressions. Hardwave dialed up the distortion and BPM, sitting at the crossroads of trap, dubstep, and phonk. The scene lived almost entirely on SoundCloud and YouTube, with no major-label crossover, which is part of why it stayed pure.
A bar in and you’ve got it: lush minor-key chord pads (very anime-OST-coded), a half-time trap drum pattern at 130–150 BPM, 808 sub bass with pitch slides, and — in the hardwave variant — distorted screech leads that hit during the drop. The whole thing has a cinematic, slightly mournful feel that distinguishes it from straight trap or dubstep.
The chord moves
Wave loves minor 9ths and dominant 9ths in slow cinematic progressions — i–VI–III–v in natural minor with wide voicings and lots of reverb. The harmony is rich and emotional in a way that distinguishes wave from straighter trap. The genre often borrows progressions from anime soundtracks (think Cowboy Bebop, Ghost in the Shell) or early-90s R&B.
--chord minor9 --voicing wide --pattern pad and let the chord pad sustain through the half-time drum pattern.
The groove
Half-time trap pattern at 130–150 BPM. Kick on 1, snare on 3 (cut-time feel, ~65–75 BPM perceived). Hi-hats with occasional 16th-note rolls. The drums are softer than typical trap — less attack, more reverb tail.
The 808 bass plays slow root notes with pitch glide between chords. Less syncopated than trap; more sustained. The hardwave subgenre adds distorted screech leads during drops.
The sounds
- Pad: rich poly synth with 9ths. Long attack, very long release. Plenty of reverb.
- 808 bass: slow sustained sub-bass with pitch glide. Saturated lightly.
- Drums: soft trap kit with reverb-tailed snare. 16th-note hats but mixed low.
- Lead (wave): melodic pluck or pad lead playing simple motifs.
- Lead (hardwave): distorted FM screech or saw-bass lead during drops. Heavy overdrive.
- Atmospheres: cinematic strings, vocal samples (anime, film dialogue, R&B), tape hiss, reverb tails.
Production tells
Want it cleaner (wave)? Pure cinematic chord pads, slow drums, no harsh distortion. Lots of reverb on the lead. Master at -12 LUFS for dynamic range.
Want it harder (hardwave)? Add screech distorted bass on drops. Tighter low end. More aggressive sidechain. Master at -8 LUFS for impact.
Fm9 → Db9 → Ab → Cm7
Click to hear it.
Listen to
Three records that show the style at full strength. Read them as listening pointers, not templates to copy.
Time Twist
Eyezic
listen ↗
Ascend
Skit
listen ↗
White Light
Sidewalks and Skeletons
listen ↗
Six recipes
Six ways to cook Wave / hardwave.
One starter recipe, three variations that each take the style in a different direction, one sectioned recipe, and one curated Live handoff recipe. Each one cooks from a Markdown recipe — edit it before the MIDI lands in your DAW.
Starter
Neon Sidechain Wave
A wave/hardwave first cook with sidechain gaps, Reese bass, high shimmer, and chopped lead fragments.
Study: Skeler, “Tel Aviv” (2017). Use the reference for emotional low-end weight, neon atmosphere, and spacious half-time arrangement, not for melody, hook, groove, or sound design copying.
python jamburgr.py --config configs/recipes/wave_hardwave/wave_hardwave_neon_sidechain_wave.md Variation
Crystal Drop Answer
A brighter drop answer with pulsed eighth chords, root-fifth bass, evolving inversions, and call-response top motion.
Study: Klimeks, “Tokyo Train” (2014). Use the reference for emotional low-end weight, neon atmosphere, and spacious half-time arrangement, not for melody, hook, groove, or sound design copying.
python jamburgr.py --config configs/recipes/wave_hardwave/wave_hardwave_crystal_drop_answer.md Variation
Hardwave Bass Swell
A heavier hardwave lane with dubstep stabs, Reese pressure, root drones, and sparse motif detail.
Study: Juche, “Neo Riot” (2018). Use the reference for emotional low-end weight, neon atmosphere, and spacious half-time arrangement, not for melody, hook, groove, or sound design copying.
python jamburgr.py --config configs/recipes/wave_hardwave/wave_hardwave_hardwave_bass_swell.md Variation
Vocal Sky Pad
A skyward breakdown lane with cinematic swells, pedal bass, slow pads, and chord-tone lead hints.
Study: Ofdream, “Thelema” (2017). Use the reference for emotional low-end weight, neon atmosphere, and spacious half-time arrangement, not for melody, hook, groove, or sound design copying.
python jamburgr.py --config configs/recipes/wave_hardwave/wave_hardwave_vocal_sky_pad.md Sectioned
Skyline Drop Sketch
A section-aware wave/hardwave sketch that moves from sky-pad breath into heavy sidechained return.
Study: Sorsari, “Children of Gaia” (2015). Use the reference for emotional low-end weight, neon atmosphere, and spacious half-time arrangement, not for melody, hook, groove, or sound design copying.
python jamburgr.py --config configs/recipes/wave_hardwave/wave_hardwave_skyline_drop_sketch.md Live handoff
Live Hardwave Session
A Live wave/hardwave session with section clips, sound cards, and licensed atmosphere/impact prompts.
Study: Kareful, “Lost” (2014). Use the reference for emotional low-end weight, neon atmosphere, and spacious half-time arrangement, not for melody, hook, groove, or sound design copying.
python jamburgr.py --config configs/recipes/wave_hardwave/wave_hardwave_bridge_ready_hardwave_session.md Open in Live or Download uses the local bridge on this Mac. Download MIDI works in any DAW.
Ready when you are
Cook a Wave / hardwave pack.
Drop this in your terminal and you'll have a Standard MIDI pack in a folder, ready to drag into Live. Edit anything, swap any sound, throw out what doesn't work.
python jamburgr.py --key "F minor" --style wave_hardwave --progression i,VI,III,v --pattern pad --output-mode pack --out ./jams/wave-hardwave