Skip to content

Omniphony v0.5.2

Choose a tag to compare

@github-actions github-actions released this 22 Aug 13:59
f9a7972

Highlights

Omniphony 0.5.2 adds an opt-in, quality-first crossover engine for film playback, with its latency compensated across the whole stack.

  • Linear-phase FIR crossover (crossover_type: fir, default stays lr4). Bands are linear-phase FIRs sharing one constant group delay, so the recombined output is a pure delay of the input — flat in magnitude and phase, where the LR4 engine is magnitude-flat only. Kaiser design, ~100 dB band separation, FFT convolution with negligible CPU cost.
  • Latency compensated end to end. The engine reports its constant DSP latency (liborender ABI 0.7); mpv shifts output timestamps so lip sync holds at any setting (ships in mpv-v0.5.2), and the standalone PipeWire sink advertises the full pipeline latency so desktop players and browsers re-time A/V like they do for Bluetooth sinks.
  • Live tuning in Studio: crossover engine select and FIR transition-width control (the registry's first numeric option), annotated live with the bank actually built — bands, taps, latency, lowest cutoff.
  • Honest cost metrics: the renderer perf figures are now burst-aware duty-cycle averages (raw per-frame timings aliased badly with 40-sample TrueHD access units) and every value also shows its percentage of the frame budget, comparable across hosts and frame sizes.

Behaviour changes

  • The standalone PipeWire sink now advertises its real latency (it previously claimed zero) — players compensate by delaying video accordingly. This is the correct behaviour; interactive/low-latency use should keep the default lr4 engine, which adds no DSP latency.

Known limitations

  • Switching the crossover engine or its transition width mid-playback rebuilds the filter bank with a brief audible discontinuity (no crossfade yet).
  • The speaker test produces no sound in binaural (headphone) output mode: it exercises the speaker path, which is not rendered there.

The decoder bridge is distributed separately.

macOS install note

The macOS build (Omniphony.Studio_aarch64.app.tar.gz / .dmg) is ad-hoc signed and not notarized yet, so Gatekeeper will refuse to open the downloaded app ("can't be opened" / "damaged"). After extracting, clear the download quarantine once:

xattr -rd com.apple.quarantine "/path/to/Omniphony Studio.app"

Alternatively: try to open it once, then System Settings → Privacy & Security → "Open Anyway" (if offered). See #201.