Skip to content

Producer manual · MIDI reference · DAW handoff

Cook the idea, then make it yours.

jamburgr creates editable Standard MIDI packs for electronic music producers: chords, bass, pads, leads, optional drums, and sectioned sketches. This guide is the public reference for running the generator, shaping the musical material, exporting files, and bringing the result into your DAW.

Quick start

Start with a pack. It gives you editable MIDI layers and a notes file that explains what was generated.

Open the interactive menu. Leave a prompt blank to keep the default.

terminal
python jamburgr.py

Cook a DAW-ready pack with a style, key, progression, and output folder.

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

Run an authored Recipe Guide starter and keep the result as editable MIDI.

terminal
python jamburgr.py --config configs/recipes/acid_house/acid_house_303_companion_stabs.md --out ./jams/acid-house-303

Cook a broad style pass when you want to compare directions quickly.

terminal
python jamburgr.py --style all --progression default --output-mode pack --out ./jams/all-styles

Mental model

What jamburgr makes

Think in four steps: pick a style, choose or edit a recipe, cook MIDI layers, then sound-design and arrange the result in your DAW.

Styles

42 electronic lanes set practical defaults for tempo, scale, chords, bass, pads, leads, drums, arrangement feel, and learning context.

Browse Styles

Recipe Guide

Authored Markdown recipes give every style starter, variation, sectioned, and curated Live setup starting points.

Open Recipe Guide

Layers

Chords, bass, pads, leads, optional drums, and arrangement sections stay editable as separate MIDI ideas.

DAW handoff

jamburgr writes Standard MIDI and notes. Drag the files into your DAW, choose sounds, and keep producing.

Run it

Five workflows

Use the workflow that matches the moment: menu for exploration, flags for repeatability, defaults for a personal setup, Markdown recipes for named ideas.

Interactive menu

Exploring quickly without memorizing flags.

python jamburgr.py

Command-line flags

Repeatable one-shot ideas, scripts, and smoke checks.

python jamburgr.py --key "A minor" --style synthwave --output-mode pack

Top-of-file config

Keeping a personal default setup inside the script.

python jamburgr.py --non-interactive

Markdown recipe

Readable song-starting configs that you can save, edit, and share.

python jamburgr.py --config my_song.md

Example recipe writer

Creating a starting Markdown recipe you can edit by hand.

python jamburgr.py --write-example-config my_song.md

Shape the MIDI

The controls that matter first

A jamburgr idea starts with musical intent: key, style, progression, chord color, voicing, rhythm, layers, and output mode.

Layers

The editable parts that can land on separate DAW tracks.

Chords
The harmonic spine. Use chord type, voicing, register, inversion, and rhythmic pattern to set the character.
Bass
Optional lower-register support using the same key, scale, progression, and tempo.
Pad
Optional sustained or evolving harmonic bed for atmosphere and arrangement shape.
Lead
Optional motif, pluck, arp, or melodic line over the same musical frame.
Drums
Optional General MIDI drum lane. Treat it as editable groove scaffolding, not finished drums.
Sections
Optional intro, verse/groove, drop/main, breakdown, return, and outro-style arrangement lanes.

Output modes

Choose how many files you want and how DAW-ready the folder should be.

single
One MIDI file per selected style/progression job. Good for focused auditioning.
multi
Selected ideas placed back-to-back in one longer MIDI file, with space between ideas.
both
Writes the single and multi outputs together.
pack
The best producer workflow: MIDI files, split layers, and a notes.md import guide in one folder.

Vocabulary

The current generator surface

The full vocabulary is discoverable with python jamburgr.py --list. These counts are the working shape of the public generator today.

42 styles

Each style carries tempo, scale, layer defaults, drum feel, progressions, and producer learning notes.

672 local recipes

Every style has 16 runnable Markdown recipes: public starters plus deeper study lanes.

23 chord colors

Major, minor, sevenths, ninths, sus, quartal, cluster, power9, and style-aware auto palettes.

35 rhythm patterns

Pulses, stabs, gates, shuffles, Euclidean patterns, ratchets, arps, chops, and style defaults.

14 bass styles

Root notes, octave pulses, offbeats, rolling techno, psytrance, 303, Reese, 808, log-drum-inspired, and more.

15 drum styles

Four-on-the-floor, shuffle, techno, garage, breaks, half-time, trap hats, DnB, club triplets, and percussion pulses.

DAW handoff

From pack folder to track

jamburgr does not make finished audio. It gives you musical scaffolding you can drag into Ableton Live, Logic, Bitwig, FL Studio, hardware sequencers, or any DAW that reads Standard MIDI.

  1. 1 Cook a pack with output mode pack.
  2. 2 Open the generated folder and read notes.md for the layer map.
  3. 3 Drag chord, bass, pad, lead, and drum MIDI files onto separate instrument tracks.
  4. 4 Put your own synths, samplers, Drum Rack, hardware route, or stock devices on those tracks.
  5. 5 Edit notes, velocities, lengths, sounds, automation, and arrangement until it becomes your track.

Live setup

Live setup is optional and adjacent. The core generator remains MIDI-only; the separate Live bridge can prepare a guarded setup path when your computer is ready.

Open Live setup

Config reference

What belongs in a recipe

Markdown recipes use readable key/value fields. You do not need every field every time; start with a style, key, progression, output mode, and the layers you want.

Core idea
key, scale, style, progression, chord, voicing, pattern, bpm, repeats, bars_per_chord, seed
Sets the musical lane, harmonic frame, tempo, rhythm, and reproducible variation.
Performance feel
octave, velocity, duration_beats, humanize, channel
Controls register, note strength, note length, timing/velocity looseness, and MIDI channel.
Bass
generate_bass, bass_style, bass_octave, bass_velocity, bass_channel
Adds a low MIDI layer that follows the same key, scale, tempo, and progression.
Pad
generate_pad, pad_style, pad_octave, pad_velocity, pad_channel
Adds sustained or evolving harmonic support for atmosphere and arrangement depth.
Lead
generate_lead, lead_style, lead_scale, lead_octave, lead_density, lead_repetition, lead_channel
Adds a motif, arp, pluck, chop, or melodic top line without locking you into finished melody.
Drums
generate_drums, drum_style, drum_density, drum_map, drum_channel
Adds editable General MIDI percussion notes that you can remap or replace in the DAW.
Variation
variations, variation_strategy, variation_affects
Generates related ideas by changing voicing, pattern, bass, lead, velocity, humanize, or inversion.
Arrangement
arrangement, full_song, song_length, arrangement_archetype, section_variation
Turns a loop into a sectioned sketch or longer style-aware first pass.
Export
output_mode, out, export_layout, include_section_clips, section_clip_folder, section_clip_naming
Controls the file layout, section clips, folder names, and DAW import shape.
Notes and handoff cards
sound_design_cards, sound_design_depth, sound_design_target, sample_search_cards, sample_search_provider
Adds practical production prompts and licensed-sample search ideas to pack notes without generating or downloading audio.

Reference

Common flags and deeper tools

These are the options producers reach for most often. Run python jamburgr.py --list when you need the complete current vocabulary.

--key
Musical key, such as "F# minor" or "C major".
--style
One of 42 style keys. Run --list or browse Styles.
--progression
Named progression, default, all, or a custom Roman numeral pattern like i,VI,III,VII.
--chord
Chord color such as minor7, major9, minor_add9, dominant7, quartal, cluster, or auto.
--voicing
closed, open, wide, drop2, rootless, shell, auto_voice_leading, and more.
--pattern
Pulses, stabs, gates, Euclidean rhythms, seeded arps, and style defaults.
--bpm
Tempo override. Leave it blank to use the style default.
--output-mode
single, multi, both, or pack.
--config
Path to a Markdown recipe or your own config.
--list
Show styles, progressions, patterns, bass styles, pad styles, lead styles, drum styles, output layouts, and more.
--style-info
Print the educational Styles notes for one style without generating MIDI.
--explain-only
Resolve and explain a config without writing MIDI files.

Arrangement and full-song sketches

Use arrangement mode when a loop needs sections. Use full-song mode when you want a longer style-aware first pass rather than a compact sketch.

python jamburgr.py --config my_song.md --arrangement true --output-mode pack

Section exports

Export layouts can preserve full-length arrangement lanes, split section clips for Session View, or write section-only MIDI files.

python jamburgr.py --config my_song.md --export-layout full_and_sections --include-section-clips true

Explain before writing

Use explain output to inspect the resolved key, style, progression, layers, and arrangement choices before committing to a pack.

python jamburgr.py --config my_song.md --explain-only

Arrangement JSON

Use the JSON export when another tool needs the arrangement contract instead of raw MIDI files.

python jamburgr.py --config my_song.md --export-arrangement-json arrangement.json

Truth in the product

What jamburgr is and is not

MIDI only

jamburgr creates Standard MIDI files and Markdown notes. It does not generate audio.

Original ideas

Style references are learning context. Do not copy songs, hooks, melodies, or exact sound design.

BYO sounds

Choose your own synths, samples, drum racks, hardware, and effects after the MIDI lands in the DAW.

Live setup is optional

Live setup is an adjacent workflow through the jamburgr Live bridge; the core generator does not require Ableton.

Troubleshooting

When something feels off

No sound in the DAW
MIDI is only notes. Add an instrument to the track, or route it to hardware.
Wrong drum sounds
Use a General MIDI-compatible kit, remap Drum Rack pads, or move notes in the piano roll.
Unknown style or progression
Run python jamburgr.py --list and copy the exact key.
Pack feels too busy
Disable a layer, choose a sparser pattern, lower lead density, or export sections and arrange more selectively.
Progression feels off key
Check the Roman numerals, scale, and chord type; start from a style progression if custom numerals are fighting the lane.
Lead or pad feels harsh
Lower velocity, move the octave, choose a sparser lead density, or switch to a warmer voicing before changing the whole style.
Too many files
Use single for focused auditions, multi for a combined reel, or sections_only when you only need section clips.
Need a more musical starting point
Start from the Recipe Guide or use --style-info before choosing flags.

Next stops

Use Styles when you want musical lanes, Recipe Guide when you want runnable Markdown examples, and Live setup when you want the optional Ableton-adjacent handoff path.