PianoMuse is a MIDI-effect plugin. It reads MIDI (chords) and writes MIDI (a part). It makes no sound of its own — its output feeds an instrument of your choice. In every host the job is the same:
chords → PianoMuse → an instrument
You give PianoMuse a chord progression — typed into its built-in grid, or played live into its MIDI input — pick a style, and it generates a musical part that stays locked to the host tempo and transport.
PianoMuse-1.0.0-Setup.exe.C:\Program Files\Common Files\VST3\PianoMuse.vst3
— the folder every DAW scans.PianoMuse-1.0.0.pkg, accept the license agreement, and
follow the installer./Library/Audio/Plug-Ins/VST3/PianoMuse.vst3/Library/Audio/Plug-Ins/Components/PianoMuse.component| Format | Hosts |
|---|---|
| VST3 | Reaper, Bitwig, Cubase, Studio One, FL Studio, Cakewalk Sonar, Mixbus, Digital Performer, Fender Studio Pro |
| Audio Unit | Logic Pro, UAD Luna, and other AU hosts (macOS) |
| AAX | Not yet — see §13 for Pro Tools workflows today |
The fastest way to hear PianoMuse, using Song mode:
C, Am,
F, G) — or use the chord selector (§7).Set Source = Follow MIDI and send chords into PianoMuse's MIDI input (from a MIDI clip, a keyboard, or your DAW's chord track). PianoMuse plays under whatever chords it hears.
The editor is one window, top to bottom:
| Control | What it does |
|---|---|
| Source | Song (grid) · Follow MIDI · Demo progression (§5) |
| Key | Key: Auto (detected from your chords) or force a major/minor key |
| Host BPM | Read-out of the host tempo PianoMuse is locked to |
| File | Save / Load Song, Save / Load Bundle, Build arrangement, Clear Song, Follow section on play (§6, §11) |
| Report | Send a bug, idea or question to the feedback board (§14) |
| Bypass | Silences PianoMuse's output while it stays in the chain — a "mute" for the plugin. Saved with the song. |
| Seed | Re-rolls the part; same seed = same notes |
| Octave | Global transpose in octaves |
| Drum | Drum-lock amount, 0→1 (§9) |
| Control | What it does |
|---|---|
| Name | Label for the section (Verse, Chorus, …) |
| Meter | Time signature for this section (4/4, 3/4, 5/4, …) |
| Style | Which style plays this section |
| Density · Complexity · Swing · Humanize · Ghost · Legato | The section's feel knobs (§8). Picking a style loads its default feel; adjust from there. |
1/4, 1/8, or
1/16 — so you can place more than one chord per bar..pmstyle files (§11)..mid (§10).The Source dropdown decides where PianoMuse gets its chords.
Plays the arrangement you built in the grid — every section, its meter, style, feel and chords, in order, locked to the transport. This is the main mode for writing a part into a song.
Ignores the grid and plays under chords arriving at PianoMuse's MIDI input in real time. Hold a chord on a keyboard or feed a MIDI clip / chord track and PianoMuse follows it, using the first section's style and feel. The arrangement grid hides in this mode to keep the window compact.
A built-in looping progression so you can audition a style instantly without building anything. Great for comparing styles.
A song is a list of sections. Each section has its own time signature, style, feel, and bars — so a 4/4 Motown verse can be followed by a 3/4 prog bridge in a different style. Use + Section / − Section to add and remove them, and click a section band to select and edit it. A song always keeps at least one section, so − Section won't remove the last one (it flashes to say so). To wipe everything and start over, use File → Clear Song.
File → Build arrangement… scaffolds a whole multi-section song in one
step. Type a structure as Name:Bars tokens —
Verse:8 Prechorus:4 Chorus:8 Turn:4 Verse:8 Chorus:8
— or click a template (Pop, Verse/Chorus, AABA, 12-bar blues). PianoMuse creates all the named sections with those bar counts; new sections inherit the currently-selected section's meter, style and feel, and repeated names are auto-numbered (Verse 1, Verse 2). Choose Append to add to the current song, or Replace to clear it first — and Save current song… backs up the existing arrangement before you replace it.
Right-click a section band for the full set of actions:
4/4 3/4 2/4 5/4 6/4 7/4 2/2 3/2 6/8 9/8 12/8 7/8 5/8 — and odd-eighth
meters now play at their true length (7/8 is 3½ beats, not a rounded 4),
so loops, the moving playhead and MIDI export all line up. The grid is exact at the
1/8 and 1/16 resolutions.Keyboard shortcuts (when the editor has focus): Ctrl/Cmd+C copy, Ctrl/Cmd+X cut, Ctrl/Cmd+V paste after, Ctrl/Cmd+D duplicate.
Add bars with + Bar. Click any chord cell and type a chord symbol. PianoMuse understands a wide vocabulary:
C, Am, G7,
Cmaj7, Dm7, F#m7b59, 11, 13 (e.g.
C13, Am11)C/E, G/B — the part honours
the slash noteSet Grid to 1/8 or 1/16 and place chords on
sub-beats. Each chord holds until the next; an empty cell holds the previous
chord. In text form a bar looks like F@0 G@2 (F on beat 1, G on
beat 3) or Am@0 Dm7@1.5 (change on the “and of 2”).
By default every bar plays in its section's style. You can override that for a single bar or even a single chord, so one passage takes a different voice while the rest of the section keeps its groove. The section's feel (density, swing, ghost, legato, …) still applies — only the style changes.
Overrides are saved with the song and travel in shared .pmsong
files; if a recipient doesn't have that exact style, the bar falls back to the
section style.
Sometimes the part should lay out — a rest bar, or a whole section that drops before a big return. You can silence either without deleting anything:
Silencing only affects output: the section keeps its place in time (the loop length and playhead are unchanged), and its chords, style and feel are all kept — so un-muting restores exactly what was there. A chord held into a muted bar simply resumes after it, and a note ringing into a drop is trimmed so the silence is clean. Mute is saved with the song, and both live playback and Drag MIDI to your DAW honour it. (Silencing an individual beat is planned for a later release.)
Keep the lead-out fill. A muted region's menu also has Keep fill when muted: turn it on and the part still plays that region's transition fill — the pickup run that leads into the next chord or section — while everything before it stays silent. It's the classic "drop, then a fill back in." The region dims a little lighter and reads MUTED (fill) (and keeps its F badge) so you can see the fill survives. Off by default, so a plain mute is complete silence; it only has an effect where a fill is actually defined (a section's last bar, or a bar with a Fill marker).
Leave Key on Auto and PianoMuse detects the key from your chords (shown as “Key: C major”). Override it if you want a specific tonal centre — approach notes and walking lines respect the key.
Seed rolls a new variation while keeping everything else fixed — click the dice button beside it to jump to a random seed, or the ▾ button to pick from the last 10 seeds you used (saved with the song). Octave transposes the whole part. Range (Low / High notes) folds every generated note by octaves to stay inside your instrument's playable window — handy when a sampled instrument has a limited range. All three are global to the song.
The Seed re-rolls the whole song between takes. The variation trigger does it live and per section: a MIDI note you choose re-rolls the pattern for whichever section the playhead is in, while the song plays — a "variation pad" for performing. The rest of the arrangement is untouched, and the new pattern lands cleanly on the next downbeat, never mid-bar.
Set it up under File → Variation trigger:
During playback, each tap steps to the next variation. It's deterministic: the same taps reproduce the same part, and the underlying song seed is untouched. The section's band flashes when a variation fires, and stays marked with a small ▲N badge for as long as it's on a variation — N is how many times you've re-rolled it, so you can see at a glance which sections are running a variation versus their base seed. Found one you love? File → Variation trigger → Bake current variations into song folds it into the saved song so it survives edits, saves and reloads (and clears the badges, since the variation becomes the section's seed). (Works in Song (grid) mode, where PianoMuse owns the sections.)
Browsing & reproducing variations. Hover a section's band to read out its effective seed and how it breaks down — base seed + baked bump + variation offset — so when a re-roll sounds great you can write the numbers down and get it back later. Two buttons by the arrangement, ◂ and ▸, step the selected section back and forth through the variations you've stacked up, so you can audition them and settle on one before baking. Prefer to keep your hands on the controller? File → Variation trigger → Learn step-back note assigns an optional MIDI note that steps a variation back — the companion to the trigger that steps forward.
Keep it on its own track. The trigger note reaches the plugin through its MIDI input, so don't chain PianoMuse in series behind another MIDI-generating plugin (for example BassMuse, or a second PianoMuse). Each of these plugins replaces its MIDI output with the part it generates, so anything placed after it receives those notes instead of your controller — the trigger note (and live chords) never arrive and the tap does nothing. Give each plugin its own track fed straight from your controller, or route the controller to both in parallel rather than one into the other.
Instead of typing, click a chord cell to open the circle-of-fifths chord selector — a visual way to pick chords that stay in key.
A style models a player's characteristics — register, rhythmic feel, harmonic vocabulary and articulation — rather than any copyrighted transcription.
Twenty piano and organ styles are built in. Each models a different keyboard player's approach — which hand does what, how the chord is voiced, the rhythmic feel and the touch on the pedal (see §9 for the two-hand engine behind them):
| Style (dropdown label) | Character |
|---|---|
| Prog Organ (Keys Emberson) | Aggressive Hammond/Moog — hammering octave left hand, cluster voicings, fast scalar runs |
| Symphonic Prog (The Caped Wakesman) | Cascading broken arpeggios, classical flourishes, open voicings, heavy pedal |
| Psych Organ (The Doorman) | Combo organ with a left-hand keyboard-bass ostinato under bluesy quartal figures (no bassist) |
| Hard-Rock Organ (His Lordship) | Distorted power-fifths, octave riffs, pounding left-hand octaves, no pedal |
| Space Rock (Rich Wrightly) | Held, wide-spread ninth washes, pedal down, an open-tenth left hand |
| Synth-Pop (Smidge Allure) | Machine-tight sequencer arpeggios over cold triads, octave bass, almost no jitter |
| Gothic Rock (Allen Lanyard) | Moody and sparse — a held low root under open comping chords |
| Ambient Texture (Ricky Barberry) | Barely any notes — slow rolled quartal washes, pedal permanently down, no left hand |
| Pomp Rock (Jeff Downstage) | Bright octave-doubled block-chord stabs, anthemic, squarely on the grid, octave bass |
| Arena Metal (The Angel of Keys) | Theatrical orchestral block chords, dramatic runs and rolled entrances, heavy octave bass |
| Rock Piano (Sir Elton Jaunt) | Gospel-flavoured stabs with an octave-doubled top, grace notes, a solid root-fifth left hand |
| Piano Pop (Billy Joule) | Broken-chord right hand over a rolling left hand, doo-wop changes, heavy pedal |
| Theatrical Rock (Freddy Mercuric) | Grand rolled entrances, wide open voicings, operatic dynamics, chromatic flourishes |
| Soul-Funk Keys (Stevie Wander) | Rootless upper-structure voicings, syncopated sixteenths, a jazz shell left hand, ghost notes |
| Gospel Blues (Ray Charlton) | Hard shuffle, a stride left hand, triads with crushed blue notes, laid back |
| Melodic Pop Piano (Macca at the Keys) | Singable triads with a countermelody top voice, a bouncing root-fifth left hand, gentle shuffle |
| Pop Soul Keys (Chrissy MacVine) | Restrained electric-piano comping — everything held, the low root left to ring |
| Americana Piano (Randy Newmarch) | Rolling broken triads, second-line shuffle, grace notes and rolled chords |
| Songwriter Rock (Donn Hensley) | Deliberately plain — sparse open chords over a sustained root, sitting behind the vocal |
| Swamp Gospel (Leon Rustle) | Heavy octave left hand, church chords, blues triplets, deep behind the beat, half pedal |
Each section has seven knobs. Picking a style loads its default feel; tweak to taste. They're per-section, so each part of the song can breathe differently.
| Knob | Effect |
|---|---|
| Density | How busy the part is — more notes vs. more space |
| Complexity | Chromaticism, walking and approach notes |
| Swing | Delays the off-beat for a shuffle feel (0–0.5) |
| Humanize | Loosens timing and velocity so it feels played, not typed |
| Ghost | How often notes drop to quiet ghost notes (0–1) |
| Legato | Note length within the beat — from short and detached to smooth and connected |
| Flow | Connectedness — ties each note toward the next one across empty beats so the part holds and flows instead of leaving gaps (0 = detached, 1 = fully connected). Great for sparse or low-Density parts. Stops at chord changes. Each style sets its own default. |
| Fill | Transition fills — a short directional run into the end of the section, landing on the approach to the next chord. 0 = off, 1 = a busy run up to a full bar long; the run grows longer and busier as you raise it. By default it fires only on the last bar of each section (mid-section chord changes stay clean). Each style sets its own default. |
Per-bar Fill markers. Want a fill somewhere other than the section
end — say bar 4 and bar 8 of an eight-bar verse? Right-click any
bar → Fill and pick Light, Medium or Heavy to force a
fill there, or No fill here to suppress one the style would add. Choose
Auto to hand the bar back to the style default. Each bar shows a small
F badge that tells you what it will do at a glance: a solid amber F
means the bar fills (brighter with the amount), a faint hollow F means it
won't. Per-bar markers travel with the song — they're saved in your
.pmsong and DAW session.
Fill direction. A fill can run up or down into the change. The Fill picker on the section row sets the direction for the whole section: Auto heads the shortest way toward the next chord (the default), Up always ascends, and Down always descends — the run still lands on the same approach note either way. Each style carries its own default direction, and you can override a single bar from its right-click Fill direction menu (Follow style hands the bar back to the section setting).
You can also make your own styles as plain-text .pmstyle files —
see §11 and the Appendix.
PianoMuse is a two-hand engine. It generates a left hand and a right hand as two independent note streams and merges them into one MIDI output, so a style is really two performers working together — a bass/comping left hand and a melodic/chordal right hand. Each style picks a left-hand mode, a right-hand mode, a voicing and a register for each hand.
The left hand is an instrument of its own: it can hold a root, walk a bass line, stride, or carry the whole bottom end when the band has no bassist. Whichever mode a style uses is realised against the current chord, so the harmony always stays correct.
| Mode | What it plays |
|---|---|
| None | Silent — right hand only |
| Sustain root | One held root per chord (ballad / pad) |
| Root–fifth | Alternating root and fifth |
| Octaves | Root doubled in octaves (rock / pomp) |
| Shell | Root + seventh (or third) — a jazz shell |
| Stride | Bass note on 1 & 3, a left-hand chord on 2 & 4 |
| Walking bass | A quarter-note walking line |
| Ostinato | A repeating riff figure built from chord tones |
| Broken arpeggio | A rolling broken arpeggio (gospel / Americana) |
| Pad | Sustained low fifths and tenths |
| Mode | What it plays |
|---|---|
| Comp | Rhythmic chord stabs on the cell onsets |
| Block | Full block chords, the top voice moving melodically |
| Arpeggio | One voice at a time, cycling through the voicing |
| Ostinato | A fixed short figure from the voicing, repeated |
| Runs | Mostly single-note scalar / arpeggio flourishes |
| Pad | One sustained voicing per chord |
| Riff | A unison / octave riff line on chord tones |
Each hand has its own register — a low / centre / high window in MIDI note numbers — nested inside the style's overall range. The defaults are a left hand around E1–B3 (centre ~G2) and a right hand around G3–G6 (centre ~E4); every style shifts these to taste (a pomp-rock style pushes the right hand up, an ambient style spreads both wide). Generated notes fold by octaves into their hand's window, so the two hands keep out of each other's way and the voicing sits where the player would put it.
The Flow knob (§8) ties each note toward the next attack across empty beats so a line holds instead of leaving gaps. In PianoMuse that tying happens within a hand: the left hand flows to the left hand's next note and the right hand to the right hand's, never across from one hand to the other, and — as with the bass — it stops at chord changes. So a sustained left-hand root can ring under a detached, articulated right hand, and each hand keeps its own sense of legato.
The voicing decides how the right hand stacks the chord. Each style picks one; the same progression sounds completely different through close triads than through rootless upper structures.
| Voicing | How the chord is stacked |
|---|---|
| Close | Tones packed inside one octave |
| Open | Drop-2 — the second voice from the top dropped an octave |
| Rootless | 3-5-7-9 with no root (the left hand has it) |
| Quartal | Stacked fourths (modal / psychedelic organ) |
| Shell | Just the third and seventh |
| Triad | A plain three-note triad |
| Fifths | Root + fifth power voicing (hard-rock organ) |
| Cluster | Adjacent seconds (aggressive prog) |
| Spread | Wide — each voice in its own register |
A style also sets how many notes a right-hand chord holds (a min and a max) and a spread chance that a voicing opens out on any given hit.
Chord to chord, PianoMuse leads the voices smoothly rather than jumping to a fresh root-position shape each time. It octave-shifts the new voicing toward the previous one so the voices move the shortest distance, and it chooses an inversion that gives the top voice the melodic motion the style wants — the top-motion amount, set per style, controls how much that top line moves from one chord to the next (low for a static pad, high for a singing countermelody). The result is a connected part where the top voice reads as a melody and the inner voices barely budge.
PianoMuse plays the sustain pedal for real, emitting MIDI CC64 alongside the notes, so a piano or Rhodes instrument that responds to the pedal rings and blurs the way it should. Each style carries a pedal amount — from never (dry, staccato organ and synth patches) up to repedal on every chord change (lush ballads and gospel). On a change the pedal lifts and re-presses cleanly, so held voicings sustain within a chord without smearing across the harmony. Point PianoMuse at an instrument with pedal response to hear it; a patch that ignores CC64 simply plays the notes.
The Drum slider biases the left hand's onsets onto your kick pattern, so the bottom of the keyboard locks up with the drums while the right hand keeps its own comping. At 0 the left hand plays its natural style groove; toward 1 it progressively lands on the kicks. Feed GM kick notes 35 / 36 on MIDI channel 10 into PianoMuse's MIDI input (chord-follow ignores channel 10, so live chords and kicks can share the input), then raise the slider. It reacts to MIDI kicks, not an audio drum track.
The Drag MIDI to your DAW strip prints your whole arrangement to a standard
.mid file. Press and drag it straight onto a track in your DAW
(or into a folder) and drop — you get a MIDI clip of the part.
This is the universal fallback: it works in every DAW with no routing and no format concerns, and it bounces down perfectly since it's just MIDI on a track. Use it whenever live routing is awkward, or for Pro Tools (§13).
Beside it, the Drag Chords to your DAW strip prints the arranger chords as sustained block-chord MIDI — drag it onto a piano, pad or synth track to comp under the part. It voices the full chord (extensions and all), spread across the mid register.
File → Chord drag: omit low root (on by default) leaves the low end to the part; turn it off to add a low root that anchors the chords on their own. The choice is saved with the song.
The Selected section only toggle by the drag strips scopes both the Part and Chords drag-outs to the currently-selected section, rebased to start at bar 1 — the strip labels show the section name so you know what you'll drop. Turn it off to export the whole song as before.
The strips work the other way too: drag a MIDI clip out of your DAW and drop it on the arranger to turn it into chords. PianoMuse reads the harmony (from the most chordal track, so a single-note line playing alongside the chords doesn't throw it off), samples at the current Grid, collapses repeats, and writes the progression into the grid — so you don't retype chords you already have.
When you drop, a menu asks where the chords should land:
For a section or a from-measure target, if the clip is longer than the space it has, PianoMuse asks whether to clip it to fit (drop the extra bars) or extend — grow the section to hold the whole clip. Whole song and new-section grow to fit on their own, and PianoMuse still asks first before replacing chords that are already there.
Some DAWs won't let you drag a MIDI clip onto a plugin. For those, PianoMuse can read the chords as you play them instead. Turn on File → Capture chords from MIDI to arm capture, route a chord track (or your keyboard) into PianoMuse's MIDI input, and play. Each chord is timestamped against the transport; stop, and PianoMuse writes what you played into the grid — the same result as a drop, without the drag. The drum channel (10) and your variation-trigger note are ignored, so they never turn up as chords, and PianoMuse still asks before replacing chords that are already there.
Everything PianoMuse saves is plain text — no packs, no samples, no recompiling. Three file types:
| File | Contains | Save / load with |
|---|---|---|
.pmstyle | One style | Import Style / Export Style |
.pmsong | A whole arrangement (sections, meters, chords, styles by id) | File ▸ Save / Load Song |
.pmbundle | A song plus every style it uses — fully self-contained | File ▸ Save / Load Bundle |
Cross-product songs. File ▸ Load Song also opens BassMuse song files. The arrangement transfers — sections, chords, time signatures, per-bar fills and mutes — and PianoMuse applies its own styles, since the two plugins share one song format.
Documents/PianoMuse/Styles/*.pmstyle — loaded at startup
and added to the Style dropdown.Documents/PianoMuse/Songs/*.pmsong (you can save anywhere).A .pmstyle is key = value lines with rhythm
cell figures. You control register, swing, note-choice weights,
velocity, articulation and feel. See the Appendix for the key list.
PianoMuse's Follow-MIDI code is the same everywhere — only the host routing differs. There are three patterns:
| DAW | Format | Model | Routing in a nutshell |
|---|---|---|---|
| Reaper | VST3 / AU | A | PianoMuse, then the instrument, in one track FX chain |
| Bitwig | VST3 | A | PianoMuse before the instrument in the device chain |
| Logic Pro | AU | A | PianoMuse in the track's MIDI FX slot |
| Mixbus 11 | VST3 / AU | A | PianoMuse then the instrument in the processor box |
| FL Studio 2024 | VST3 | A | Wire chords → PianoMuse → synth inside Patcher |
| Waveform 14 (Tracktion) | VST3 / AU | A | PianoMuse then the instrument in one track's plugin chain |
| Cubase 15 | VST3 | B | Instrument + MIDI-out route (no VST3 MIDI-insert) |
| Cakewalk Sonar | VST3 | B | Enable plugin MIDI-out, MIDI track → instrument |
| Studio One 7 | VST3 | B | Track B Instrument Input = PianoMuse ⚠ real-time export |
| Fender Studio Pro 8 | VST3 | B | Track B Instrument Input = PianoMuse ⚠ real-time export |
| Digital Performer | VST3 / AU | B | PianoMuse instrument → MIDI out to a 2nd instrument track |
| UAD Luna Pro | AU | B | Instrument track MIDI-out → instrument track |
| Pro Tools | AAX ✗ | C | Import the .mid, or a VST→AAX bridge (§13) |
Waveform runs a left-to-right plugin chain per track and passes MIDI down
it, so PianoMuse and the instrument live on one track (Model A). The
signal path is chords → PianoMuse → instrument.
Simplest alternative: skip the routing — use Drag-MIDI (§10) to drag PianoMuse's part straight onto the instrument's track, then press Play.
PianoMuse and the instrument are two separate tracks — PianoMuse emits MIDI, the instrument makes the sound.
Simplest alternative: skip the routing — drag PianoMuse's MIDI straight onto the instrument's track (not PianoMuse's) and press Play.
Pro Tools speaks AAX only and won't show PianoMuse's VST3 or AU yet. Two workflows cover Pro Tools today:
.mid: use Drag-MIDI (or Save) from
PianoMuse in any other DAW you own.A native AAX build (listed directly in Pro Tools) is planned for a future release.
| Symptom | Fix |
|---|---|
| Plugin doesn't appear | Rescan plug-ins in the DAW. Confirm it installed to the system VST3 / Components folder (§2). On Mac, Logic/Luna need the AU. |
| No sound | PianoMuse makes no audio itself — its MIDI must reach an instrument. Check the routing for your DAW (§12). |
| Part doesn't move / nothing plays | In Song mode add chords to the grid. In Follow mode make sure chords actually reach PianoMuse's MIDI input. |
| Not in time | PianoMuse locks to the host transport — press Play in the DAW; check Host BPM reads your tempo. |
| Drum-lock does nothing | Send kick MIDI on channel 10 (notes 35/36) into PianoMuse and raise the Drum slider (§9). Audio drums won't drive it. |
| Bounce is silent / late (Studio One, Fender Studio) | Export with Real-Time Processing on, or use Drag-MIDI (§10). |
| “Unknown publisher” warning | Expected on unsigned builds: Windows More info → Run anyway; macOS right-click → Open (§2). |
| Shared song missing a style | That section falls back to the first style. Ask for a bundle (§11), which includes every style. |
Click Report in the plugin header — it opens a short form and auto-fills your PianoMuse version, OS and DAW — or visit the feedback page. Your bug, idea or question goes on the feedback board, where other owners can upvote it.
| Item | Path |
|---|---|
| VST3 (Windows) | C:\Program Files\Common Files\VST3\PianoMuse.vst3 |
| VST3 (macOS) | /Library/Audio/Plug-Ins/VST3/PianoMuse.vst3 |
| AU (macOS) | /Library/Audio/Plug-Ins/Components/PianoMuse.component |
| User styles | Documents/PianoMuse/Styles/*.pmstyle |
| User songs | Documents/PianoMuse/Songs/*.pmsong |
Every dial a style can set, with its range and built-in default. A PianoMuse style
describes both hands, the voicing and the pedal. Eight are live controls in the
plugin — the knobs Density, Complexity, Swing, Humanize,
Ghost, Legato, Flow and Fill (all marked ●); the
rest are set only in the .pmstyle file. Export Style writes all of
them, so exporting a built-in player gives you a complete, editable template. Unknown
keys are ignored, so the format is forward-compatible.
| Key | Range · default | What it does |
|---|---|---|
| Identity | ||
id | text | Unique id a song uses to reference the style |
name | text | Label shown in the Style dropdown |
| Register (MIDI note numbers) — overall, then per hand | ||
centerPitch | 0–127 · 60 | Home register for the whole performance |
lowPitch | 0–127 · 36 | Lowest note allowed overall |
highPitch | 0–127 · 88 | Highest note allowed overall |
lhLow / lhCenter / lhHigh | 0–127 · 28 / 43 / 59 | Left-hand register window (low, home, high) |
rhLow / rhCenter / rhHigh | 0–127 · 55 / 64 / 91 | Right-hand register window (low, home, high) |
| Hands & voicing | ||
leftHand | name · rootfifth | Left-hand mode: none · sustainroot · rootfifth · octaves · shell · stride · walking · ostinato · arpbroken · pad |
rightHand | name · comp | Right-hand mode: comp · block · arpeggio · ostinato · runs · pad · riff |
voicing | name · close | Chord stacking: close · open · rootless · quartal · shell · triad · fifths · cluster · spread |
voicesMin | ≥1 · 3 | Fewest notes in a right-hand chord |
voicesMax | ≥1 · 4 | Most notes in a right-hand chord |
spreadProb | 0–1 · 0.15 | Chance a voicing opens out (drop-2) |
topMotion | 0–1 · 0.35 | How much the top voice moves chord to chord (the melodic top line) |
| Rhythm & density | ||
density ● | 0–1.5 · 1.0 | Baseline busyness (also the Density knob) |
lhDensity | <0 or 0–1.5 · -1 | Left-hand busyness; < 0 follows the global density |
swing ● | 0–0.5 · 0 | Delays the off-beat within a beat (also the Swing knob) |
restProb | 0–1 · 0.05 | Chance any non-anchor onset is dropped (space) |
ghostProb ● | 0–1 · 0 | Chance a note becomes a quiet ghost note (the Ghost knob) |
cell = <onsets> | <weight> | repeatable | One-beat right-hand rhythm figure + likelihood (see below) |
lhcell = <onsets> | <weight> | repeatable | One-beat left-hand rhythm figure (empty ⇒ derive from cell) |
| Feel (loaded into the knobs when the style is picked) | ||
complexity ● | 0–1 · 0.5 | Chromaticism / passing tones / runs (Complexity knob) |
humanize ● | 0–1 · 0.6 | Overall timing + velocity looseness (Humanize knob) |
flow ● | 0–1 · 0.0 | Note connectedness — ties notes toward the next attack within a hand, stopping at chord changes (the Flow knob) |
fill ● | 0–1 · 0.0 | Transition fill — a run into the section's last bar, landing on the approach to the next chord (the Fill knob). Per-bar markers override it. |
filldir | 0/1/2 · 0 | Fill run direction: 0 = Auto, 1 = Up, 2 = Down |
| Note-choice weights (walking / riff lines & the moving top voice) | ||
wRoot | ≥0 · 3.0 | Pull toward the chord root |
wFifth | ≥0 · 1.5 | Pull toward the fifth |
wOctave | ≥0 · 1.0 | Pull toward the octave |
wThird | ≥0 · 0.8 | Pull toward the third |
wSeventh | ≥0 · 0.6 | Pull toward the seventh |
wApproach | ≥0 · 1.0 | Chromatic/scale approach into the next chord |
wChromatic | ≥0 · 0.4 | Chromatic passing tone off the previous note |
wScaleWalk | ≥0 · 0.8 | Step through the chord scale (walking) |
octaveJumpProb | 0–1 · 0.10 | Chance of leaping an octave |
approachOnChangeProb | 0–1 · 0.50 | Chance of aiming at the next root on a chord change |
| Pianistic gestures | ||
rollProb | 0–1 · 0.0 | Chance a chord is rolled (arpeggiated on entry) |
rollSpread | beats · 0.06 | Time between voices of a rolled chord |
graceProb | 0–1 · 0.0 | Chance of a crushed grace note a semitone under a chord tone |
octaveDoubleProb | 0–1 · 0.0 | Chance the top voice is doubled an octave up |
runProb | 0–1 · 0.0 | Chance a beat becomes a scalar/arpeggio flourish |
runRate | notes/beat · 4.0 | Speed of notes inside a run (4 = sixteenths) |
tremoloProb | 0–1 · 0.0 | Chance of a fast repeated/alternating figure |
pedal | 0–1 · 0.0 | Sustain pedal (CC64): 0 = never, 1 = repedal on every chord change |
| Articulation | ||
baseVelocity | 1–127 · 92 | Loudness centre |
velRange | ≥0 · 14 | ± velocity humanisation |
lhVel | scale · 0.95 | Left-hand velocity relative to baseVelocity |
rhVel | scale · 1.00 | Right-hand velocity relative to baseVelocity |
staccato ● | 0–1 · 0.80 | Note length within the beat, as a fraction of its slot (the Legato knob) |
accent = a b c d | per beat · 6 0 2 0 | Velocity added on each beat of the bar |
| Micro-timing | ||
timingJitter | beats · 0.010 | Random timing spread per note |
behindBeat | beats · 0.000 | Constant push; positive = laid back, negative = on top |
Each cell (right hand) or lhcell (left hand) is one beat
wide; onsets are fractions of the beat in [0,1), and the weight after
| is its relative likelihood:
cell = 0 | 1 # a quarter note cell = 0 0.5 | 3 # two eighths, weight 3 cell = 0 0.25 0.5 0.75 | 2 # four sixteenths lhcell = 0 | 2 # left hand on the beat lhcell = | 1 # a whole-beat rest (space)
Roots A–G with #/b; qualities incl.
m, 7, maj7, m7,
m7b5, dim, aug, sus2/4;
extensions 9 / 11 / 13; slash bass C/E. In text songs a
chord may be positioned in the bar with SYM@beat
(e.g. G@2).