Most conversations about MPE in the DAW world revolve around the big names: Ableton Live, Logic Pro, Bitwig Studio, Cubase. This week brought a different kind of milestone. Ethereal, a young open-source DAW written in Rust, merged a pull request on October 3 that adds comprehensive MPE support to its development branch.

It is a small project at an early stage, so this is not a "switch your DAW" story. It is, though, a useful look at what a modern host needs to do to take per-note expression seriously from day one.

What Ethereal is

Ethereal describes itself as an Ableton-style DAW released under the GPL-3.0-or-later license. The audio engine is written in Rust and compiles natively for macOS, Windows, and Linux, as well as to WebAssembly. The interface is built with React and TypeScript, wrapped in Tauri for the desktop and also runnable in a browser. Built-in devices include a synth, a sampler, a compressor, and a delay, and the project can host CLAP plugins.

The repository is candid about where things stand: the project is in a scaffold phase, with core contracts established and plenty of logic still being filled in. Treat it as something to watch and, if you write Rust or TypeScript, perhaps contribute to, rather than something to book a session in.

What the MPE pull request adds

According to the merged pull request, the new support covers a full per-note expression pipeline:

Two items were still listed as pending when the change landed: an Audio Unit MPE MIDI fallback, and testing with real hardware input. That second point matters. Anyone who has debugged MPE knows that a pipeline that passes unit tests can still behave strangely when a real controller floods it with continuous data from several fingers at once.

A small benchmark worth noting

The pull request also includes a tiny performance comparison: processing 16 voices took about 324 ms without per-note expressions and about 302 ms with them in the project's test. In other words, the expression layer showed negligible overhead in that scenario. It is a synthetic test and not a verdict on real-world sessions, but it supports a point MPE developers often make, which is that per-note data is lightweight compared with the audio it shapes.

Why this matters for the MPE ecosystem

There are three reasons to pay attention.

First, MPE is becoming a baseline expectation. A new DAW project, even one at scaffold stage, decided that per-note recording, editing lanes, and plugin delivery belong in the foundation rather than a later add-on. That is a notable shift from the era when MPE was a patch bolted onto a host.

Second, CLAP is proving its worth. The CLAP format has native support for per-note expressions, which makes it a natural fit for expressive hosts. If you want the background, our earlier piece on note expressions in CLAP covers how that differs from MPE channel tricks.

Third, open-source hosts widen who can experiment. Researchers, students, and instrument builders can read exactly how a host maps pitch bend, pressure, and slide onto voices. That transparency is valuable for anyone designing a new controller or teaching how MPE works.

What to watch next

If you want to follow along, the Ethereal repository is the place to start, and the MPE pull request is a readable walkthrough of the design choices. The things worth watching are hardware testing with controllers like the LinnStrument or Osmose, AU support on macOS, and whether the project's expression editing becomes polished enough for daily use.

For now, the takeaway is simple: per-note expression is moving from a feature to a foundation, and even brand-new hosts are being built that way.