Skip to content

retro and downtempo · 100 BPM · 2000s-present

Synthwave

A retro and downtempo style.

Late-night cassette warmth — the sound of driving alone with the windows down at 2am.

nostalgic cinematic driving beautiful sadness
Library Jammy Jammy holding up a labeled jam jar, used on Jam Library / per-style pages. The jar color is intended to swap to match each style accent. STYLE style
STYLE style

What it sounds like

Synthwave grew out of internet-era nostalgia for a decade most of the artists never lived through — late-2000s producers reaching back to early-80s film scores, Italo disco, and the cool, clean palette of the OB-Xa, the Juno-60, the LinnDrum. Drive (2011) made it a vibe; the genre had been sitting in dorm-room SoundCloud accounts for years, waiting. It’s the sound of beautiful sadness — wistful, never quite tragic, always a little romantic. You’re driving at night, the city is empty, the windshield wipers are slow.

You know it within four bars: a long, breathy pad behind a slow arpeggio in a minor key, side-chained by a steady gated kick. The drums are soft, the bass is plump, and there’s always a saw lead waiting to come in for the second verse with a melody you’ll be humming all week.

The chord moves

Synthwave starts with the i–VI–III–VII descent — the home minor chord, then up a sixth, then a third, then a seventh — because it sustains a feeling of beautiful sadness without ever fully resolving. The ear keeps waiting for the dominant V chord that would close the cycle, but it never comes. That’s the tension that makes the genre feel unfinished and forever at the same time.

The generator also includes the synthwave variants producers reach for when the scene needs a different turn: i–VII–VI–VII for a brighter neon descent, and i–iv–VI–III when the bridge or breakdown wants a more cinematic lift. Add 9ths and major 7ths to almost everything; clean triads sound thin in this style. The richer the chord stack, the more cinematic the result.

The groove

Pulse is steady — a four-on-the-floor kick at around 95–110 BPM, a wet snare on 2 and 4 drowned in plate or hall reverb, and tom fills that swell into the chorus. The bass is plump and gated, riding the root with a slight saw envelope — never busy. Sidechain is subtle, just enough to give the kick its space; you don’t want pumping aggression, you want breathing.

The arpeggio on top is the centerpiece. Sixteenth-note runs across the chord, played by a slow-attack analog poly synth with chorus, drifting under everything. Keep the velocity tight; humanize it lightly so it sounds played, not stamped.

The sounds

The palette is warm but not soft-focus: OB-style bass weight, detuned PWM lead, wide Juno pad, slow-attack arp, and a hybrid 808/LinnDrum kit. The patch cards below turn those tells into settings you can actually dial in.

Production tells

Want it modern? Brighter top end, tighter sidechain, layered transients on the kick, a stereo widener on the pad. Compress the master harder. Stick a tape saturation plugin on the drum bus, but light. Mastering should sit around -10 LUFS for streaming.

Want it vintage? Narrow the stereo image. Add tape wow/flutter on the pad. Saturate the master with a 1/4” tape emulation. Roll the highs off above 12kHz. Add hiss. Mix to -14 LUFS or quieter — make it sound like it was bounced to cassette and back.

The structured producer notes and progression examples below show each chord route as full stacked chords stretched across one bar each, so you can see and hear the harmonic shape before cooking a pack.

Producer kit

The useful parts, pulled into the light.

The prose tells you why the style works. These cards give you concrete moves to try in a session.

Groove grids

See the drum pocket. Then play it.

These are pattern sketches, not finished drum programming. The player uses browser synthesis, so the rhythm is clear without shipping third-party samples.

Default groove · 95-110 BPM

The cassette pulse

Kick
Snare
Closed hat
Open hat

Listen for: Snare drowned in plate reverb. The open hat on the off-eighth is the cassette tell.

Click play for one 16-step pass.

Breakdown · 95-105 BPM

The Carpenter half-time

Kick
Snare
Closed hat

Listen for: Drop the snare; let the kick breathe. This is your John Carpenter moment.

Click play for one 16-step pass.

Patch cards

Dial the sound before chasing presets.

Free synths come first on purpose. The settings matter more than owning the expensive version of the instrument.

Bass patch

OB-style sub-saw

Free first

Surge XT · Vital

Paid equivalents

Live Wavetable · u-he Diva

OSC 1x saw + 1x sine sub, octave down

FILTER Low-pass at 800Hz, 12dB slope, slight key tracking

ENV Amp ADSR 0 / 40 / 70 / 120ms

FX Chorus at 0.4Hz, 30% mix, light tape saturation

Listen for: The slight chorus warble kills the digital edge.

Lead patch

Detuned PWM lead

Free first

Vital · TAL-NoiseMaker

Paid equivalents

Live Operator · u-he Repro-1

OSC One pulse oscillator with PWM around 0.3Hz

FILTER Low-pass at 4kHz, 24dB slope, light envelope movement

ENV Amp ADSR 5 / 200 / 50 / 600ms

FX Chorus, quarter-note tape delay, spring reverb

Listen for: Pitch drift in the PWM. Perfect tuning takes the era out of it.

Pad patch

Juno-style stereo pad

Free first

Surge XT · TAL-U-No-LX

Paid equivalents

Live Drift Rolling preset · u-he Repro-5

OSC Two saws, slight detune, octave doubled

FILTER Low-pass at 2.5kHz, slow filter envelope opening over four bars

ENV Amp ADSR 800ms attack / full sustain / 1500ms release

FX Chorus, hall reverb at 3.5s decay, 35% wet

Listen for: The pad should still be ringing when the next chord lands.

Arp patch

Slow-attack analog poly

Free first

Surge XT · Vital

Paid equivalents

Live Wavetable Vintage Brass preset

OSC Saw + triangle blend

FILTER Low-pass at 3kHz, key tracked

ENV Amp ADSR 30 / 150 / 70 / 400ms

FX Chorus, dotted-eighth ping-pong delay at 30% feedback

Listen for: Tight velocity, lightly humanized so it sounds played instead of stamped.

Drums patch

808 + LinnDrum hybrid

Free first

DrumGizmo · Live Drum Rack with free 80s sample packs

Paid equivalents

Native Instruments Battery 4 · UJAM Beatmaker BBQ · XLN Audio XO

OSC 808 kick layered with LinnDrum-style snare

FILTER Low-pass the drum bus around 6kHz for tape feel

ENV Kick decay slightly extended; snare body short, reverb tail long

FX Plate reverb on snare, light tape saturation, white-noise dust on hats

Listen for: The hi-hat dust is subtle, but it is the layer that seats the kit in the era.

Mix targets

Chase the feel, not the numbers.

These are starting points for a first pass. Break them when the track asks for it.

Clean, wide, streaming-ready

Modern

Master loudness

-10LUFS

Bass sidechain release

40ms

High shelf @ 8kHz

+2dB

Stereo image

Pad and lead wide; bass and kick mono

Drum bus

Light tape saturation, transient designer on kick

Master compression

2:1 ratio, 1-2 dB gain reduction

Narrow, darker, cassette-minded

Vintage

Master loudness

-14LUFS

High cut @ 12kHz

-3dB

Saturation

1/4-inch tape emulation on the master

Stereo image

Narrow

Pad bus

Tape wow + flutter

Extras

Hiss layer at -42 dBFS; bounce-and-resample for cassette feel

Genre progressions

Pick a chord route, then hear it.

Each named progression has its own piano roll and chord audition. Use the name in --progression, or edit the chord symbols directly in a recipe config.

--progression default

Night-drive loop

Roman numerals

i - VI - III - VII

A minor example

Am9 - Fmaj9 - Cmaj7 - G

The canonical falling synthwave loop: melancholy, stable, and always circling back without a hard dominant resolution.

python jamburgr.py --key "A minor" --style synthwave --progression default --chord minor_add9 --output-mode pack
Hear Night-drive loop 100 BPM · pad

Am9 → Fmaj9 → Cmaj7 → G

Click to hear it.

Night-drive loop piano roll
100 BPM · 4 bars · base oct 3
C3C4C5
Am9
Fmaj9
Cmaj7
G

--progression neon

Neon descent

Roman numerals

i - VII - VI - VII

A minor example

Am9 - G - Fmaj9 - G

A brighter back-and-forth descent that keeps the top line moving while the harmony stays direct enough for hooks.

python jamburgr.py --key "A minor" --style synthwave --progression neon --chord minor_add9 --output-mode pack
Hear Neon descent 100 BPM · pad

Am9 → G → Fmaj9 → G

Click to hear it.

Neon descent piano roll
100 BPM · 4 bars · base oct 3
C4C5
Am9
G
Fmaj9
G

--progression cinematic

Cinematic lift

Roman numerals

i - iv - VI - III

A minor example

Am9 - Dm9 - Fmaj9 - Cmaj7

A wider film-score route that brings in the minor iv before opening into the VI and III chords.

python jamburgr.py --key "A minor" --style synthwave --progression cinematic --chord minor_add9 --output-mode pack
Hear Cinematic lift 100 BPM · pad

Am9 → Dm9 → Fmaj9 → Cmaj7

Click to hear it.

Cinematic lift piano roll
100 BPM · 4 bars · base oct 3
C3C4C5
Am9
Dm9
Fmaj9
Cmaj7

Listen to

Three records that show the style at full strength. Read them as listening pointers, not templates to copy.

Six recipes

Six ways to cook Synthwave.

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

The Night Drive Arp

95-105 BPM

Open minor-add9 chords, a steady synthwave arp, syncopated low bass, and a restrained top line for the canonical first cook.

nostalgic cinematic driving

Study: Kavinsky, “Nightcall” (2010). Use the reference as a lesson in restraint; the arp and bass make the scene before the lead says much.

python jamburgr.py --config configs/recipes/synthwave/synthwave_night_drive_arp.md

Variation

Cassette Pad Intro

90-105 BPM

A slower pad-led intro with voice-led chords, pedal bass support, and just enough lead activity to sketch a scene.

nostalgic warm intro

Study: College, “A Real Hero” (2011). Use the reference for wide, patient emotional framing rather than for melody or lyric shape.

python jamburgr.py --config configs/recipes/synthwave/synthwave_cassette_pad_intro.md

Variation

Neon Chop Response

100-115 BPM

Shorter chord stabs and call-response lead writing for a more rhythmic synthwave sketch.

hooky driving neon

Study: The Midnight, “Days of Thunder” (2014). Use the reference for hook spacing and dramatic response energy, not for any topline shape.

python jamburgr.py --config configs/recipes/synthwave/synthwave_neon_chop_response.md

Variation

Outrun Bass Pulse

100-112 BPM

A bass-forward lane with pulsed chords, syncopated synthwave low end, and a sparse lead response.

driving bright club

Study: Miami Nights 1984, “Ocean Drive” (2010). Use the reference as a cue for forward motion and bright-night pacing, not for a bassline copy.

python jamburgr.py --config configs/recipes/synthwave/synthwave_outrun_bass_pulse.md

Sectioned

Cinematic Breakdown Sketch

95-105 BPM

A full-song synthwave sketch with late chords, pad-led breakdowns, section MIDI files, and style-aware variation.

cinematic arrangement wide

Study: Gunship, “Tech Noir” (2015). Use the reference for section contrast and cinematic pacing, not for melody, lyric, or scene copy.

python jamburgr.py --config configs/recipes/synthwave/synthwave_cinematic_breakdown_sketch.md

Live handoff

Live Session

100-110 BPM

A synthwave pack tuned for DAW handoff, with stock-device sound cards and sample-search prompts enabled.

polished bridge session

Study: FM-84, “Running in the Night” (2016). Use the reference for polished session balance and vocal-space awareness, not for melodic copying.

python jamburgr.py --config configs/recipes/synthwave/synthwave_bridge_ready_live_set.md
This Mac

Open in Live or Download uses the local bridge on this Mac. Download MIDI works in any DAW.

Ready when you are

Cook a Synthwave 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.

terminal
python jamburgr.py --key "A minor" --style synthwave --progression default --chord minor_add9 --output-mode pack --out ./jams/synthwave