Astral Portal

A modular instrument built on a native audio engine

BetaAudio & MusicmacOSWindows

Astral Portal started as a browser instrument and outgrew the browser. Web Audio cost us roughly 25 ms of latency, 190 ms of pitch lag, and a garbage collector that could interrupt a take. So we wrote the engine again — natively, in C++ on JUCE 8 — and kept the interface that people already knew.

The result is a host-agnostic core: a lock-free command queue between the control thread and the audio thread, a click-free mixer, and a node graph that the sequencer, the sampler and the effects all plug into. The same engine is the foundation for every other audio product we ship.

On top of that core sits the part you actually touch: a generative sequencer whose grid cells can be Euclidean, scaled, arpeggiated, probabilistic, ratcheted or polyrhythmic; a sampler where any sample plays in time by default; and a Scene Rack that holds sources, per-source EQ with live spectrum, key and BPM detection, circular macro controls, and automation recording.

At a glance

Engine
JUCE 8 · C++17
Latency
Native buffer, no worklet overhead
Formats
Standalone app
Platforms
macOS (universal), Windows x64

What it does

Native audio core

JUCE 8 / C++17 engine with a lock-free control→audio queue. No GC pauses, no worklet limits.

Generative sequencer

Euclidean, scale, arpeggiator, probability, ratchet and polyrhythm nodes — all placed directly on the step grid.

Sampler that stays in time

Every sample is beat-synced by default: the transport always runs, periods snap to powers of two, phase is locked. Switch it off per sample.

Scene Rack

Sources, per-source EQ with live spectrum, BPM and key detection, circular macro sliders, automation recording.

Built for both desktops

macOS and Windows are built from one tree — the Windows binary cross-compiles from a Mac.