Skip to content

Releases: va3jfl/Omega-FM

Release list

Omega-FM v1.20.1

Choose a tag to compare

@va3jfl va3jfl released this 02 Jul 16:37
2d7fdd4

OmegaFM v1.20.1 — first public release

Title: OmegaFM v1.20.1 — Digital FM Broadcast Audio Processor


OmegaFM is a complete digital FM broadcast audio processor for Windows:
an Optimod-style multiband chain, a distortion-cancelled final clipper,
a full stereo generator with RDS, and ITU-R BS.412 compliance — in one
app that runs on the hardware you already own. Free, open source, MIT.

This is the first public build. The processor has been developed and
tuned against a permanent validation suite: 51 automated measurements
(pilot protection, sibilant IMD bounds, AGC gate behavior, mono
compatibility, stereo separation, boot safety) run on every build — a
release that regresses does not ship.

Highlights

  • Full broadcast chain — gated drive-independent AGC, 4-band EQ +
    psychoacoustic bass, zero-mean coupled leveler, 4-band soft-knee
    compression, then a 192 kHz back end: pole-limited 75/50 µs
    pre-emphasis, dynamic-shelf HF limiter, 2 ms lookahead limiter,
    distortion-cancelled clipper with phase-aligned overshoot
    compensation, and an always-in 15 kHz wall. ~5.6 ms total latency.
  • Nine processing modules, on at power-up — azimuth/stereo repair,
    de-clipper/de-lossifier, dehummer + gate, natural dynamics, de-esser,
    sonic maximizer, power bass, stereo widener, multipath governor.
    Repair modules include a TEST mode that simulates their target damage
    so you can hear them work before trusting them on air.
  • Stereo generator + RDS — 19 kHz pilot, 38 kHz DSB, filtered
    composite clipping, 192 kHz MPX output or de-emphasized L/R monitor;
    EN 50067 RDS with PI/PS/PTY/RadioText and dynamic PS from a watched
    now-playing file. 75 dB separation at 1 kHz.
  • BS.412 MPX power limiter — holds the sliding 60-second composite
    power the regulator measures at your target, riding only the audio;
    pilot and RDS injection verified untouched. Off by default — it is a
    licensing choice.
  • Plugin drop-ins — any .py in ~/.omegafm/plugins/ overrides a
    shipped module of the same id. The rack is yours.

Downloads

Asset Notes
OmegaFM.exe Windows 10/11, 64-bit. Single file — everything bundled (Qt, DSP, PortAudio, LLVM JIT). No install, no accounts, no telemetry.

First-run note: the binary is unsigned, so Windows SmartScreen may
show "Windows protected your PC" — choose More info → Run anyway.
Expect a few seconds on first launch while the bundle unpacks and the
JIT warms up.

Quick start

  1. Feed OmegaFM from any soundcard or virtual audio cable
    (Input device in AUDIO I/O).
  2. Pick your output: Stereo L/R at 48k to monitor through speakers,
    or MPX composite at 192k into a transmitter/SDR (needs a
    192 kHz-capable interface).
  3. Press START. The app always boots into the factory reference —
    AGGRESSIVE · LIGHT with the full nine-module rack calibrated and
    live. Import a preset (.json) to load your own sound; station
    identity (RDS, injection, I/O trims, devices) persists between
    sessions on its own.

Running from source

pip install -r requirements.txt
python run_omegafm.py

Python 3.11+ recommended. numba is optional JIT acceleration — the
processor runs identically (bit-exact, a little slower) without it.
The validation suite: python tools/validate_chain.py.

Known notes

  • BS.412 limiting costs loudness when enabled — that is its entire
    legal purpose.
  • MPX output level maps 1.0 = 75 kHz deviation; calibrate your
    exciter's input accordingly.
  • Repair-module TEST knobs are commissioning aids. Never leave TEST
    on for air (you'd hear it anyway).

License

MIT. Read every line, fork it, build your station's sound on it.