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.