Piano Roll, Playback & Post-Processing

Audition generations in a dual-mode piano roll with chord detection, then polish with the Raw/Clean/Enhance post-processing pipeline.

Visualization

Piano Roll & Playback

Every generation appears in a built-in piano roll with instant playback. You can preview, inspect, and compare your MIDI before exporting it to your DAW — no other instrument required. Playback uses Aether's bundled Headroom Piano, a sampled grand played through the sfizz SFZ engine with a reverb stage so auditions sound finished rather than dry. Because Aether also outputs MIDI, you can route generations to any instrument in your DAW instead.

Dual-Mode Visualization

  • Horizontal mode — Ableton-style left-to-right piano roll with a vertical keyboard on the left edge
  • Vertical mode — Synthesia-style falling notes, great for previewing melodies and chord voicings
  • Toggle between modes with one click on the view switcher

Visual Features

  • Velocity-driven coloring — note brightness and saturation scale with velocity using your selected accent color
  • Real-time chord detection — chord names overlay the piano roll as the playhead moves (28 chord templates from power chords and triads through 7ths, 9ths, 11ths, and 13ths, with inversion awareness and slash-chord notation)
  • Beat grid overlay — bar lines, beat divisions, and sub-beat lines at high zoom levels
  • Glowing playhead — accent-colored playhead with a soft glow effect
  • Mouse wheel zoom — scroll to zoom in and out of the timeline
  • Sustain pedal visualization — subtle 1px lines showing CC64 sustain events

Transport Controls

  • Play / Pause — start and stop playback (Space bar)
  • Stop — reset to beginning (Escape)
  • BPM override — change tempo after generation without re-generating
  • Save — export the current MIDI as a .mid file (Cmd+S)
  • Drag to DAW — drag the MIDI clip directly into your DAW

Polish

Post-Processing

Every generation can be heard three ways. A Raw / Clean / Enhancesegmented control on the transport bar sets how much polish Aether applies. Both the raw and the processed versions are computed the moment a generation arrives, so you can switch modes mid-playback for an instant A/B with no re-processing delay.

The Three Modes

ModeWhat You Hear
RawThe model's notes untouched, exactly as generated.
CleanSafety fixes only — out-of-range pitches corrected and overlapping notes resolved. Always musically safe, fine to leave on.
EnhanceEverything Clean does, plus the optional musical-polish toolset below. Configure it with the gear button next to the control.

Enhance Toolset (configure with the gear)

Each Enhance stage is independent and off by default — turn on only what you need.

StageControlWhat It Does
QuantizeStrengthSnaps note starts and durations to a multi-grid (16th, 8th-triplet, 16th-triplet, dotted-8th) so triplet and compound-time feels survive. Notes already within ~5ms of the grid are left alone to preserve micro-timing.
VelocityIntensityApplies a sigmoid contour that pulls extreme velocities toward a natural 25–115 range.
HumanizeAmountAdds subtle timing offsets to perfectly-quantized notes so the part feels played rather than typed. The first note is preserved.
Fix DissonanceOn / OffSnaps out-of-scale notes that clash (minor 2nd / major 7th) back into key. Off by default because it can rewrite a melody.

Always-On Safety (Clean & Enhance)

These run automatically in both Clean and Enhance — they fix errors, not artistic choices, so there's no toggle:

  • Safety clamping — pitches constrained to the piano range (A0–C8 / MIDI 21–108) and velocities to valid 1–127.
  • Overlap resolution — truncates an earlier note before a later note begins on the same pitch, eliminating stuck or overlapping notes.

Aether reports exactly what it changed (for example, "12 quantized, 8 humanized, 3 clamped, 2 overlaps fixed"), so the processing is never a black box.

Chord-Preservation Check

When you ask Aether to Enhance an imported MIDI clip, it verifies that the enhanced output still follows the original chord progression. If the harmony drifted too far, it automatically runs a single corrective retry — so polishing never quietly changes the chords you started with.