Build chords. Hear real playing styles. Shape the MIDI.
CT MIDI LAB ARRANGE is a focused browser-based harmony, piano-pattern and MIDI arranging tool. It is designed for fast musical exploration: create a progression, audition pianist-style accompaniments, loop the interesting part, edit the actual MIDI and export the result to your DAW.
2. Typical workflow
Use a template or type any Nashville sequence, including custom chord durations.
Combine voicing, left-hand technique, two-hand texture, right-hand playing type and arpeggio contour.
Use PLAY, LOOP and the range selector. Hold an Arranger chord to audition only that edited chord.
Move notes, resize them, cycle real inversions, correct bass movement and draw additional notes.
Mix two instruments independently for left and right hand, then use the master effects for preview.
Save favorite variations, download MIDI or export a ZIP. The active workspace is restored locally after reload.
3. Nashville notation, chord color and duration
The Nashville sequence is the harmonic source of the Arranger. A token normally lasts four beats. Add :beats to override its duration.
| Input | Meaning |
|---|---|
1 5 6m 4 | Four diatonic chords, four beats each. |
2m7:2 5dom7:2 1maj7:4 | ii–V–I with 2 / 2 / 4 beats. |
b7 4 1 | Chromatic flattened scale degree. |
1sus2 5sus4 1add9 | Open contemporary chord colors. |
7m7b5 | Half-diminished chord. |
Chord Color can automatically enrich unspecified chords with gentle 7ths, lush 7ths/9ths or suspended/add9 colors. Explicit chord qualities in the Nashville line always give you the most exact control.
4. Arranger
Each card represents a harmonic time range and its current edited MIDI events.
- Hold the card: loop only that exact edited chord.
- EDIT: replace the chord token.
- DRAG: move it; Ctrl/Cmd + Drag creates an exact clone, including manual MIDI edits.
- ARM / DISARM: include or skip the chord in transport. Disarmed chords are removed from playback time rather than played as silent bars.
- LH/RH INV: cycle real inversions locally by moving only the lowest voice up or highest voice down.
Chord Pads can be dragged into the Arranger. Drop in the center to replace; use insertion positions to place the new chord before, after, at the beginning or at the end.
5. Pianistic voicings
The voicing engine is designed around playable hand positions and voice leading rather than mechanically transposing the whole chord. It evaluates common tones, total motion, largest leaps, register, top-line behavior and chord function.
Local inversion buttons remain available after generation. This lets you keep the rhythm and every other note intact while cycling only the voicing of one chord until the bass and soprano motion feels right.
6. Left-hand techniques
The left hand is an independent musical layer. It can sustain a root, alternate root/fifth, play octave patterns, tenths, 1–5–8–10 figures, rolling thumb patterns, stride, pedal notes, walking approaches and other pianist-oriented movements. LH register can be set independently and individual bass notes can still be moved later in the Piano Roll.
7. Right-hand playing types and arpeggios
Right-hand patterns cover held support, comping, ballad figures, 8th- and 16th-note arpeggios, triplets, 6/8-style figures, 7th-chord cycles and expressive descending patterns. Arpeggio contour is separate from the rhythmic playing type, so the same timing can be ascending, descending, wave-shaped, inside-out, outside-in or middle-pivot based.
8. Two-hand textures
Two-hand textures coordinate both hands as one gesture instead of stacking unrelated generators. Examples include LH flow + RH pad, LH flow + RH pushes, interlocking eighths or sixteenths, shared rising/wave arpeggios, ballad tenths with RH responses and broken chords distributed across both hands.
Use Independent hands when you want the selected LH technique and RH playing type to remain completely separate.
9. Piano Roll editor
The Piano Roll is the final authority for the actual MIDI. It provides a fixed keyboard range, scale-lane highlighting, out-of-scale warning colors, a vertical keyboard and configurable rhythmic grids including straight and triplet values.
- Drag a note horizontally or vertically to move it.
- Select a note and drag its right edge to change length.
- Use SNAP for grid-locked editing or FREE for unrestricted timing/length.
- Double-click empty space to draw a note; right-click to delete.
- NOTE ±8 changes only the selected note by one octave.
- Selected Chord LH/RH INV performs a real inversion for only that chord and hand.
- Whole Part LH/RH ±8 remains available for broad register changes.
- Manual edits are reflected in live playback without regenerating the pattern.
10. Transport, loop and play range
PLAY and LOOP are designed for continuous editing. The range selector sits directly above the Piano Roll and snaps to the selected grid when SNAP is enabled. Range changes, ARM/DISARM changes and manual MIDI edits are applied while playback is running.
Disarmed chords are truly skipped in the transport timeline. This allows you to remove a chord temporarily without listening through an empty silent measure.
11. Chord Pads
The scale-degree pads below the Piano Roll provide the diatonic chords of the current key. They can be played with the mouse and dragged into the Arranger.
Pad playback is configured in the right Sound drawer: Both Hands Pattern, LH Pattern, RH Pattern or Typical Held Chord · all tones. Played notes are visualized on the keyboard with separate LH and RH colors.
12. Sound engine and dual-layer mixer
The browser sound engine is intended for composing and auditioning, not as a replacement for your final DAW instruments. Left and right hand each have two independent instrument layers with individual levels. This allows combinations such as piano + pad, a dark LH piano with a softer layer, or an EP/pad blend on the RH.
Master preview effects include warmth, reverb and tempo-aware delay. LH/RH can be muted independently. Instrument, mixer and effect settings are stored with the local workspace.
13. Workspace, SAVE and export
There are two persistence concepts:
- Workspace: automatically stores the current edited state in browser local storage, including MIDI edits, inversion results, durations, disarms and mix settings.
- SAVE: stores deliberate favorite variations in the Idea Deck for comparison and later loading.
MIDI download exports the current edited events. The selection export creates a ZIP of saved variations. New CT MIDI LAB ARRANGE MIDI exports include project metadata so key, Nashville sequence and chord durations can later be restored exactly.
14. MIDI import and chord detection
MIDI import accepts standard MIDI format 0 and 1. Signed project exports restore exact project harmony. Older or foreign MIDI is analyzed using chord detection, bass weighting, phrase-aware harmonic rhythm and key estimation.
For ambiguous arpeggiated MIDI, the import dialog can constrain the detector to one chord per bar, two chords per bar, one chord per two bars, a custom chord count or a free change detector. Older project-style filenames can also be used as a strong harmony hint.
15. Suggest and Inspire
SUGGEST rotates through deliberately different musical families instead of repeatedly returning an ascending arpeggio. Families include falling/melancholic, inner-voice, wave/pendulum, 7th-color, rising/open and triplet/6-8 ideas.
INSPIRE changes several recipe dimensions together and is useful when you want a larger creative jump. Once a generated idea is close, the recommended workflow is to stop regenerating and refine the MIDI locally.
16. Complete musical catalog
Diese Listen kommen direkt aus data/catalog.json. Damit stimmt die Anleitung mit dem ausgelieferten Projektstand überein.
Voicings
| ID | Name | Description |
|---|---|---|
| pianist | Pianist · Natural | Function-aware compact inversions with realistic hand movement. |
| pianistFlow | Pianist · Flowing | Stronger common-tone retention and smooth inner voices. |
| pianistTop | Pianist · Lyrical top | Creates a calmer, singable soprano line. |
| pianistIntimate | Pianist · Intimate | Closer, slightly lower voicings for ballads and singer support. |
| pianistFull | Pianist · Full 4-note | Compact four-note shapes with musical doubling, never extreme spreads. |
| common | Common tones · Legacy | Original common-tone engine. |
Harmony Colors
| ID | Name | Description |
|---|---|---|
| written | As written | Use exactly the chord qualities in the Nashville sequence. |
| gentle7 | Gentle 7ths | Adds tasteful maj7/m7 colors to stable diatonic chords. |
| lush7 | Lush 7ths / 9ths | More four-note color for ballads, neo-soul and cinematic piano. |
| suspended | Suspended / add9 | Open contemporary colors with sus2/add9 emphasis. |
Arpeggio Contours
| ID | Name | Description |
|---|---|---|
| native | Pattern default | Use the contour designed into the selected playing type. |
| ascending | Ascending · hopeful | Consistent low-to-high motion. |
| descending | Descending · melancholic | Consistent high-to-low motion. |
| fallingAnswer | Falling answer | Top-down phrase with a small return gesture. |
| wave | Wave · up/down | Natural pendulum motion through the chord. |
| insideOut | Inside-out · middle first | Starts from an inner voice and opens outward. |
| outsideIn | Outside-in · outer first | Alternates outer voices with inner chord tones. |
| middlePivot | Middle pivot · pianist | Repeats/pivots around the middle voice like a hand-shaped figure. |
| seventhFlow | 7th flow · four tones | Uses the full four-note color when 7ths/add9s are active. |
| seventhFall | 7th fall · 7–5–3–1 | Four-note descending contour, especially effective on m7/maj7 harmony. |
Two-Hand Textures
| ID | Name | Description |
|---|---|---|
| independent | Independent hands | Selected left-hand technique plus selected right-hand playing type. |
| lhFlowRhPad | LH flow + RH pad | Left hand carries the arpeggio; right hand supports with held/soft chord shapes. |
| lhFlowRhPush | LH flow + RH pushes | Continuous left-hand figure with tasteful offbeat right-hand chord responses. |
| interlock8 | Interlocking 8ths | Hands alternate a single musical line across the keyboard. |
| interlock16 | Interlocking 16ths | A flowing two-hand 16th-note texture, split naturally between hands. |
| sharedRise | Shared ascending arpeggio | Arpeggio rises from bass through the right hand as one gesture. |
| sharedWave | Shared wave arpeggio | Two hands create a continuous low-to-high-to-low wave. |
| balladTenth | Ballad tenths + RH response | Left-hand root/tenth movement with sparse right-hand answers. |
| ostinatoComp | LH ostinato + RH comp | Stable left-hand ostinato under syncopated right-hand comping. |
| brokenHands | Broken chord across hands | Chord tones are distributed between both hands instead of doubled. |
Left-Hand Styles
| Family | ID | Name |
|---|---|---|
| Foundation | root | Root sustain |
| Foundation | rootOct | Root + octave |
| Alternating | alt15 | Alternating 1 / 5 |
| Alternating | alt1585 | 1 / 5 / 8 / 5 |
| Alternating | alt1815 | 1 / 8 / 5 / 8 |
| Tenths | root10 | Root / 10th · ballad |
| Arpeggio | broken15810 | Broken 1–5–8–10 |
| Arpeggio | wave15810 | Wave 1–5–8–10–8–5 |
| Arpeggio | thumbFlow8 | Thumb-flow 8ths · 1–5–8–10 |
| Arpeggio | thumbFlow16 | Thumb-flow 16ths · rolling |
| Tenths | tenthPulse | 10th pulse · root / 10 / 5 / 10 |
| Pedal | pedalRoot | Pedal root + moving fifth/octave |
| Traditional | stride | Stride · bass / shell |
| Walking | walking4 | Walking 4ths to next chord |
| Walking | walkToNext | Chromatic approach to next root |
| Pulse | pulse8 | Root/octave 8th pulse |
| Pulse | syncopatedOct | Syncopated octave bass |
Playing Types
| Family | ID | Name | Tags |
|---|---|---|---|
| Support | sustain | Sustain / singer support | ballad, ambient, singer |
| Support | sparseSinger | Sparse singer support | singer, ballad, acoustic |
| Comping | quarters | Quarter-note comp | pop, rock, worship |
| Comping | popPush | Pop anticipation | pop, modern, anthem |
| Comping | worshipPush | Worship push | worship, anthem, ballad |
| Comping | gospelRock | Gospel rocking | gospel, soul |
| Comping | rnbLate | R&B pocket chops | rnb, soul |
| Arpeggio | broken8 | Ballad broken 8ths | ballad, pop, cinematic |
| Arpeggio | wave8 | Wave 8ths · low-mid-high-mid | ballad, songwriter, worship |
| Arpeggio | ascending8 | Ascending 8ths · pianist | ballad, pop, piano |
| Arpeggio | descending8 | Descending 8ths · pianist | ballad, piano |
| Arpeggio | topPedal8 | Top-note pedal 8ths | worship, ballad, cinematic |
| Arpeggio | innerPulse8 | Inner-voice pulse 8ths | pop, songwriter |
| Arpeggio | rolling16 | Rolling 16ths · natural | cinematic, pop, piano |
| Arpeggio | wave16 | Wave 16ths · pianist | cinematic, ballad, piano |
| Arpeggio | threeThreeTwo | 3-3-2 broken | modern, pop, cinematic |
| Arpeggio | alberti | Alberti-inspired | classical-pop, ballad |
| Two-hand | rootChordFifth | Root / chord / fifth / chord | pop, country, ballad |
| Two-hand | lh1585RhBroken | LH 1-5-8-5 + RH broken | ballad, pop, worship |
| Two-hand | lh15RhOffbeat | LH 1-5 + RH offbeats | pop, songwriter |
| Two-hand | balladHands | Classic piano ballad hands | ballad, singer, piano |
| Two-hand | worshipHands | Worship rolling hands | worship, anthem |
| Two-hand | gospelHands | Gospel response hands | gospel, soul |
| Support | rhDyads | RH dyad answers | ballad, songwriter, piano |
| Support | rhTopMelody | RH top-note melody support | ballad, cinematic, piano |
| Comping | rhChopSparse | RH sparse chord chops | pop, rnb, soul |
| Arpeggio | rhTripletRoll | RH triplet roll | ballad, gospel, piano |
| Arpeggio | rhSixEight | RH 6/8-style broken feel | ballad, worship, piano |
| Support | rhOctaveTop | RH octave-top pulse | pop, anthem, piano |
| Arpeggio | sadDesc8 | Falling 8ths · melancholic | sad, ballad, cinematic, piano, emotional |
| Arpeggio | sadDesc16 | Falling 16ths · emotional | sad, cinematic, piano, emotional |
| Arpeggio | insideOut8 | Inside-out · middle voice first | ballad, piano, songwriter |
| Arpeggio | outsideIn8 | Outside-in · root/top/middle | ballad, cinematic, piano |
| Arpeggio | middleFinger8 | Middle-finger pivot · 3–1–5–3 | piano, ballad, neo-soul |
| Arpeggio | topDownAnswer | Top-down answer · falling response | sad, ballad, singer, emotional |
| Arpeggio | pendulum8 | Pendulum · outer/inner exchange | piano, classical-pop, ballad |
| Arpeggio | cascade8 | Cascade · high-to-low with return | sad, cinematic, piano, emotional |
| Arpeggio | seventhFlow8 | 7th flow · four-note cycle | neo-soul, jazz-pop, ballad, piano |
| Arpeggio | seventhDesc8 | 7th descent · 7–5–3–1 | sad, neo-soul, jazz-pop, piano |
| Arpeggio | seventhCross8 | 7th cross · 1–5–7–3 | neo-soul, modern, piano |
| Two-hand | brokenTenthsRh | Broken tenths + RH answer | ballad, sad, songwriter |
| Arpeggio | tripletDescent | Triplet descent · expressive | sad, gospel, ballad, piano, emotional |
| Arpeggio | sixEightFall | 6/8 falling broken feel | sad, worship, ballad, piano, emotional |
17. Practical tips
- Sad / reflective: Intimate or Lyrical Top + Gentle/Lush 7ths + Descending or Falling Answer.
- Modern pop: Flowing + Suspended/add9 + Pop Anticipation or Middle Pivot.
- Ballad: LH Root/10th or 1/5/8/10 + a falling RH figure; then correct individual bass octaves locally.
- Worship: Shared Wave or LH Flow + RH Pad with add9/sus colors and a longer room.
- Neo-soul: Full 4-note + Lush 7ths + 7th Flow or Inside-Out.
- If an idea is nearly right: do not regenerate. Loop it and fix the local voicing, bass note, velocity or note length.
- If a finished chord returns later: Ctrl/Cmd + Drag it to clone the exact edited version.