Repository navigation
v1.2.9
Download
Ready to run - the filters are already inside. Unzip, run aura-engine.exe, drop a track on it. The app opens on the filter that came with it.
| Bundle | Filter | Output rates | Size | |
|---|---|---|---|---|
| Compact | 5k taps | every FS multiplier (FS2-FS16) | 7 MB | Download |
| Starter | 1M taps | every FS multiplier (FS2-FS16) | 135 MB | Download |
| Standard | 10M taps | FS8 (352.8 / 384 kHz) | 327 MB | Download |
| Reference | 30M taps | FS8 (352.8 / 384 kHz) | 967 MB | Download |
Unzip more than one into the same folder and the app offers every tap count you have.
Already have the filters, or want to build from source? The plain app zip is below, and the individual filter packs are on the 1.0.0 release.
Checksums (SHA-256)
552fe368e9ec92609cccd4aa3039571c312955285c6410415136a894e3c94fac aura-engine-v1.2.9-bundle-5k-windows-x64.zip
7dbbf1c5f5a68185b0631cc9b4513c438cc7794d82fcb882bcfa5126fb3c72d2 aura-engine-v1.2.9-bundle-1M-windows-x64.zip
d6d532096b51df86e71a76d410d8c06d880fc5bec85a476f9b4193997a8216a1 aura-engine-v1.2.9-bundle-10M-windows-x64.zip
3b969798ab58a97c1e2fd2d24a4c6fb5938ddb686aecb5da79355506f01a0750 aura-engine-v1.2.9-bundle-30M-windows-x64.zip
What changed in 1.2.9
The decoder was clipping the input.
A lossy format does not promise to keep its peaks below full scale. MP3, AAC,
Vorbis and Opus decoders, and float WAV, legitimately produce samples above
1.0; a file that has been through MP3Gain with a positive gain does it on a
percent of its frames. This converter flattened every one of them at the door —
before DC blocking, before the filter, before the true-peak ceiling whose whole
job is to bring such a file down. CD rips, and any integer source, were never
affected.
The clipping was in two places, and fixing one was not enough. Ours: packets
were copied into an i32 buffer, and converting a float sample into i32 goes
through a clamp at ±1.0. Symphonia's: its own MP3 and Vorbis decoders clamped
inside the decoder, where no buffer choice of ours could reach. A packet now
goes straight into f64 — integer PCM divided by its own exact power of two,
the same bits as before, float samples widened rather than clamped — and
Symphonia moves to 0.6.1, where both decoder clamps are gone.
Measured, with the dither seeded in a test build: a CD rip and a 24-bit FLAC
come out SHA-256 identical to 1.2.8; an MP3 raised 7.5 dB by MP3Gain
decodes to +7.42 dBFS, the ceiling now sees 7.27 dBTP instead of 3.30 and
scales it by −10.27 dB instead of −6.30, and the difference between the old and
new outputs, level-matched, sits 23 dB below the signal. That was the clipping.
Video memory: measured, not assumed.
How many convolvers may sit on the card was decided against a Vulkan limit on
one buffer — about 1433 MB on an 8 GB card and a 24 GB card alike. One
convolver at 30M taps and 8× takes 736 MB, so two never fitted: whatever a
batch had in flight, one file was on the card and the rest queued behind it.
The engine now reads what is actually free — the per-process budget from DXGI
and what every program together holds on the adapter — and plans against three
quarters of the smaller number. The old figure stays as a floor where no
reading is available.
Four files at once, where there are sixteen or more logical cores. The
three-file limit was measured under the old floor, where a fourth could only
lengthen the queue.
Together, on 13 files and 2997 seconds of audio at 30M taps and 8× with the
Adaptive Apodizer and Hybrid-Phase, RTX 4090: 220 s → 147 s. The output
files are byte-for-byte what the old scheduler produced.
A file that arrives above full scale now says so in the log:
Source peaks at +7.42 dBFS — 210992 frames (1.764%) above full scale,
kept as decoded; the output ceiling scales them down