Bassline MIDI Generator — User Guide
Version 1.0.0 · Highbit Software
What Is It?
Bassline MIDI Generator is an algorithmic MIDI plugin that writes basslines for you. Point it at a key and scale, hit REGEN, and it produces a rhythmic MIDI pattern that follows your musical rules — active steps, note choices, velocities, and groove all driven by parameters you control. Every generated pattern is different, but always musical.
It outputs MIDI only. No audio processing happens inside the plugin. Route its output to any bass instrument, synth, or sampler in your DAW.
Installation
Windows
Run the .exe installer. The VST3 is placed in C:\Program Files\Common Files\VST3\ automatically.
macOS
Run the .pkg installer. VST3 lands in /Library/Audio/Plug-Ins/VST3/ and AU in /Library/Audio/Plug-Ins/Components/.
Linux
Copy the .vst3 bundle to ~/.vst3/ or /usr/lib/vst3/. LV2 bundle goes to ~/.lv2/.
DAW Setup
Insert Bassline MIDI Generator as a MIDI effect on an instrument track — not an audio track. The plugin outputs MIDI to whatever instrument sits on that track. Most DAWs call this a "MIDI insert" or "MIDI effect slot." Press Play in your DAW to start playback; the plugin follows the transport.
Quick Start
- Create an instrument track in your DAW with a bass sound.
- Insert Bassline MIDI Generator as a MIDI effect on that track.
- Set Key and Scale to match your song.
- Click REGEN.
- Press Play in your DAW.
- Adjust Density, Gate, and Vel Base to taste.
- Hit REGEN again for a fresh pattern, or use EVOLVE to nudge just a few steps.
Interface Overview
The plugin has four main areas:
- Header — Key, Scale, Evolve controls, REGEN button
- Slot row — eight pattern memory slots
- Sequencer zone — the step grid and pitch view
- Parameter panels — Pitch & Scale, Rhythm & Timing, Dynamics, Character
- Footer — transport status, MIDI Transpose toggle, step division selector, MIDI export
Header Controls
Key & Scale
Dropdowns in the centre of the header. Changing either immediately regenerates the pattern.
Available scales:
| Name | Character |
|---|---|
| Minor | Dark, natural minor |
| Major | Bright, classic |
| Dorian | Minor with raised 6th — funky, jazz-inflected |
| Phrygian | Spanish/metal flavour — flattened 2nd |
| Mixolydian | Major with flattened 7th — bluesy, dominant |
| Lydian | Bright major with raised 4th — dreamy, floaty |
| Harm Minor | Natural minor with raised 7th — dramatic, Eastern |
| Min Penta | Five-note minor pentatonic — always safe, very groovy |
EVOLVE
Mutates a small number of steps rather than replacing everything. The dropdown to the left of the button controls how many steps change at once (1, 2, 3, 4, 6, or 8). Use this to incrementally develop a pattern without losing the overall character.
REGEN
Discards the current pattern and builds a completely new one from the current settings. Locked steps are preserved; everything else gets new pitches and rhythmic scores.
Pattern Slots
Eight numbered slots sit in the slot row below the header. Each stores an independent pattern with its own pitches, step overrides, and locks.
- Click a slot to switch to it.
- Shift + click a slot to copy the current active pattern into it.
Slot contents are saved with your DAW project. Use slots to store variations — verse bassline in slot 1, chorus in slot 2 — and automate the Active Slot parameter to switch between them during playback.
Step Sequencer
The Grid
Each cell represents one step in the pattern. Active steps glow; inactive steps are dark. While the transport is running, a highlight moves across the grid to show the current playback position.
- Left-click — toggle a step on or off
- Right-click — open the step context menu
Active cells display:
- The note name (e.g. A2)
- A velocity bar along the bottom edge
- An accent mark (triangle) if the step is accented
- A slide dot if the step will glide into the next note
- A lock icon if the step is protected from regeneration
- A ratchet badge (e.g.
2x) if the step fires multiple hits
Pitch View
Below the step grid is the Pitch View — a horizontal piano-roll-style lane showing the note position of every active step as a draggable block.
- Drag up/down — move the note within the current scale octave
- Shift + drag — shift the note up or down by whole octaves
Setting a note in the pitch view creates a step override that persists through future REGEN cycles (unless you clear it).
Step Context Menu
Right-click any step to open the context menu:
| Option | What It Does |
|---|---|
| Set Note | Pick a specific note from a grid of scale-valid notes |
| Set Velocity | Set the exact velocity (1–127) for this step |
| Set CC Output | Assign a MIDI CC number and value to fire when this step triggers |
| Ratchet 1x / 2x / 4x / 8x | Divide this step into multiple rapid note hits |
| Slide: ON / OFF | Force this step to slide (portamento) into the next, regardless of global Slide % |
| Set Probability | Percentage chance (0–100%) this step fires on any given loop cycle |
| Lock Step / Unlock Step | Protect or release this step's note and active state from REGEN |
| Clear Override | Remove all manual edits; return the step to generated values |
Parameter Panels
Pitch & Scale
| Knob | What It Does |
|---|---|
| BASE OCT | Lowest octave the generator uses (0–6) |
| OCT RANGE | How many octaves above Base Oct notes can reach (1–3) |
| ROOT % | Probability that a generated step lands on the root note |
| SPREAD | How far notes wander from the root; low = tight, high = wide |
Changing any of these triggers an automatic regeneration.
Rhythm & Timing
| Knob | What It Does |
|---|---|
| LENGTH | Number of steps in the pattern (1–32) |
| DENSITY | Fraction of steps that are active; 0% = silence, 100% = all steps on |
| PLAY CHANCE | Per-step random gate — each active step has this chance of firing each cycle |
| SWING | Delays every even-numbered step to create a swung feel |
Step Division is set in the footer (see below).
Euclidean Mode
Toggle Euclidean to replace density-based placement with a mathematically even spread of pulses:
| Knob | What It Does |
|---|---|
| PULSES | How many steps are active |
| ROTATE | Shift the pulse pattern left or right |
Euclidean rhythms produce interlocking, polyrhythmic feels that are very hard to replicate by hand. Try 5 pulses in 16 steps for a classic electronic groove.
Groove
Pre-baked timing templates applied on top of swing:
| Setting | Feel |
|---|---|
| Straight | No additional offset |
| Light Shuffle | Subtle swing nudge on off-beats |
| Hard Shuffle | More pronounced shuffle |
| Triplet | Triplet-feel offset pattern |
| Syncopated | Small pushes on beats 2 and 4 |
Direction
Controls the order steps are played:
| Mode | Behaviour |
|---|---|
| Forward | Normal left-to-right |
| Reverse | Plays the pattern backwards |
| PingPong | Forwards to end, then backwards, looping |
| Random | Picks a new random step each time |
Dynamics
| Knob | What It Does |
|---|---|
| VEL BASE | Centre velocity for all notes (1–127) |
| VEL RAND | How much velocity varies step-to-step |
| ACCENT % | Probability of a step receiving the accent boost |
| ACCENT STR | How many velocity units an accented step gains (0–50) |
Character
| Knob | What It Does |
|---|---|
| RANDOM | Overall randomisation influence on velocity and timing character |
| GATE | Note gate length as a proportion of the step duration (10–100%) |
| SLIDE % | Global probability that a generated step will slide into the next |
| PORTAMENTO | Controls CC 5 (portamento time) sent to your synth when slide is active |
Footer
The footer bar runs along the bottom of the plugin.
Transport Status
Shows Playing or Stopped to confirm the plugin sees the DAW transport.
MIDI Transpose
A toggle switch labelled MIDI TRANSPOSE. When enabled, incoming MIDI note-on messages shift the bassline's root to match the incoming pitch class.
- Only the pitch class is used — playing C3 and C5 produce the same transposition.
- The incoming MIDI note is consumed and does not pass through to the downstream instrument.
This lets you control the key of the bassline live with a single-finger trigger on a keyboard or pad, without touching the Key dropdown.
Step Division
A small dropdown labelled Step: that sets the note grid resolution relative to host tempo:
| Setting | Grid |
|---|---|
| 1/4 | Quarter notes |
| 1/8 | Eighth notes |
| 1/8T | Eighth note triplets |
| 1/16 | Sixteenth notes (default) |
| 1/16T | Sixteenth note triplets |
| 1/32 | Thirty-second notes |
MIDI Export (⬇ MIDI)
Click the ⬇ MIDI button to export the current pattern as a standard .mid file. The file appears as a draggable object — drop it directly into any DAW track or save it to disk. The exported file includes all active notes with their velocities and gate lengths, the current transpose offset, and CC 65 portamento events for slides.
Slide (Portamento)
When a step is set to slide, the plugin sends CC 65 = 127 (Portamento On) and CC 5 (Portamento Time) before the note-on, while keeping the previous note held until the new one sounds. This creates a legato glide between notes — the signature sound of a classic acid bassline.
Slide only audibly works on synths that respond to CC 65. Most hardware and software bass synths do; check your instrument's MIDI implementation if you hear no effect.
- SLIDE % knob — global probability any generated step gets a slide
- PORTAMENTO knob — glide speed (CC 5 value) sent to your synth
- Per-step slide can be forced on or off via right-click → Slide: ON/OFF, regardless of the global knob
Ratchet
Ratchet divides a single step into multiple rapid note hits within the space of one step. A step set to 4x fires four evenly-spaced hits. Set ratchet per step via right-click → Ratchet 1x / 2x / 4x / 8x.
Per-Step CC Output
Any step can fire an additional MIDI CC message when it triggers. Right-click → Set CC Output, enter a CC number (0–127) and value (0–127). Useful for opening a filter on the downbeat, triggering envelope resets, or sending expression data.
Step Locking
Locking a step protects its note and active state from being overwritten by REGEN or EVOLVE. Locks survive regeneration and are saved with the project.
Right-click → Lock Step to lock. The lock icon appears on the cell. Right-click → Unlock Step to release.
Saving & Presets
All parameters and pattern data — including all 8 slots, per-step overrides, locks, slide overrides, and CC assignments — are saved inside the DAW project automatically. Use your DAW's native preset manager to save and recall full plugin states.
Tips & Tricks
Start with rhythm, add pitch detail later. Set Key, Scale, and Density first. Hit REGEN several times until the rhythm feels right, then go in and adjust individual notes.
Use EVOLVE during a live set. The bassline slowly mutates without losing its core groove. Assign EVOLVE to a MIDI controller or macro for hands-free evolution.
Lock the root on beat 1. Set step 1 to your root note and lock it. Every subsequent REGEN keeps that anchor while varying everything else.
Slide + Min Penta = instant acid. Set Scale to Min Penta, Slide % to 30–50%, Portamento to taste, and Step Division to 1/16. Classic 303 territory.
Layer two instances. Run two copies with different pattern lengths (e.g. 16 and 12 steps). The polyrhythmic offset creates evolving, non-repeating patterns.
Euclidean + PingPong. Enable Euclidean with an odd pulse count and set Direction to PingPong. The combination produces patterns that feel almost impossible to program by hand.
Use slots as arrangement sections. Store verse, chorus, and bridge basslines in slots 1–3. Automate the Active Slot parameter to switch seamlessly between them.
Troubleshooting
I hear nothing. Confirm the plugin is inserted as a MIDI effect (not an audio effect). Check that your DAW routes the plugin's MIDI output to the instrument on the same track. The plugin only outputs MIDI when the DAW transport is running — confirm the footer shows Playing.
Notes sustain and don't stop. This can happen if the transport stops abruptly mid-note. Send a MIDI Panic (All Notes Off) from your DAW. Future transport stops always send note-offs and portamento off.
Slide has no effect. Your target instrument may not respond to CC 65 (Portamento On). Check its MIDI implementation. Some instruments require portamento to be enabled in their own settings before CC 65 takes effect.
The key doesn't change when I use MIDI Transpose. MIDI Transpose shifts by pitch class only — the offset is always within a single octave. If your pattern still sounds wrong, check that Transpose is actually enabled (the toggle in the footer should be lit) and that the incoming MIDI is reaching the plugin.
Pattern doesn't change when I move Base Oct or Spread. These knobs now trigger an automatic regeneration when moved. If many steps are locked, the locked steps stay put while unlocked steps regenerate at the new settings.
Credits
Developed by Highbit Software Built with JUCE 8
© 2026 Highbit Software · highbitsoftware.com