RACKWERK

Browser-powered music studio — no install, no account
1
Pick a beatScroll to DRUM SEQUENCER and tap a preset like "Hip-Hop" or "Techno"
2
Add a melodyOpen ARPEGGIATOR and try "Chill Pad" or "Trance Stab"
3
Hit playPress ▶ PLAY or tap the 🎵 DEMO button for a full song
loading studio

RACKWERKv0.4.3.274 — 2026-07-07

Q·AUTO

🎹 Welcome to RACKWERK v0.4.3.274

Created by Mathias Vejerslev

RACKWERK is a complete music production studio that runs entirely in your browser. No installs, no plugins, no accounts, no cloud — everything happens on your device in real time.

What makes RACKWERK unique:

🌐 Zero installSingle HTML file — open it in any browser and start making music. Works offline, no server needed
🎹 Real-time synthesis5 polyphonic synth engines + full General MIDI soundfont library (128 instruments) — all synthesized live via Web Audio API and Tone.js
📂 Standard MIDIImport any .mid file → instantly editable multitrack score with per-channel mixing. Export your work as standard MIDI
🎼 Multitrack piano rollFull-featured score editor with select/draw/erase tools, automation lanes, transform tools, zoom, snap grid — all in the browser
🥁 Drum machineStep sequencer with 8 synth kits + 5 sample kits, 19 presets, 10 fill patterns, per-step probability
🎛️ Full mixer6-channel mixer with 3-band EQ, 8 FX send buses (reverb, delay, chorus, distortion, phaser, bit crusher, autowah, pitch shift), up to 4 group buses, A/B snapshots, master 8-band parametric EQ, compressor, limiter
🎙 Audio recordingRecord mic/line-in straight onto audio tracks — bar-aligned, latency-calibrated, with non-destructive clip trim/fades/normalize. Takes persist in your browser
🦴 AI assistantLazy Bonez — a built-in AI that composes, mixes, designs sounds, writes automation and answers questions about your session. Everything it does is one Ctrl+Z away
🔄 Arpeggiator12 modes, 9 rates, bar-synced, with latch, lock, humanize, and ★ diatonic chord mode — from trance stabs to ambient textures
🎵 Bounce to WAVReal-time audio capture with progress overlay — export your mix as a downloadable WAV file
🌀 Audio visualizerWebGL shader reactive to 16 frequency bands — 13 tweakable parameters
💾 Session files.rackwerk format saves everything — tracks, drums, mixer, FX, automation, score, layout
📱 Mobile readyResponsive layout with touch support, pad mode, and iOS audio unlock
First: click ▶ PLAY in the transport bar. Nothing makes sound until the audio engine starts.

🔊 Transport Bar

▶ PLAYStart/pause playback — also initializes audio on first click. Press again to pause (position preserved)
■ STOPFirst click: pause (keeps position, shows paused readout). Second click: reset to beginning (1:1:1)
BPMTempo (40-220). Type a number or use TAP
TAPClick rhythmically to set BPM — averages your last 6 taps
Time SigTime signature: 4/4, 3/4, 6/8, 5/4, 7/8, 2/4 — affects drum grid, beat lines, and snap grid
🔔Metronome — click on every beat, accented on beat 1
SCSidechain — ducks pad and bass on every kick hit. Drag the depth slider for more pumping
💾 SESSIONDownload your entire session as a .rackwerk file (everything saved)
📂 LOADLoad a saved session — restores everything including tracks, drums, FX, and score
MASTERMaster output volume (protected by limiter at -3dB)
⚡/⚖/🛡Latency mode — Low (50ms), Balanced (100ms), Safe (200ms). Auto-upgrades during MIDI playback

↓ BOUNCE WAV

One-click audio export: resets to position 0, plays through your entire song, captures the master output as 16-bit stereo WAV. Full-screen progress overlay with cancel support (ESC / Space / click). The WAV file downloads automatically when complete.

💾 Autosave & Crash Recovery

Your session autosaves to browser storage every 30 seconds while you work. If the tab crashes or you close it by accident, a recovery bar appears on next load — one click restores where you left off, including any audio recordings (they live in the browser's storage too).

🎵 Keyboard — Playing Notes

Three ways to play

Mouse/TouchClick or tap keys. Velocity depends on where you click — top = soft, bottom = loud
Computer keysA-; chromatic. Z/X = octave shift
MIDI controllerPlug in a USB MIDI keyboard — auto-detected via Web MIDI (notes, sustain pedal CC64, mod wheel CC1, pitch bend)
SustainHold Shift — notes ring until you release it (hardware pedal CC64 also works)

5 Synth Engines

E.PianoWarm FM Rhodes — melodies, chords, arps (PolySynth/FMSynth)
PadSoft detuned triangle — warm chords, slow attack (PolySynth/Synth)
BassFat sawtooth + lowpass filter — thick bass, monophonic (MonoSynth)
GuitarFM plucked string — short, percussive (PolySynth/FMSynth)
BellsPure sine FM — metallic bells, glass-like (PolySynth/FMSynth)

Keyboard Controls

OCT (2-9)Visible keyboard range — 2 octaves (compact) up to 9 (the full C0-C9 span). Z/X shift the window
CHORDPlay full chords from single keys — 24 types: Major, Minor, 7th, Maj7, Min7, 9th, Min9, Maj9, 11th, 13th, 6th, Min6, 6/9, Sus2, Sus4, Add9, Dim, Dim7, m7♭5, Aug, Aug7, MinMaj7, Power + ★ Diatonic (chord quality follows scale degree). INV selects inversion (Root/1st/2nd/3rd)
SCALELock notes to a scale — 24 scales in 4 groups: Common (Major, Minor, Pentatonic, Blues, Harmonic/Melodic Minor), Modes (Dorian, Phrygian, Lydian, Mixolydian, Locrian), Jazz (Whole Tone, Diminished H-W/W-H, Bebop), Exotic (Phrygian Dom, Hungarian Min, Double Harmonic, Hirajoshi, In-Sen, Persian, Enigmatic). Circle of Fifths badge shows related keys (V, IV, relative, parallel)
QUANTIZESnap timing to grid — ¼, ⅛, 1/16, 1/32, or ⅛ triplet
FILTERLow-pass filter cutoff (20Hz–20kHz) and resonance (0–20). Per synth
Reset keyboard section to defaults

Keyboard Visual Feedback

Keys respond dynamically to your playing — always colored by the active synth engine:

Velocity → ColorHarder hits show more saturated synth color; soft notes are barely tinted
Key DepressionKeys press deeper with harder velocity (0.8–3.5px)
Sustain ShimmerPedal-held keys dim and pulse gently
Pitch Bend TiltPer-channel — only keys from the bent channel skew (±5°). Other channels unaffected
Mod Wheel PulseCC1 above 5% triggers a brightness animation on active keys
Multi-ChannelSame key played on 2+ channels blends their synth colors
Scale OverlayWhen a scale is selected, out-of-scale keys are dimmed. Root notes marked with accent bar

🔧 Synth Editor

Shape any synth in real time:

WAVEOscillator waveform — Fat Saw, Fat Tri, Fat Square, Sine, Saw, Triangle, Square, PWM
ATTACK / DECAY / SUSTAIN / RELEASEADSR envelope — controls how the note fades in, sustains, and releases
DETUNEPitch offset (-100 to +100 cents)
VOICESUnison voice count (1–6) — thickens the sound
VIB RATE / DEPTHVibrato — periodic pitch wobble (0.5–20 Hz)
TREM RATE / DEPTHTremolo — periodic volume pulse (0.5–20 Hz)

36 Factory Presets

Organized in 7 categories: Keys (Bright, Wurlitzer, Clavinet, Organ), Pads (Warm, Strings, Choir, Ambient), Bass (Sub, Synth Bass), Leads (Plucky, Square Lead, Brass), Bells (Glass, Vibraphone, Marimba), Guitar (Steel, Muted), World (Sitar, Kalimba) + more. Presets auto-switch to the right synth engine.

User presets: Click 💾 SAVE to save your custom sound. Appears with ✦ prefix in dropdown. ✕ DEL to remove.

🎛 Pad Mode

Large touch pads for mobile. 16 pads auto-populated from the current scale/key.

🔄 Arpeggiator

Takes held notes and plays them automatically in a pattern, synced to tempo and locked to bar boundaries.

ModeUp, Down, Up-Down, Random, Played, Spiral, Converge, Diverge, Skip, Thumb, Walk, Chord — 12 patterns from melodic to rhythmic stabs
RateHalf, Quarter, Dotted ¼, 8th, Dotted 8th, 8th Triplet, 16th, 16th Triplet, 32nd
Octaves1–4 octave spread
GateNote length (10% staccato → 100% legato)
VELVelocity curve — Flat, Rise, Fall, Accent, Wave, Random
PROBPer-step probability — 100% = every note, 50% = random skips
HUMHumanize — random timing offset per note (0% = robotic, 100% = loose feel)
LOCKFreeze arp pattern — keeps playing after key release
LATCHRemember notes — add more without releasing existing
OFFSETShift the pattern's starting step (0-7) — same notes, different groove
INVChord inversion for chord/diatonic modes — Root, 1st, 2nd, 3rd
KEY / SCALEScale lock inside the arp section — synced both ways with the keyboard's scale selects
⏎ SYNCQueue changes for next bar boundary (1/2/4/8 bars)
The arpeggiator is bar-locked — the pattern always starts from step 1 at beat 1, synced to the SYNC bar setting. No drift against the beat grid.

19 Presets — Trance, Blade, Acid, Pluck, Funk, Ambient, EDM, Jazz, Synthwave, Lo-Fi, DnB, Cinematic, Techno, Gospel, Blues + an odd-meter set (Waltz 3/4, Celtic 6/8, Prog 5/4, Balkan 7/8). Each auto-configures synth, mode, rate, and notes — the odd-meter ones also set the time signature.

🔁 Loop Studio

BARSLoop length: 1, 2, 4, 8, 16, or 32 bars
SWINGShuffle feel for arp and drums
▶ ARPMute/unmute arp audio (pattern still visible)
↓ MIDIExport current arp + drum pattern as standard MIDI file
💾 SAVE TRACKSnapshot arp + drums + sends + automation as a reusable track
⏺ LOOPLooper pedal — click to record your keyboard playing, click again to loop it, click again to overdub layers on top. Bar-aligned; resets on transport stop
⏺ LIVERecord live audio output to downloadable file — captures real-time playing, jamming, and tweaks
⬤ AUTO RECRecord slider movements — saved with next track for automation
Click or drag on the looper canvas to scrub the playhead. The transport pauses during scrub to prevent stuck notes, then resumes automatically.

✏️ Edit Mode

Click ✏ EDIT to turn the looper into a piano roll editor:

Click empty spaceAdd a note
Drag a noteMove pitch/timing
Drag right edgeResize duration
Shift+clickMulti-select notes
Ctrl+dragAdjust velocity
DelDelete selected
Ctrl+Z/YUndo / Redo (50 levels)

🎼 Score Panel — Multitrack Piano Roll

Always-on visualization showing all MIDI channels and recorded score tracks. Supports unified lane mode where each instrument gets its own row.

⏺ RECRecord into the armed track — instrument track: keyboard/MIDI notes; audio track: your microphone (see 🎙 Audio Recording)
🎹 LIVESwitch to live view (arp + drums + tracks combined)
▼/▶ LANESCollapse or expand all lanes at once (▼ = all expanded, ▶ = all collapsed)
↓ MIDIExport score tracks as standard MIDI file
↑ MIDILoad a MIDI file into the score
⊟ FITToggle fit-all / previous zoom
⊞ FOLLOWAuto-scroll to keep playhead visible when zoomed in

Multitrack System

Create multiple recording tracks, each with its own instrument, color, and notes. Per-track controls: ▼ collapse, ⏺ arm (for recording), S solo, M mute, instrument selector, rename, delete.

Per-Track Mixing (MIDI Channels)

Each MIDI channel gets independent mix controls in its track strip:

V / P / F / TVolume, Pan, Filter cutoff, Transpose — all per-channel, independent of the shared mixer
🏠 RoomRoom reverb send level per channel
FX SENDS ▼Expand to show 8 independent FX send sliders (CH, DL, RV, DT, PH, CR, AW, PT) — each channel gets its own send levels to all FX buses
Per-track FX sends are fully independent — one violin channel can have 80% reverb while a trumpet on the same synth engine stays dry. MIDI CC91/93/94/95 from imported files automatically populate these sends.

MIDI File Support

Load any standard .mid file — channels are automatically imported as editable score tracks with GM soundfont instruments, per-channel volume/pan/filter/transpose controls, and full edit access from the start. No intermediate step needed.

Multi-tempo: MIDI files with tempo changes play back correctly — BPM updates automatically as tempo map events fire during playback. The BPM display updates in real time.

Full MIDI expression: Pitch bend (CC), vibrato (CC1), channel aftertouch, polyphonic aftertouch, sustain pedal (CC64), portamento, and bank select are all parsed and applied during playback with keyboard visualization.

Zoom & Scroll

Ctrl+WheelHorizontal zoom (cursor-centered, up to 64×)
Alt+WheelVertical zoom (pitch range, up to 8×)
Shift+WheelHorizontal scroll
Plain WheelVertical scroll (pitch)
Click rulerSet playhead position (continues playing if transport is active)
Drag rulerScrub playhead (pauses during drag, resumes on release)
Shift+click rulerSet loop region starting at clicked bar (drag to extend). Enables loop mode automatically
Drag loop edgesResize the loop region by dragging the left or right edge handles
Drag loop bodyMove the entire loop region without changing its length
Double-click rulerClear loop region and disable loop mode
Double-click laneZoomed out: Edit Focus — zoom to ~8 bars, select track, expand lane + auto. Zoomed in: add note at click position. FIT to toggle back

Lane Management

Control how each track's lane appears in the score — collapsed strip, content-fit, or full piano.

Click lane headerCollapse / expand that single lane
Double-click lane headerRename the track — prompt appears with current name
Drag resize handle (bottom of lane)Resize lane height proportionally. Size is stored as a multiplier of the lane's natural content height, so it survives adding/removing notes
F or right-click → Fold / UnfoldToggle between folded (pitch-pruned to content, default) and unfolded (full A0-C8 piano). Unfolded lets you paint notes outside the current content range
HDistribute lane heights evenly across the visible canvas. Press again to restore prior sizes
▼/▶ LANES buttonCollapse or expand ALL lanes at once. = all expanded, = all collapsed (matches HTML <details> / OS file tree convention)
FIT / FOLLOW / LANES clustersThe same three buttons appear at the score panel's top-right, bottom-right, and in the toolbar — click any instance and all three stay in sync
Drums became first-class in v0.4.1.65 — the drum channel gets the same fold / resize / rename / collapse treatment as melodic channels. Right-click the drum track to rename or fold, or drag its resize handle to make it taller.
Right-clicking a track header opens the full context menu — rename, color, Fold/Unfold, duplicate (Ctrl+Shift+D), delete, and more.

Score Edit Tools

Three tool modes in the score toolbar: ⬚ SEL (select), ✏ DRAW (add notes), ✕ ERASE (delete notes).

SelectClick to select, Shift+click multi-select, rubber-band marquee, drag to move, right-edge drag to resize, bottom-edge drag for velocity
DrawClick to place a note at snap grid resolution. Previews pitch on click
EraseClick a note to delete instantly

XFORM — Transform Tools

Transform selected notes or the armed track via the ⚡ XFORM menu:

HumanizeAdd subtle timing and velocity variation for a natural feel
Quantize 50%/100%Snap note timing toward the grid (partially or fully)
Velocity ±20%Boost or reduce note velocities
Legato / StaccatoExtend notes to fill gaps, or shorten them
Transpose ±1/±12Shift pitch by semitone or octave
Invert / ReverseMirror pitch or reverse time order
Harmonize +3rd/+5thAdd parallel harmony notes
Constrain to ScaleSnap all notes to the current scale

📈 Automation Lanes

Click 📈 AUTO to show drawable automation curves below the piano roll. Click to add points, drag to reshape. Per-track automation for:

ChannelVolume, Expression, Pitch Bend, Pan, Filter Cutoff, Resonance
FX SendsAll 8 buses — Reverb, Delay, Chorus, Distort, Phaser, Crush, AutoWah, Pitch
FX Parameters13 parameters — Reverb Size/Dampen, Delay Time/Feedback, Chorus Rate/Depth, and more

Segments between points can be curved (Ableton-style eased ramps), and everything is stored in musical time — changing BPM never desyncs your curves. Automation exports to MIDI as CC events and imports from MIDI CC1/7/10/11/71/74/91/93/94/95 + pitch bend. Collapsed lanes show thin sparkline previews of automation curves. An A badge in the lane header indicates tracks with automation data.

❄ Track Freeze

Freeze renders a GM/drum track to an audio buffer via OfflineAudioContext, freeing CPU from per-note WAF voice creation. Right-click a track or use the ❄ button. Frozen tracks show a FROZEN badge — mixer controls (volume, pan, FX sends) remain live but instrument/note editing is locked until unfrozen.

Auto-freeze: Enable the Auto ❄ checkbox in the score title bar. Heavy tracks (>40 notes) freeze automatically in the background when you press Play. Per-lane frost animation shows progress. Demos enable auto-freeze by default.

🎬 Song Arrangement

A strip above the score canvas shows named, colored sections. Click to create a section, double-click to rename, drag to move, drag edge to resize, × to delete. All bar-snapped. Sections are imported from MIDI Marker events and exported to MIDI.

⏱ Count-In

Set 1 or 2 bars of metronome pre-roll before playback starts. The transport counts down with click sounds before the music begins — useful for recording. Select in the transport bar dropdown.

🎙 Audio Recording

Record your voice or any instrument straight into the session. Add an audio track (score panel + AUDIO), arm it, and press ⏺ REC.

Bar-aligned startTransport playing: capture begins at the next bar. Stopped: starts immediately and starts the transport. A red waveform grows live while you record
STOP commitsHitting stop mid-recording keeps the take — nothing is ever silently discarded. Re-recording over an existing take asks first (and the old take stays restorable)
Input barAppears while an audio track is armed: STEREO/MONO badge, peak meter, GAIN pre-amp (±24 dB), MON monitor toggle with DIRECT (dry, zero-latency — use this while tracking) or CHAN (through the channel FX) routing
CAL / LATIf takes land late or early against the beat: click CAL — it plays 3 beeps through your speakers, listens with the mic, and sets the latency compensation automatically (speakers must be audible to the mic — it can't calibrate on headphones). Or set LAT manually: takes late → raise it, early → lower it
Raw signalCapture is music-grade: echo-cancellation, noise-suppression and auto-gain are all OFF. If the meter clips, the distortion is baked in — lower GAIN and re-take

Editing the clip

All edits are non-destructive and undoable: drag the clip to move it (snaps to the grid, Alt = free) · drag its edge handles to trim · drag the corner handles for fade-in/out · right-click for Normalize (brings the take to full level), move-to-playhead/start, delete, and Restore previous take.

Audio plays through the E.Piano channel strip — its EQ, sends and volume shape your recording. A clip parked at bar 1 loops on its own length like a looper pedal; a clip placed later in the timeline plays once per loop pass at its position.

Recordings are stored in your browser (the session file carries a reference, not the audio itself) — they survive reloads and crashes on this machine, but won't travel inside the .rackwerk file to another computer. To make a take portable, ↓ BOUNCE WAV.

🥁 Drum Sequencer

Step grid for 14 drum sounds (canonical order): kick, snare, clap, rimshot, closed hi-hat, pedal hi-hat, open hi-hat, low tom, mid tom, high tom, crash, ride, cowbell, tambourine. Step count adapts to time signature (e.g. 12 steps in 3/4, 20 in 5/4). Click steps to toggle; drag rows to reorder. Each step has adjustable per-step probability (right-click or long-press).

Drum Kits

8 Synth kits (instant, no download):

TR-808Classic analog — deep booming kick, sizzly hats, noise claps
TR-909Punchier, tighter — brighter attack, crisper hats
AcousticSimulated real drums — pitched body + beater click
Lo-FiBit-crushed vinyl — muffled, gritty
IndustrialHeavy distortion — sawtooth kick, harsh metallic hats
MinimalClean and tight — pure sine kick, short clicks
JazzWarm, round — soft kick, brush snare, ride cymbal
ElectroDeep sub kick + click transient, crispy metallic hats

5 Sample kits (loaded from WebAudioFont CDN — full GM drums, notes 27–81):

FluidR3 GMClassic General MIDI soundfont — all standard percussion
JCLiveNatural live drums — default kit
AspirinCrisp modern kit
ChaosUnusual experimental sounds
Best AvailableAuto-selects the best sample per drum note across all soundfonts

Sample kits support all 55 GM drum notes (27–81) for full MIDI drum playback. Custom samples: drag-and-drop any .wav/.mp3 onto a drum row to replace that sound.

19 Drum Presets

Classic: 4-Floor, Hip-Hop, Half-Time. Trap/808: Trap, Reggaeton. Dance: Disco, Garage, Techno. Funk: Funk, Breakbeat, Afrobeat. Jazz: Bossa, Swing. Electronic: Dubstep, Lo-Fi, IDM, DnB. World: Latin.

10 Fill Types

🥁 Snare16th snare roll building to end
📈 BuildProgressive density ramp
📉 BreakStrip layers for a dramatic drop
🎲 ChaosRandom weighted hits — different every time
⏩ DoubleGhost-note every existing hit
🔻 TomCascading kick/snare fill
🎩 Trap RollRapid hi-hat buildup
💥 AmenClassic breakbeat shuffle
🪖 MarchMilitary snare roll
⬛ DropStrip to silence for maximum tension
Fills have bar count (1/2/4) and sync mode (Next bar / Immediate). Multi-bar fills build progressively.

🎚️ Mixer

6 channel strips (E.Piano, Pad, Bass, Guitar, Bells, Drums) + up to 4 group buses. Each channel has:

VOL / PANVolume and stereo position (smooth — no crackling)
LO / MID / HI3-band EQ (-12 to +12 dB per band) with real-time frequency response curve showing combined EQ shape
EQ CurveMini canvas below EQ sliders — shows actual filter response from the BiquadFilter nodes. Updates in real time during playback (tracks automation). Channel-colored fill and stroke
M / SMute and Solo
8 Send knobsSend level to each of the 8 FX buses
OUTRoute channel to Master or to a Group Bus for submixing
Level meterLED-style segmented bar with fixed color zones: green (safe), yellow (caution), red (hot). Clip LED lights at peak. Peak hold indicator

Group Buses: Click + GROUP BUS below the mixer to create submix groups (up to 4). Each group has VOL, PAN, 3-band EQ, M/S, and metering. Route any channel to a group via the OUT dropdown. FX sends are unaffected by group routing (they tap from the channel bus in parallel).

A/B Mix Snapshots

The mixer header has A / B capture buttons and an A⇄B toggle — snapshot two complete mixer states and flip between them to compare, with a crossfade ramp from instant to 5 s. Arm and toggle A⇄B during playback to record the crossfade as volume/pan/send automation.

The ↶ ↷ buttons in the mixer header undo/redo mixer changes — and the global Ctrl+Z covers everything in one timeline: notes, automation, mixer, room reverb, GM channel strips.

🎛️ Effects Rack (8 Buses)

Each FX bus has a colored dot — click to bypass/enable. The ⚡ ALGO / 🎵 CONV button in the section header switches the room reverb engine between algorithmic (Schroeder — low CPU) and convolution (IR — richer sound).

ChorusThickens sound — frequency + depth
ReverbRoom/hall ambience — room size + dampening
DelayEcho repeats — delay time (50ms–1.5s) + feedback control
DistortionCrunch and grit — amount control
PhaserSweeping comb filter — frequency + octaves
BitCrusherLo-fi bit reduction — bits (1-16, lower = grittier)
AutoWahEnvelope follower filter — responds to playing dynamics
PitchShiftPitch up/down by semitones (-12 to +12) — harmonizer, octaver

📊 Master EQ (8-Band Parametric)

Master bus equalizer with 8 sweepable bands for final mix shaping. Each band has a gain slider (±12 dB) and Q (bandwidth) control.

Band 1 (80Hz)Low Shelf — boost/cut sub bass
Band 2–7Peaking at 200Hz, 500Hz, 1.2kHz, 2.5kHz, 5kHz, 10kHz
Band 8 (16kHz)High Shelf — boost/cut air and brilliance
Use ⟲ to flatten all bands back to 0dB. The EQ sits before the master limiter in the signal chain.

💾 Saved Tracks & Song Mode

Saved tracks capture: arp notes, drums, synth, sends, and automation. Click ↩ to load back, M to mute, ✕ to delete.

Song Arrangement: Chain patterns into a full song — add entries, set repeat count, reorder with ↑↓. ▶ PLAY SONG plays straight through.

♫ Demos: the demo browser streams ready-made example sessions — load one to hear what the engine can do, then pick it apart: every track, pattern and mixer move is fully editable.

🔇 Section Mute Buttons

Every rack panel title bar has an M button for quick muting:

Keyboard / Synth / ArpLinked — mutes the active keyboard synth channel
DrumsMutes drums channel
ScoreMutes all score track channels
LoopMutes saved track playback
MixerMutes master output
FXZeros all FX return gains (dry bypass)
Master EQFlattens all EQ bands (restores on unmute)

⊞ Split/Dock Layout

Click ⊞ SPLIT in the header to toggle side-by-side panel layout. In split mode, each panel shows a dock button — click it to pair the panel with its neighbor at 50/50 width. Dock state persists across sessions.

5 layout presets via the ⚙ LAYOUT dropdown: Stack, Compose, Beat, Mix, Perform — each rearranges panels for a specific workflow. Drag the ☰ handle in any panel header to reorder panels manually.

🌀 WebGL Audio Visualizer

Click 🌀 VIZ to enable a real-time audio-reactive background shader. Click again to show/hide the 13 control sliders; click a third time to turn off.

The visualizer analyzes 16 frequency bands from the master output, detecting beats, onsets, and spectral brightness. When active, all panels switch to glassmorphism (translucent backgrounds with blur).

OPACITYShader visibility behind panels
SPEEDAnimation rate
TENDRILSNumber of animated tendrils
REACHTendril size / spread
HUEColor shift offset
REACTAudio reactivity sensitivity
WARP / ZOOM / SPINSpatial distortion, scale, and rotation
SPARKLETreble-driven particle intensity
SHOCKBeat-triggered flash intensity
SATColor saturation

🎤 MIDI Title & Lyrics

When a MIDI file contains metadata, RACKWERK displays it automatically:

TitleShown in the score badge: "MIDI · Song Title"
LyricsSynced to playback — shows previous, current (highlighted), and next lyric in a bar below the score

🦴 Lazy Bonez — AI Assistant

The LAZY BONEZ panel is a music-production AI wired directly into the engine. Type what you want in plain language — it answers, or makes the change itself.

What it can doCompose melodies/chords/bass/beats onto tracks · balance and EQ the mix (Auto-Mix) · shape synth patches · write automation (fades, filter sweeps, pitch slides) · arrange song sections · manage tracks (create, mute, rename, freeze) · change BPM/key/scale · or just give advice
Quick actionsOne-click presets above the chat: Auto-Mix, Warm Up, Widen, Fix Mud, Chords, Melody, Bass, Beat, Remix, Automate, Structure, Patches, Polish, Analyze
🧠 DeepToggle Deep thinking — a stronger model with the full knowledge base (~3-5× more tokens per call). In Deep mode it can also ask to listen: it solos/mutes and plays a few bars to analyze the actual audio before answering
Consent & undoBigger changes arrive as a proposal with an ⚡ Apply button — nothing happens until you click. And everything it applies feeds the normal undo: one Ctrl+Z reverts an entire Auto-Mix
Status & budgetThe LED and status rail show what it's doing; the budget display tracks API spend. First use asks a one-time privacy acknowledgement (your session data goes to the AI provider for the request). 🔊 toggles spoken replies
BoundariesIt can't press Record or edit audio clips for you — for recordings it advises (latency CAL, normalize, monitoring) while you drive
Try: "make me a lo-fi beat at 82 BPM", "the mix is muddy — fix it", "add a filter sweep build into bar 9", "why is my recording late?"

🎨 Accent Color Themes

6 color themes via the dropdown in the header: Amber, Phosphor, Neon, Ice, Violet, Infrared. Changes the accent color throughout the entire UI. Persists across sessions. The ☀ button toggles light/dark theme.

⌨️ Keyboard Shortcuts

Playing

A;Play notes (chromatic)
Z / XOctave down / up
ShiftSustain pedal (hold)
/ Pitch bend (hold)

Transport

Space / 1Play / Stop
Enter / 2Stop (press twice to reset)
R / 3Record (score if track armed, audio otherwise)
MToggle metronome
QToggle quantize
LToggle song loop
, / .BPM down / up (nudge)
Ctrl+SSave session

Score — Tools

BToggle Select ↔ Draw tool (FL/Ableton muscle memory)
1 / 2 / 3Select / Draw / Erase tool
4Step input (play keyboard → place notes at cursor)
Dbl-click lane headerRename track
Right-click trackContext menu (rename, color, Fold/Unfold, duplicate…)

Score — Edit

Ctrl+Z / Ctrl+YUnified undo / redo (notes, automation, mixer)
Ctrl+ASelect all notes
Ctrl+C / Ctrl+VCopy / Paste notes
Ctrl+XCut (copy + delete)
Ctrl+DDuplicate selected notes
Ctrl+Shift+DDuplicate selected track
Alt+DragCopy notes (drag duplicates)
/ Nudge pitch ±1 semitone (Shift = ±1 octave)
/ Nudge time ±1 snap grid step (Shift = ±1 bar)
Del / BackspaceDelete selected notes
EscapeDeselect all notes (then closes overlays)
Alt+↑ / Navigate between tracks (with focus)

Score — Lane layout

FFold ↔ Unfold selected lane (pitch-pruned ↔ full piano)
HOptimize lane heights (distribute evenly; press again to restore)

Score — Navigation

Ctrl+WheelHorizontal zoom (time, cursor-centered)
Alt+WheelVertical zoom (pitch range)
Ctrl+Shift+WheelZoom both axes (cursor-centered)
Shift+WheelHorizontal scroll
WheelVertical scroll (pitch)

General

?Toggle keyboard shortcuts overlay
EscClose overlays / cancel bounce / exit step input

🔍 Voice Diagnostics

Click the voice counter in the transport bar to open a real-time diagnostics panel. Shows:

Device tierPhone / Tablet / Desktop — determines voice limits and FX thresholds
Voice countsSoundfont (GM melodic + drums) and Synth engine voices, total + peak + stolen
Audio loadEstimated CPU usage percentage
Adaptive FXShows when FX are reduced (high voice count) — "reduced IR" or "minimal"
Note statsNotes fired, late notes (with max latency), dropped GM/drum notes
ErrorsNon-fatal error count + last 5 real errors with timestamps. Benign errors (audio node disconnect, param ramp) are filtered and counted separately. The transport voice meter shows ⚠N when errors exist

💡 Tips

Start simple: Pick a preset (Chill Pad), add a drum pattern (Hip-Hop), play a melody on the keyboard.

Try different kits: Jazz kit with Bossa preset. Electro kit with Trap preset. Sample kits (JCLive, FluidR3) give you full GM drums.

Use scale lock: Set to C Minor Pentatonic — every note sounds good. Impossible to hit a wrong note.

Layer FX: Send pad to Reverb + Chorus for width. Send bass to BitCrusher for grit. Send lead to Delay + PitchShift for shimmer.

Shape the master: Use the 8-band EQ to boost high shelf for air, cut 500Hz mud, boost 2.5kHz presence.

Load a MIDI file: Drop in any .mid file — channels become editable tracks instantly with per-channel Vol/Pan/Filter/Transpose. Use the ▼/▶ LANES button to expand each channel into its own row.

Bounce to WAV: Click ↓ BOUNCE WAV in the score toolbar — plays through your song and downloads a stereo WAV file. Cancel anytime with ESC.

Build a song: Save track → change the pattern → save again → chain in Song Arrangement.

Export your work: ↓ MIDI exports to standard MIDI. 💾 SESSION saves everything. ↓ BOUNCE WAV exports audio.

Connect a MIDI keyboard: Plug in any USB MIDI controller — notes, sustain pedal, mod wheel, and pitch bend are auto-detected.

Voice diagnostics: Click the voice counter in the transport bar for a real-time panel showing active voices, audio load, stolen voices, scheduling stats, and error log. A ⚠ badge appears when non-fatal errors are detected.

Section muting: Use the M buttons on panel headers to quickly A/B sections — mute drums to hear just melody, mute FX for a dry reference.

Try the visualizer: Click 🌀 VIZ during playback for audio-reactive visuals. Tweak the 13 sliders for different moods.

Split layout: Click ⊞ SPLIT for side-by-side panels. Dock panels together with ↔ for a dual-monitor feel.

Odd time signatures: Try 7/8 or 5/4 — the drum grid and score snap adapt automatically.

⌨ Keyboard Shortcuts

🎹 Playing

A – ;Play notes (chromatic)
Z / XOctave down / up
ShiftSustain pedal (hold)
↑ / ↓Pitch bend (hold)

🔊 Transport

SpacePlay / Stop
EnterStop (2× = reset)
RRecord (score if armed, audio otherwise)
1 / 2 / 3Play / Stop / Record (numeric aliases)
MToggle metronome
QToggle quantize
LToggle song loop
, / .BPM down / up
Ctrl+SSave session

🎼 Score / Edit

Ctrl+ZUndo (notes, automation, mixer — unified)
Ctrl+YRedo (also Ctrl+Shift+Z)
Ctrl+ASelect all notes (edit mode)
Ctrl+CCopy selected notes
Ctrl+VPaste notes
Ctrl+XCut (copy + delete)
Ctrl+DDuplicate selected notes
Ctrl+Shift+DDuplicate selected track
Alt+DragCopy notes (drag duplicates)
↑ / ↓Nudge pitch ±1 semi (Shift = ±octave)
← / →Nudge time ±snap step (Shift = ±bar)
EscapeDeselect all notes
Del / BackspaceDelete selected notes
Alt+↑/↓Navigate tracks (with focus)

🔧 Tools

BToggle Select ↔ Draw tool (FL/Ableton muscle memory)
1Select tool (click, drag, marquee)
2Draw tool (click to place notes)
3Erase tool (click to delete)
4Step input (play keyboard → place notes at cursor)
← / →Step input: move cursor ±1 snap step
BackspaceStep input: delete last note, move cursor back
Dbl-click hdrDbl-click lane header: rename track
Right-clickContext menu (rename, color, Fold/Unfold, duplicate, delete)

🔳 Lane Layout

FFold ↔ Unfold selected lane (pitch-pruned ↔ full piano)
HOptimize lane heights (distribute evenly; press again to restore)
Click headerCollapse / expand lane
Drag handleResize lane (relative — survives content changes)

🔍 Score Navigation

Ctrl + WheelHorizontal zoom (time)
Alt + WheelVertical zoom (pitch)
Ctrl+Shift+WheelZoom both axes (cursor-centered)
Shift + WheelHorizontal scroll
WheelVertical scroll (pitch)

🛠 General

?Toggle this overlay
EscClose overlays
⏺ BOUNCING TO WAV
00:00 / 00:00
Preparing…
ANALYZERSCOPE · FFT
TRANSPORTIDLE
0:00 🦴
LAZY BONEZchecking…
KEYBOARDLEAD · OCT4
4 20k
MOD
0
PB
0
E.PIANO
20ms
150ms
60%
800ms
3
5Hz
0%
4Hz
0%
ARPEGGIATOROFF
LOOP STUDIO2 bars
SCORE LIVE
1.1
0:00
TIMING

VELOCITY

PITCH

CLEANUP
MIXER6 Channels
DRUM SEQUENCER808 · 16 Steps
EFFECTS RACK8 Buses
MASTEREQ · COMP · REVERB