Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Maolan Features

Last updated: 2026-07-09

Maolan is a modern open-source digital audio workstation designed for flexible music production, deep MIDI editing, powerful routing, and transparent development.

Core DAW Workflow

  • Multi-track audio + MIDI session editing
  • Track selection, reordering, resizing, and rename
  • Session template save/load
  • Track template save/load
  • Session save/open/save-as
  • Recent session tracking
  • Session metadata editing:
    • Author
    • Album
    • Year (unsigned)
    • Track number (unsigned)
    • Genre

Clip Editing

  • Audio clip and MIDI clip placement on timeline
  • Clip select/multi-select and marquee selection
  • Clip drag-and-drop move/copy across tracks
  • Clip group / ungroup on same-track, same-type selections
  • Nested clip groups preserved on save/load and restore on ungroup
  • Clip edge resize (left/right); MIDI clips can be extended past their content length (empty tail), audio clips are bounded by source length
  • Clip fade-in/fade-out resize
  • Clip mute/unmute
  • Clip rename
  • Clip middle-click split at cursor/snap point
  • Grouped clips cannot be split until ungrouped
  • MIDI clip double-click opens piano roll
  • Audio clip double-click opens per-clip plugin graph on Unix
  • Per-clip FX/plugin graph for audio clips:
    • Separate from the track plugin graph
    • Stored per clip in session data
    • Applies after grouped-child summing and clip fades in the current render path
    • Supports CLAP, VST3, and LV2 on supported Unix builds
  • Audio clip pitch-correction editor
  • Pitch-correction workflow:
    • Open from the audio clip context menu when transport is stopped
    • Analyze source material with per-session cached pitch scans for fast revisits
    • Reopen existing clip correction without re-analyzing when correction data is already saved on the clip
    • Tune detection granularity using frame-likeness (0.05–2.00) merge behavior
    • Manual pitch-segment retargeting with click, shift-click, marquee select, and grouped vertical drag editing
    • Double-click snap-to-nearest-note for one or many selected pitch segments
    • Local pitch-correction undo/redo history while editing
    • Adjustable inertia (0–1000 ms) for smoother pitch transitions between segments
    • Optional formant compensation in render path
    • Apply pitch correction from full clip or selected source offset/length window
    • Non-destructive clip workflow: edits stay local to the editor until Apply writes them back to the clip
    • Real-time pitch-shift playback after Apply
    • Offline pitch-corrected freeze preparation using timestretch preview renders
  • Audio warp markers with reset / half-speed / double-speed helpers

Folder Tracks

  • Folder tracks for hierarchical track organization
  • Collapsible/expandable folder view in the track list
  • Child tracks route through the folder track and are connectable to folder plugins
  • Folder track plugin graph for processing the summed child output
  • Child strips in the mixer and live view show highlighted top and bottom edges when their immediate parent folder is selected; the far-right child also gets a highlighted right edge
  • Track-to-folder plugin connections and disabled folder-output feeds
  • Folder track templates that save the full child subtree recursively

Timeline Markers and Arrangement Aids

  • Per-track editor markers
  • Marker create / rename / move / delete workflow
  • Snap-aware marker placement and marker dragging
  • Snap-to-clip start/end for clips, loop, punch, and markers
  • Ruler playhead seek
  • Loop range set/clear
  • Punch range set/clear

Take Lanes and Comping

  • Overlap-based take lane stacking
  • Set active take
  • Cycle to next active take
  • Unmute all takes in range
  • Take lane pin/unpin
  • Take lane lock/unlock
  • Take lane move up/down
  • Dedicated Comp tool with swipe comping

Automation

  • Track automation lanes:
    • Volume
    • Balance
    • Mute
  • Plugin automation lanes:
    • CLAP parameters
    • VST3 parameters
    • LV2 parameters (Unix)
  • Lane point insert/delete/edit
  • Automation ramp drawing
  • Automation lane editing with MIDI-style gestures (right-drag to draw ramps, click to insert points)
  • Automation modes:
    • Read
    • Touch
    • Latch
    • Write
  • Automation writeback from manual control changes
  • Plugin automation lane creation from loaded plugin parameters

Modulators

  • LFO-style modulators per session
  • Modulator shapes: Sine, Triangle, Saw, Square, Sample & Hold
  • Rate modes: Hz or musical divisions (beat, bar, etc.)
  • Per-modulator phase offset and enable toggle
  • Assign modulators to track parameters, plugin parameters, and MIDI controllers
  • Per-assignment min/max range scaling via the modulator target dialog
  • Modulators pane for creating, selecting, and editing modulators

Piano Roll / MIDI Tools

  • Note editing and selection
  • Velocity/controller editing
  • SysEx point create/edit/move/delete
  • Quantize
  • Humanize (time + velocity)
  • Groove (swing)
  • Scale snap
  • Chord generation
  • Legato
  • Velocity shaping
  • MIDI note snapping
  • Configurable scale root / major-minor mode
  • Configurable chord type
  • Configurable groove, humanize, and velocity-shape amounts

Timing and Transport

  • Tempo and time-signature timeline editing
  • Tempo/time-signature points add/move/delete/duplicate/reset
  • Numeric tempo/time-signature input with validation
  • Play/pause/stop/record transport control
  • GUI transport shortcuts for rewind-to-start/end, session record arm toggle, and panic
  • CLI transport shortcuts for rewind-to-start/end and panic
  • Toolbar panic button for hardware MIDI outputs (CC64=0, CC120=0, CC123=0)
  • Metronome enable/disable with visual icon
  • Clip playback enable/disable at transport level

Step Recording

  • Step recording mode in the piano roll
  • Toggle step recording from the MIDI editor toolbar (Step button)
  • Each incoming MIDI note is inserted at the step cursor and advances the cursor by the current MIDI snap interval
  • Step cursor drawn in the piano roll while the mode is active

Live Session View

  • Clip-launch grid modeled after Ableton Live
  • Switch between Workspace and Session view with Tab or the toolbar
  • Each row is a track; each column is a scene
  • Slots reference arrangement clips by stable clip ID
  • Launch/stop slots with click or Return
  • Launch scenes by clicking the Master column scene slots; the clicked scene is selected (while stopped, it starts on the next play; while playing, it launches when the current scene finishes)
  • Per-scene tempo changes on launch
  • Stop all clips with Shift+Space or the master stop column
  • Move, duplicate, and copy slot references between slots and the arrangement
  • Assign arrangement clips to session slots
  • Clear a slot’s clip with middle-click on the slot
  • Child strips show highlighted top and bottom edges when their immediate parent folder is selected; the far-right child also gets a highlighted right edge (same cue as the mixer)
  • Import the arrangement into the session grid
  • Record session clips into the arrangement (Rec to Arr)
  • Record directly into a slot
  • Scene options: rename, set color, set per-scene tempo, change launch quantization
  • Track strip with mute, solo, arm, volume, and pan controls

Freeze / Commit / Flatten

  • Per-track freeze/unfreeze
  • Freeze rendering with progress + cancel
  • Reversible frozen backups
  • Flatten frozen track (keep rendered audio, drop backups)
  • Freeze guardrails around mutable track operations

Routing and Mixing

  • Track controls:
    • Arm
    • Mute
    • Solo
    • Input monitor
    • Disk monitor
    • Phase invert
  • Aux return creation from selected tracks
  • Aux send controls:
    • Level adjust
    • Pan adjust
    • Pre/Post fader toggle
  • Track audio/MIDI passthrough defaults
  • Per-track plugin graph routing for:
    • Audio
    • MIDI
    • Sidechain / auxiliary plugin ports
  • Plugin window lifecycle and focus management

Plugins and Integration

  • CLAP plugin scan/load/unload/state restore/UI
  • VST3 plugin scan/load/unload/state restore/UI
  • LV2 plugin scan/load/unload/state restore/UI (Unix)
  • Plugin graph and per-track routing management
  • Mixed plugin graph session/template restore
  • Plugin parameter automation for loaded plugins
  • Offline plugin bounce path for freeze/export workflows
  • Plugin blocklist (~/.config/maolan/plugin-blocklist.json) to hide problematic plugins from scans

Export and Render

  • Mixdown and stem export (selected tracks)
  • Stem modes:
    • Pre-fader
    • Post-fader
  • Real-time fallback render mode
  • Export master limiter + dBTP ceiling
  • Normalization modes:
    • Peak
    • Loudness
  • Multi-format export in one run:
    • WAV
    • MP3 (via ffmpeg)
    • OGG (Vorbis, via ffmpeg)
    • FLAC
  • Dither options for integer PCM export:
    • None
    • Rectangular
    • Triangular (default)
  • Codec settings:
    • MP3 mode (CBR/VBR) + bitrate
    • OGG quality
  • Metadata tagging on supported formats:
    • MP3 (ID3 fields used by current encoder path)
    • OGG Vorbis comments

Control Surface and OSC

  • mixosc integration for OSC-based mixing control
  • Behringer X32 dedicated view

AI Audio Generation

  • HeartMuLa text-to-audio generation through maolan-generate
  • Prompt / lyrics driven generation with optional style tags
  • Burn backend options:
    • CPU
    • Vulkan
  • Model options:
    • happy-new-year
    • RL
  • Burn generation controls:
    • CFG scale
    • Steps
    • Top-k
    • Temperature
    • ODE steps
    • Decoder seed
    • Output --length in milliseconds
  • Decode-only mode from a saved frames JSON
  • Decode-only CPU worker override with --decode-threads
  • Hugging Face cache-backed model resolution for the current Burn repos:
    • maolandaw/HeartMuLa-happy-new-year-burn
    • maolandaw/HeartMuLa-RL-oss-3B-20260123
    • maolandaw/HeartCodec-oss-20260123-burn
  • Local model directory override with --model-dir

Example maolan-generate invocation:

cargo run -p maolan-generate --release -- \
  --model happy-new-year \
  --backend vulkan \
  --tags "ambient, cinematic, downtempo" \
  --length 12000 \
  --cfg-scale 1.5 \
  --topk 50 \
  --temperature 1.0 \
  --ode-steps 10 \
  --output output.wav \
  --lyrics "stars drift over the late train home"

Expected model assets:

  • HeartMuLa repo: heartmula.bpk, tokenizer.json, gen_config.json
  • HeartCodec repo: heartcodec.bpk

Media Management and File References

  • Collect/consolidate external media and plugin file references into the session’s data/ directory
  • Delete unused session media files from audio/, midi/, peaks/, and pitch/
  • Clips deleted from tracks are kept in a session-level unused pool (shown in the Clips pane) until File → Delete unused files removes them permanently
  • CLAP and LV2 file-reference support: plugins can declare external file references and Maolan updates them to session-relative data/ paths on consolidate
  • Consolidation makes sessions safer to move or share

Session Safety and Recovery

  • Dirty-state tracking
  • Close guard for unsaved changes
  • Periodic autosave snapshots
  • Startup autosave recovery prompt
  • Recover latest or older autosave snapshot
  • Recovery preview summary
  • Fallback to older snapshots on recovery failure
  • Startup recovery hint from last opened session

Diagnostics and Tooling

  • MIDI mappings report
  • MIDI mappings import/export/clear-all
  • Preferences saved to ~/.config/maolan/config.toml
  • Recent sessions menu

MIDI Learn and Control Surface Features

  • Track MIDI learn targets:
    • Volume
    • Balance
    • Mute
    • Solo
    • Arm
    • Input monitor
    • Disk monitor
  • Global MIDI learn targets:
    • Play/Pause
    • Stop
    • Record toggle
  • Mapping persistence in session
  • Collision/conflict protection

Widgets and UI Components

  • arch_slider with adjustable arc shape
  • Slider on_release option for both horizontal and vertical variants
  • Stretchable ticks and meters that fill available space

Platform Notes

  • Linux and FreeBSD builds support CLAP, VST3, and LV2.
  • Windows builds support WSAPI backend, CLAP, and VST3.
  • macOS builds refresh CLAP and VST3 plugin support paths; LV2 is Unix-only in the current codebase.
  • Linux and FreeBSD builds run on Wayland when available and fall back to X11 (Xorg) when Wayland is unavailable.
  • Plugin UI embedding on Unix still uses X11, so an X11 server must be reachable even under Wayland (for example via XWayland).
  • FreeBSD roadmap notes still mark MIDI 2.0 as N/A.

Known Boundaries

  • Plugin compatibility is still a real-world host-interop concern, especially across unusual plugins.
  • Many core behaviors are unit-tested, but editor-hosting and plugin-integration paths are still more integration-heavy than fixture-heavy.