EDGEWAVE / DOCS

A2 Mix

Status: built 2026-10-16, hand test pending. Several sounds on one timeline, each with its own edits and effects, rendered to one WAV.

What is built

Part Where
Version 2 of the sound document: tracks, each a source with its own edits, start, gain, pan, rate, mute, solo and effects; a master with gain and effects. An A1 document opens as one track and is written as version 2 at its next change src/doc.ts
The mix’s arithmetic (which tracks are heard, where the mix ends, reverb tails), the effects’ parameters and the presets, pure, with unit tests src/audio/mix.ts, test/
The audio graph: per track the edited clip at its rate, its effects, gain and pan; then the master. Playback and render build the same graph, so what is heard is what is rendered webview/graph.ts
The page: the mix lanes and the selected track’s controls above A1’s clip editor; Edits, Effects and Master panes below; Render in the Mix bar webview/editor.ts, media/editor.css
Add Sound…: a quick pick over the game’s sound effects (REDcode’s index, by event name or tag, then the variation), a game file by path, or a sound file src/editor.ts
Effect Parameters
EQ Low shelf at 250 Hz, peak at 1.5 kHz, high shelf at 4 kHz, in dB
Low-pass, high-pass, band-pass Frequency, Q
Reverb Decay (seconds), mix. A generated room, the same on every render
Distortion Amount
Compressor Threshold, ratio
Preset Chain
Radio High-pass 300 Hz, low-pass 3.4 kHz, EQ mid +4 dB, distortion 0.25, compressor
Holocall High-pass 400 Hz, low-pass 5 kHz, EQ, light distortion, short reverb
PA speaker High-pass 250 Hz, low-pass 4.5 kHz, distortion, 1.4 s reverb
Muffled through a wall Low-pass 600 Hz, EQ, short reverb

A preset replaces the chain it is applied to; every value stays editable, and each effect can be bypassed or removed.

Not in A2, as agreed: pitch without changing speed (Rate changes both together). The render writes WAV only; the game’s formats are A3.

Tests

The unit tests, the smoke test and the hand test, with its steps and every round’s results, are in Tests.