Adaptive music middleware

Musical structure is your logic

Nest variations inside sequences inside layers inside repetition, and let the game modulate them.

Join the Alpha

Unity · GameMaker · Windows · macOS

Screenshot of Estua's interface, showing a sequence clip with nested audio clips and modulation connections
Clip types

Any order, any depth

Battle
Chords Loop
Chords
Tonic
C Major
A Minor
Subdominant
F Major
D Minor
Dominant
G Dom 7
Db Dom 7
Percussion Loop
Percussion
Latin
Drums
Melody

A looping chord progression that picks each chord from a set of variations, layered with percussion and a melody.

Inside every clip

The game drives the music

Your game SetVoiceParam(voice, danger, 0.30)
Exploration
Modulators
Dangernumber input→ Selection · Cutoff
LFO0.5 Hz→ Cutoff
Randomon trigger→ Feedback
Choice
Selection
CalmTenseCombat
Mixer
Filter
Cutoff1.6 kHz
Resonance
Delay
Time
Feedback
Gain
Gain

One clip opened up. Every clip has its own modulators and its own mixer.

Modulate anything

Each clip has its own modulators: game inputs, LFOs, randomness. They can drive any parameter in the clip, from a Choice's selection to a Notes clip's BPM, and pass values down to the clips nested inside.

Mix at every level

Each clip has its own mixer: filters, delays, compressors, synths and more. Its modulators reach those too, for dynamic mixing that follows the game.

In practice

Designed for your workflow

Save in Studio
↓
Build soundbanks
↓
Load it in game
Indecisive Battle.estua/
├─ document.json
├─ clips/
│  └─ 4c1e…b07a.json   modified
└─ assets/

-   "tail_start": 96000,
+   "tail_start": 105600,

Tails and pickups, handled

Every clip has a pickup, a body and a tail. Bodies line up on the beat, sample-accurately, so reverb rings out over the next section and pickups land before the downbeat.

No soundbanks, no export

The project you compose is the file the game loads. Nothing to build in between.

Made for version control

Plain JSON, one file per clip, with the audio alongside. Diff it, commit it, merge it: two people editing different clips don't conflict.

Engines & platforms

Plays in your engine

Unity
// on an EstuaPlayer component
player.TriggerClip("Battle", key);

// Player walks into the cave (hope there's a bonfire nearby)
player.SetVoiceParam(voice, danger, 0.8f);
GameMaker
estua = estua_create();
estua_load_included(estua, "indecisive_battle.estua");
estua_play(estua, "Battle", key);

// Player walks into the cave (hope there's a bonfire nearby)
estua_set_voice_param_number(estua, voice, DANGER, 0.8);
Engines
Unity and GameMaker, or your own engine through the C, C++ and C# SDKs. More engines are on the roadmap, so tell me which one you need.
Platforms
Windows and macOS
Consoles: not yet
Managed or yours
Estua opens and manages its own audio output, or renders inside your audio callback from C, C++ or C#.

Questions

Can it run alongside FMOD or Wwise?
Yes. Estua plays the music through its own audio output, which shares the sound card with other audio, so FMOD or Wwise can keep handling sound effects. That's how it runs in Unity and GameMaker today.
Can I ship a game with it?
Yes. It's an Alpha, so expect rough edges, and tell me when you hit one. Projects you make now are meant to keep loading in newer versions, and if one doesn't, that's a bug I'll fix.
What will it cost?
Nothing during the Alpha, and games you ship with an Alpha version stay free: no fees, no royalties. In the long run I'd like Estua to pay for itself. The model isn't decided, but it'll be indie-friendly, and Alpha testers get a say in it.
Can I hear changes while the game runs?
Not yet. Connecting Studio to the running game is the next big feature on my list. How soon depends on what Alpha testers need most.
What about consoles?
Not yet. Each console maker has a lengthy approval process for middleware, and it's not worth going through that for alpha software. Shipping a console game and want Estua on it? Get in touch, and it moves up the list.
Does Estua replace my DAW?
No. You compose and render in your DAW; Estua decides what plays when, and how it reacts to the game. Notes clips play on built-in synths, but there are no plug-ins and no rendering to file. It isn't meant to be a DAW.
Who's behind this?
One developer, building Estua on the side. I've spent years on real-time audio and visual software, and I love game music; Estua is my way of giving composers new tools for even better soundtracks. Since it's just me, your feedback directly shapes what comes next.

What do you need first?

Estua is early, and I'd rather build what you need than guess at it. Unreal support? Linux? Something I haven't thought of? Join the Alpha and tell me.

You'll get the download link by email. No spam, just updates on progress.