SG-323 product page
AvailableEffect

SG-323

The Stargate reverb, ROM tables and all.

Announced release

$59 preorder

View product details

You are in the live demo. Included formats, release status, and downloads live on the product page.

About

The Ursa Major Stargate 323 and its 626 sibling were digital reverberators from the early 1980s, and this module reconstructs one rather than designing a new one: same parameter set, same ranges and defaults, same signal chain, same EPROM tables, same quirks, carried into a compiled kernel. The face follows the machine's front panel - the program list, the six knobs, the two switches, the RVBCLR button - and ships no logo or store links.

The deliberate departures from the hardware's behaviour are written down rather than discovered later. The feedback recirculation delay is pinned at 128 samples instead of drifting with the host's block size, the smoothers and input filters run on that same fixed virtual block, the noise generator is a seeded xorshift so a render is reproducible, and the sample rate is pinned at 48 kHz. Every one of those exists so the result is testable; the full list is in the design document beside the module.

What has been proven so far, precisely: the compiled kernel agrees with its TypeScript oracle and its native build to a maximum drift of zero across the three lanes, the built VST3 passes the Steinberg validator at 47 tests passed and none failed, and a host render is exact at both 128- and 127-frame blocks. A listening comparison against the hardware has not been run.

What is not proven, stated plainly: there is no in-browser evidence yet. No AudioWorklet lane has been generated for this module and no plug-in release is served, so the module is listed as coming soon with no playable format claimed. Those are the next gates, not an oversight in the copy.

System requirements.

The downloadable SG-323 release supports the hosts and systems listed below.

  • VST3macOS · arm64

    Works in Ableton Live, Reaper, Cubase, Studio One, Bitwig and FL Studio.

Version 0.0.0

Build evidence

Every row below is a recorded build row or the recorded absence of one. Nothing here is inferred from what this module is meant to support.

Module
music.codex.sg-323 v0.0.0
Built at
Closure hash
b105f043ca63…
Toolchain
  • scriptc 64acce1ae3b8…
  • moduleToolchainDist c621ffab721d…
  • pluginShellKitRuntime bca003784692…
  • faceShellGeneration 8533207ab81f…
  • uiPreservation cd28dbd7e3d6…
  • packagerVersion 3
Build result and download for each format
FormatResultDownload
Browser package (JS)
Builtweb

bundle sha256 f71cc25069a9… · 499 KB

Built, but no downloadable archive was recorded.
Browser package (WASM)
Builtweb

bundle sha256 7b3436ccf4c4… · 2.7 MB

Built, but no downloadable archive was recorded.
VST3
Builtdarwin-arm64Steinberg validator + VST3 host render: passed

bundle sha256 7a71fe64da5d… · 2.6 MB

CodexSg323-vst3-darwin-arm64.zip

archive sha256 4438b03178ff… · 2.6 MB · darwin-arm64

Audio UnitNot built

no recorded artifact row for au; native-lane-report.json is absent or records no au row for this module

Not built for macOS
CLAPNot built

no recorded artifact row for clap; native-lane-report.json is absent or records no clap row for this module

Not built for macOS, Windows or Linux
Standalone appNot built

no recorded artifact row for standalone; native-lane-report.json is absent or records no standalone row for this module

Not built for macOS, Windows or Linux

Parity

browser-js = browser-wasm = vst3 qualified against their own recorded digests. Not recorded: au, clap, standalone.

Presets

Start from a named sound, then adjust the instrument to make it yours.

InitPlate 1Plate 2ChamberSmall HallHallLarge HallCathedralCanyonReverb 9Reverb AReverb BDelay CDelay DDelay EDelay FReverb 0

Signal graph.

Experimental

Migration fallback: approximated from parameter groups, not a runtime wiring diagram.

How it works.

The reverberator is a large block of delay memory - 65536 words, one word every 1/32000 of a second - written through a permuted address sequence rather than as a plain ring buffer. That permutation is what makes the tap spacings irregular, and it is the reason the sound is a room rather than a comb filter.

Twenty-three taps read out of that memory: fifteen return to the input as feedback, and eight are summed into the two output channels. Where each tap sits is not a design choice made here - the addresses come from the original machine's EPROM tables, carried across verbatim. Changing program swaps the table, which is why the sixteen programs are genuinely different rooms.

The taps move. A modulation clock walks the read addresses around their nominal positions, and the amount it walks is driven by the input level, so playing harder changes the character of the tail and not only its loudness. That is the machine's own behaviour, and the Input Gain control sits in front of it for exactly that reason.

Before anything reaches the memory the signal passes a first-order high-pass and a first-order low-pass - the controls the hardware called Low and High Frequency Decay. They shorten the tail at one end or the other by never letting those frequencies into the memory in the first place, which is not the same as filtering the output.

Two switches reproduce the hardware's converters. Vintage rounds what is written into the memory to 16 bits, and Noise adds a low white-noise floor under it. Both are on by default because both were unavoidable on the original; turning them off is the one thing this can do that the machine could not.

The kernel is compiled restricted TypeScript, so the same source runs on the host, in the native plug-in and as a WASM reactor. It processes at a fixed 48 kHz internally and a host at another rate goes through the shell's rate adapter, because the delay memory is allocated in samples when the instance is created.

Goes well with.

Preview

Reverb

Algorithmic room reverb with bounded feedback.

PreviewNot built for macOS, Windows or Linux

Sparklelizer

A stereo delay that shows each repeat as it moves across the beat.

$39 preorder
Preview

Parametric EQ

Six bands, a curve you can drag, and a bit-exact bypass.

Preview