Documentation

Everything you need to know about using Aether — from first launch to advanced workflows.

Introduction

Overview

Aether is an AI co-producer plugin that generates production-ready MIDI from natural language descriptions. It runs inside your DAW as a VST3 or AU plugin, or as a standalone application. Describe what you want to hear — a chord progression, a melody, a bassline, a full arrangement — and Aether generates it with music theory intelligence.

Under the hood, Aether connects to your choice of 9 AI providers (or a local model running on your machine). Every generation is automatically saved to your MIDI Library, can be previewed with the built-in piano roll, and can be dragged directly into your DAW.

Available Formats

VST3AUStandalone

Supported Platforms

macOSWindowsLinux

Setup

Getting Started

Installation

Download the installer for your platform from the Aether product page. Run the installer and follow the prompts. The plugin will be installed to your system's default plugin directory:

PlatformVST3 LocationAU Location
macOS~/Library/Audio/Plug-Ins/VST3/~/Library/Audio/Plug-Ins/Components/
WindowsC:\Program Files\Common Files\VST3\N/A
Linux~/.vst3/N/A

First Launch

  • Open Aether in your DAW (load it as an instrument/MIDI effect) or launch the standalone app.
  • Select an AI provider from the dropdown at the top of the chat panel.
  • For cloud providers: click the gear icon, paste your API key, and click Save.
  • For local providers (Ollama or LM Studio): enter your server URL and click Refresh Models.
  • Type a description of the MIDI you want and press Enter or click Send.

API Keys

Cloud AI providers require an API key. You can get one from each provider's website — most offer free tiers or pay-per-use pricing starting at fractions of a cent per generation. API keys are stored securely in your system's keychain (macOS Keychain, Windows Credential Manager).

To add or update a key: click the gear icon next to the provider dropdown, paste your key, and click Save. Keys are encrypted in transit and never leave your machine.

Local Models (No API Key Required)

Aether supports fully offline generation with local AI models via Ollama or LM Studio. Install either application, download a model (we recommend at least a 7B parameter model for decent results), and Aether will auto-discover your available models.

ProviderDefault ServerModel Discovery
Ollamalocalhost:11434Auto-fetched via /api/tags
LM Studiolocalhost:1234Auto-fetched via /v1/models

License

Activation & Licensing

First Launch & Activation

Aether is gated until you activate it. On first launch you'll see an activation modal — until you enter a valid license key, the UI is disabled, audio output is muted, and MIDI output is dropped at the host.

Enter your license key and click Activate. Aether contacts the license server, registers your machine, and unlocks the plugin. Activation requires an internet connection the first time; after that, the license works offline.

Three Machines Per License

One Aether license activates on up to three machines. A machine is identified by a hardware fingerprint — no personal data, just a stable identifier derived from the device.

If you sell, reformat, or retire a machine, deactivate it from your account page to free a slot. Any of your three slots can be reclaimed at any time.

Offline Behavior

Once activated, Aether caches your license locally. You can use the plugin without an internet connection — AI generation still requires network access to reach your provider, but the license check itself is offline-capable.

Aether periodically re-validates the license in the background when the network is available. If a license has been deactivated remotely, the plugin returns to the gated state on next launch.

Settings Tab

Your current activation status, license tier, and machine fingerprint are visible in Settings → License. Open Settings with Cmd + ,(macOS) or the gear icon at the top of the chat panel.

Core Feature

Chat-Based MIDI Generation

Aether's primary interface is a conversational chat. Describe what you want in plain English and Aether generates the MIDI. You can be as vague or specific as you like — from "a dreamy lo-fi chord progression" to "Cmaj7 - Dm7 - G7 - Cmaj7 in 4/4, 80 BPM, 8 bars with arpeggiated right hand."

Multi-Turn Conversations

Every message you send includes the full conversation history, so the AI understands context from previous generations. This enables powerful iterative workflows:

  • "Make a jazz chord progression in Bb major" → generates initial MIDI
  • "Add a walking bassline" → layers bass over the existing chords
  • "Make bar 5-8 more tense" → refines a specific section
  • "Now transpose the whole thing down to Ab" → modifies the entire piece

MIDI References (A/B Slots)

Drop up to 2 MIDI files into the chat as reference material. Use them to combine, blend, remix, or provide context for the AI. The AI receives the full note data of your references and can work with them directly.

  • "Combine these two patterns into one" — merges A and B references
  • "Add a melody over this chord progression" — generates new content that fits reference A
  • "Make this feel more like a bossa nova" — restyles a reference

Creative Intent Parsing

Aether extracts creative intent directly from your natural language. You don't need to manually select every parameter — the AI understands keywords and phrases:

You SayAether Understands
"just a melody"Melody only — no chords or bass
"give me a bassline"Bass only texture
"chord progression"Chords only — no melody
"verse and chorus"Multi-section form with contrast
"add layers to this"Accompaniment over existing reference
"rework this"Reimagine existing MIDI material

Continuity

Provider Handoff

You can change AI providers at any point during a conversation without losing context. When you switch, Aether summarizes the conversation so far and automatically attaches that summary to your next message — so the new provider has the essentials of what's been generated.

A system bubble confirms the handoff: "Provider switched. Previous conversation context will be carried over."The summary is one-shot — it's injected into your next send and then cleared.

Useful when a different provider is better at a specific task — for example, starting a melody with Claude and switching to Grok to add a rhythm section while keeping the key, tempo, and feel consistent.

Parameters

Smart Controls

The parameter panel adapts to your current workflow with two states. When no MIDI is loaded, you see controls for fresh generation. When MIDI is present, the panel switches to editing and refinement controls.

State A — Fresh Generation

When starting from scratch, you can guide the AI with:

Genre (16 options)

Pop · R&B/Neo-Soul · Jazz · Lo-Fi/Chillhop · Pop Ballad · Cinematic/Film Score · Trap/Hip-Hop · Classical · Blues · Rock/Alt-Rock · Funk/Soul · Gospel · Bossa Nova/Latin · Ambient/New Age · Ragtime/Boogie · House/EDM

Mood (13 options)

Happy · Sad · Dark · Dreamy · Energetic · Nostalgic · Tense · Peaceful · Romantic · Angry/Aggressive · Melancholic · Triumphant · Mysterious

Texture (4 options)

Chords only · Chords + melody · Bass + chords + melody · Melody only

State B — Editing Mode

When MIDI is already loaded, the panel switches to refinement controls:

Action (7 options)

Enhance dynamics & expression · Add layers · Extend with new sections · Simplify/strip down · Reharmonize · Humanize · Combine with dropped MIDI

Restyle (10 options)

Make it jazzy · Darker · Brighter · Ballad feel · Add swing · More sparse · More lush · More rhythmic · Classical · Add groove/funk

Musical Parameters (Always Available)

ParameterRangeNotes
KeyAll 12 keys (C through B)Includes sharps and flats
Scale10 optionsMajor, Minor, Dorian, Phrygian, Lydian, Mixolydian, Aeolian, Locrian, Harmonic Minor, Blues
Time Signature6 options4/4, 3/4, 6/8, 5/4, 7/8, 2/4
Bars1 – 64Length of the generated clip
BPM20 – 999Tempo in beats per minute
Loop ModeOn / OffGenerates seamless loops suitable for layering
Lock to HostOn / OffSyncs BPM and time signature from your DAW (hidden in Standalone)

Advanced Generation

Pro Mode

Pro Mode is a two-stage generation pass. When enabled, Aether first asks the AI to plan your arrangement — structure, section lengths, layer assignments — then runs a second call that generates MIDI matching that plan.

Two passes produce noticeably tighter form for complex prompts: multi-section arrangements (verse/chorus/bridge), longer clips, and prompts where the arrangement structure matters as much as the notes.

How to enable

Click the Pro Mode toggle on the provider badge at the top of the chat panel. The toggle persists across sessions.

Graceful fallback

If the planning stage fails (network error, invalid response), Aether automatically falls back to standard single-pass generation without interrupting your workflow. You'll still get a result.

API usage

Pro Mode makes two API calls per generation instead of one, so it uses more of your provider quota. Disable it for quick sketches; enable it when structure matters.

Advanced Generation

Batch Generation

Batch generation produces two to five variations from a single prompt, each generated sequentially with slightly different sampling. Use it to explore options from one idea without re-prompting.

How to use

Toggle batch mode in the chat input bar and choose a variation count (2–5). Send your prompt as usual. Aether generates each variation one after the other with a live progress indicator showing the current variation.

Switching between variations

When the batch completes, a picker appears above the chat showing numbered buttons (1, 2, 3…). Click any variation to load it into the piano roll and transport. The library auto-saves all variations so you can recover any of them later even if you move on.

Cancel mid-batch

Click Cancel in the status bar to stop the batch at any point. Variations that already completed are kept; the rest are skipped.

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.

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 (25+ chord templates including inversions, slash notation, and extended chords through 13ths)
  • 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

Smart Post-Processing

Aether includes a toggleable post-processing pipeline that automatically polishes every generation. Toggle it on or off with the Q button on the transport bar. When enabled, both raw and processed versions are computed simultaneously — you can A/B compare them in real time without interrupting playback.

Basic Processing

The four basic processors handle common cleanup tasks. Each is a simple on/off toggle.

StageWhat It Does
QuantizeSnaps notes to a multi-resolution grid (16th notes, 8th-note triplets, 16th-note triplets, dotted 8ths). Notes already within 5ms of the grid are left untouched to preserve intentional placement.
VelocityApplies sigmoid compression to push extreme velocities toward a musical 25–115 range, reducing harsh or inaudible notes.
HumanizeAdds subtle, randomized timing offsets to perfectly quantized notes, giving the output a more natural, human-played feel.
DissonanceIdentifies out-of-scale notes that form minor 2nd or major 7th intervals with neighboring notes and snaps them to the nearest scale tone.

Additionally, safety clamping (pitch to A0–C8, velocity 1–127) and overlap resolution (truncating earlier notes before later notes on the same pitch) are always applied automatically.

Advanced Processing

Below the basic toggles, five advanced processors provide deeper musical intelligence. These are context-aware — they use your creative intent, genre, and song structure to make musically informed decisions.

StageWhat It Does
Groove QuantizerApplies genre-specific micro-timing adjustments to create authentic groove feel. Uses per-genre timing tables — Jazz/Swing emphasizes the 3rd and 7th eighth-note positions, Hip-Hop applies complex varied swing, Latin adds syncopation patterns. Works alongside standard quantization to add musical feel without losing rhythmic precision.
Layer EnforcerIsolates specific instrumental layers based on your creative intent. In Melody Only mode, it keeps only the highest voice at each timestamp. In Chords Only mode, it detects and removes independent melody lines sitting above chord voicings. In Bass Only mode, it isolates the lowest register. Includes a safety check — aborts if it would remove more than 80% of notes.
Chord ToneEnsures melody notes on strong beats (beats 1 and 3) are harmonically valid against the underlying chords. Analyzes the chord voicing at each strong beat, checks if the melody note is a chord tone or acceptable scale tone, and snaps non-harmonic notes down to the nearest chord tone if needed. Preserves scale tones as valid tension — only corrects notes that truly clash.
Voice LeadingSmooths chord transitions by fixing awkward voice jumps. Analyzes consecutive chord voicings and identifies any voice that jumps more than 7 semitones between chords. When found, it searches for an alternate octave of that pitch class that sits closer to the previous voicing, creating smoother, more natural progressions without changing the chord quality.
Genre HumanizerAdds dynamic velocity variation based on song structure. Detects sections (verse, chorus, bridge) from the AI's structural analysis, then applies velocity multipliers — choruses get a 10% boost for energy, verses get a 15% reduction for intimacy. Skips processing if the output already has good dynamic variation (standard deviation ≥ 8).

A/B Comparison

Both raw and processed MIDI buffers are pre-computed the moment a generation arrives. Toggle the Qbutton to hot-swap between them mid-playback — there's no re-processing delay. This lets you decide instantly whether the polished version sounds better or if you prefer the raw AI output.

Organization

MIDI Library

Every MIDI clip Aether generates is automatically saved to your local MIDI Library with full metadata. Think of it as a searchable history of every idea you've ever generated — nothing is lost.

Library Features

  • Auto-save — every generation is saved as a .mid file the moment it's created
  • Star ratings — rate clips from 0 to 5 stars with an interactive hover preview
  • Favorites — mark clips as favorites and filter to show only favorites
  • Tags — add custom tags to any clip for organization
  • Search — search clips by name or tag
  • Sort — by date (newest/oldest), name, rating, or duration
  • Rating filter — show only clips above a certain star rating

Per-Clip Actions

ActionDescription
PreviewPlay back the clip directly from the library
LoadLoad the clip into the piano roll for viewing and editing
Send to ChatSend the clip's MIDI data to the chat as context for further AI editing
Generate VariationAsk the AI to create a variation of this clip
Show in FinderOpen the containing folder on disk
RenameClick the clip name to rename it inline (also renames the .mid file)
DeleteRemove the clip from the library and disk

Input

Live MIDI Capture

Record MIDI from any connected controller or from your DAW's MIDI routing. Aether captures the incoming notes and automatically analyzes what you played.

Auto-Analysis

After capturing, Aether instantly analyzes your performance and detects:

  • Key — the most likely key of the captured material
  • Chords — chord names and progressions detected from the note data
  • Texture — classification of the playing style (melody, chords, bass, mixed)
  • Density — how many notes per beat, useful for understanding complexity

Send to Chat

After capturing, send the recorded MIDI directly to the chat as context. Ask the AI to harmonize it, add accompaniment, extend it, restyle it, or use it as a reference for generating something new.

Models

AI Providers

Aether works with nine AI providers — seven cloud, two local. Switch between them at any time without leaving the chat. Every provider fetches its model list live when you open the picker, so what you see is whatever the provider has available right now.

Cloud Providers (API Key Required)

Aether supports seven cloud providers. Every provider fetches its current model list live when you open the model picker — so you always see what's available from the provider, and there's no version list for us to keep up to date.

  • Grok (xAI) — api.x.ai
  • ChatGPT (OpenAI) — api.openai.com
  • Claude (Anthropic) — api.anthropic.com
  • Gemini (Google) — generativelanguage.googleapis.com
  • DeepSeekapi.deepseek.com
  • OpenRouter — aggregator, exposes models from many providers under one key
  • Hugging Face — inference API for open-weight models

Your API key is stored securely — macOS Keychain by default, obfuscated local storage on Windows and Linux.

Local Providers

ProviderServer AddressHow It Works
Ollamalocalhost:11434Auto-discovers installed models. No API key needed. Runs fully offline.
LM Studiolocalhost:1234Auto-discovers loaded models. No API key needed. Runs fully offline.

Structured Output & Resilient Parsing

Where the provider's API supports it, Aether uses native structured-output schemas to constrain the response shape. Where it doesn't, the prompt itself enforces JSON output. Either way, a resilient parser auto-repairs the most common LLM formatting quirks — missing velocity, extra fields, out-of-range values, millisecond-scale timestamps, inline arithmetic, and tempo estimation from note onsets.

Customization

Custom System Prompts

Aether lets you define a custom system prompt that's appended to every AI request. Use this to lock in your preferred style, enforce specific harmonic conventions, or set creative rules that persist across all generations.

Use Cases

  • "Always use jazz voicings with 7ths and 9ths" — enforces harmonic preferences
  • "Keep melodies within a one-octave range" — constrains output style
  • "Use syncopated rhythms and avoid landing on beat 1" — shapes rhythmic feel
  • "Write in the style of Bill Evans" — sets an artistic reference point
  • "Never use notes below C3" — restricts the pitch range for specific instruments

How to Set It

Open Settings (gear icon or Cmd + ,) and find the Custom System Prompt field. Enter your instructions and they'll be included in every request to the AI from that point forward. Leave it empty to use the default behavior.

Efficiency

Keyboard Shortcuts

ShortcutAction
SpacePlay / Pause
EscapeStop playback
Cmd + ZUndo
Cmd + Shift + ZRedo
Cmd + SSave MIDI file
Cmd + ,Open Settings
Cmd + 1Switch to Generate tab
Cmd + 2Toggle MIDI recording
Cmd + 3Toggle Library panel
Cmd + ReturnSwitch to Generate tab
Shift + EnterNew line in chat input
EnterSend message
Cmd + Shift + JOpen MIDI-to-JSON dev tool (debug builds)

Workflow

DAW Integration

Loading in Your DAW

Load Aether as a virtual instrument or MIDI effect on any track. It works with all major DAWs:

  • Ableton Live — drag Aether from the Plug-ins browser onto a MIDI track
  • Logic Pro — add Aether as an AU instrument on an instrument track
  • FL Studio — add Aether to the channel rack as a VST3 generator
  • Pro Tools — insert Aether as a virtual instrument on an instrument track
  • Cubase / Nuendo — add Aether as a VST3 instrument on a MIDI or instrument track
  • Reaper — insert Aether as a VSTi on any track
  • Studio One — add Aether as an instrument via the browser
  • Bitwig Studio — add Aether as a VST3 instrument

Drag to DAW

Once you've generated a MIDI clip you like, drag it directly from Aether into your DAW's arrangement view. Click and hold the drag handle on the transport bar, then drop it onto any MIDI track. The clip is exported as a standard .mid file that any DAW can read.

Lock to Host

When enabled, Aether syncs its BPM and time signature from your DAW's transport. This ensures every generation matches your project tempo without manual adjustment. The Lock to Host toggle is hidden in Standalone mode since there's no host to sync with.

Helper Daemon (Plugin Mode)

Most DAWs sandbox their plugins and block direct network access. Aether solves this with a lightweight helper application that runs in the background and proxies API calls on the plugin's behalf.

  • Auto-launches on your first API call — no manual setup required
  • Communicates with the plugin over a local TCP connection (localhost only)
  • API keys are AES-encrypted in transit between the plugin and helper
  • In Standalone mode, Aether calls APIs directly — no helper needed

History

Undo & Redo

Aether maintains a 10-level history stack. Each snapshot stores the complete state: raw MIDI buffer, processed MIDI buffer, JSON data, tempo, and time signature. Undo and redo are instant — there's no re-processing.

  • Undo: Cmd + Z
  • Redo: Cmd + Shift + Z
  • History persists for the duration of the session
  • Each generation, edit, or parameter change creates a new snapshot

Appearance

Theme & Appearance

Aether ships with a dark theme designed for low-light studio environments. You can customize the accent color to match your preference.

Accent Colors

Cyan
Purple
Orange

The accent color affects note coloring in the piano roll, playhead glow, active tab indicators, and interactive UI elements throughout the plugin.

Help

Troubleshooting

No response from AI

  • Verify your API key is entered correctly (Settings → gear icon next to provider)
  • Check that you have a valid internet connection (not needed for local providers)
  • Try switching to a different model — some models may be temporarily unavailable
  • For local providers, ensure Ollama or LM Studio is running and has a model loaded

Helper daemon not starting (plugin mode)

  • The helper auto-launches on your first API call. If it fails, go to Settings → Start Helper
  • Ensure no firewall is blocking localhost connections on port 58274
  • In Standalone mode, the helper is not needed — Aether calls APIs directly

MIDI output sounds wrong

  • Try enabling post-processing (Q button) to quantize and clean up the output
  • Check that the key and scale parameters match your project
  • Try a different AI model — some models produce better musical output than others
  • Use the A/B comparison to check if the raw output is better than the processed version

Plugin not appearing in DAW

  • Run a plugin rescan in your DAW's preferences
  • Ensure the plugin file is in the correct directory for your platform (see Installation section)
  • On macOS, check System Preferences → Security & Privacy if the plugin was blocked

Activation fails

  • "No internet" — activation requires a network connection the first time. Check firewall/VPN settings.
  • "Invalid key" — verify you've copied the full key with no trailing whitespace. Check the email receipt.
  • "All slots used" — you've activated on three machines. Deactivate an unused machine from your account page to free a slot.
  • Activation stuck on "Contacting server…" — check your system clock is correct (license tokens are time-sensitive).